WO2024004025A1 - Workflow management system, method therefor, and program therefor - Google Patents

Workflow management system, method therefor, and program therefor Download PDF

Info

Publication number
WO2024004025A1
WO2024004025A1 PCT/JP2022/025733 JP2022025733W WO2024004025A1 WO 2024004025 A1 WO2024004025 A1 WO 2024004025A1 JP 2022025733 W JP2022025733 W JP 2022025733W WO 2024004025 A1 WO2024004025 A1 WO 2024004025A1
Authority
WO
WIPO (PCT)
Prior art keywords
cost
execution
workflow
information
task
Prior art date
Application number
PCT/JP2022/025733
Other languages
French (fr)
Japanese (ja)
Inventor
匡生 武田
伸 手塚
拓 下沢
訓 大島
洋司 小澤
Original Assignee
株式会社日立製作所
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 株式会社日立製作所 filed Critical 株式会社日立製作所
Priority to PCT/JP2022/025733 priority Critical patent/WO2024004025A1/en
Publication of WO2024004025A1 publication Critical patent/WO2024004025A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling

Definitions

  • the present invention relates to a workflow management system, its method, and its program, and particularly relates to information processing that supports workflow design improvement.
  • workflow management systems have been attracting attention as a technology that automates business processes and services and improves operational efficiency.
  • a developer uses workflow to define processing logic for business processes, services, etc., and automatically creates instances of the workflow and executes the processing logic in response to requests from workers.
  • a workflow is composed of tasks that define processing, arrows that define the order of execution, and the like, and may be defined by a workflow notation standard such as BPMN (Business Process Model and Notation). Tasks include tasks that wait for completion by a worker, tasks that call external services via API, etc.
  • BPMN Business Process Model and Notation
  • the workflow management system uses a low-code design method that allows workflow development even by developers who lack skills in software development using program code.
  • execution costs such as processing time and fees that occur when executing a workflow.
  • Patent Document 1 there is a technology disclosed in Patent Document 1 that supports reduction of workflow execution costs. This technology uses schedule information of candidate workers to execute a task and automatically determines the appropriate worker from the perspective of availability and reliability, reducing the task failure rate and ensuring the execution of the entire workflow. It can support cost reduction.
  • Other prior art techniques for reducing execution costs include techniques for selecting API call destinations that minimize execution fees, and techniques for reducing processing time by identifying tasks that can be executed in parallel.
  • Patent Document 1 does not sufficiently reduce the execution cost by taking into account workflow abnormalities.
  • an abnormal situation refers to a situation where the purpose of the workflow cannot be achieved due to the occurrence of an exception in a task, etc.
  • the workflow optimization method disclosed in Patent Document 1 makes it difficult to reduce the execution cost by taking abnormalities in the workflow into consideration. Therefore, we believe that there is a need for some kind of method that can detect the possibility of a task abnormality occurring early and terminate the workflow execution early.
  • a task that detects the possibility of an abnormality occurring in a task early and terminate the workflow execution early a task that detects the possibility of an abnormality occurring in one or more subsequent tasks (hereinafter referred to as verification processing) is added to the workflow.
  • verification processing a task that detects the possibility of an abnormality occurring in one or more subsequent tasks.
  • An object of the present invention is to realize workflow management that can reduce the cost of executing a workflow that takes abnormal systems into consideration.
  • a computer that manages workflow has a cost information collection calculation section and an improvement proposal section,
  • the cost information collection calculation unit calculates the execution cost of one or more tasks to be executed in the workflow and the entire workflow using cost advance information collected in advance
  • the improvement proposal department is Identify a verification process that verifies the success of one or more tasks based on workflow execution history information,
  • the verification process detects the possibility of a task abnormality occurring in the workflow before task execution, and calculates a task execution cost reduction amount by totaling the execution cost of one or more tasks that can be omitted from execution;
  • Calculate the overhead which is the execution cost of the verification process
  • the present invention is a workflow management system that calculates an expected improvement amount, which is a reduction amount of execution costs generated during operation of a workflow, based on the task execution cost reduction amount and the overhead.
  • a computer that manages the workflow executes a cost information collection calculation step and an improvement proposal step
  • the cost information collection calculation step calculates the execution cost of one or more tasks to be executed in the workflow and the entire workflow using cost advance information collected in advance
  • the improvement proposal step includes: Identify a verification process that verifies the success of one or more tasks based on workflow execution history information, The verification process detects the possibility of a task abnormality occurring in the workflow before task execution, and calculates a task execution cost reduction amount by totaling the execution cost of one or more tasks that can be omitted from execution; Calculate the overhead, which is the execution cost of the verification process
  • the present invention is a workflow management method that calculates an expected improvement amount, which is a reduction amount of execution costs generated during operation of a workflow, based on the task execution cost reduction amount and the overhead.
  • a preferred example of the workflow management program according to the present invention is a program that is executed by a computer that manages workflow, and includes: Identify a verification process that verifies the success of one or more tasks based on workflow execution history information, The verification process detects the possibility of a task abnormality occurring in the workflow before task execution, and calculates a task execution cost reduction amount by totaling the execution cost of one or more tasks that can be omitted from execution; Calculate the overhead, which is the execution cost of the verification process, Based on the task execution cost reduction amount and the overhead, calculate an expected improvement amount that is the reduction amount of the execution cost that occurs during operation of the workflow; This is a program that executes .
  • a workflow can be ended before a task is executed and an execution cost is incurred, and unnecessary execution costs that do not contribute to achieving the goal of the workflow can be reduced. This makes it possible to reduce the cost of executing a workflow that takes abnormal systems into consideration.
  • FIG. 1 is a diagram showing the configuration of a workflow management system according to an embodiment.
  • FIG. 3 is a diagram illustrating an example of a workflow definition. 3 is a diagram showing an example of workflow definition information 131.
  • FIG. 3 is a diagram illustrating an example of workflow instance information 132.
  • FIG. 3 is a diagram illustrating an example of workflow execution history information 133.
  • FIG. 13 is a diagram showing an example of cost advance information 134.
  • FIG. 3 is a diagram illustrating an example of incurred cost information 135.
  • FIG. 3 is a diagram showing an example of learning model information 136.
  • FIG. 13 is a diagram showing an example of improvement plan information 137.
  • FIG. 3 is a diagram showing an example of an improvement proposal template 138.
  • FIG. 3 is a diagram showing an example of an improvement proposal template 138.
  • FIG. 3 is a diagram showing a processing flow of the cost information collection calculation unit 122.
  • FIG. 3 is a diagram showing a processing flow of an improvement plan estimating unit 123.
  • FIG. FIG. 6 is a diagram showing a processing flow of an improvement method identification step 2200.
  • FIG. 6 is a diagram showing a processing flow of an improvement amount evaluation step 2300.
  • FIG. 3 is a diagram showing an example of an improvement proposal screen.
  • the design support system uses information about execution costs such as processing time and fees for workflows (hereinafter referred to as flows), as well as flow execution history information that records changes in the state of flow instances, to automatically perform the verification processing presented.
  • execution costs such as processing time and fees for workflows (hereinafter referred to as flows)
  • flow execution history information that records changes in the state of flow instances, to automatically perform the verification processing presented.
  • a flow instance represents the actual execution of processing logic defined by a flow, and a flow instance is started by a flow start command from a flow worker.
  • FIG. 1 shows an example of the configuration of a computer used in the workflow management system according to this embodiment.
  • the computer 1 is connected to, for example, a processing unit (CPU) 10 that executes programs, a storage unit 20 such as a semiconductor memory or hard disk that retains programs and data, an input/output interface (I/F) 30, and a network 9.
  • the network interface (I/F) 40 is configured.
  • a terminal 7 used by a developer/operator and a terminal 8 used by a flow worker are connected to the computer 1 via a network 9, and users such as the developer/operator and flow worker can use these terminals.
  • the computer 1 can be used by using
  • the terminals 7 and 8 are connected to an input section that can be operated by a user, a display section that displays data, a processing section that processes data by executing a program, a memory that stores data and programs, and a network 9. It has a network connection section.
  • the processing unit 10 of the computer 1 includes a user interface (abbreviated as UI) generation unit 11 and a functional unit 12.
  • UI user interface
  • the UI generation unit 11 has a development/operation UI 111, a flow work UI 112, and an improvement proposal UI 113.
  • the UI generation unit 11 generates a user interface (UI) used in the terminal 7 and terminal 8 connected to the computer 1.
  • the user can view the screens displayed on the terminals 7 and 8 and perform input operations using the UI.
  • individual programs for the development/operation UI 111, the flow work UI 112, and the improvement proposal UI 113 are executed by the processing unit 11 to realize their respective functions. Note that one UI program having the functions of multiple UI programs may realize multiple functions.
  • the improvement proposal UI 113 is realized by executing a program that uses the improvement proposal information 137 managed by the storage unit 20 to generate a UI that presents a flow design improvement proposal to a flow development operator.
  • the improvement proposal UI 113 can provide a screen that displays improvement proposals (for example, verification processing and estimated amount of improvement), and can support development and operation personnel in improving the design of appropriate flows.
  • the functional unit 12 includes a flow execution management unit 121, a cost information collection calculation unit 122, and an improvement proposal unit 123.
  • These functional units include, for example, a flow execution management program 121′, a cost information collection processing program 122′, and an improvement proposal program 123′ stored in the storage unit 13, which are executed by the processing unit 10 to perform their respective functions. (The code of each program is not shown).
  • the flow execution management unit 121 executes and manages flows.
  • Examples of basic functions include, for example, a function to store information regarding flow definitions sent from the developer/operator terminal 7 into the flow definition information 131 managed by the storage unit 20, and a function to store information regarding flow definitions sent from the developer/operator terminal 7 into the flow definition information 131 managed by the storage unit 20; This includes a function of creating a flow instance from flow definition information 131 and storing it in flow instance information 132 based on an execution start command, and a function of recording changes in the state of the executed flow instance in flow execution history information 133.
  • the cost information collection calculation unit 122 collects cost advance information 134 required in advance, and calculates the execution cost for each flow instance or each task within the flow instance. is calculated and recorded in the incurred cost information 135.
  • the cost advance information 134 includes, for example, personnel costs incurred in human tasks, API usage costs for calling external APIs, and costs for using computational resources during task execution. Note that the execution cost may be determined using processing fees, processing time, or other indicators.
  • the improvement proposal unit 123 uses the flow execution history information 133 and the generated cost information 135 to update the learning model information 136 regarding the machine learning model for estimating the improvement plan, and calculates the improvement plan information 137.
  • the learning model information 136 may not be managed and held by the storage unit 20 depending on the machine learning method, for example, when a new model is created each time in batch processing.
  • the improvement proposal information records information regarding the improvement proposal presented to the flow development operator, and is converted into a UI by being substituted into the improvement proposal template 138 by the improvement proposal UI 113.
  • the storage unit 20 holds flow definition information 131, flow instance information 132, flow execution history information 133, cost advance information 134, incurred cost information 135, learning model information 136, improvement plan information 137, and improvement proposal template 138.
  • This information is configured, for example, in a table format. Note that configuration examples of each information will be described later with reference to FIG. 3 and subsequent figures.
  • FIG. 2 shows a definition example of a flow executed and managed by the computer 1.
  • the flow definition G10 includes events that indicate the start and end of flow execution such as Start event G1010 and NormalEnd event G1070, tasks that define specific processes to be executed in the flow such as Task1 task G1030 and Task2 task G1050, and Arrow1 arrow G1020. It includes arrows that define the execution order and branching of events and tasks, such as Arrow2 arrow G1040.
  • the worker and the work content are defined in the task, and in the task that calls an external service, the URL information of the API connection destination and information on variables to be input are defined.
  • Each task is set with a cost type, which is prior information regarding the execution cost included in the cost prior information 134, and this cost type allows the execution cost of each task to be calculated from the flow execution history information 133 of this flow. .
  • the ErrorEnd1 event G1090 and the ErrorEnd2 event G1110 shown in FIG. 2 are end events corresponding to the case where an abnormality occurs in the Task1 task G1030 or the Task2 task G1050 and the task cannot be executed normally.
  • a verification process which is a task that verifies the success of Task2 task G1050
  • Arrow1 arrow G1020 a flow instance that occurs abnormally in Task2 task G1050 can be removed from Task1 task G1030. Reduce the execution cost of a flow instance by causing it to fail before execution.
  • FIG. 3 shows an example of the table structure of the flow definition information 131.
  • the flow definition information 131 has information regarding flows designed by a flow developer/operator, and is added and updated by the flow execution management unit 121.
  • the flow definition table T1000 includes columns such as flow definition IDT1100, name T1200, version T1300, and definition content T1400.
  • a flow definition is recorded in a form that can be read by a computer. For example, it may be recorded using xml.
  • a cost type is set for each task definition, which allows the cost information collection calculation unit 122 to calculate the execution cost generated by the execution of this task.
  • each task or event definition has a unique ID set within each flow, which is used to indicate the execution position of the flow instance being executed.
  • FIG. 4 shows an example of the table structure of the flow instance information 132.
  • the flow instance information 132 includes information regarding the state of a flow instance created by a flow worker's start command from the terminal 8.
  • the flow instance table T2000 includes columns such as a flow instance IDT2100, a flow definition IDT2200, a current task IDT2300, and a flow variable T2400. Each record of the flow instance table T2000 corresponds to each flow instance being executed, and the corresponding record is updated every time the flow instance is progressed by the flow execution management unit 121.
  • the current task IDT 2300 and flow variable T2400 represent information regarding the current execution position and state of each flow instance.
  • variables held by a flow instance are recorded, and variables are added and updated in each task.
  • the variable name and value may be expressed in a format other than a dictionary, or some or all of the information similar to the flow variable may be recorded as an individual table.
  • the flow variable T2400 broadly includes information regarding the state of the flow instance, and may include, for example, the initiator of the flow instance, authentication information when calling an external service, and the like.
  • FIG. 5 shows an example of the table configuration of the flow execution history information 133.
  • the flow execution history information 133 has records added by the flow execution management unit 121 at the start and end of a flow instance or task, and has information regarding the state of the flow instance at a specific point in time.
  • the flow execution history table T3000 includes columns such as a flow history IDT3100, a flow instance IDT3200, an event occurrence time T3300, an event content T3400, and a flow variable T3500.
  • the event occurrence time T3300 and the event content T3400 represent information regarding the time and content of an event such as the start of a flow instance or a task. Note that when an event occurs, such as when a task starts or when a flow occurs, a record is to be recorded, which may be defined by a separately defined policy or table. From the information on the event occurrence time T3300 and the event content T3400, it is possible to calculate, for example, which route in the flow definition a particular flow instance took, how much time each task took, and the like.
  • the flow variable T3500 is recorded based on the flow variable T2400 of the flow instance at the time of each record creation.
  • the flow variable T3500 broadly includes information regarding the state of the flow instance, and may include, for example, the initiator of the flow instance, authentication information when calling an external service, and the like. Using the information on the flow variables T3500, it is possible to collect historical information such as when each flow variable was added and updated.
  • FIG. 6 shows an example of the table structure of the cost advance information 134.
  • the cost advance information 134 defines information necessary in advance to calculate the generated cost information 135 from the flow execution history information 133.
  • the cost type table T4000 is set for each task definition in a flow definition, and has information regarding the calculation method and calculation parameters for costs generated when the task is executed.
  • the cost type table T4000 includes columns such as cost type IDT4100, cost type name T4200, fixed cost T4300, and time-varying cost T4400.
  • Each record of the cost type table T4000 is collected by the cost information collection calculation unit 122 in one example, but may be prepared in advance by the provider of the computer 1, or may be created and customized by the flow development manager. good.
  • the fixed cost T4300 and the time-varying cost T4400 represent parameters necessary for calculating the task execution cost.
  • the fixed cost T4300 is a cost that occurs with respect to the number of times a task is executed, and includes, for example, an API usage fee for a task that calls an external service that is charged for the number of executions.
  • the time-varying cost T4400 is a cost that occurs in proportion to the execution time of a task calculated from the flow execution history information 133, and includes, for example, the labor cost of a human task, or the cost of a task that calls an external service that is charged for execution time. This applies to API usage fees, etc.
  • the method of calculating the task execution cost is not limited to the method using the fixed cost T4300 or the time-varying cost T4400.
  • the task execution cost obtained from the flow execution history information 133 is Information other than time may be used.
  • the method is not limited to the method of defining calculation parameters in a table, such as the fixed cost T4300 and the time-varying cost T4400, but for example, information such as the storage location of the execution cost managed outside the storage unit 20, such as defining a calculation formula. May include.
  • FIG. 7 shows an example of the table structure of the incurred cost information 135.
  • the incurred cost information 135 includes, for example, information on a flow cost table T5000, which is an incurred cost table for each flow instance, and a task cost table T6000, which is an incurred cost table for each task of a flow instance.
  • the generated cost information 135 may include, for example, a table that records information regarding execution costs for each flow instance and other than tasks, and statistical information such as the average and total of execution costs for each flow definition. . Further, if the calculation load for calculating the generated cost information 135 from the flow execution history information 133 is light, the generated cost information 135 does not need to be managed and held by the storage unit 20.
  • the flow cost table T5000 and the task cost table T6000 have information T5100 and T6100 regarding the execution cost of each flow instance and each task.
  • the cost T5300 and cost T6400 columns representing the execution cost are calculated by the cost information collection calculation unit 122 based on the flow execution history information 133 and the cost advance information 134. Note that the cost T5300 and the cost T6400 are not limited to having only one numerical data, and may include a plurality of values or values in a discrete format, such as a processing fee and a processing time, for example.
  • FIG. 8 shows an example of the table structure of the learning model information 136.
  • the learning model table T7000 has information regarding a machine learning model used when estimating the improvement plan information 137 using the flow execution history information 133 and the generated cost information 135.
  • the learning model table T7000 includes a model IDT7100, a flow definition IDT7200, a verification process insertion location T7300, a model type T7400, a learning parameter T7500, a model object T7600, and the like. Note that information similar to the learning model information 136 may not be held as a table depending on the machine learning method, for example, when a new model is created each time in batch processing.
  • the flow definition IDT 7200 and the verification process insertion location T7300 represent which flow definition and arrow location are used by the machine learning model held in each record to estimate the verification process.
  • the verification process is a task of verifying the success of one or more tasks.
  • the verification process insertion location T7300 does not need to be limited to an arrow, and may include, for example, before and after processing a task or event.
  • the model type T7400 represents information regarding the type of machine learning model held in each record.
  • the model type T7400 inputs the flow instance state at the verification process insertion point T7300 extracted from the flow execution history information 133, and the end code of the flow instance, such as the Normal End event G1070 or Error End1 event G1090 in FIG. 2.
  • a machine learning model that can output the estimation result can be used, for example, a NN (Neural Network) model or a decision tree model may be used.
  • the model object T7600 represents information regarding a model object that can be executed by the improvement proposal unit 123. Note that it is not necessary that the model object is directly recorded in the model object T7600; for example, the model object may be recorded in another table or file system, and only a reference thereof may be retained.
  • FIG. 9 shows an example of the table structure of the improvement plan information 137.
  • the improvement plan information 137 includes information regarding an improvement plan for adding the verification process estimated and evaluated by the improvement proposal unit 123.
  • the improvement plan table T8000 includes information regarding the contents of the verification process plan, insertion locations, and cost reduction effects.
  • the improvement proposal table T8000 includes improvement proposal IDT8010, flow definition IDT8020, verification process insertion location T8030, improvement proposal type IDT8040, improvement proposal parameter T8050, false positive rate T8060, task execution cost reduction amount T8070, overhead T8080, expected improvement amount T8090, Contains a valid flag T8100, etc.
  • the flow definition IDT 8020 and the verification process insertion location T8030 represent information regarding the insertion position of the verification process.
  • the flow definition IDT8020 and the verification process insertion location T8030 include information equivalent to the flow definition IDT7200 and the verification process insertion location T7300 of the learning model table T7000 of the machine learning model used when estimating the verification process for each record. .
  • the records in the learning model table T7000 and the improvement plan table T8000 do not need to have a one-to-one correspondence, and a plurality of improvement processing plans may be generated from one machine learning model.
  • the improvement proposal type IDT8040 and the improvement proposal parameter T8050 represent information regarding the contents of the verification process.
  • the improvement proposal type IDT 8040 specifies template information regarding the improvement proposal included in the improvement proposal template 138
  • the improvement proposal parameter T8050 specifies the contents of individual verification processing and the contents of the improvement proposal to be displayed by the improvement proposal UI 113.
  • the improvement proposal parameter T8050 includes, for example, a verification formula for verification processing by checking flow variables, URL information for verification processing by calling an API, and the like. Note that the information regarding the content of the verification process does not necessarily have to be defined using the improvement proposal template 138, and for example, the definition of a task to perform the verification process may be recorded.
  • the false positive rate T8060, task execution cost reduction amount T8070, overhead T8080, expected improvement amount T8090, and effectiveness flag T8100 represent information regarding the effectiveness of the verification process.
  • the false positive rate T8060 represents the probability that the verification process will erroneously classify a normal flow instance as an abnormal flow instance. Based on the false positive rate T8060, for example, even if the verification process is highly evaluated for the expected improvement amount T8090, if the false positive rate T8060 is high, it is possible to judge that it will not be adopted because it is considered to have a negative impact on the normal processing of the flow. .
  • the task execution cost reduction amount T8070, overhead T8080, and expected improvement amount T8090 represent information regarding the amount of influence on the flow execution cost due to the verification process.
  • the expected improvement amount T8090 is evaluated by subtracting the overhead T8080, which is the execution cost of the task itself that performs the verification process, and it is possible to evaluate whether it is truly effective in reducing the execution cost of the flow.
  • the validity flag T8100 becomes "True” when the effect of the verification processing, such as the false positive rate T8060 or the expected improvement amount T8090, satisfies certain criteria, indicating that it can be presented by the improvement proposal UI 113.
  • the validity flag T8100 enables control such as not presenting verification processing with a high false positive rate T8060 or verification processing that cannot be expected to reduce execution costs.
  • FIG. 10 shows an example of the table structure of the improvement proposal template 138.
  • the improvement proposal template 138 has information regarding the template of the content of the verification process and the presentation method of the verification process, and is used when the improvement proposal UI 113 presents the improvement proposal information 137 to the terminal 7 .
  • the improvement proposal template table T9000 includes an improvement proposal type IDT9100, a name T9200, a verification processing task T9300, a message T9400, a cost type T9500, a cost T9600, and the like.
  • the improvement proposal template table T9000 may be prepared in advance by the provider of the computer 1, or may be created and customized by the flow development manager.
  • the verification processing task T9300 has information regarding the task definition template of the verification processing to be presented.
  • the verification processing task T9300 is defined in, for example, the xml format in accordance with the notation format of the flow definition information 131, and variables to be assigned to the template are expressed, for example, in curly braces as " ⁇ script ⁇ ". It's good. If it is possible to replace the part defined as a template with a variable, other methods may be used.
  • Message T9400 represents information regarding a message template to be presented when making an improvement proposal.
  • Message T9400 has information regarding the explanation of the contents of the verification process and the effects of the verification process, which allows the flow development operator to understand the contents and effects of the presented verification process and determine whether or not to insert the verification process. be able to.
  • a variable to be assigned to a template may be expressed, for example, in curly braces as " ⁇ var ⁇ ". Note that a plurality of columns containing information similar to message T9400 may be prepared depending on the presentation method and language.
  • the cost type T9500 and cost T9600 represent information regarding overhead, which is the execution cost of a task that performs verification processing.
  • the cost type T9500 represents information regarding the cost type of the task that performs the verification process, and specifies the cost type IDT4100.
  • the cost type T9500 can be used to estimate overhead. For example, if a task for which the same cost type is specified exists in a flow for which an improvement proposal is made, the average execution cost of that task can be used as the estimated value of overhead. can.
  • cost type T9500 may be included in the task definition of verification processing task T9300.
  • Cost T9600 is an estimated value of overhead, and can be used, for example, when cost is not estimated by cost type T9500. Note that the value of the cost T9600 may be modified or updated, for example, from the execution history of the task that performs the verification process that was actually inserted based on the presentation.
  • FIG. 11 shows the processing flow of the cost information collection calculation unit 122.
  • the cost information collection calculation unit 122 executes the following processing steps.
  • step S1100 the process of the cost information collection calculation unit 122 is started, and the process advances to step S1200.
  • step S1200 preliminary cost information 134 is collected and recorded.
  • the cost advance information 134 may be prepared in advance by the provider of the computer 1, or information created and customized by the flow development manager may be collected. After completing the collection and recording of cost advance information 134, the process advances to step S1300 for calculating incurred cost information.
  • the incurred cost information 135 is calculated.
  • the generated cost information calculation step S1300 may be executed asynchronously every time a flow instance termination signal transmitted from the flow execution management unit 121 is received. Note that the execution timing of the generated cost information calculation step S1300 is not limited to the timing at each end of a flow instance, and may be executed, for example, at each task of a flow instance or at each end of a plurality of flow instances.
  • the generated cost information calculation step S1300 ends waiting for a flow instance end signal when the computer 1 or the cost information collection calculation unit 122 ends, and proceeds to step S1400.
  • step S1310 the process of the incurred cost information calculation step S1300 is started, and the process proceeds to step S1320.
  • step S1320 the execution cost is calculated for each task of the completed flow instance based on the flow definition information 131, flow execution history information 133, and cost advance information 134.
  • a cost type is set for each task definition in the flow definition information 131, and the execution cost of each task can be calculated by referring to the record of the corresponding cost type table T4000.
  • step S1330 the execution cost of the flow instance is calculated by summing the execution costs of each task calculated in step S1320.
  • the method for calculating the execution cost of a flow instance is not limited to summing the execution cost of each task; for example, when there are elements other than tasks that should take execution cost into consideration, or when a certain processing cost is taken into account when creating a flow instance. If necessary, these factors may be taken into consideration in the calculation.
  • the process advances to step S1340.
  • step S1340 the execution cost of each task calculated in step S1320 and the execution cost of the flow instance calculated in step S1330 are recorded in the flow cost table T5000 and task cost table T6000 of the generated cost information 135. Note that in step S1340, for example, information regarding execution costs for each flow instance or other than tasks, and statistical information such as the average or total of execution costs for each flow definition may be calculated and recorded. Once recording to the incurred cost information 135 is completed, the process advances to step S1350.
  • step S1350 the process of step S1300 for calculating the generated cost information regarding the received flow instance end signal is ended.
  • the generated cost information calculation step S1300 continues to wait for a flow instance end signal, and the same process is asynchronously executed from step S1310 every time a flow instance end signal is received.
  • step S1400 the process of the cost information collection calculation unit 122 ends.
  • FIG. 12 shows the processing flow of the improvement plan estimation unit 123.
  • the improvement plan estimation unit 123 executes the following processing steps.
  • step S2100 the flow definition to be presented and estimated and evaluated for the improvement plan is specified using the flow definition IDT 1100. Once the flow definition is specified, the process advances to improvement method identification step S2200.
  • the improvement method identification step S2200 a column regarding the contents of the verification process in the improvement proposal table T8000 is calculated and recorded. Through the improvement method identification step S2200, a group of candidates for verification processing can be obtained. (Details of this processing step S2200 will be described later with reference to FIG. 13.) Once the column calculation for the content of the verification process is completed in the improvement method identification step S2200, the process advances to improvement amount evaluation step S2300.
  • step S2300 a column related to the evaluation of the verification process in the improvement plan table T8000 is calculated and recorded.
  • the effectiveness of the candidate group of verification processes estimated in the improvement method identification step S2200 is evaluated, and information for determining whether each verification process should be presented and the priority of presentation is calculated. be able to. (The details of this processing step S2300 will be described later with reference to FIG. 14.)
  • step S2400 the processing of the improvement plan estimation program 123 ends.
  • FIG. 13 shows the processing flow of the improvement method identification step S2200.
  • step S2210 the process of improvement method identification step S2200 is started, and the process proceeds to step S2220.
  • step S2220 the repeating process starts for each arrow in the specified flow definition, with the repeating range from step S2220 to step S2270.
  • the target of repeated processing is not limited to arrows; for example, if the before and after processing of a task or event are included in the insertion position candidates for the verification process, these may be the targets of repeated processing. Further, it is not necessary to perform repeated processing on all insertion position candidates for verification processing, and it is also possible to appropriately narrow down the repeating targets, such as performing repeated processing only on the arrows of the route in which normal processing is to be performed. Further, the repetitive processing may be performed in parallel. After specifying the flow definition arrow, the process advances to step S2230.
  • a data set used for learning the machine learning model is created from the flow execution history information 133.
  • a set of information regarding the flow state at the time of the specified arrow and an exit code at the end of the flow instance is extracted, Create a dataset.
  • the exit code at the end of the flow instance represents information regarding the execution result of the flow instance, and may use, for example, the end event name (eg, NormalEnd event G1070 or ErrorEnd1 event G1090 in FIG. 2).
  • the method for creating the data set is not limited to the method shown in step S2230, and a data set in other formats may be created, such as by using the flow definition information 131, for example.
  • the process advances to step S2240.
  • step S2240 the learning model information 136 is checked and records that can be used as initial values of the machine learning model are extracted. By reusing previously trained models, model learning can be made more efficient. Note that, as described above, depending on the machine learning method, the learning model information 136 may not need to be used or recorded, for example, when a new model is created each time by batch processing. After confirming the learning model information 136, the process advances to step S2250.
  • step S2250 a machine learning model is trained using the data set created in step S2230.
  • the processing device that performs learning is not limited to the processing unit 20, and a processing device other than the processing unit 20 included in the computer 1 or another computer may be used.
  • the learning model information 136 is updated and the process advances to step S2260.
  • step S2260 the content of the verification process is specified using the machine learning model learned in step S2250.
  • the method for specifying the content of the verification process differs depending on the type of learning model and how it is used, but for example, in a method using a decision tree, the content of the verification process can be specified using information on the branch conditional expression. Further, the content of the verification process to be specified is not limited to the case where it is specifically formulated and specified; for example, in the case of a deep learning model, the model itself may be the content of the verification process.
  • the improvement proposal information 137 for example, improvement proposal type IDT 8040, improvement proposal parameter T8050, etc.
  • step S2270 it is determined whether the repeated processing from step S2220 to step S2270 has ended. If the repetitive process is to be continued, the process advances to step S2220, and if it is to be terminated, the process is to proceed to step S2280.
  • step S2280 the process of improvement method identification step S2200 is ended.
  • the verification processing candidate group identified in the improvement method identification step S2200 (that is, for presentation) is recorded in the improvement proposal information 137.
  • FIG. 14 shows the processing flow of the improvement amount evaluation step S2300.
  • the execution cost reduction effect of the verification processing candidate group obtained in the improvement method identification step S2200 is evaluated.
  • step S2301 the process of improvement amount evaluation step S2300 is started, and the process proceeds to step S2302.
  • step S2302 iterative processing is started for the group of verification processing candidates recorded in the improvement proposal information 137.
  • a record to be evaluated is specified from the improvement proposal information table T8000, and the process advances to step S2303.
  • step S2303 as a pre-process to evaluate the effectiveness of the verification process, the flow execution history information 133 is used to apply the verification process to previously executed flow instances. From the flow execution history information 133, flow instance information at the time of passing through the insertion position of the verification process is collected, and it is determined whether the verification process is applicable. After that, the process advances to step S2304.
  • a false positive rate T8060 is calculated, which is the probability that the verification process will erroneously classify a normal flow instance as abnormal.
  • the false positive rate T8060 can be calculated by summing up the number of normally completed flow instances based on the result of applying the verification process to the flow execution history in step S2303, and dividing the number classified as abnormal by the verification process. Note that the false positive rate T8060 is an index for determining whether the verification process does not adversely affect normal processing, and is not limited to the false positive rate, but one or more other indicators may be used.
  • the calculated false positive rate is recorded in false positive rate T8060 of the improvement plan information 137.
  • step S2305 it is confirmed whether the false positive rate T8060 does not exceed a certain threshold.
  • verification processing that may have a negative impact on normal processing of the flow can be removed from the presentation candidates.
  • the threshold value may be determined in advance by the computer 1, or may be set from the terminal 7 by the developer/operator. If the false positive rate T8060 does not exceed a certain threshold, the process advances to step S2306, and if the false positive rate T8060 exceeds the certain threshold, the process advances to step S2311.
  • a task execution cost reduction amount T8070 which is the expected value of the total execution cost of tasks whose execution could be omitted through the verification process. Based on the result of applying the verification process to the flow execution history in step S2303, the task execution cost is reduced by summing the execution costs of tasks whose execution could be omitted due to the verification process for all flow instances and dividing by the total number of flow instances.
  • the quantity T8070 can be calculated.
  • the task execution cost reduction amount T8070 is a numerical value representing the expected execution cost reduction value per flow instance when the overhead of verification processing is ignored.
  • the calculated task execution cost reduction amount T8070 is recorded in the improvement proposal information 137, and then the process advances to step S2307.
  • step S2307 the overhead T8080 of the verification process is calculated.
  • Information such as cost type T9500 and cost T9600 that the improvement proposal template 138 has is used to calculate the overhead T8080. If a task with the cost type specified as cost type T9500 already exists in the flow definition, the overhead T8080 can be estimated by finding the average execution cost of that task from the generated cost information 135. Furthermore, if there is no task with the cost type specified in cost type T9500, cost T9600 is used as the estimated value of overhead T8080. Note that the method for calculating the overhead T8080 is not limited to the method of step S2307, and information on cost type T9500 and cost T9600 may be used in combination.
  • the overhead T8080 of the verification process is recorded in the improvement proposal information 137, and then the process advances to step S2308.
  • step S2308 the expected improvement amount T8090 is calculated by subtracting the overhead T8080 from the task execution cost reduction amount T8070.
  • the expected improvement amount T8090 is a numerical value representing the expected reduction in execution cost per flow instance, taking into account the overhead T8080.
  • step S2309 it is confirmed whether the expected improvement amount T8090 exceeds a certain threshold value.
  • verification processing that is not expected to improve the execution cost of the flow can be removed from the presentation candidates.
  • the threshold value may be determined in advance by the computer 1, or may be set by the developer/operator from the terminal 7. If the expected improvement amount T8090 exceeds a certain threshold, the process advances to step S2310, and if the expected improvement amount T8090 does not exceed the certain threshold, the process advances to step S2311.
  • step S2310 by setting the validity flag T8100 to "True", it is recorded that the verification process can be presented. Additionally, the terminal 7 may be notified that the verification process can be presented. This allows the developer/operator to know that suggestions for improvement are possible. After setting the validity flag T8100, the process advances to step S2312.
  • step S2311 the validity flag T8100 is set to "False" to record that the verification process cannot be presented.
  • the verification processes that cannot be presented may be deleted from the improvement proposal table T8000, and may be deleted at once before the end of the improvement amount evaluation step S2300, for example, in step S2311.
  • the process advances to step S2312.
  • step S2312 it is determined whether the repeated processing from step S2302 to step S2312 has ended. If the repetitive process is to be continued, the process advances to step S2302; if it is to be terminated, the process is to proceed to step S2313.
  • step S2312 the process of improvement amount evaluation step S2300 is ended.
  • the evaluation of the effectiveness of the verification processing candidate group of the improvement plan information 137 is completed.
  • FIG. 15 shows an example of an improvement proposal screen provided by the computer 1.
  • the improvement proposal screen is displayed on the developer/operator's terminal 7 when the processing unit 20 executes the improvement proposal UI 113.
  • the improvement proposal UI 113 can be executed, for example, by the developer/operator periodically or as needed, or upon receiving a notification that the verification process can be presented after the process in step S2310. can.
  • the improvement proposal screen G2000 includes a flow selection section G2100 for selecting a flow definition for which an improvement is proposed, an improvement presentation section G2200 for displaying the contents and effects of the improvement proposal on the illustrated flow, and selection of an improvement proposal to be displayed from a list.
  • the improvement proposal selection unit G2300 includes an improvement proposal selection unit G2300.
  • the flow selection unit G2100 presents information from the flow definition information 131 about flows for which improvement proposals can be made.
  • the selected flow definition is colored, for example, gray.
  • the improvement presentation unit G2200 displays the flow from the flow definition information 131, and displays the contents and effects of the improvement proposal from the improvement proposal information 137.
  • the improvement presentation section G2200 includes a verification processing presentation section G2210 and an abnormal cost presentation section G2220.
  • the verification process presentation unit G2210 refers to and presents information regarding the content of the verification process and the insertion position of the improvement plan information 137.
  • the verification process presentation unit G2210 includes a message G2211 and a task definition G2212.
  • Message G2211 is a text that explains the contents and effects of the verification process for the developer.
  • a message obtained by substituting the improvement proposal parameter T8050 of the improvement proposal information 137 into the message T9400 of the improvement proposal template 138 may be displayed.
  • the task definition G2212 represents a task that performs a verification process, and a result obtained by substituting the improvement proposal parameter T8050 of the improvement proposal information 137 for the verification process task T9300 of the improvement proposal template 138 is displayed.
  • the task definition G2212 may be provided with a mechanism that facilitates the implementation of improvement proposals, such as being able to be inserted into the flow immediately by UI operation, for example.
  • the abnormal system cost presentation unit G2220 presents abnormal system statistical information that can reduce the execution cost through verification processing.
  • the abnormal system cost presentation unit G2220 can make the developer aware of the necessity of improving the execution cost.
  • the abnormal cost presentation unit G2220 includes an execution cost message G2221 and an execution cost graph G2222.
  • the execution cost message G2221 and the execution cost graph G2222 use the generated cost information 135 to display how much the abnormal system accounts for in the total execution cost of the flow.
  • the improvement proposal selection unit G2300 extracts improvement proposals for the flow definition specified by the flow selection unit G2100 from the improvement proposal information 137, and displays them in a selectable table format.
  • the selected improvement plan is colored, for example, gray.
  • the improvement proposal selection section G2300 includes improvement proposal number G2310, proposal type G2320, expected improvement amount (%) G2330, and expected improvement amount (yen) G2340.
  • the proposal type G2320 presents information regarding the name T9200 of the improvement proposal template 138.
  • the expected improvement amount (%) G2330 and the expected improvement amount (yen) G2340 are presented using the expected improvement amount T8080 of the improvement plan information 137 and the generated cost information 135.
  • the improvement proposal screen G2000 allows the flow developer/operator to quickly understand the content and effects of the proposed verification process and determine whether or not to insert the verification process.
  • the improvement proposal screen G2000 shown in FIG. 15 is an example for presenting an improvement proposal to the flow developer/operator, and other screen contents may be used as long as the UI is for making improvement proposals through verification processing.
  • the UI generation unit 11, flow execution management unit 121, cost information collection calculation unit 122, and improvement proposal unit 123 are realized by one processing unit 10 or one computer 1.
  • a plurality of functional units may be realized by a plurality of processing units or a plurality of computers.
  • a processing unit or a computer that realizes the cost information collection calculation unit 122 and the improvement proposal unit 123 newly proposed in this embodiment may be added to a general flow management computer having a flow execution management unit 121. It can be configured as follows.
  • the computer may be provided as a cloud service.
  • the plurality of tables stored in the storage unit 20 may also be distributed and stored in the plurality of storage units.
  • the terminals 7 and 8 are connected to the computer 1 via the network 9.
  • the terminal 7 or 8 may have a display input device having terminal functions directly connected to the computer 1 without going through the network 9. Even in this case, the computer 1 uses the UI generation unit 11 to connect to the display input device.
  • the workflow can be ended before the task is executed and execution costs are incurred, and unnecessary execution costs that do not contribute to achieving the purpose of the workflow can be reduced. It can be presented to users such as developers of verification processes that are effective in reducing flow execution costs, and can support execution cost reductions that take abnormal systems into account.

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The present invention realizes workflow management which makes it possible to reduce the execution cost of a workflow that takes errors into consideration. A computer 1 that manages a workflow has a cost information collection calculation unit 122 and an improvement proposal unit 123. The cost information collection calculation unit 122 uses advance cost information, which has been collected in advance, to calculate the execution costs for one or more tasks to be executed in a workflow and for the entire workflow. The improvement proposal unit 123 identifies a verification process for verifying success of one or more tasks on the basis of execution history information of the workflow, and, via the verification process, detects, prior to task execution, the possibility of occurrence of a task anomaly in the workflow. The improvement proposal unit 123 totals the execution cost of one or more tasks for which execution can be omitted to calculate a task execution cost reduction amount; calculates an overhead, which is the execution cost of the verification process; and, on the basis of the task execution cost reduction amount and the overhead, calculates an improvement expectation amount, which is the amount of reduction in execution costs occurring during workflow operation.

Description

ワークフロー管理システム及びその方法並びにそのプログラムWorkflow management system and method and program thereof
 本発明は、ワークフロー管理システム及びその方法並びにそのプログラムに係り、特に、ワークフローの設計改善を支援する情報処理に関する。 The present invention relates to a workflow management system, its method, and its program, and particularly relates to information processing that supports workflow design improvement.
 近年、業務プロセスやサービスを自動化し運用を効率化する技術として、ワークフロー管理システムが注目されている。ワークフロー管理システムでは、開発者がワークフローを用いて業務プロセスやサービス等の処理ロジックを定義し、作業者の要求に応じて自動的にワークフローのインスタンスを作成し処理ロジックを実行する。ワークフローは、処理を定義するタスクや実行順序を定義する矢印等で構成され、例えばBPMN(Business Process Model and Notation)等のワークフロー表記標準によって定義されることもある。タスクには、作業者による完了を待つタスクやAPI等を通じて外部サービスを呼び出すタスク等が含まれる。 In recent years, workflow management systems have been attracting attention as a technology that automates business processes and services and improves operational efficiency. In a workflow management system, a developer uses workflow to define processing logic for business processes, services, etc., and automatically creates instances of the workflow and executes the processing logic in response to requests from workers. A workflow is composed of tasks that define processing, arrows that define the order of execution, and the like, and may be defined by a workflow notation standard such as BPMN (Business Process Model and Notation). Tasks include tasks that wait for completion by a worker, tasks that call external services via API, etc.
 ワークフロー管理システムでは、ローコードな設計方法により、プログラムコードによるソフトウェア開発の技能に乏しい開発者によってもワークフロー開発が可能である。一方、ワークフロー実行時に発生する、例えば処理時間や料金等の実行コストを考慮したワークフローの開発は、開発者にとって依然として困難である。ワークフローの実行コストの削減を支援する技術として、例えば特許文献1に開示されたものがある。この技術は、タスクを実行する作業者候補のスケジュール情報を利用し、可用性と信頼性の観点から適切な作業者を自動的に決定することで、タスクの失敗率を減少させ、ワークフロー全体の実行コストの削減を支援することが出来る。他にも、実行コストを削減する先行技術として、実行料金を最小化するAPIの呼出先を選ぶ技術や、並列実行可能なタスクを特定し処理時間を低減させる技術がある。 The workflow management system uses a low-code design method that allows workflow development even by developers who lack skills in software development using program code. On the other hand, it is still difficult for developers to develop a workflow that takes into consideration execution costs such as processing time and fees that occur when executing a workflow. For example, there is a technology disclosed in Patent Document 1 that supports reduction of workflow execution costs. This technology uses schedule information of candidate workers to execute a task and automatically determines the appropriate worker from the perspective of availability and reliability, reducing the task failure rate and ensuring the execution of the entire workflow. It can support cost reduction. Other prior art techniques for reducing execution costs include techniques for selecting API call destinations that minimize execution fees, and techniques for reducing processing time by identifying tasks that can be executed in parallel.
米国特許公開2017/0337492A1US Patent Publication 2017/0337492A1
 特許文献1に開示された技術では、ワークフローの異常系を考慮した実行コストの削減が十分に行われていない。ここで、異常系とはタスクでの例外の発生等によりワークフローの目的が達成できない事態をいう。異常系においては、ワークフローのタスクが実行されるほど、ワークフローの目的達成に寄与しない余計な実行コストが増加する。発明者は、特許文献1に開示された、ワークフローの最適化法ではワークフローの異常系を考慮した実行コストの削減が困難であるため、仮にそれを実現するとすれば、特許文献1の技術に加えて、タスクの異常発生の可能性を早期に検知しワークフローの実行を早期に終了するような何等かの手法が必要である、と考える。 The technology disclosed in Patent Document 1 does not sufficiently reduce the execution cost by taking into account workflow abnormalities. Here, an abnormal situation refers to a situation where the purpose of the workflow cannot be achieved due to the occurrence of an exception in a task, etc. In an abnormal system, the more a workflow task is executed, the more unnecessary execution costs that do not contribute to achieving the goal of the workflow increase. The inventor believes that the workflow optimization method disclosed in Patent Document 1 makes it difficult to reduce the execution cost by taking abnormalities in the workflow into consideration. Therefore, we believe that there is a need for some kind of method that can detect the possibility of a task abnormality occurring early and terminate the workflow execution early.
 また、タスクの異常発生の可能性を早期に検知しワークフローの実行を早期に終了する手法として、1つ以上の後続タスクの異常発生の可能性を検知するタスク(以下、検証処理)をワークフローへ追加する方法が考えられる。しかし、検証処理自体も実行にコストがかかることから、不適切に検証処理を追加すると、返ってワークフロー全体の実行コストの増加を招き、適切な実施が困難となる。 In addition, as a method to detect the possibility of an abnormality occurring in a task early and terminate the workflow execution early, a task that detects the possibility of an abnormality occurring in one or more subsequent tasks (hereinafter referred to as verification processing) is added to the workflow. There are ways to add it. However, since the verification process itself is costly to execute, inappropriately adding a verification process will result in an increase in the execution cost of the entire workflow, making appropriate implementation difficult.
 本発明の目的は、異常系を考慮したワークフローの実行コストを削減することが可能なワークフロー管理を実現することにある。 An object of the present invention is to realize workflow management that can reduce the cost of executing a workflow that takes abnormal systems into consideration.
 本発明に係るワークフロー管理システムの好ましい一例は、ワークフローを管理する計算機が、コスト情報収集計算部と、改善提案部を有し、
前記コスト情報収集計算部は、事前に収集されたコスト事前情報を用いて、ワークフローで実行される1または複数のタスクとワークフロー全体の実行コストを計算し、
前記改善提案部は、
ワークフローの実行履歴情報を基に1または複数のタスクの成功を検証する検証処理を特定し、
前記検証処理により、ワークフローのタスク異常発生の可能性をタスク実行前に検知することで、実行を省略できる1または複数のタスクの実行コストを集計してタスク実行コスト削減量を計算し、
前記検証処理が持つ実行コストであるオーバーヘッドを計算し、
前記タスク実行コスト削減量と前記オーバーヘッドを基に、ワークフローの運用時に発生する実行コストの削減量である改善見込み量を計算する、ワークフロー管理システム、である。
In a preferred example of the workflow management system according to the present invention, a computer that manages workflow has a cost information collection calculation section and an improvement proposal section,
The cost information collection calculation unit calculates the execution cost of one or more tasks to be executed in the workflow and the entire workflow using cost advance information collected in advance,
The improvement proposal department is
Identify a verification process that verifies the success of one or more tasks based on workflow execution history information,
The verification process detects the possibility of a task abnormality occurring in the workflow before task execution, and calculates a task execution cost reduction amount by totaling the execution cost of one or more tasks that can be omitted from execution;
Calculate the overhead, which is the execution cost of the verification process,
The present invention is a workflow management system that calculates an expected improvement amount, which is a reduction amount of execution costs generated during operation of a workflow, based on the task execution cost reduction amount and the overhead.
 本発明に係るワークフロー管理方法の好ましい一例は、ワークフローを管理する計算機は、コスト情報収集計算ステップと、改善提案ステップを実行し、
前記コスト情報収集計算ステップは、事前に収集されたコスト事前情報を用いて、ワークフローで実行される1または複数のタスクとワークフロー全体の実行コストを計算し、
前記改善提案ステップは、
ワークフローの実行履歴情報を基に1または複数のタスクの成功を検証する検証処理を特定し、
前記検証処理により、ワークフローのタスク異常発生の可能性をタスク実行前に検知することで、実行を省略できる1または複数のタスクの実行コストを集計してタスク実行コスト削減量を計算し、
前記検証処理が持つ実行コストであるオーバーヘッドを計算し、
前記タスク実行コスト削減量と前記オーバーヘッドを基に、ワークフローの運用時に発生する実行コストの削減量である改善見込み量を計算する、ワークフロー管理方法、である。
In a preferred example of the workflow management method according to the present invention, a computer that manages the workflow executes a cost information collection calculation step and an improvement proposal step,
The cost information collection calculation step calculates the execution cost of one or more tasks to be executed in the workflow and the entire workflow using cost advance information collected in advance,
The improvement proposal step includes:
Identify a verification process that verifies the success of one or more tasks based on workflow execution history information,
The verification process detects the possibility of a task abnormality occurring in the workflow before task execution, and calculates a task execution cost reduction amount by totaling the execution cost of one or more tasks that can be omitted from execution;
Calculate the overhead, which is the execution cost of the verification process,
The present invention is a workflow management method that calculates an expected improvement amount, which is a reduction amount of execution costs generated during operation of a workflow, based on the task execution cost reduction amount and the overhead.
 本発明に係るワークフロー管理プログラムの好ましい一例は、ワークフローを管理する計算機に実行させるプログラムであって、
ワークフローの実行履歴情報を基に1または複数のタスクの成功を検証する検証処理を特定し、
前記検証処理により、ワークフローのタスク異常発生の可能性をタスク実行前に検知することで、実行を省略できる1または複数のタスクの実行コストを集計してタスク実行コスト削減量を計算し、
前記検証処理が持つ実行コストであるオーバーヘッドを計算し、
前記タスク実行コスト削減量と前記オーバーヘッドを基に、ワークフローの運用時に発生する実行コストの削減量である改善見込み量を計算する、
を実行させるプログラム、である。
A preferred example of the workflow management program according to the present invention is a program that is executed by a computer that manages workflow, and includes:
Identify a verification process that verifies the success of one or more tasks based on workflow execution history information,
The verification process detects the possibility of a task abnormality occurring in the workflow before task execution, and calculates a task execution cost reduction amount by totaling the execution cost of one or more tasks that can be omitted from execution;
Calculate the overhead, which is the execution cost of the verification process,
Based on the task execution cost reduction amount and the overhead, calculate an expected improvement amount that is the reduction amount of the execution cost that occurs during operation of the workflow;
This is a program that executes .
 本発明によれば、タスクが実行されて実行コストが発生する前にワークフローを終了させることができ、ワークフローの目的達成に寄与しない余計な実行コストを低減させることができる。これにより、異常系を考慮したワークフローの実行コストを削減することができる。 According to the present invention, a workflow can be ended before a task is executed and an execution cost is incurred, and unnecessary execution costs that do not contribute to achieving the goal of the workflow can be reduced. This makes it possible to reduce the cost of executing a workflow that takes abnormal systems into consideration.
一実施例によるワークフロー管理システムの構成を示す図である。FIG. 1 is a diagram showing the configuration of a workflow management system according to an embodiment. ワークフローの定義例を示す図である。FIG. 3 is a diagram illustrating an example of a workflow definition. ワークフロー定義情報131の例を示す図である。3 is a diagram showing an example of workflow definition information 131. FIG. ワークフローインスタンス情報132の例を示す図である。3 is a diagram illustrating an example of workflow instance information 132. FIG. ワークフロー実行履歴情報133の例を示す図である。3 is a diagram illustrating an example of workflow execution history information 133. FIG. コスト事前情報134の例を示す図である。13 is a diagram showing an example of cost advance information 134. FIG. 発生コスト情報135の例を示す図である。3 is a diagram illustrating an example of incurred cost information 135. FIG. 学習モデル情報136の例を示す図である。3 is a diagram showing an example of learning model information 136. FIG. 改善案情報137の例を示す図である。13 is a diagram showing an example of improvement plan information 137. FIG. 改善提案テンプレート138の例を示す図である。3 is a diagram showing an example of an improvement proposal template 138. FIG. コスト情報収集計算部122の処理フローを示す図である。3 is a diagram showing a processing flow of the cost information collection calculation unit 122. FIG. 改善案推定部123の処理フローを示す図である。3 is a diagram showing a processing flow of an improvement plan estimating unit 123. FIG. 改善法特定ステップ2200の処理フローを示す図である。FIG. 6 is a diagram showing a processing flow of an improvement method identification step 2200. 改善量評価ステップ2300の処理フローを示す図である。FIG. 6 is a diagram showing a processing flow of an improvement amount evaluation step 2300. 改善提案画面の例を示す図である。FIG. 3 is a diagram showing an example of an improvement proposal screen.
 以下、本発明の一実施形態を図面に従い、説明する。
本実施形態では、ワークフロー管理システムを設計支援システムに適用した例を述べる。設計支援システムは、ワークフロー(以下フローと略す)の処理時間や料金等の実行コストに関する情報や、フローインスタンスの状態の変遷等を記録したフロー実行履歴情報を利用して、提示する検証処理を機械学習モデルにより推定し、改善見込み量を評価し、検証処理の候補を開発者へ提示するシステムである。フローインスタンスとは、フローで定義される処理ロジックを実行する実態を表し、フロー作業者のフロー開始コマンドによりフローインスタンスが開始される。
An embodiment of the present invention will be described below with reference to the drawings.
In this embodiment, an example in which a workflow management system is applied to a design support system will be described. The design support system uses information about execution costs such as processing time and fees for workflows (hereinafter referred to as flows), as well as flow execution history information that records changes in the state of flow instances, to automatically perform the verification processing presented. This is a system that estimates using a learning model, evaluates the expected amount of improvement, and presents candidates for verification processing to the developer. A flow instance represents the actual execution of processing logic defined by a flow, and a flow instance is started by a flow start command from a flow worker.
 図1は、本実施例によるワークフロー管理システムに使用される計算機の構成例を示す。計算機1は、例えば、プログラムを実行する処理部(CPU)10、プログラムやデータを保持する半導体メモリやハードディスク等のような記憶部20、入出力インターフェース(I/F)30、ネットワーク9に接続するネットワークインタフェース(I/F)40、を有して構成される。 FIG. 1 shows an example of the configuration of a computer used in the workflow management system according to this embodiment. The computer 1 is connected to, for example, a processing unit (CPU) 10 that executes programs, a storage unit 20 such as a semiconductor memory or hard disk that retains programs and data, an input/output interface (I/F) 30, and a network 9. The network interface (I/F) 40 is configured.
 計算機1には、ネットワーク9を介して、開発/運用者が使用する端末7やフロー作業者が使用する端末8が接続され、開発/運用者やフロー作業者等の利用者はこれらの端末を用いて計算機1を利用することができる。ここで、端末7,8は、利用者が操作できる入力部、データを表示する表示部、およびプログラムの実行によりデータ処理する処理部、データやプログラムを格納するメモリ、およびネットワーク9と接続されるネットワーク接続部、を有している。 A terminal 7 used by a developer/operator and a terminal 8 used by a flow worker are connected to the computer 1 via a network 9, and users such as the developer/operator and flow worker can use these terminals. The computer 1 can be used by using Here, the terminals 7 and 8 are connected to an input section that can be operated by a user, a display section that displays data, a processing section that processes data by executing a program, a memory that stores data and programs, and a network 9. It has a network connection section.
 計算機1の処理部10は、ユーザインタフェース(UIと略す)生成部11と、機能部12を有する。 The processing unit 10 of the computer 1 includes a user interface (abbreviated as UI) generation unit 11 and a functional unit 12.
 UI生成部11は、開発/運用UI111と、フロー作業用UI112と、改善提案UI113を有する。UI生成部11は、計算機1に接続される端末7や端末8で使用されるユーザインタフェース(UI)を生成する。利用者は、UIにより端末7,8に表示される画面を閲覧し、かつ入力の操作をすることができる。一例では、開発/運用UI111と、フロー作業用UI112と、改善提案UI113は個別のプログラムが処理部11で実行されて、それぞれの機能が実現される。なお、複数のUIプログラムの機能を有する1つのUIプログラムが複数の機能を実現するようにしても良い。 The UI generation unit 11 has a development/operation UI 111, a flow work UI 112, and an improvement proposal UI 113. The UI generation unit 11 generates a user interface (UI) used in the terminal 7 and terminal 8 connected to the computer 1. The user can view the screens displayed on the terminals 7 and 8 and perform input operations using the UI. In one example, individual programs for the development/operation UI 111, the flow work UI 112, and the improvement proposal UI 113 are executed by the processing unit 11 to realize their respective functions. Note that one UI program having the functions of multiple UI programs may realize multiple functions.
 改善提案UI113は、記憶部20が管理する改善案情報137を利用して、フローの開発運用者にフロー設計の改善案を提示するUIを生成するプログラムの実行により実現される。この改善提案UI113により、改善案(例えば検証処理と改善見込み量)を表示する画面を提供して、開発運用者に対して適切なフローの設計改善を支援することができる。 The improvement proposal UI 113 is realized by executing a program that uses the improvement proposal information 137 managed by the storage unit 20 to generate a UI that presents a flow design improvement proposal to a flow development operator. The improvement proposal UI 113 can provide a screen that displays improvement proposals (for example, verification processing and estimated amount of improvement), and can support development and operation personnel in improving the design of appropriate flows.
 機能部12は、フロー実行管理部121と、コスト情報収集計算部122と、改善提案部123と有して構成される。これらの機能部は、例えば、記憶部13に記憶された、フロー実行管理プログラム121´、コスト情報収集処理プログラム122´、改善提案プログラム123´が、処理部10で実行されて、それぞれの機能が実現される(各プログラムの符号は不図示)。 The functional unit 12 includes a flow execution management unit 121, a cost information collection calculation unit 122, and an improvement proposal unit 123. These functional units include, for example, a flow execution management program 121′, a cost information collection processing program 122′, and an improvement proposal program 123′ stored in the storage unit 13, which are executed by the processing unit 10 to perform their respective functions. (The code of each program is not shown).
 フロー実行管理部121は、フローの実行及び管理を行う。基本的な機能の一例としては、例えば開発者/運用者端末7から送信されたフロー定義に関する情報を、記憶部20が管理するフロー定義情報131へ格納する機能や、端末8から送信されたフローの実行開始命令に基づき、フロー定義情報131からフローインスタンスを作成しフローインスタンス情報132へ格納する機能や、実行したフローインスタンスの状態の変遷をフロー実行履歴情報133へ記録する機能が含まれる。 The flow execution management unit 121 executes and manages flows. Examples of basic functions include, for example, a function to store information regarding flow definitions sent from the developer/operator terminal 7 into the flow definition information 131 managed by the storage unit 20, and a function to store information regarding flow definitions sent from the developer/operator terminal 7 into the flow definition information 131 managed by the storage unit 20; This includes a function of creating a flow instance from flow definition information 131 and storing it in flow instance information 132 based on an execution start command, and a function of recording changes in the state of the executed flow instance in flow execution history information 133.
 コスト情報収集計算部122は、フロー実行履歴情報133からフローインスタンスの実行コストを計算するために、事前に必要なコスト事前情報134を収集し、フローインスタンスごとやフローインスタンス内のタスクごとに実行コストを計算して、発生コスト情報135に記録する。コスト事前情報134には、例えば人間作業によるタスクで発生する人件費や、外部APIを呼び出すAPI利用費や、タスク実行中の計算資源を利用するコストが含まれる。なお、実行コストは、処理料金や処理時間やその他指標を用いても良い。 In order to calculate the execution cost of a flow instance from the flow execution history information 133, the cost information collection calculation unit 122 collects cost advance information 134 required in advance, and calculates the execution cost for each flow instance or each task within the flow instance. is calculated and recorded in the incurred cost information 135. The cost advance information 134 includes, for example, personnel costs incurred in human tasks, API usage costs for calling external APIs, and costs for using computational resources during task execution. Note that the execution cost may be determined using processing fees, processing time, or other indicators.
 改善提案部123は、フロー実行履歴情報133や発生コスト情報135を利用して、改善案を推定するための機械学習モデルに関する学習モデル情報136を更新し、改善案情報137を計算する。なお、学習モデル情報136は、例えばバッチ処理的に都度新しいモデルを作成する場合など、機械学習の手法によっては記憶部20が管理し保持していなくても良い。改善案情報は、フローの開発運用者へ提示される改善案に関する情報を記録し、改善提案UI113によって、改善提案テンプレート138に代入されることでUIに変換される。 The improvement proposal unit 123 uses the flow execution history information 133 and the generated cost information 135 to update the learning model information 136 regarding the machine learning model for estimating the improvement plan, and calculates the improvement plan information 137. Note that the learning model information 136 may not be managed and held by the storage unit 20 depending on the machine learning method, for example, when a new model is created each time in batch processing. The improvement proposal information records information regarding the improvement proposal presented to the flow development operator, and is converted into a UI by being substituted into the improvement proposal template 138 by the improvement proposal UI 113.
 記憶部20は、フロー定義情報131、フローインスタンス情報132、フロー実行履歴情報133、コスト事前情報134、発生コスト情報135、学習モデル情報136、改善案情報137、改善提案テンプレート138を保持する。これらの情報は、例えばテーブル形式で構成される。なお、各情報の構成例については、図3以降を参照して後述する。 The storage unit 20 holds flow definition information 131, flow instance information 132, flow execution history information 133, cost advance information 134, incurred cost information 135, learning model information 136, improvement plan information 137, and improvement proposal template 138. This information is configured, for example, in a table format. Note that configuration examples of each information will be described later with reference to FIG. 3 and subsequent figures.
 図2は、計算機1によって実行及び管理されるフローの定義例を示す。
フロー定義G10は、StartイベントG1010やNormalEndイベントG1070などフロー実行の開始や終了を表すイベントや、Task1タスクG1030やTask2タスクG1050などフローで実行される具体的な処理を定義するタスクや、Arrow1矢印G1020やArrow2矢印G1040などイベントやタスクの実行順序や分岐を定義する矢印を含む。タスクには、例えば人間作業タスクでは作業者や作業内容が定義され、外部サービスを呼び出すタスクではAPIの接続先のURL情報や入力する変数の情報が定義される。各タスクは、コスト事前情報134に含まれる実行コストに関する事前情報であるコストタイプが設定されており、このコストタイプによりこのフローのフロー実行履歴情報133から各タスクの実行コストを計算することができる。
FIG. 2 shows a definition example of a flow executed and managed by the computer 1.
The flow definition G10 includes events that indicate the start and end of flow execution such as Start event G1010 and NormalEnd event G1070, tasks that define specific processes to be executed in the flow such as Task1 task G1030 and Task2 task G1050, and Arrow1 arrow G1020. It includes arrows that define the execution order and branching of events and tasks, such as Arrow2 arrow G1040. For example, in a human work task, the worker and the work content are defined in the task, and in the task that calls an external service, the URL information of the API connection destination and information on variables to be input are defined. Each task is set with a cost type, which is prior information regarding the execution cost included in the cost prior information 134, and this cost type allows the execution cost of each task to be calculated from the flow execution history information 133 of this flow. .
 図2に示す、ErrorEnd1イベントG1090やErrorEnd2イベントG1110は、Task1タスクG1030やTask2タスクG1050で異常が発生し正常に実行できない場合に対応する終了イベントである。本実施例では、例えばTask2タスクG1050の成功を検証するタスクである検証処理をArrow1矢印G1020へ挿入することを開発者へ提案することで、Task2タスクG1050で異常発生するフローインスタンスをTask1タスクG1030の実行前に失敗させ、フローインスタンスの実行コストの削減を図る。 The ErrorEnd1 event G1090 and the ErrorEnd2 event G1110 shown in FIG. 2 are end events corresponding to the case where an abnormality occurs in the Task1 task G1030 or the Task2 task G1050 and the task cannot be executed normally. In this embodiment, for example, by proposing to the developer that a verification process, which is a task that verifies the success of Task2 task G1050, be inserted into Arrow1 arrow G1020, a flow instance that occurs abnormally in Task2 task G1050 can be removed from Task1 task G1030. Reduce the execution cost of a flow instance by causing it to fail before execution.
 図3は、フロー定義情報131のテーブル構成の例を示す。
フロー定義情報131は、フロー開発/運用者によって設計されたフローに関する情報を有し、フロー実行管理部121によって追加及び更新される。フロー定義テーブルT1000は、フロー定義のIDT1100、名前T1200、バージョンT1300、定義内容T1400等のカラムを含む。
FIG. 3 shows an example of the table structure of the flow definition information 131.
The flow definition information 131 has information regarding flows designed by a flow developer/operator, and is added and updated by the flow execution management unit 121. The flow definition table T1000 includes columns such as flow definition IDT1100, name T1200, version T1300, and definition content T1400.
 定義内容T1400には、計算機が読み込み可能な形態でフロー定義が記録される。例えば、xmlを用いて記録されていてよい。フロー定義では、前述のように、各タスク定義にコストタイプが設定されており、これによりコスト情報収集計算部122が、このタスクの実行により発生した実行コストを計算することができる。また、各タスクやイベントの定義には各フロー内で固有なIDが設定されており、実行中のフローインスタンスの実行位置等を表す際に利用される。 In the definition content T1400, a flow definition is recorded in a form that can be read by a computer. For example, it may be recorded using xml. In the flow definition, as described above, a cost type is set for each task definition, which allows the cost information collection calculation unit 122 to calculate the execution cost generated by the execution of this task. Additionally, each task or event definition has a unique ID set within each flow, which is used to indicate the execution position of the flow instance being executed.
 図4は、フローインスタンス情報132のテーブル構成の例を示す。
フローインスタンス情報132は、端末8からのフロー作業者の開始命令により作成されるフローインスタンスの状態に関する情報を有する。フローインスタンステーブルT2000は、フローインスタンスIDT2100、フロー定義IDT2200、現在タスクIDT2300、フロー変数T2400等のカラムを含む。フローインスタンステーブルT2000の各レコードは、実行中の各フローインスタンスに対応し、フロー実行管理部121によってフローインスタンスが進捗される度に対応するレコードが更新される。
FIG. 4 shows an example of the table structure of the flow instance information 132.
The flow instance information 132 includes information regarding the state of a flow instance created by a flow worker's start command from the terminal 8. The flow instance table T2000 includes columns such as a flow instance IDT2100, a flow definition IDT2200, a current task IDT2300, and a flow variable T2400. Each record of the flow instance table T2000 corresponds to each flow instance being executed, and the corresponding record is updated every time the flow instance is progressed by the flow execution management unit 121.
 現在タスクIDT2300及びフロー変数T2400は、各フローインスタンスの現在の実行位置及び状態に関する情報を表す。フロー変数T2400は、フローインスタンスがもつ変数が記録され、各タスクにおいて変数が追加及び更新される。フロー変数T2400では、変数名と値が辞書式以外で表されていても良く、あるいはフロー変数に類する一部あるいは全部の情報が個別のテーブルとして記録されていても良い。また、フロー変数T2400が広くフローインスタンスの状態に関する情報を含み、例えばフローインスタンスの開始者や外部サービス呼出時の認証情報等を含んでも良い。 The current task IDT 2300 and flow variable T2400 represent information regarding the current execution position and state of each flow instance. In the flow variable T2400, variables held by a flow instance are recorded, and variables are added and updated in each task. In the flow variable T2400, the variable name and value may be expressed in a format other than a dictionary, or some or all of the information similar to the flow variable may be recorded as an individual table. Further, the flow variable T2400 broadly includes information regarding the state of the flow instance, and may include, for example, the initiator of the flow instance, authentication information when calling an external service, and the like.
 図5は、フロー実行履歴情報133のテーブル構成の例を示す。
フロー実行履歴情報133は、フローインスタンスやタスクの開始及び終了時等で、フロー実行管理部121によってレコードが追加され、特定時点でのフローインスタンスの状態に関する情報を有する。フロー実行履歴テーブルT3000は、フロー履歴IDT3100、フローインスタンスIDT3200、事象発生時刻T3300、事象内容T3400、フロー変数T3500等のカラムを含む。
FIG. 5 shows an example of the table configuration of the flow execution history information 133.
The flow execution history information 133 has records added by the flow execution management unit 121 at the start and end of a flow instance or task, and has information regarding the state of the flow instance at a specific point in time. The flow execution history table T3000 includes columns such as a flow history IDT3100, a flow instance IDT3200, an event occurrence time T3300, an event content T3400, and a flow variable T3500.
 事象発生時刻T3300及び事象内容T3400は、フローインスタンスやタスクの開始等の事象の発生時の時間及びその内容に関する情報を表す。なお、タスク開始時やフロー発生時等、どの事象発生時にレコードを記録するかは、別に定めるポリシーやテーブルによって定義されていて良い。事象発生時刻T3300及び事象内容T3400の情報から、例えば特定のフローインスタンスがフロー定義のどの経路を経由していたかどうかや、各タスクにどれだけ時間がかかったか等を計算することができる。 The event occurrence time T3300 and the event content T3400 represent information regarding the time and content of an event such as the start of a flow instance or a task. Note that when an event occurs, such as when a task starts or when a flow occurs, a record is to be recorded, which may be defined by a separately defined policy or table. From the information on the event occurrence time T3300 and the event content T3400, it is possible to calculate, for example, which route in the flow definition a particular flow instance took, how much time each task took, and the like.
 フロー変数T3500は、各レコード作成時点でのそのフローインスタンスのフロー変数T2400に基づき記録される。なお、フロー変数T2400の説明で述べたとおり、フロー変数T3500が広くフローインスタンスの状態に関する情報を含み、例えばフローインスタンスの開始者や外部サービス呼出時の認証情報等を含んでいて良い。フロー変数T3500の情報を用いて、例えば各フロー変数がいつ追加及び更新されたか等の履歴情報を収集することができる。 The flow variable T3500 is recorded based on the flow variable T2400 of the flow instance at the time of each record creation. Note that, as described in the explanation of the flow variable T2400, the flow variable T3500 broadly includes information regarding the state of the flow instance, and may include, for example, the initiator of the flow instance, authentication information when calling an external service, and the like. Using the information on the flow variables T3500, it is possible to collect historical information such as when each flow variable was added and updated.
 図6は、コスト事前情報134のテーブル構成の例を示す。
コスト事前情報134は、フロー実行履歴情報133から、発生コスト情報135を計算するために事前に必要な情報を規定する。コストタイプテーブルT4000は、フロー定義内の各タスク定義に設定し、そのタスクの実行時に発生するコストの計算方法や計算パラメータに関する情報を有する。コストタイプテーブルT4000は、コストタイプIDT4100、コストタイプ名T4200、固定コストT4300、時間変動コストT4400等のカラムを含む。コストタイプテーブルT4000の各レコードは、一例ではコスト情報収集計算部122によって収集されるが、計算機1の提供者によって予め用意されていても良いし、フロー開発管理者によって作成及びカスタマイズされていても良い。
FIG. 6 shows an example of the table structure of the cost advance information 134.
The cost advance information 134 defines information necessary in advance to calculate the generated cost information 135 from the flow execution history information 133. The cost type table T4000 is set for each task definition in a flow definition, and has information regarding the calculation method and calculation parameters for costs generated when the task is executed. The cost type table T4000 includes columns such as cost type IDT4100, cost type name T4200, fixed cost T4300, and time-varying cost T4400. Each record of the cost type table T4000 is collected by the cost information collection calculation unit 122 in one example, but may be prepared in advance by the provider of the computer 1, or may be created and customized by the flow development manager. good.
 固定コストT4300や時間変動コストT4400は、タスクの実行コストの計算に必要なパラメータを表す。固定コストT4300は、タスクの実行回数に対して発生するコストであり、例えば実行回数課金型の外部サービスを呼び出すタスクのAPI利用費等が該当する。時間変動コストT4400は、フロー実行履歴情報133から計算されるタスクの実行時間に比例して発生するコストであり、例えば人間作業のタスクにおける人件費や、実行時間課金型の外部サービスを呼び出すタスクのAPI利用費等が該当する。 The fixed cost T4300 and the time-varying cost T4400 represent parameters necessary for calculating the task execution cost. The fixed cost T4300 is a cost that occurs with respect to the number of times a task is executed, and includes, for example, an API usage fee for a task that calls an external service that is charged for the number of executions. The time-varying cost T4400 is a cost that occurs in proportion to the execution time of a task calculated from the flow execution history information 133, and includes, for example, the labor cost of a human task, or the cost of a task that calls an external service that is charged for execution time. This applies to API usage fees, etc.
 なお、タスクの実行コストを計算する方法は、固定コストT4300や時間変動コストT4400による方法に限らず、例えばタスク実行時間に依存するその他のパラメータを定義し、フロー実行履歴情報133から得られるタスク実行時間以外の情報を用いても良い。また、固定コストT4300や時間変動コストT4400のように、テーブルに計算パラメータを定義する方法にも限られず、例えば計算式を定義する等、記憶部20以外で管理する実行コストの格納先などの情報を含んでも良い。 Note that the method of calculating the task execution cost is not limited to the method using the fixed cost T4300 or the time-varying cost T4400. For example, other parameters depending on the task execution time are defined, and the task execution cost obtained from the flow execution history information 133 is Information other than time may be used. Furthermore, the method is not limited to the method of defining calculation parameters in a table, such as the fixed cost T4300 and the time-varying cost T4400, but for example, information such as the storage location of the execution cost managed outside the storage unit 20, such as defining a calculation formula. May include.
 図7は、発生コスト情報135のテーブル構成の例を示す。
発生コスト情報135は、例えばフローインスタンスごとの発生コストテーブルであるフローコストテーブルT5000や、フローインスタンスのタスクごとの発生コストテーブルであるタスクコストテーブルT6000の情報を含む。なお、発生コスト情報135には、例えばフローインスタンスやタスク以外ごとの実行コストに関する情報や、フロー定義ごとに実行コストの平均や合計等の統計的な情報を記録するテーブルが用意されていても良い。また、フロー実行履歴情報133から発生コスト情報135の計算負荷が軽微な場合には、発生コスト情報135が記憶部20によって管理され保持されていなくても良い。
FIG. 7 shows an example of the table structure of the incurred cost information 135.
The incurred cost information 135 includes, for example, information on a flow cost table T5000, which is an incurred cost table for each flow instance, and a task cost table T6000, which is an incurred cost table for each task of a flow instance. Note that the generated cost information 135 may include, for example, a table that records information regarding execution costs for each flow instance and other than tasks, and statistical information such as the average and total of execution costs for each flow definition. . Further, if the calculation load for calculating the generated cost information 135 from the flow execution history information 133 is light, the generated cost information 135 does not need to be managed and held by the storage unit 20.
 フローコストテーブルT5000やタスクコストテーブルT6000は、各フローインスタンスやタスクごとの実行コストに関する情報T5100、T6100を有する。実行コストを表すコストT5300やコストT6400のカラムは、コスト情報収集計算部122によって、フロー実行履歴情報133とコスト事前情報134に基づいて計算される。なお、コストT5300やコストT6400は、数値データを一つのみ持つ場合に限らず、例えば処理料金と処理時間など複数の値や離散的な形式の値が含まれていても良い。 The flow cost table T5000 and the task cost table T6000 have information T5100 and T6100 regarding the execution cost of each flow instance and each task. The cost T5300 and cost T6400 columns representing the execution cost are calculated by the cost information collection calculation unit 122 based on the flow execution history information 133 and the cost advance information 134. Note that the cost T5300 and the cost T6400 are not limited to having only one numerical data, and may include a plurality of values or values in a discrete format, such as a processing fee and a processing time, for example.
 図8は、学習モデル情報136のテーブル構成の例を示す。
学習モデルテーブルT7000は、フロー実行履歴情報133と発生コスト情報135を利用して改善案情報137を推定する場合に用いられる、機械学習モデルに関する情報を有する。学習モデルテーブルT7000は、モデルIDT7100、フロー定義IDT7200、検証処理挿入箇所T7300、モデルタイプT7400、学習パラメータT7500、モデルオブジェクトT7600等を含む。なお、学習モデル情報136に類する情報は、例えばバッチ処理的に都度新しいモデルを作成する場合など、機械学習の手法によってはテーブルとして保持していなくても良い。
FIG. 8 shows an example of the table structure of the learning model information 136.
The learning model table T7000 has information regarding a machine learning model used when estimating the improvement plan information 137 using the flow execution history information 133 and the generated cost information 135. The learning model table T7000 includes a model IDT7100, a flow definition IDT7200, a verification process insertion location T7300, a model type T7400, a learning parameter T7500, a model object T7600, and the like. Note that information similar to the learning model information 136 may not be held as a table depending on the machine learning method, for example, when a new model is created each time in batch processing.
 フロー定義IDT7200や検証処理挿入箇所T7300は、各レコードに保持される機械学習モデルが何れフロー定義及び矢印の箇所を用いて検証処理を推定するかを表す。前述の通り、検証処理は、一つあるいは複数のタスクの成功を検証するタスクである。なお、検証処理挿入箇所T7300は、矢印に限られている必要はなく、例えばタスクやイベントの処理前や後を含めても良い。 The flow definition IDT 7200 and the verification process insertion location T7300 represent which flow definition and arrow location are used by the machine learning model held in each record to estimate the verification process. As mentioned above, the verification process is a task of verifying the success of one or more tasks. Note that the verification process insertion location T7300 does not need to be limited to an arrow, and may include, for example, before and after processing a task or event.
 モデルタイプT7400は、各レコードに保持される機械学習モデルのタイプに関する情報を表す。モデルタイプT7400には、フロー実行履歴情報133から抽出された検証処理挿入箇所T7300時点でのフローインスタンス状態を入力とし、そのフローインスタンスの終了コード、例えば図2におけるNormal EndイベントG1070やError End1イベントG1090の推定結果を出力とする事ができる機械学習モデルが利用でき、例えばNN(Neural Network)モデルや決定木等のモデルを利用しても良い。 The model type T7400 represents information regarding the type of machine learning model held in each record. The model type T7400 inputs the flow instance state at the verification process insertion point T7300 extracted from the flow execution history information 133, and the end code of the flow instance, such as the Normal End event G1070 or Error End1 event G1090 in FIG. 2. A machine learning model that can output the estimation result can be used, for example, a NN (Neural Network) model or a decision tree model may be used.
 モデルオブジェクトT7600は、改善提案部123により実行可能なモデルオブジェクトに関する情報を表す。なお、モデルオブジェクトT7600に直接モデルオブジェクトが記録されている必要はなく、例えば別のテーブルやファイルシステムに記録されていて、その参照のみを保持していても良い。 The model object T7600 represents information regarding a model object that can be executed by the improvement proposal unit 123. Note that it is not necessary that the model object is directly recorded in the model object T7600; for example, the model object may be recorded in another table or file system, and only a reference thereof may be retained.
 図9は、改善案情報137のテーブル構成の例を示す。
改善案情報137は、改善提案部123により推定及び評価された検証処理の追加を行う改善案に関する情報を有する。改善案テーブルT8000には、検証処理案の内容や、挿入箇所、コスト削減効果に関する情報が含まれる。改善案テーブルT8000は、改善案IDT8010やフロー定義IDT8020、検証処理挿入箇所T8030、改善提案タイプIDT8040、改善提案パラメータT8050、偽陽性率T8060、タスク実行コスト削減量T8070、オーバーヘッドT8080、改善見込み量T8090、有効フラグT8100等を含む。
FIG. 9 shows an example of the table structure of the improvement plan information 137.
The improvement plan information 137 includes information regarding an improvement plan for adding the verification process estimated and evaluated by the improvement proposal unit 123. The improvement plan table T8000 includes information regarding the contents of the verification process plan, insertion locations, and cost reduction effects. The improvement proposal table T8000 includes improvement proposal IDT8010, flow definition IDT8020, verification process insertion location T8030, improvement proposal type IDT8040, improvement proposal parameter T8050, false positive rate T8060, task execution cost reduction amount T8070, overhead T8080, expected improvement amount T8090, Contains a valid flag T8100, etc.
 フロー定義IDT8020や検証処理挿入箇所T8030は、検証処理の挿入位置に関する情報を表す。フロー定義IDT8020や検証処理挿入箇所T8030には、各レコードの検証処理を推定する際に用いた機械学習モデルの、学習モデルテーブルT7000のフロー定義IDT7200及び検証処理挿入箇所T7300と同等の情報が含まれる。なお、学習モデルテーブルT7000と改善案テーブルT8000の各レコードが一対一で対応している必要はなく、一つの機械学習モデルから複数の改善処理案が生成されていても良い。 The flow definition IDT 8020 and the verification process insertion location T8030 represent information regarding the insertion position of the verification process. The flow definition IDT8020 and the verification process insertion location T8030 include information equivalent to the flow definition IDT7200 and the verification process insertion location T7300 of the learning model table T7000 of the machine learning model used when estimating the verification process for each record. . Note that the records in the learning model table T7000 and the improvement plan table T8000 do not need to have a one-to-one correspondence, and a plurality of improvement processing plans may be generated from one machine learning model.
 改善提案タイプIDT8040や改善提案パラメータT8050は、検証処理の内容に関する情報を表す。改善提案タイプIDT8040は、改善提案テンプレート138に含まれる改善提案に関するテンプレート情報を指定し、改善提案パラメータT8050により個別の検証処理の内容や改善提案UI113により表示する改善提案の内容が指定される。改善提案パラメータT8050には、例えばフロー変数のチェックによる検証処理の検証式やAPI呼出による検証処理のURL情報等が含まれる。なお、検証処理の内容に関する情報は、必ずしも改善提案テンプレート138を用いて定義されている必要はなく、例えば検証処理を行うタスクの定義等が記録されていても良い。 The improvement proposal type IDT8040 and the improvement proposal parameter T8050 represent information regarding the contents of the verification process. The improvement proposal type IDT 8040 specifies template information regarding the improvement proposal included in the improvement proposal template 138, and the improvement proposal parameter T8050 specifies the contents of individual verification processing and the contents of the improvement proposal to be displayed by the improvement proposal UI 113. The improvement proposal parameter T8050 includes, for example, a verification formula for verification processing by checking flow variables, URL information for verification processing by calling an API, and the like. Note that the information regarding the content of the verification process does not necessarily have to be defined using the improvement proposal template 138, and for example, the definition of a task to perform the verification process may be recorded.
 偽陽性率T8060や、タスク実行コスト削減量T8070、オーバーヘッドT8080、改善見込み量T8090、有効フラグT8100は、検証処理の効果に関する情報を表す。偽陽性率T8060は、検証処理が誤って正常系のフローインスタンスを異常系と分類してしまう確率を表す。偽陽性率T8060により、例えば改善見込み量T8090が高く評価された検証処理でも、偽陽性率T8060が高い場合はフローの正常な処理に悪影響があると考えられるため採用しない、といった判断が可能となる。タスク実行コスト削減量T8070や、オーバーヘッドT8080、改善見込み量T8090は、検証処理によるフローの実行コストへの影響量に関する情報を表す。改善見込み量T8090は、検証処理を行うタスク自体が持つ実行コストであるオーバーヘッドT8080を差し引いて評価されており、フローの実行コストの削減に真に効果があるかを評価することができている。有効フラグT8100は、偽陽性率T8060や改善見込み量T8090等の検証処理による効果が一定の基準を満たすときに「True」となり、改善提案UI113によって提示が可能であることを表す。有効フラグT8100により、例えば偽陽性率T8060が高い検証処理や実行コストの削減が見込めない検証処理を提示しないといった制御が可能となる。 The false positive rate T8060, task execution cost reduction amount T8070, overhead T8080, expected improvement amount T8090, and effectiveness flag T8100 represent information regarding the effectiveness of the verification process. The false positive rate T8060 represents the probability that the verification process will erroneously classify a normal flow instance as an abnormal flow instance. Based on the false positive rate T8060, for example, even if the verification process is highly evaluated for the expected improvement amount T8090, if the false positive rate T8060 is high, it is possible to judge that it will not be adopted because it is considered to have a negative impact on the normal processing of the flow. . The task execution cost reduction amount T8070, overhead T8080, and expected improvement amount T8090 represent information regarding the amount of influence on the flow execution cost due to the verification process. The expected improvement amount T8090 is evaluated by subtracting the overhead T8080, which is the execution cost of the task itself that performs the verification process, and it is possible to evaluate whether it is truly effective in reducing the execution cost of the flow. The validity flag T8100 becomes "True" when the effect of the verification processing, such as the false positive rate T8060 or the expected improvement amount T8090, satisfies certain criteria, indicating that it can be presented by the improvement proposal UI 113. The validity flag T8100 enables control such as not presenting verification processing with a high false positive rate T8060 or verification processing that cannot be expected to reduce execution costs.
 図10は、改善提案テンプレート138のテーブル構成の例を示す。
改善提案テンプレート138は、検証処理の内容や検証処理の提示方法のテンプレートに関する情報を有し、改善提案UI113により改善案情報137を端末7へ提示する際に利用される。改善提案テンプレートテーブルT9000は、改善提案タイプIDT9100、名前T9200、検証処理タスクT9300、メッセージT9400、コストタイプT9500、コストT9600等を含む。改善提案テンプレートテーブルT9000は、計算機1の提供者によって予め用意されていても良いし、フローの開発管理者によって作成及びカスタマイズされていても良い。
FIG. 10 shows an example of the table structure of the improvement proposal template 138.
The improvement proposal template 138 has information regarding the template of the content of the verification process and the presentation method of the verification process, and is used when the improvement proposal UI 113 presents the improvement proposal information 137 to the terminal 7 . The improvement proposal template table T9000 includes an improvement proposal type IDT9100, a name T9200, a verification processing task T9300, a message T9400, a cost type T9500, a cost T9600, and the like. The improvement proposal template table T9000 may be prepared in advance by the provider of the computer 1, or may be created and customized by the flow development manager.
 検証処理タスクT9300は、提示する検証処理のタスク定義のテンプレートに関する情報を持つ。検証処理タスクT9300は、フロー定義情報131の表記形式に合わせて例えばxml形式で定義され、テンプレートに代入されるべき変数は、例えば中括弧記号で囲んで「{script}」のように表されていて良い。もし、テンプレートとして定義された箇所を変数に置き換えることができれば、それ以外の方法でもよい。 The verification processing task T9300 has information regarding the task definition template of the verification processing to be presented. The verification processing task T9300 is defined in, for example, the xml format in accordance with the notation format of the flow definition information 131, and variables to be assigned to the template are expressed, for example, in curly braces as "{script}". It's good. If it is possible to replace the part defined as a template with a variable, other methods may be used.
 メッセージT9400は、改善提案を行う際に提示するメッセージのテンプレートに関する情報を表す。メッセージT9400は、検証処理の内容の説明や検証処理による効果に関する情報を持ち、これによりフロー開発運用者は提示された検証処理の内容やっ効果を理解して検証処理の挿入の要否を判断することができる。テンプレートに代入されるべき変数は、例えば中括弧記号で囲んで「{var}」のように表されて良い。なお、メッセージT9400に類する情報を持つカラムは、提示方法や言語に応じて複数個用意されて良い。 Message T9400 represents information regarding a message template to be presented when making an improvement proposal. Message T9400 has information regarding the explanation of the contents of the verification process and the effects of the verification process, which allows the flow development operator to understand the contents and effects of the presented verification process and determine whether or not to insert the verification process. be able to. A variable to be assigned to a template may be expressed, for example, in curly braces as "{var}". Note that a plurality of columns containing information similar to message T9400 may be prepared depending on the presentation method and language.
 コストタイプT9500やコストT9600は、検証処理を行うタスクの実行コストであるオーバーヘッド関する情報を表す。コストタイプT9500は、検証処理を行うタスクのコストタイプに関する情報を表し、コストタイプIDT4100を指定する。コストタイプT9500は、オーバーヘッドの推定に用いることができ、例えば改善提案を行うフローに同じコストタイプが指定されたタスクが存在する場合は、そのタスクの平均実行コストをオーバーヘッドの推定値として用いることができる。なお、コストタイプT9500は、検証処理タスクT9300のタスク定義内に含まれていて良い。コストT9600は、オーバーヘッドの推定値であり、例えばコストタイプT9500によりコストが推定されなかった場合に用いることができる。なお、コストT9600は、例えば提示により実際に挿入された検証処理を行うタスクの実行履歴から値の修正や更新が行われても良い。 The cost type T9500 and cost T9600 represent information regarding overhead, which is the execution cost of a task that performs verification processing. The cost type T9500 represents information regarding the cost type of the task that performs the verification process, and specifies the cost type IDT4100. The cost type T9500 can be used to estimate overhead. For example, if a task for which the same cost type is specified exists in a flow for which an improvement proposal is made, the average execution cost of that task can be used as the estimated value of overhead. can. Note that cost type T9500 may be included in the task definition of verification processing task T9300. Cost T9600 is an estimated value of overhead, and can be used, for example, when cost is not estimated by cost type T9500. Note that the value of the cost T9600 may be modified or updated, for example, from the execution history of the task that performs the verification process that was actually inserted based on the presentation.
 図11は、コスト情報収集計算部122の処理フローを示す。 FIG. 11 shows the processing flow of the cost information collection calculation unit 122.
 コスト情報収集計算部122が以下の処理ステップを実行する。 The cost information collection calculation unit 122 executes the following processing steps.
 ステップS1100では、コスト情報収集計算部122の処理が開始され、ステップS1200へ進む。 In step S1100, the process of the cost information collection calculation unit 122 is started, and the process advances to step S1200.
 ステップS1200では、コスト事前情報134の収集及び記録を行う。なお、前述の通り、コスト事前情報134は、計算機1の提供者によって予め用意されていても良いし、フローの開発管理者によって作成及びカスタマイズされた情報が収集されても良い。コスト事前情報134の収集及び記録を完了したら、発生コスト情報計算ステップS1300へ進む。 In step S1200, preliminary cost information 134 is collected and recorded. Note that, as described above, the cost advance information 134 may be prepared in advance by the provider of the computer 1, or information created and customized by the flow development manager may be collected. After completing the collection and recording of cost advance information 134, the process advances to step S1300 for calculating incurred cost information.
 発生コスト情報計算ステップS1300では、発生コスト情報135の計算を行う。発生コスト情報計算ステップS1300は、フロー実行管理部121から発信されるフローインスタンス終了シグナルを受信する度に非同期に実行されてもよい。なお、発生コスト情報計算ステップS1300の実行タイミングは、フローインスタンスの終了ごとのタイミングに限られず、例えばフローインスタンスのタスクごとや、複数個のフローインスタンスの終了ごとに実行しても良い。発生コスト情報計算ステップS1300は、計算機1またはコスト情報収集計算部122の終了時に、フローインスタンス終了シグナルの待機を終了し、ステップS1400へ進む。 In the incurred cost information calculation step S1300, the incurred cost information 135 is calculated. The generated cost information calculation step S1300 may be executed asynchronously every time a flow instance termination signal transmitted from the flow execution management unit 121 is received. Note that the execution timing of the generated cost information calculation step S1300 is not limited to the timing at each end of a flow instance, and may be executed, for example, at each task of a flow instance or at each end of a plurality of flow instances. The generated cost information calculation step S1300 ends waiting for a flow instance end signal when the computer 1 or the cost information collection calculation unit 122 ends, and proceeds to step S1400.
 ステップS1310では、発生コスト情報計算ステップS1300の処理が開始され、ステップS1320へ進む。 In step S1310, the process of the incurred cost information calculation step S1300 is started, and the process proceeds to step S1320.
 ステップS1320では、フロー定義情報131とフロー実行履歴情報133およびコスト事前情報134を基に、終了したフローインスタンスのタスクごとに実行コストを計算する。前述の通り、フロー定義情報131には、各タスク定義にコストタイプが設定されており、対応するコストタイプテーブルT4000のレコードを参照することで、各タスクの実行コストを計算することができる。各タスクの実行コストの計算を完了したら、ステップS1330へ進む。 In step S1320, the execution cost is calculated for each task of the completed flow instance based on the flow definition information 131, flow execution history information 133, and cost advance information 134. As described above, a cost type is set for each task definition in the flow definition information 131, and the execution cost of each task can be calculated by referring to the record of the corresponding cost type table T4000. After completing the calculation of the execution cost of each task, the process advances to step S1330.
 ステップS1330では、ステップS1320で計算した各タスクの実行コストを合計することでフローインスタンスの実行コストを計算する。なお、フローインスタンスの実行コストの計算方法は各タスクの実行コストを合計に限られず、例えばタスク以外に実行コストを加味するべき要素がある場合や、フローインスタンスの作成時に一定の処理コストを加味する必要がある場合等では、それらを加味して計算しても良い。フローインスタンスの実行コストの計算を完了したら、ステップS1340へ進む。 In step S1330, the execution cost of the flow instance is calculated by summing the execution costs of each task calculated in step S1320. Note that the method for calculating the execution cost of a flow instance is not limited to summing the execution cost of each task; for example, when there are elements other than tasks that should take execution cost into consideration, or when a certain processing cost is taken into account when creating a flow instance. If necessary, these factors may be taken into consideration in the calculation. After completing the calculation of the execution cost of the flow instance, the process advances to step S1340.
 ステップS1340では、ステップS1320で計算した各タスクの実行コストとステップS1330で計算したフローインスタンスの実行コストを、発生コスト情報135のフローコストテーブルT5000や、タスクコストテーブルT6000に記録する。なお、ステップS1340で、例えばフローインスタンスやタスク以外ごとの実行コストに関する情報や、フロー定義ごとに実行コストの平均や合計等の統計的な情報を計算し記録しておいても良い。発生コスト情報135への記録を完了したら、ステップS1350へ進む。
In step S1340, the execution cost of each task calculated in step S1320 and the execution cost of the flow instance calculated in step S1330 are recorded in the flow cost table T5000 and task cost table T6000 of the generated cost information 135. Note that in step S1340, for example, information regarding execution costs for each flow instance or other than tasks, and statistical information such as the average or total of execution costs for each flow definition may be calculated and recorded. Once recording to the incurred cost information 135 is completed, the process advances to step S1350.
 ステップS1350では、前記受信したフローインスタンス終了シグナルについての発生コスト情報計算ステップS1300の処理を終了する。ただし、前述の通り、発生コスト情報計算ステップS1300はフローインスタンス終了シグナルの待機を継続し、フローインスタンス終了シグナルを受信する度にステップS1310から非同期に同様の処理が実行される。 In step S1350, the process of step S1300 for calculating the generated cost information regarding the received flow instance end signal is ended. However, as described above, the generated cost information calculation step S1300 continues to wait for a flow instance end signal, and the same process is asynchronously executed from step S1310 every time a flow instance end signal is received.
 ステップS1400では、コスト情報収集計算部122の処理を終了する。 In step S1400, the process of the cost information collection calculation unit 122 ends.
 図12は、改善案推定部123の処理フローを示す。 FIG. 12 shows the processing flow of the improvement plan estimation unit 123.
 改善案推定部123が以下の処理ステップを実行する。 The improvement plan estimation unit 123 executes the following processing steps.
 改善案推定部123の処理が開始されると、ステップS2100では、改善案の推定及び評価、提示するフロー定義を、フロー定義IDT1100を用いて指定する。フロー定義が指定されたら、改善法特定ステップS2200へ進む。 When the process of the improvement plan estimating unit 123 is started, in step S2100, the flow definition to be presented and estimated and evaluated for the improvement plan is specified using the flow definition IDT 1100. Once the flow definition is specified, the process advances to improvement method identification step S2200.
 改善法特定ステップS2200では、改善案テーブルT8000の検証処理の内容についてのカラムを計算し記録する。改善法特定ステップS2200により、検証処理の候補群を取得することができる。(この処理ステップS2200の詳細については、図13を参照して後述する。)改善法特定ステップS2200で、検証処理の内容についてのカラムの計算を完了したら、改善量評価ステップS2300へ進む。 In the improvement method identification step S2200, a column regarding the contents of the verification process in the improvement proposal table T8000 is calculated and recorded. Through the improvement method identification step S2200, a group of candidates for verification processing can be obtained. (Details of this processing step S2200 will be described later with reference to FIG. 13.) Once the column calculation for the content of the verification process is completed in the improvement method identification step S2200, the process advances to improvement amount evaluation step S2300.
 改善量評価ステップS2300では、改善案テーブルT8000の検証処理の評価に関するカラムを計算し記録する。改善量評価ステップS2300により、改善法特定ステップS2200で推定された検証処理の候補群の効果を評価し、各検証処理を提示するべきかどうかや提示する優先度を決定するための情報を計算することができる。(この処理ステップS2300の詳細については、図14を参照して後述する。)検証処理の評価に関するカラムの計算を完了したら、ステップS2400へ進む。 In the improvement amount evaluation step S2300, a column related to the evaluation of the verification process in the improvement plan table T8000 is calculated and recorded. In the improvement amount evaluation step S2300, the effectiveness of the candidate group of verification processes estimated in the improvement method identification step S2200 is evaluated, and information for determining whether each verification process should be presented and the priority of presentation is calculated. be able to. (The details of this processing step S2300 will be described later with reference to FIG. 14.) Once the column calculations related to the evaluation of the verification process are completed, the process advances to step S2400.
 ステップS2400では、改善案推定プログラム123の処理を終了する。 In step S2400, the processing of the improvement plan estimation program 123 ends.
 図13は、改善法特定ステップS2200の処理フローを示す。 FIG. 13 shows the processing flow of the improvement method identification step S2200.
 ステップS2210では、改善法特定ステップS2200の処理が開始され、ステップS2220へ進む。 In step S2210, the process of improvement method identification step S2200 is started, and the process proceeds to step S2220.
 ステップS2220では、ステップS2220からステップS2270までを繰り返し範囲として、指定されたフロー定義の各矢印に対して繰り返し処理を始める。なお、繰り返し処理の対象は、矢印に限られている必要はなく、例えばタスクやイベントの処理前や後が検証処理の挿入位置候補に含まれる場合は、それらを繰り返し処理の対象としても良い。また、すべての検証処理の挿入位置候補に対して繰り返し処理を行う必要はなく、例えば正常系処理を行う経路の矢印でのみ繰り返し処理を行うなど、適切に繰り返し対象の絞り込みを行っても良い。また、繰り返し処理は並列的に実施しても良い。フロー定義の矢印を指定したら、ステップS2230へ進む。 In step S2220, the repeating process starts for each arrow in the specified flow definition, with the repeating range from step S2220 to step S2270. Note that the target of repeated processing is not limited to arrows; for example, if the before and after processing of a task or event are included in the insertion position candidates for the verification process, these may be the targets of repeated processing. Further, it is not necessary to perform repeated processing on all insertion position candidates for verification processing, and it is also possible to appropriately narrow down the repeating targets, such as performing repeated processing only on the arrows of the route in which normal processing is to be performed. Further, the repetitive processing may be performed in parallel. After specifying the flow definition arrow, the process advances to step S2230.
 ステップS2230では、フロー実行履歴情報133から、機械学習モデルの学習に用いるデータセットを作成する。フロー実行履歴情報133から、指定されたフロー定義のフローインスタンスのフロー実行履歴テーブルT3000のレコードのうち、指定された矢印時点のフロー状態に関する情報とフローインスタンス終了時の終了コードの組を抽出し、データセットを作成する。フローインスタンス終了時の終了コードは、フローインスタンスの実行結果に関する情報を表し、例えば終了イベント名(例えば図2におけるNormalEndイベントG1070やErrorEnd1イベントG1090)を用いても良い。なお、データセットを作成する方法はステップS2230に示す方法に限られず、例えばフロー定義情報131を用いる等、他の形式のデータセットを作成しても良い。また、フロー実行履歴テーブルT3000の全レコードをもとにデータセットを作成する必要はなく、例えば一定期間以内の直近のレコードを用いる等、過去に学習に利用していないレコードを選択的に用いても良い。データセットを作成したら、ステップS2240へ進む。 In step S2230, a data set used for learning the machine learning model is created from the flow execution history information 133. From the flow execution history information 133, among the records of the flow execution history table T3000 of the flow instance of the specified flow definition, a set of information regarding the flow state at the time of the specified arrow and an exit code at the end of the flow instance is extracted, Create a dataset. The exit code at the end of the flow instance represents information regarding the execution result of the flow instance, and may use, for example, the end event name (eg, NormalEnd event G1070 or ErrorEnd1 event G1090 in FIG. 2). Note that the method for creating the data set is not limited to the method shown in step S2230, and a data set in other formats may be created, such as by using the flow definition information 131, for example. In addition, it is not necessary to create a dataset based on all records in the flow execution history table T3000; for example, it is possible to selectively use records that have not been used for learning in the past, such as using the most recent records within a certain period of time. Also good. After creating the data set, the process advances to step S2240.
 ステップS2240では、学習モデル情報136を確認し、機械学習モデルの初期値として用いることができるレコードを抽出する。過去の学習済みモデルを再利用することで、モデル学習の効率化を図ることができる。なお、前述の通り、例えばバッチ処理的に都度新しいモデルを作成する場合など、機械学習の手法によっては学習モデル情報136の利用及び記録を行わなくても良い。学習モデル情報136の確認を完了したら、ステップS2250へ進む。 In step S2240, the learning model information 136 is checked and records that can be used as initial values of the machine learning model are extracted. By reusing previously trained models, model learning can be made more efficient. Note that, as described above, depending on the machine learning method, the learning model information 136 may not need to be used or recorded, for example, when a new model is created each time by batch processing. After confirming the learning model information 136, the process advances to step S2250.
 ステップS2250では、ステップS2230で作成したデータセットを用いて、機械学習モデルの学習を行う。なお、学習を行う処理装置は処理部20に限られず、計算機1が備える処理部20以外の処理装置や他の計算機を用いても良い。機械学習モデルの学習を完了したら、学習モデル情報136を更新し、ステップS2260へ進む。 In step S2250, a machine learning model is trained using the data set created in step S2230. Note that the processing device that performs learning is not limited to the processing unit 20, and a processing device other than the processing unit 20 included in the computer 1 or another computer may be used. When the learning of the machine learning model is completed, the learning model information 136 is updated and the process advances to step S2260.
 ステップS2260では、ステップS2250で学習した機械学習モデルを用いて、検証処理の内容の特定を行う。検証処理の内容の特定方法は学習モデルの種類や利用方法により異なるが、例えば決定木を用いる方法では分岐の条件式の情報を利用して検証処理の内容を特定することができる。また、特定する検証処理の内容は、具体的に定式化して特定する場合に限られず、例えば深層学習モデルではモデル自体を検証処理の内容としても良い。検証処理の内容を特定したら、改善案情報137の対応する箇所(例えば改善提案タイプIDT8040や改善提案パラメータT8050等)に記録し、ステップS2270へ進む。 In step S2260, the content of the verification process is specified using the machine learning model learned in step S2250. The method for specifying the content of the verification process differs depending on the type of learning model and how it is used, but for example, in a method using a decision tree, the content of the verification process can be specified using information on the branch conditional expression. Further, the content of the verification process to be specified is not limited to the case where it is specifically formulated and specified; for example, in the case of a deep learning model, the model itself may be the content of the verification process. Once the content of the verification process is specified, it is recorded in the corresponding location of the improvement proposal information 137 (for example, improvement proposal type IDT 8040, improvement proposal parameter T8050, etc.), and the process proceeds to step S2270.
 ステップS2270では、ステップS2220からステップS2270の繰り返し処理の終了を判定する。繰り返し処理を続行する場合はステップS2220へ進み、終了する場合はステップS2280へ進む。 In step S2270, it is determined whether the repeated processing from step S2220 to step S2270 has ended. If the repetitive process is to be continued, the process advances to step S2220, and if it is to be terminated, the process is to proceed to step S2280.
 ステップS2280では、改善法特定ステップS2200の処理を終了する。改善法特定ステップS2200により特定された(即ち提示用の)、検証処理の候補群が改善案情報137に記録される。 In step S2280, the process of improvement method identification step S2200 is ended. The verification processing candidate group identified in the improvement method identification step S2200 (that is, for presentation) is recorded in the improvement proposal information 137.
 図14は、改善量評価ステップS2300の処理フローを示す。 FIG. 14 shows the processing flow of the improvement amount evaluation step S2300.
 改善量評価ステップS2300では、改善法特定ステップS2200により取得された検証処理候補群の実行コスト削減効果の評価を行う。 In the improvement amount evaluation step S2300, the execution cost reduction effect of the verification processing candidate group obtained in the improvement method identification step S2200 is evaluated.
 ステップS2301では、改善量評価ステップS2300の処理が開始され、ステップS2302へ進む。 In step S2301, the process of improvement amount evaluation step S2300 is started, and the process proceeds to step S2302.
 ステップS2302では、改善案情報137に記録された検証処理の候補群に対して、繰り返し処理を開始する。改善案情報テーブルT8000から評価を行うレコードを指定して、ステップS2303へ進む。 In step S2302, iterative processing is started for the group of verification processing candidates recorded in the improvement proposal information 137. A record to be evaluated is specified from the improvement proposal information table T8000, and the process advances to step S2303.
 ステップS2303では、検証処理の効果を評価する事前処理として、フロー実行履歴情報133を用いて過去に実行したフローインスタンスへ検証処理の適用を行う。フロー実行履歴情報133から、検証処理の挿入位置を通過時のフローインスタンス情報を収集し、検証処理が当てはまるかどうかの判定を行う。その後、ステップS2304へ進む。 In step S2303, as a pre-process to evaluate the effectiveness of the verification process, the flow execution history information 133 is used to apply the verification process to previously executed flow instances. From the flow execution history information 133, flow instance information at the time of passing through the insertion position of the verification process is collected, and it is determined whether the verification process is applicable. After that, the process advances to step S2304.
 ステップS2304では、検証処理が誤って正常系のフローインスタンスを異常系と分類してしまう確率である、偽陽性率T8060の計算を行う。偽陽性率T8060は、ステップS2303でフロー実行履歴へ検証処理を適用した結果から、正常終了したフローインスタンスの数を集計し、そのうち検証処理が異常と分類した数を除することで計算できる。なお、偽陽性率T8060は検証処理が正常系処理に悪影響を与えないかを判断するための指標であり、偽陽性率に限られず他の指標を一つまたは複数個用いても良い。計算された偽陽性率は改善案情報137の偽陽性率T8060に記録される。 In step S2304, a false positive rate T8060 is calculated, which is the probability that the verification process will erroneously classify a normal flow instance as abnormal. The false positive rate T8060 can be calculated by summing up the number of normally completed flow instances based on the result of applying the verification process to the flow execution history in step S2303, and dividing the number classified as abnormal by the verification process. Note that the false positive rate T8060 is an index for determining whether the verification process does not adversely affect normal processing, and is not limited to the false positive rate, but one or more other indicators may be used. The calculated false positive rate is recorded in false positive rate T8060 of the improvement plan information 137.
 ステップS2305では、偽陽性率T8060が一定の閾値を超えていないかの確認を行う。ステップS2305により、フローの正常系処理に悪影響を及ぼす可能性のある検証処理を提示候補から外すことができる。なお、閾値は計算機1によって事前に定めてあるか、または開発/運用者によって端末7から設定されていても良い。偽陽性率T8060が一定の閾値を超えていない場合はステップS2306へ進み、偽陽性率T8060が一定の閾値を超えている場合はステップS2311へ進む。 In step S2305, it is confirmed whether the false positive rate T8060 does not exceed a certain threshold. In step S2305, verification processing that may have a negative impact on normal processing of the flow can be removed from the presentation candidates. Note that the threshold value may be determined in advance by the computer 1, or may be set from the terminal 7 by the developer/operator. If the false positive rate T8060 does not exceed a certain threshold, the process advances to step S2306, and if the false positive rate T8060 exceeds the certain threshold, the process advances to step S2311.
 ステップS2306では、検証処理により実行を省略できたタスクの実行コストの合計の期待値であるタスク実行コスト削減量T8070を計算する。ステップS2303でフロー実行履歴へ検証処理を適用した結果から、検証処理により実行を省略できていたタスクの実行コストを全フローインスタンスについて合計し、全フローインスタンス数で除することで、タスク実行コスト削減量T8070を計算できる。タスク実行コスト削減量T8070は、検証処理のオーバーヘッドを無視した場合の、フローインスタンス1つあたりの実行コスト削減期待値を表す数値となる。計算されたタスク実行コスト削減量T8070が改善案情報137に記録され、その後、ステップS2307へ進む。 In step S2306, a task execution cost reduction amount T8070, which is the expected value of the total execution cost of tasks whose execution could be omitted through the verification process, is calculated. Based on the result of applying the verification process to the flow execution history in step S2303, the task execution cost is reduced by summing the execution costs of tasks whose execution could be omitted due to the verification process for all flow instances and dividing by the total number of flow instances. The quantity T8070 can be calculated. The task execution cost reduction amount T8070 is a numerical value representing the expected execution cost reduction value per flow instance when the overhead of verification processing is ignored. The calculated task execution cost reduction amount T8070 is recorded in the improvement proposal information 137, and then the process advances to step S2307.
 ステップS2307では、検証処理のオーバーヘッドT8080を計算する。オーバーヘッドT8080の計算には、改善提案テンプレート138がもつコストタイプT9500やコストT9600等の情報を用いる。コストタイプT9500に指定されたコストタイプのタスクがすでにフロー定義に存在する場合は、発生コスト情報135からそのタスクの平均実行コストを求めることでオーバーヘッドT8080を推定することができる。また、コストタイプT9500に指定されたコストタイプのタスクが存在しない場合は、コストT9600を用いてオーバーヘッドT8080の推定値とする。なお、オーバーヘッドT8080の計算方法は、ステップS2307の方法に限られず、コストタイプT9500とコストT9600の情報を複合的に用いたりしても良い。検証処理のオーバーヘッドT8080が改善案情報137に記録され、その後、ステップS2308へ進む。 In step S2307, the overhead T8080 of the verification process is calculated. Information such as cost type T9500 and cost T9600 that the improvement proposal template 138 has is used to calculate the overhead T8080. If a task with the cost type specified as cost type T9500 already exists in the flow definition, the overhead T8080 can be estimated by finding the average execution cost of that task from the generated cost information 135. Furthermore, if there is no task with the cost type specified in cost type T9500, cost T9600 is used as the estimated value of overhead T8080. Note that the method for calculating the overhead T8080 is not limited to the method of step S2307, and information on cost type T9500 and cost T9600 may be used in combination. The overhead T8080 of the verification process is recorded in the improvement proposal information 137, and then the process advances to step S2308.
 ステップS2308では、タスク実行コスト削減量T8070からオーバーヘッドT8080を減算することで、改善見込み量T8090を計算する。改善見込み量T8090は、オーバーヘッドT8080を加味した、フローインスタンス1つあたりの実行コスト削減期待値を表す数値である。改善見込み量T8090を用いることで、フローの実行コスト削減に真に効果のある検証処理を提示することが可能となる。計算された改善見込み量T8090が改善案情報137に記録された後に、ステップS2309へ進む。 In step S2308, the expected improvement amount T8090 is calculated by subtracting the overhead T8080 from the task execution cost reduction amount T8070. The expected improvement amount T8090 is a numerical value representing the expected reduction in execution cost per flow instance, taking into account the overhead T8080. By using the expected improvement amount T8090, it is possible to present a verification process that is truly effective in reducing flow execution costs. After the calculated expected improvement amount T8090 is recorded in the improvement plan information 137, the process advances to step S2309.
 ステップS2309では、改善見込み量T8090が一定の閾値を超えているかの確認を行う。ステップS2309により、フローの実行コストの改善が見込めない検証処理を提示候補から外すことができる。なお、閾値は計算機1によって事前に定めてあるか、または開発/運用者によって端末7からによって設定されていても良い。改善見込み量T8090が一定の閾値を超えている場合はステップS2310へ進み、改善見込み量T8090が一定の閾値を超えていない場合はステップS2311へ進む。 In step S2309, it is confirmed whether the expected improvement amount T8090 exceeds a certain threshold value. In step S2309, verification processing that is not expected to improve the execution cost of the flow can be removed from the presentation candidates. Note that the threshold value may be determined in advance by the computer 1, or may be set by the developer/operator from the terminal 7. If the expected improvement amount T8090 exceeds a certain threshold, the process advances to step S2310, and if the expected improvement amount T8090 does not exceed the certain threshold, the process advances to step S2311.
 ステップS2310では、有効フラグT8100を「True」と設定することで、検証処理が提示可能であることを記録する。なお、併せて、検証処理が提示可能であることを端末7へ通知してもよい。これにより開発/運用者は改善提案が可能である旨を知ることができる。有効フラグT8100を設定したら、ステップS2312へ進む。 In step S2310, by setting the validity flag T8100 to "True", it is recorded that the verification process can be presented. Additionally, the terminal 7 may be notified that the verification process can be presented. This allows the developer/operator to know that suggestions for improvement are possible. After setting the validity flag T8100, the process advances to step S2312.
 ステップS2311では、有効フラグT8100を「False」と設定することで、検証処理が提示不可であることを記録する。なお、提示不可の検証処理は改善案テーブルT8000から削除してもよく、例えばステップS2311で削除する等、改善量評価ステップS2300の終了前に一度に削除しても良い。有効フラグT8100を設定したら、ステップS2312へ進む。 In step S2311, the validity flag T8100 is set to "False" to record that the verification process cannot be presented. Note that the verification processes that cannot be presented may be deleted from the improvement proposal table T8000, and may be deleted at once before the end of the improvement amount evaluation step S2300, for example, in step S2311. After setting the validity flag T8100, the process advances to step S2312.
 ステップS2312では、ステップS2302からステップS2312の繰り返し処理の終了を判定する。繰り返し処理を続行する場合はステップS2302へ進み、終了する場合はステップS2313へ進む。 In step S2312, it is determined whether the repeated processing from step S2302 to step S2312 has ended. If the repetitive process is to be continued, the process advances to step S2302; if it is to be terminated, the process is to proceed to step S2313.
 ステップS2312では、改善量評価ステップS2300の処理を終了する。改善量評価ステップS2300により、改善案情報137の検証処理候補群の効果の評価が完了する。 In step S2312, the process of improvement amount evaluation step S2300 is ended. Through the improvement amount evaluation step S2300, the evaluation of the effectiveness of the verification processing candidate group of the improvement plan information 137 is completed.
 図15は、計算機1によって提供される改善提案画面の例を示す。
改善提案画面は、処理部20が改善提案UI113を実行することにより、開発/運用者の端末7に表示される。改善提案UI113は、例えば、開発/運用者が定期的に、または必要に応じて、またはステップS2310の処理後に検証処理が提示可能である旨の通知を受けたことを契機として、実行させることができる。
FIG. 15 shows an example of an improvement proposal screen provided by the computer 1.
The improvement proposal screen is displayed on the developer/operator's terminal 7 when the processing unit 20 executes the improvement proposal UI 113. The improvement proposal UI 113 can be executed, for example, by the developer/operator periodically or as needed, or upon receiving a notification that the verification process can be presented after the process in step S2310. can.
 改善提案画面G2000は、改善を提案するフロー定義を選択するフロー選択部G2100と、図示したフローの上で改善提案の内容と効果を表示する改善提示部G2200と、表示する改善提案をリストから選択する改善提案選択部G2300を含む。 The improvement proposal screen G2000 includes a flow selection section G2100 for selecting a flow definition for which an improvement is proposed, an improvement presentation section G2200 for displaying the contents and effects of the improvement proposal on the illustrated flow, and selection of an improvement proposal to be displayed from a list. The improvement proposal selection unit G2300 includes an improvement proposal selection unit G2300.
 フロー選択部G2100では、改善提案が可能なフローをフロー定義情報131から情報を提示する。選択されたフロー定義は例えば灰色に色づけられる。 The flow selection unit G2100 presents information from the flow definition information 131 about flows for which improvement proposals can be made. The selected flow definition is colored, for example, gray.
 改善提示部G2200は、フロー定義情報131からフローを表示し、改善案情報137から改善提案の内容と効果を表示する。改善提示部G2200は、検証処理提示部G2210と、異常系コスト提示部G2220とを含む。 The improvement presentation unit G2200 displays the flow from the flow definition information 131, and displays the contents and effects of the improvement proposal from the improvement proposal information 137. The improvement presentation section G2200 includes a verification processing presentation section G2210 and an abnormal cost presentation section G2220.
 検証処理提示部G2210では、改善案情報137の検証処理の内容と挿入位置に関する情報を参照して提示する。検証処理提示部G2210は、メッセージG2211や、タスク定義G2212を含む。
メッセージG2211は、開発者のために検証処理の内容や効果を説明する文章である。なお、改善提案テンプレート138のメッセージT9400に改善案情報137の改善提案パラメータT8050を代入したものが表示されてもよい。
タスク定義G2212は、検証処理を行うタスクを表し、改善提案テンプレート138の検証処理タスクT9300に改善案情報137の改善提案パラメータT8050を代入したものが表示される。タスク定義G2212は、例えばUI操作によりすぐにフローに挿入できるなど、改善提案の実施を容易化する仕組みを備えていても良い。
The verification process presentation unit G2210 refers to and presents information regarding the content of the verification process and the insertion position of the improvement plan information 137. The verification process presentation unit G2210 includes a message G2211 and a task definition G2212.
Message G2211 is a text that explains the contents and effects of the verification process for the developer. Note that a message obtained by substituting the improvement proposal parameter T8050 of the improvement proposal information 137 into the message T9400 of the improvement proposal template 138 may be displayed.
The task definition G2212 represents a task that performs a verification process, and a result obtained by substituting the improvement proposal parameter T8050 of the improvement proposal information 137 for the verification process task T9300 of the improvement proposal template 138 is displayed. The task definition G2212 may be provided with a mechanism that facilitates the implementation of improvement proposals, such as being able to be inserted into the flow immediately by UI operation, for example.
 異常系コスト提示部G2220は、検証処理によって実行コストを削減できる異常系の統計情報を提示する。異常系コスト提示部G2220により、開発者に実行コストの改善の必要性を認識させることができる。異常系コスト提示部G2220は、実行コストメッセージG2221と実行コストグラフG2222を含む。実行コストメッセージG2221や実行コストグラフG2222は、発生コスト情報135を用いて、異常系がフローの実行コストの全体に対してどの程度占めているかを表示する。 The abnormal system cost presentation unit G2220 presents abnormal system statistical information that can reduce the execution cost through verification processing. The abnormal system cost presentation unit G2220 can make the developer aware of the necessity of improving the execution cost. The abnormal cost presentation unit G2220 includes an execution cost message G2221 and an execution cost graph G2222. The execution cost message G2221 and the execution cost graph G2222 use the generated cost information 135 to display how much the abnormal system accounts for in the total execution cost of the flow.
 改善提案選択部G2300は、フロー選択部G2100で指定されたフロー定義に対する改善案を改善案情報137から抽出し、選択可能な表形式で表示する。選択された改善案は例えば灰色に色づけられる。改善提案選択部G2300は、改善案No.G2310や、提案タイプG2320、改善見込み量(%)G2330、改善見込み量(円)G2340を含む。
提案タイプG2320は、改善提案テンプレート138の名前T9200に関する情報を提示する。
改善見込み量(%)G2330や改善見込み量(円)G2340は、改善案情報137の改善見込み量T8080や発生コスト情報135を用いて提示される。
The improvement proposal selection unit G2300 extracts improvement proposals for the flow definition specified by the flow selection unit G2100 from the improvement proposal information 137, and displays them in a selectable table format. The selected improvement plan is colored, for example, gray. The improvement proposal selection section G2300 includes improvement proposal number G2310, proposal type G2320, expected improvement amount (%) G2330, and expected improvement amount (yen) G2340.
The proposal type G2320 presents information regarding the name T9200 of the improvement proposal template 138.
The expected improvement amount (%) G2330 and the expected improvement amount (yen) G2340 are presented using the expected improvement amount T8080 of the improvement plan information 137 and the generated cost information 135.
 改善提案画面G2000により、フロー開発/運用者は提案された検証処理の内容と効果を速やかに理解し、検証処理の挿入の要否を判断することができる。なお、図15に示した改善提案画面G2000は、フロー開発/運用者へ改善案を提示するための一例であり、検証処理による改善提案を行うUIであれば他の画面内容としても良い。 The improvement proposal screen G2000 allows the flow developer/operator to quickly understand the content and effects of the proposed verification process and determine whether or not to insert the verification process. Note that the improvement proposal screen G2000 shown in FIG. 15 is an example for presenting an improvement proposal to the flow developer/operator, and other screen contents may be used as long as the UI is for making improvement proposals through verification processing.
 以上、一実施例について説明したが、本発明は上記した実施例に限定されずに、本発明の趣旨を逸脱しない範囲内で種々変形して実施し得る。 Although one embodiment has been described above, the present invention is not limited to the above-described embodiment, and can be implemented with various modifications without departing from the spirit of the present invention.
 例えば、上記実施例では、UI生成部11、フロー実行管理部121、コスト情報収集計算部122、改善提案部123が、1つの処理部10又は1つの計算機1により実現されるとしたが、これら複数の機能部は、複数の処理部または複数の計算機で実現されてもよい。例えば、フロー実行管理部121を有する一般的なフロー管理計算機に対して、本実施例において新規に提案されるコスト情報収集計算部122と改善提案部123を実現する処理部または計算機を追加するように構成することができる。また、計算機はクラウドサービスとして提供されていてもよい。
また、記憶部20に保管される複数のテーブルについても、複数の記憶部に分散して保管してもよい。
For example, in the above embodiment, the UI generation unit 11, flow execution management unit 121, cost information collection calculation unit 122, and improvement proposal unit 123 are realized by one processing unit 10 or one computer 1. A plurality of functional units may be realized by a plurality of processing units or a plurality of computers. For example, a processing unit or a computer that realizes the cost information collection calculation unit 122 and the improvement proposal unit 123 newly proposed in this embodiment may be added to a general flow management computer having a flow execution management unit 121. It can be configured as follows. Further, the computer may be provided as a cloud service.
Further, the plurality of tables stored in the storage unit 20 may also be distributed and stored in the plurality of storage units.
 また、上記実施例では、端末7および8は、ネットワーク9を介して計算機1に接続される。他の例によれば、端末7または8はネットワーク9を介さずに、端末の機能を有する表示入力装置が計算機1に直接に接続されてもよい。この場合でも、計算機1は、UI生成部11を使用して表示入力装置と繋がる。 Furthermore, in the above embodiment, the terminals 7 and 8 are connected to the computer 1 via the network 9. According to another example, the terminal 7 or 8 may have a display input device having terminal functions directly connected to the computer 1 without going through the network 9. Even in this case, the computer 1 uses the UI generation unit 11 to connect to the display input device.
 本実施例によれば、タスクが実行されて実行コストが発生する前にワークフローを終了させることができ、ワークフローの目的達成に寄与しない余計な実行コストを低減させることができる。フローの実行コスト削減に効果のある検証処理の開発者等の利用者に提示し、異常系を考慮した実行コスト削減を支援することができる。
According to this embodiment, the workflow can be ended before the task is executed and execution costs are incurred, and unnecessary execution costs that do not contribute to achieving the purpose of the workflow can be reduced. It can be presented to users such as developers of verification processes that are effective in reducing flow execution costs, and can support execution cost reductions that take abnormal systems into account.
1:計算機、10:処理部、20:記憶部、40:入出力I/F、50:NWI/F
11:UI生成部
12:機能部、121:フロー実行管理部、122:コスト情報収集計算部、
123:改善提案部、
131:フロー定義情報、132:フローインスタンス情報、133:フロー実行履歴情報、134:コスト事前情報、135:発生コスト情報、136:学習モデル情報、137:改善案情報、138:改善提案テンプレート
7:端末、8:端末、9:ネットワーク
1: Computer, 10: Processing unit, 20: Storage unit, 40: Input/output I/F, 50: NWI/F
11: UI generation unit 12: Functional unit, 121: Flow execution management unit, 122: Cost information collection calculation unit,
123: Improvement proposal department,
131: Flow definition information, 132: Flow instance information, 133: Flow execution history information, 134: Prior cost information, 135: Incurred cost information, 136: Learning model information, 137: Improvement plan information, 138: Improvement proposal template 7: Terminal, 8: Terminal, 9: Network

Claims (15)

  1.  ワークフローを管理する計算機が、コスト情報収集計算部と、改善提案部を有し、
     前記コスト情報収集計算部は、事前に収集されたコスト事前情報を用いて、ワークフローで実行される1または複数のタスクとワークフロー全体の実行コストを計算し、
    前記改善提案部は、
    ワークフローの実行履歴情報を基に1または複数のタスクの成功を検証する検証処理を特定し、
    前記検証処理により、ワークフローのタスク異常発生の可能性をタスク実行前に検知することで、実行を省略できる1または複数のタスクの実行コストを集計してタスク実行コスト削減量を計算し、
    前記検証処理が持つ実行コストであるオーバーヘッドを計算し、
    前記タスク実行コスト削減量と前記オーバーヘッドを基に、ワークフローの運用時に発生する実行コストの削減量である改善見込み量を計算する、
     ことを特徴とするワークフロー管理システム。
    The computer that manages the workflow has a cost information collection calculation section and an improvement proposal section,
    The cost information collection calculation unit calculates the execution cost of one or more tasks to be executed in the workflow and the entire workflow using cost advance information collected in advance,
    The improvement proposal department is
    Identify a verification process that verifies the success of one or more tasks based on workflow execution history information,
    The verification process detects the possibility of a task abnormality occurring in the workflow before task execution, and calculates a task execution cost reduction amount by totaling the execution cost of one or more tasks that can be omitted from execution;
    Calculate the overhead, which is the execution cost of the verification process,
    Based on the task execution cost reduction amount and the overhead, calculate an expected improvement amount that is the reduction amount of the execution cost that occurs during operation of the workflow;
    A workflow management system characterized by:
  2. 前記改善提案部により計算された、前記検証処理と前記改善見込み量の表示を提供するユーザインターフェースを有する、
    請求項1に記載のワークフロー管理システム。
    a user interface that provides a display of the verification process and the expected amount of improvement calculated by the improvement proposal unit;
    The workflow management system according to claim 1.
  3.  前記改善提案部は、前記検証処理の内容と挿入位置を含む情報を特定し、
     特定された前記検証処理の内容と該挿入位置の表示を提供するユーザインターフェースを有する、
    請求項1に記載のワークフロー管理システム。
    The improvement proposal unit specifies information including the content and insertion position of the verification process,
    having a user interface that provides display of the specified contents of the verification process and the insertion position;
    The workflow management system according to claim 1.
  4. 前記改善提案部は、実行中のフローに関する情報からワークフローの実行結果の分類を推定する処理を特定し、前記検証処理の内容として利用する
    請求項3に記載のワークフロー管理システム。
    4. The workflow management system according to claim 3, wherein the improvement proposal unit specifies a process for estimating a classification of a workflow execution result from information regarding the flow being executed, and uses the process as content of the verification process.
  5. 前記改善提案部は、検証処理の精度に関する指標を計算し、提示の可否または提示方法の判断に利用する
    請求項3に記載のワークフロー管理システム。
    4. The workflow management system according to claim 3, wherein the improvement proposal unit calculates an index related to the accuracy of the verification process and uses the index to determine whether or not to present the information or to determine the presentation method.
  6. 前記改善提案部は、タスク実行コスト削減量からオーバーヘッドを減算することで前記改善見込み量を計算する
    請求項1に記載のワークフロー管理システム。
    The workflow management system according to claim 1, wherein the improvement proposal unit calculates the expected improvement amount by subtracting overhead from the task execution cost reduction amount.
  7. 前記ユーザインターフェースは、改善提案を提示する際に、前記検証処理の内容を実施するタスクを端末の画面に表示する
    請求項2に記載のワークフロー管理システム。
    3. The workflow management system according to claim 2, wherein the user interface displays a task for implementing the contents of the verification process on a terminal screen when presenting an improvement proposal.
  8. 前記タスクの実行コストは、処理時間と発生料金に基づいて評価される
    請求項1に記載のワークフロー管理システム。
    The workflow management system according to claim 1, wherein the execution cost of the task is evaluated based on processing time and charges incurred.
  9. 前記コスト事前情報は、フローの実行履歴情報からタスクとワークフローの実行コストを計算するための、タスクの実行回数に対して発生する固定コストと、タスクの実行時間に比例して発生する時間変動コスト、を含む
    請求項1に記載のワークフロー管理システム。
    The cost prior information includes a fixed cost that occurs for the number of times a task is executed, and a time-varying cost that occurs in proportion to the task execution time, in order to calculate the execution cost of tasks and workflows from flow execution history information. The workflow management system according to claim 1, comprising: .
  10. 前記改善提案部により計算される改善案情報は、検証処理の挿入箇所、改善提案パラメータ、偽陽性率、タスク実行コスト削減量、オーバーヘッドT、改善見込み量に関する情報を含み、該改善案情報を保管するテーブルが記憶部に格納される、請求項1に記載のワークフロー管理システム。 The improvement proposal information calculated by the improvement proposal unit includes information regarding the insertion point of the verification process, improvement proposal parameters, false positive rate, task execution cost reduction amount, overhead T, and expected improvement amount, and the improvement proposal information is stored. The workflow management system according to claim 1, wherein a table is stored in the storage unit.
  11.  ワークフローを管理する計算機は、コスト情報収集計算ステップと、改善提案ステップを実行し、
     前記コスト情報収集計算ステップは、事前に収集されたコスト事前情報を用いて、ワークフローで実行される1または複数のタスクとワークフロー全体の実行コストを計算し、
    前記改善提案ステップは、
    ワークフローの実行履歴情報を基に1または複数のタスクの成功を検証する検証処理を特定し、
    前記検証処理により、ワークフローのタスク異常発生の可能性をタスク実行前に検知することで、実行を省略できる1または複数のタスクの実行コストを集計してタスク実行コスト削減量を計算し、
    前記検証処理が持つ実行コストであるオーバーヘッドを計算し、
    前記タスク実行コスト削減量と前記オーバーヘッドを基に、ワークフローの運用時に発生する実行コストの削減量である改善見込み量を計算する、
     ことを特徴とするワークフロー管理方法。
    The computer that manages the workflow executes the cost information collection calculation step and the improvement proposal step.
    The cost information collection calculation step calculates the execution cost of one or more tasks to be executed in the workflow and the entire workflow using cost advance information collected in advance,
    The improvement proposal step includes:
    Identify a verification process that verifies the success of one or more tasks based on workflow execution history information,
    The verification process detects the possibility of a task abnormality occurring in the workflow before task execution, and calculates a task execution cost reduction amount by totaling the execution cost of one or more tasks that can be omitted from execution;
    Calculate the overhead, which is the execution cost of the verification process,
    Based on the task execution cost reduction amount and the overhead, calculate an expected improvement amount that is the reduction amount of the execution cost that occurs during operation of the workflow;
    A workflow management method characterized by:
  12. ユーザインターフェースが、前記改善提案ステップにより計算された、前記検証処理と前記改善見込み量の表示を提供する
    請求項11に記載のワークフロー管理方法。
    12. The workflow management method according to claim 11, wherein a user interface provides a display of the verification process and the expected amount of improvement calculated in the improvement proposal step.
  13.  前記改善提案ステップは前記検証処理の内容と挿入位置を含む情報を特定し、
     ユーザインターフェースが、特定された前記検証処理の内容と該挿入位置の表示を提供する
    請求項11に記載のワークフロー管理方法。
    The improvement proposal step specifies information including the content and insertion position of the verification process,
    12. The workflow management method according to claim 11, wherein a user interface provides a display of the specified contents of the verification process and the insertion position.
  14. 前記改善提案ステップは、実行中のフローに関する情報からワークフローの実行結果の分類を推定する処理を特定し、前記検証処理の内容として利用する
    請求項13に記載のワークフロー管理方法。
    14. The workflow management method according to claim 13, wherein the improvement proposal step specifies a process for estimating a classification of a workflow execution result from information regarding the flow being executed, and uses the process as content of the verification process.
  15. ワークフローを管理する計算機に実行させるプログラムであって、
    ワークフローの実行履歴情報を基に1または複数のタスクの成功を検証する検証処理を特定し、
    前記検証処理により、ワークフローのタスク異常発生の可能性をタスク実行前に検知することで、実行を省略できる1または複数のタスクの実行コストを集計してタスク実行コスト削減量を計算し、
    前記検証処理が持つ実行コストであるオーバーヘッドを計算し、
    前記タスク実行コスト削減量と前記オーバーヘッドを基に、ワークフローの運用時に発生する実行コストの削減量である改善見込み量を計算する、
    を実行させることを特徴とするプログラム。
    A program that is executed by a computer that manages workflow,
    Identify a verification process that verifies the success of one or more tasks based on workflow execution history information,
    The verification process detects the possibility of a task abnormality occurring in the workflow before task execution, and calculates a task execution cost reduction amount by totaling the execution cost of one or more tasks that can be omitted from execution;
    Calculate the overhead, which is the execution cost of the verification process,
    Based on the task execution cost reduction amount and the overhead, calculate an expected improvement amount that is the reduction amount of the execution cost that occurs during operation of the workflow;
    A program characterized by executing.
PCT/JP2022/025733 2022-06-28 2022-06-28 Workflow management system, method therefor, and program therefor WO2024004025A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/025733 WO2024004025A1 (en) 2022-06-28 2022-06-28 Workflow management system, method therefor, and program therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/025733 WO2024004025A1 (en) 2022-06-28 2022-06-28 Workflow management system, method therefor, and program therefor

Publications (1)

Publication Number Publication Date
WO2024004025A1 true WO2024004025A1 (en) 2024-01-04

Family

ID=89381797

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/025733 WO2024004025A1 (en) 2022-06-28 2022-06-28 Workflow management system, method therefor, and program therefor

Country Status (1)

Country Link
WO (1) WO2024004025A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010020537A (en) * 2008-07-10 2010-01-28 Fujitsu Ltd Workflow execution control program, workflow execution control apparatus, and workflow execution control method
JP2013003884A (en) * 2011-06-17 2013-01-07 Kddi Corp System and method for estimating workflow improvement required place
JP2016103093A (en) * 2014-11-27 2016-06-02 富士通株式会社 Information processing method and information processing program
JP2017027412A (en) * 2015-07-23 2017-02-02 富士通株式会社 Display information control program, method and device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010020537A (en) * 2008-07-10 2010-01-28 Fujitsu Ltd Workflow execution control program, workflow execution control apparatus, and workflow execution control method
JP2013003884A (en) * 2011-06-17 2013-01-07 Kddi Corp System and method for estimating workflow improvement required place
JP2016103093A (en) * 2014-11-27 2016-06-02 富士通株式会社 Information processing method and information processing program
JP2017027412A (en) * 2015-07-23 2017-02-02 富士通株式会社 Display information control program, method and device

Similar Documents

Publication Publication Date Title
Jalote A concise introduction to software engineering
US6738736B1 (en) Method and estimator for providing capacacity modeling and planning
US8392240B2 (en) System and method for determining outsourcing suitability of a business process in an enterprise
US8306849B2 (en) Predicting success of a proposed project
US20030033586A1 (en) Automated system and method for software application quantification
US20110276354A1 (en) Assessment of software code development
US8190494B2 (en) Order processing analysis tool
JP2003099143A (en) Application software accounting system and method and its program and storage medium
WO2001025876A2 (en) Method and estimator for providing capacity modeling and planning
US8335740B2 (en) Method, system, and computer-readable medium for managing and collecting receivables
CN103460228A (en) Method and apparatus for improving business process management systems
Lam et al. Computer capacity planning: theory and practice
US20070038502A1 (en) Efficient Frontier and Attainment Rate for Business Transformation Outsourcing
US20200074539A1 (en) Debt resolution planning platform
CN113409005A (en) Project management method, system, computer device and storage medium
US20060004616A1 (en) Method and system for solution design and recording medium
US7523361B2 (en) Error condition handling
US20090049394A1 (en) Quantifying and analyzing back office and field service processes
WO2024004025A1 (en) Workflow management system, method therefor, and program therefor
US20060175393A1 (en) Analysis technique of computer system
JP2006235872A (en) Project management apparatus
JP5652047B2 (en) Information processing apparatus and information processing program
US20200348926A1 (en) System and method for automating environment management of one or more software applications
CN110352405B (en) Computer-readable medium, computing system, method, and electronic device
CN111192120A (en) Method, system, equipment and storage medium for managing expenses of aged-care community

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22949302

Country of ref document: EP

Kind code of ref document: A1