Process execution system, process execution program
By generating process networks and managing states in the process execution system, and combining this with a transcription factor model to assess environmental impact, the system addresses the issues of adaptability and stability of business systems in rapidly changing business environments. This enables highly adaptive process execution, supporting flexible adjustments and stable operation.
Patent Information
- Application Number
- CN202380016969.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2022-02-10
- Filing Date
- 2023-02-09
- Publication Date
- 2026-01-30
- Estimated Expiration
- 2043-02-09
AI Technical Summary
Existing business systems struggle to adapt flexibly and remain stable in the face of rapidly changing business environments. The complex and difficult-to-monitor relationships between RPA automated processes and other processes result in high costs, poor adaptability, and limited adoption when systems change.
A process execution system is provided, which includes process network generation, state management and execution components. Through process network model generation and state transition rules, the system realizes the executability of process nodes and the execution of actions, taking into account both flexibility and stability. The system uses a transcription factor model to evaluate environmental impact, supporting flexible adjustment and stable operation of the process.
In a rapidly changing business environment, the process execution system is highly adaptable, balancing flexibility and stability, supporting flexible adjustments and stable operation of business processes, and reducing system change and maintenance costs.
Smart Images

Figure CN118556225B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to a process execution system and a process execution program. Background Technology
[0002] In recent years, to improve business productivity, there has been a demand for business automation using digital technologies. Business automation is primarily achieved through the development of business systems. Generally, business system development is carried out using the following methods: that is, modeling the business of an object as a business process model, and then extracting the necessary elements for systematization based on this business process model and developing the business system. As a method for describing business process models, for example, there is BPMN (Business Process Modeling Notation) (see Patent Document 1, Non-Patent Document 1, Non-Patent Document 2, and Non-Patent Document 3).
[0003] The above method requires two main phases: creating a business process model and developing the business system based on that model. Therefore, as business content changes, modifying the business system often requires significant time and cost. Consequently, business systems developed using this method lack flexibility (their adaptability is easily deformable) and struggle to flexibly adapt to changes in the business environment.
[0004] To address the aforementioned issues, a method using an executable environment for a business process model described by predetermined specifications can be considered (see Non-Patent Literature 4, Non-Patent Literature 5, and Non-Patent Literature 6). According to this method, by representing business content in a business process model with prescribed specifications, the processes contained within that business can be run in an execution environment. Therefore, the stage of developing a business system based on the business process model can be eliminated. In other words, by modifying the business process model executed by this execution environment, changes in business content can be accommodated, thus increasing flexibility.
[0005] On the other hand, with the advancement of Digital Transformation (see Non-Patent Document 7), society as a whole is becoming more complex, and the business environment is changing at a faster pace. To adapt to this rapidly changing business environment, it is ideal for most field business leaders with knowledge and experience in automated object business to be able to create and modify executable business process models in the aforementioned execution environment.
[0006] However, the business process models that can be executed in the aforementioned execution environments typically need to be described according to the unique specifications of each execution environment. Furthermore, importing these execution environments is usually costly, and only a limited number of large enterprises can do so; therefore, information obtained through the internet and other means is also limited. Consequently, the learning curve for creating or modifying executable business process models in these execution environments is high, making it difficult for on-site business managers to do so. Additionally, if the execution environment is changed, the executable business process model needs to be recreated in the new environment. To avoid this, even if other, better execution environments become available, switching is difficult and may even impair flexibility. For these reasons, systems implementing the above methods are not generally widespread.
[0007] On the other hand, the application of RPA (Robotic Process Automation) cloud services and applications in business process automation is rapidly gaining popularity. By using these RPA cloud services and applications, on-site business owners can easily automate parts of their business processes. Therefore, even if the business content changes, business owners can modify the execution of the business process by operating the RPA cloud service or application.
[0008] However, within the business processes that constitute a business, it is difficult to grasp the relationships between processes automated by RPA and other processes. Furthermore, processes executed by RPA may have unintended impacts on other processes, posing challenges to stable business operations. In some cases, personnel outside the business personnel responsible for the process may be unaware of its existence or content, making it difficult for the entire organization to monitor and maintain processes executed by RPA. These challenges become more pronounced as the relationships between RPA-automated processes and other processes become more complex, potentially hindering stable business operations.
[0009] The cited references are:
[0010] [Patent Document 1] Japanese Patent Application Publication No. 2012-203702
[0011] [Non-Patent Literature 1] Howard Smith, Peter Fingar, “Business Process Management: The Third Wave”, Meghan Kiffer, 2002
[0012] [Non-patent document 2] David W. Enstrom, "A Simplified Approach to ITArchitecture with Bpmn: A Coherent Methodology for Modeling Every Level of the Enterprise", iUniverse, 2016
[0013] [Non-patent document 3] Bruce Silver, "BPMN Method and Style, Second Edition, withBPMN Implementer's Guide", Cody-CassidyPress, 2017
[0014] [Non-Patent Literature 4] Arthur H. M. T. Hofstede, Wil M. P. van der Aalst, Michael Adams, Nick Russell (eds.), "Modern Business Process Automation: YAWL and its Support Environment", Springer, 2009
[0015] [Non-patent document 5] Bernd Ruecker, "Practical Process Automation: Orchestration and Integration in Microservices and Cloud Native Architectures", O'ReillyMedia, 2021
[0016] [Non-Patent Literature 6] Jakob Freund, Bernd Rücker, “Real-Life BPMN (4th Edition): Includes an introduction to DMN”, Camunda, 2019
[0017] [Non-patent document 7] Stolterman E., ForsA.C. (2004) Information Technology and the Good Life. In: Kaplan B., Truex DP, Wastell D., Wood-Harper AT, DeGrossJ.I. (eds) Information Systems Research. IFIP International Federation for Information Processing, vol 143. Springer, Boston, MA. Summary of the Invention
[0018] To address the aforementioned problems, the present invention aims to provide a process execution system and a process execution program.
[0019] To achieve the above-mentioned objectives of the present invention, one aspect of the present invention provides a process execution system, comprising:
[0020] The process network generation unit includes multiple process master nodes. Each process master node has process generation information for generating process definition information that defines process content. From the process network model representing the relationship between process nodes generated by the multiple process master nodes, a process network containing multiple process nodes is generated, and each process node has the process definition information.
[0021] The process network status management department, based on the status of process nodes included in the process network and preset process status transition rules, makes specific process nodes executable; and
[0022] The process network execution unit executes the process defined by the process definition information contained in the executable process nodes in the process network;
[0023] The process network generation unit includes a process network model input unit that receives input from the process network model, and the process network model input unit generates the process network from the received process network model.
[0024] The process definition information includes information related to the actions required to execute the process defined by the process definition information;
[0025] The process network execution unit, upon request, sends an execution request for the action to be performed by the action execution system for the preset action, based on the action-related information contained in the process definition information of the executable process node, thereby executing the process defined by the process definition information.
[0026] In some embodiments, the process network model input unit receives an input of a hierarchical process network model generated by the plurality of process master nodes, which represents the relationships between the process nodes in a hierarchical manner.
[0027] The process network generation unit generates a hierarchical process network corresponding to the hierarchical process network model input received by the process network model input unit.
[0028] In some embodiments, the process network status management unit includes a process status change request receiving unit, which receives a process status change request to change the status of a specific process node, and changes the status of the specific process node contained in the process network based on the process status change request received by the process status change request receiving unit.
[0029] In some embodiments, the system further includes a transcription unit that performs a transcription process that transcribes the process generation information of one of the process master nodes as process definition information to a process node corresponding to that one of the process master nodes.
[0030] The process generation information includes one or more transcription process definition pieces that define the transcription process.
[0031] The transcription process definition information includes one or more transcription factor model definition information that defines the influence of the environment in which the process execution system can communicate on the transcription process.
[0032] The transcription unit includes a transcription request receiving unit that receives an execution request for the transcription process, a transcription factor model evaluation unit that evaluates the transcription factor model defined by the transcription factor model definition information, and a transcription process execution unit that executes the transcription process defined by the transcription process definition information.
[0033] The transcription process execution unit controls the transcription process based on the evaluation results of one or more transcription factor models evaluated by the transcription factor model evaluation unit.
[0034] In some embodiments, when the process network execution unit executes a process defined by the process definition information, it sends an execution request for the transcription process to the transcription request receiving unit and executes the process definition information updated by the process generation information used to generate the process definition information via transcription by the transcription unit.
[0035] In some embodiments, when evaluating one transcription factor model, the transcription factor model evaluation unit uses the evaluation results of other transcription factor models as input data for that transcription factor model.
[0036] In some embodiments, the process definition information includes an activity flag indicating whether a process having the process definition information is active or inactive.
[0037] The process generation information includes the activity marker master data used to generate the activity marker.
[0038] The activity marker master data includes transcription process definition information constructed in a manner that determines the activity marker based on the evaluation results of the transcription factor model.
[0039] When the activity flag contained in the process definition information of the process node is inactive, the process network status management unit considers the process node to be non-existent.
[0040] In some embodiments, the process network generation unit includes a process network model output unit that outputs the process network model.
[0041] The process network model output unit outputs the serialized data of the process network model.
[0042] In some embodiments, the process network model input unit receives input data that has been serialized from the process network model.
[0043] The process network generation unit generates the process network using the process network model obtained by deserializing the serialized data of the process network model received by the process network model input unit.
[0044] In some embodiments, when serializing the process network model, the output unit performs serialization based on a rule that there is a one-to-one correspondence between the process network model and the data after serialization.
[0045] In some embodiments, the process network model output unit uses a key-value combination data format when outputting data serialized from the process network model.
[0046] In some embodiments, the process network model output unit uses JSON as the data format when outputting the serialized data of the process network model.
[0047] In some embodiments, the system further includes a process network model display unit that displays the process network model.
[0048] In some embodiments, the system further includes a process network display unit that displays the process network.
[0049] Another aspect of the present invention provides a data structure for a process execution system, comprising: a process network model for generating a process network, the process network including multiple process nodes, each process node having process definition information defining process content.
[0050] The process network model includes multiple process master nodes and represents the relationships between process nodes generated by these master nodes. Each master node has process generation information for generating the process definition information.
[0051] The process definition information includes information related to the actions required to execute the process defined by the process definition information.
[0052] In some embodiments, the process network model is a hierarchical process network model that represents the relationships between the process nodes generated by the plurality of process master nodes in a hierarchical manner, and is used to generate a hierarchical process network corresponding to the hierarchical process network model.
[0053] In some embodiments, the process generation information includes one or more transcription process definition information, which defines a transcription process in which the process generation information is used as the process definition information to transcribe the process node corresponding to the process master node having the process generation information;
[0054] The transcription process definition information includes one or more transcription factor model definition information, which defines transcription factor models that model the impact of the communicable environment of the process execution system on the transcription process.
[0055] In some embodiments, one of the transcription factor models is represented as being able to set the evaluation results of other transcription factor models as input data.
[0056] In some embodiments, the process definition information includes an activity flag indicating whether a process having the process definition information is active or inactive.
[0057] The process generation information includes the activity marker master data used to generate the activity marker.
[0058] The active marker master data includes transcription process definition information constructed based on the evaluation results of the transcription factor model to determine the active marker method.
[0059] In some embodiments, the data format is represented by a combination of keys and values.
[0060] In some embodiments, the data is represented in JSON format.
[0061] In another aspect, the present invention provides a process execution program, comprising the following steps: a plurality of process master nodes having process generation information for generating process definition information that defines process content, and receiving input of a process network model representing the relationship between process nodes generated by the plurality of process master nodes;
[0062] In the step of receiving input from the process network model, there is a step of generating a process network from the received process network model that includes multiple process nodes having the process definition information.
[0063] The steps for performing state transition processing of process nodes based on the state of the process nodes contained in the process network and preset process state transition rules;
[0064] The steps of performing the execution processing of the executable process nodes contained in the process network.
[0065] In some embodiments, in the step of receiving input to the process network model, input is received as a hierarchical process network model representing the hierarchical relationship between the process nodes generated by the plurality of process master nodes.
[0066] In the step of generating the process network, a hierarchical process network is generated that corresponds to the hierarchical process network model received in the step of receiving the input of the process network model.
[0067] In some embodiments, the step of performing the state transition processing of the process node is, when receiving a process state change request to change the state of a specific process node, to change the state of the specific process node contained in the process network based on the received process state change request.
[0068] In some embodiments, the process generation information includes one or more transcription process definition pieces, each defining a transcription process that transcribes the process generation information as the process definition information into the process node corresponding to the process master node having the process generation information.
[0069] The transcription process definition information includes one or more transcription factor model definitions. These definitions define transcription factor models that model the impact of the communicable environment of the process execution system on the transcription process.
[0070] The process execution procedure further includes: a step of receiving an execution request for the transcription process.
[0071] The steps for evaluating the transcription factor model defined by the transcription factor model definition information.
[0072] Perform the steps of the transcription process defined by the transcription process definition information.
[0073] The steps of performing the transcription process are controlled based on the evaluation results of one or more of the transcription factor models in the step of evaluating the transcription factor models.
[0074] In some embodiments, the step of performing the execution processing of the process node is to execute the process by sending an execution request for the transcription process, based on the process definition information updated via transcription by the process generation information used to generate the process definition information.
[0075] In some embodiments, during the step of evaluating the transcription factor models, when evaluating one of the transcription factor models, the evaluation results of other transcription factor models are used as input data for that one transcription factor model.
[0076] In some embodiments, the process definition information includes an activity flag indicating whether a process having the process definition information is active or inactive.
[0077] The process generation information includes the activity marker master data used to generate the activity marker.
[0078] The activity marker master data includes transcription process definition information constructed based on the evaluation results of the transcription factor model to determine the activity marker method.
[0079] In the step of performing the state transition processing of the process node, if the activity flag contained in the process definition information of the process node is inactive, the process node is regarded as not existing.
[0080] In some embodiments, the program further includes a step of outputting the process network model, wherein in the step of outputting the process network model, serialized data of the process network model is output.
[0081] In some embodiments, in the step of receiving input to the process network model, input is received as data serialized from the process network model.
[0082] In the step of generating the process network, the process network is generated using the process network model obtained by deserializing the serialized data of the received process network model in the step of receiving the input of the process network model.
[0083] In some embodiments, during the step of outputting the process network model, when serializing the process network model, serialization is performed based on a rule that establishes a one-to-one correspondence between the process network model and the data after serialization.
[0084] In some embodiments, in the step of outputting the process network model, the serialized data of the process network model is output in a data format consisting of a combination of keys and values.
[0085] In some embodiments, in the step of outputting the process network model, the serialized data of the process network model is output in JSON data format.
[0086] In some embodiments, the procedure further includes the step of displaying the process network model.
[0087] In some embodiments, the procedure further includes the step of displaying the process network.
[0088] The advantages of this invention are:
[0089] The process execution system according to the present invention includes: a process network generation unit comprising a plurality of process master nodes, each process master node having process generation information for generating process definition information defining process content, and generating a process network containing a plurality of process nodes from a process network model representing the relationship between process nodes generated via the plurality of process master nodes, each process node having the process definition information; a process network state management unit, which makes a specific process node executable based on the state of the process nodes included in the process network and a preset process state transition rule; and a process network execution unit, which executes a process defined by the process definition information contained in the executable process nodes included in the process network; wherein the process network generation unit includes a process network model input unit that receives input from the process network model, and the process network model input unit generates the process network from the input process network model; the process definition information includes action-related information required to execute the process defined by the process definition information; and the process network execution unit, according to a request for an action execution system to execute a preset action, sends an execution request for the action based on the action-related information contained in the process definition information of the executable process node, thereby executing the process defined by the process definition information. Therefore, this process execution system has both flexibility and stability, and is highly adaptable to rapidly changing business environments.
[0090] To further understand the technology, method, and effects of the present invention and to achieve the intended purpose of the present invention, please refer to the following detailed description and accompanying drawings; furthermore, the purpose, characteristics, and features of the present invention can be understood more deeply and specifically; however, the accompanying drawings are provided for reference and description only and are not intended to limit the scope of the present invention. Attached Figure Description
[0091] Figure 1 This is a schematic diagram illustrating the structure of the process execution system and the action execution system communicating with the process execution system according to the first embodiment of the present invention;
[0092] Figure 2 yes Figure 1 The diagram shown is a block diagram of the process execution system.
[0093] Figure 3 yes Figure 1 The diagram shown is a functional block diagram of the control unit of the process execution system.
[0094] Figure 4 yes Figure 1 The diagram shown is a functional block diagram of the process network generation unit of the process execution system.
[0095] Figure 5 It is shown Figure 1The diagram shown illustrates the data structure of the input process network model of the process execution system.
[0096] Figure 6 This is an example by Figure 1 The diagram shows the data structure of the process network generated by the process network generation unit of the process execution system.
[0097] Figure 7 It is shown Figure 1 The diagram shows the data structure of the process master node of the process network model received by the input unit of the process execution system.
[0098] Figure 8 It is by Figure 1 The diagram shows an example of the data structure of the process nodes in the process network generated by the process network generation unit of the process execution system.
[0099] Figure 9 It is shown Figure 1 The diagram shows the main data structure of the process network model input unit of the process execution system, which receives the action information of the process master node of the process network model.
[0100] Figure 10 It is by Figure 1 The diagram shows a schematic representation of the data structure of the action information of the process nodes in the process network generated by the process network generation unit of the process execution system.
[0101] Figure 11 exist Figure 1 The flowchart shown is a process execution step performed in the process execution system;
[0102] Figure 12 It means in Figure 1 The flowchart shown is a process node state transition processing step executed in the process execution system.
[0103] Figure 13 It means in Figure 1 The flowchart shown is a process flow diagram of the state transition processing steps of the process node group under the parent process node in the process execution system.
[0104] Figure 14 It means in Figure 1 The flowchart shown is a process flow diagram of the state transition processing steps for a group of process nodes with the smallest process number in the process execution system.
[0105] Figure 15 It means in Figure 1 The flowchart shown illustrates the execution steps of executable process nodes in the process execution system.
[0106] Figure 16 It is used to explain in Figure 1 The diagram shows a schematic of the process network data structure, illustrating an example of the action steps for the state transition processing of process nodes executed in the process execution system.
[0107] Figure 17 It is used to explain in Figure 1 The diagram shows an example of the action steps for the process node state transition processing in the process execution system.
[0108] Figure 18 A schematic diagram illustrating the structure of a process execution system and an action execution system communicating with the process execution system according to the second embodiment of the present invention;
[0109] Figure 19 yes Figure 18 The diagram shown is a block diagram of the process execution system.
[0110] Figure 20 yes Figure 18 The diagram shown is a functional block diagram of the control unit of the process execution system.
[0111] Figure 21 yes Figure 18 The diagram shown is a functional block diagram of the process network status management unit of the process execution system.
[0112] Figure 22 It is shown Figure 18 The diagram shown illustrates the data structure of the input process network model of the process execution system.
[0113] Figure 23 It is by Figure 18 The diagram shows an example of the data structure of the process network generated by the process network generation unit of the process execution system.
[0114] Figure 24 It is shown Figure 18 The diagram shown is a schematic of the data structure of the process master node of the process network model received by the input unit of the process network model of the process execution system.
[0115] Figure 25 It is by Figure 18 The diagram shows a schematic representation of the data structure of the process nodes in the process network generated by the process network generation unit of the process execution system.
[0116] Figure 26 It means in Figure 18 The flowchart shown is a process execution step performed in the process execution system;
[0117] Figure 27 It means in Figure 18The flowchart shown illustrates the execution steps of executable process nodes in the process execution system.
[0118] Figure 28 This is a functional block diagram of the control unit of the process execution system according to the third embodiment of the present invention;
[0119] Figure 29 This is a functional block diagram of the transcription section of the process execution system according to the third embodiment of the present invention;
[0120] Figure 30 This is a conceptual diagram representing the process generation information of the process execution system according to the third embodiment of the present invention;
[0121] Figure 31 This is a conceptual diagram illustrating the interaction between the process execution system and the environment according to the third embodiment of the present invention;
[0122] Figure 32 This is a schematic diagram of the data structure of the case data table referenced by the process execution system according to the third embodiment of the present invention;
[0123] Figure 33 This is a schematic diagram of the data structure of the context data stored in the input section of the process network model of the process execution system according to the third embodiment of the present invention;
[0124] Figure 34 This is a diagram illustrating the structure of the transcription process tag of the process execution system according to the third embodiment of the present invention;
[0125] Figure 35 This is an example diagram illustrating the structure of the selection process label in the process execution system according to the third embodiment of the present invention;
[0126] Figure 36 This is an example diagram illustrating the structure of the recurring process label in the process execution system according to the third embodiment of the present invention;
[0127] Figure 37 This is the syntax for replacing process tags in the process execution system of the third embodiment of the present invention.
[0128] Figure 38 This is the syntax of transcription factor model tags in the process execution system according to the third embodiment of the present invention;
[0129] Figure 39 It is the output data of the transcription factor model of the process execution system according to the third embodiment of the present invention;
[0130] Figure 40 This is a flowchart of the processing steps executed in the process execution system of the third embodiment of the present invention;
[0131] Figure 41 This is a flowchart of the execution processing steps of an executable process node in the third embodiment of the present invention;
[0132] Figure 42 This is a flowchart of the processing steps performed in the transcription section of the process execution system in the third embodiment of the present invention;
[0133] Figure 43 This is a flowchart of the evaluation process of the evaluation object transcription factor model executed in the transcription section of the process execution system in the third embodiment of the present invention.
[0134] Figure 44 This is a flowchart of the evaluation process of the original evaluation object transcription factor model executed in the transcription section of the process execution system in the third embodiment of the present invention.
[0135] Figure 45 This is a schematic diagram illustrating flow generation information for explaining an example of the operation of the transcription unit of the flow execution system according to the third embodiment of the present invention.
[0136] Figure 46 This is a schematic diagram illustrating transcription information of the transcription unit of the process execution system according to the third embodiment of the present invention.
[0137] Figure 47 This is a schematic diagram illustrating transcription information of an example of the operation of the transcription unit of the process execution system involved in the third embodiment of the present invention;
[0138] Figure 48 This is a schematic diagram of the transcription process label used to illustrate an example of the evaluation processing of the transcription factor model of the evaluation object in the transcription section of the process execution system in the third embodiment of the present invention.
[0139] Figure 49 This is a schematic diagram of a transcription process label used to illustrate an example of the action of evaluating the transcription factor model of the evaluation object in the transcription section of the process execution system in the third embodiment of the present invention.
[0140] Figure 50 This is a schematic diagram of a transcription process label used to illustrate an example of the action of evaluating a transcription factor model of an evaluation object in the transcription section of the process execution system in the third embodiment of the present invention.
[0141] Figure 51 This is a schematic diagram of transcription process labels used to illustrate an example of the action of evaluating the transcription factor model of the evaluation object in the transcription section of the process execution system in the third embodiment of the present invention.
[0142] Figure 52This is a schematic diagram of a transcription process label used to illustrate an example of the action of evaluating the transcription factor model of the evaluation object in the transcription section of the process execution system in the third embodiment of the present invention.
[0143] Figure 53 This is a schematic diagram of a transcription process label used to illustrate an example of the action of evaluating a transcription factor model of an evaluation object in the transcription section of the process execution system in the third embodiment of the present invention.
[0144] Figure 54 This is a schematic diagram illustrating the action information master data of the transcription unit of the process execution system according to the third embodiment of the present invention.
[0145] Figure 55 This is a schematic diagram illustrating action information of the transcription unit of the process execution system involved in the third embodiment of the present invention.
[0146] Figure 56 This is a schematic diagram illustrating the action information master data of the transcription unit of the process execution system according to the third embodiment of the present invention.
[0147] Figure 57 This is a schematic diagram illustrating action information of the transcription unit of the process execution system involved in the third embodiment of the present invention.
[0148] Figure 58 This is a schematic diagram of the data structure of the process network generated by the process network generation unit of the process execution system, which is an improved example according to the third embodiment of the present invention.
[0149] Figure 59 This is a schematic diagram of the data structure of the process network model input unit of the process execution system according to an improved example of the third embodiment of the present invention, which receives the input process network model.
[0150] Figure 60 This is a schematic diagram of the data structure of the process master node of the process network model received by the process network model input unit of the process execution system according to the improved example of the third embodiment of the present invention.
[0151] Figure 61 This is a schematic diagram of the data structure of the process nodes of the process network generated by the process network generation unit of the process execution system, according to an improved example of the third embodiment of the present invention.
[0152] Figure 62 This is a functional block diagram of the process network generation unit of the process execution system involved in the fourth embodiment of the present invention;
[0153] Figure 63This is a schematic diagram of the process network model output unit of the process execution system according to the fourth embodiment of the present invention serializing the data of the process network model;
[0154] Figure 64 This is a functional block diagram of the control unit of the process execution system according to the fifth embodiment of the present invention;
[0155] Figure 65 This is a functional block diagram of the process network model display unit of the process execution system according to the fifth embodiment of the present invention;
[0156] Figure 66 This is a functional block diagram of the process network display unit of the process execution system according to the fifth embodiment of the present invention;
[0157] Figure 67 This is the appearance of the process network model displayed by the process network model display unit of the process execution system according to the fifth embodiment of the present invention;
[0158] Figure 68 This is a diagram showing the process network displayed by the process network display unit of the process execution system according to the fifth embodiment of the present invention;
[0159] Figure 69 This is a schematic diagram illustrating the process network model and part of the data structure of the process network in the process execution system for the processes performed in the embodiments.
[0160] Figure 70 This is a schematic diagram illustrating the process network model and some data structures of the process network used in the process execution system for the processes performed in the embodiments.
[0161] Figure 71 This is a schematic diagram illustrating the process network model and part of the data structure of the process network for the processes executed in the process execution system implemented in the embodiments;
[0162] Figure 72 This is a schematic diagram illustrating the process network model and the data structure of the process network portion of the processing executed in the process execution system involved in the embodiments;
[0163] Figure 73 This is a schematic diagram illustrating the process network model and a portion of the data structure of the process network used in the process execution system for the processes performed in the embodiments;
[0164] Figure 74 It is a sequence diagram representing a portion of the processes executed in the process execution system involved in the embodiment;
[0165] Figure 75It is a sequence diagram representing a portion of the processes executed in the process execution system involved in the embodiment;
[0166] Figure 76 It is a sequence diagram representing a portion of the processes executed in the process execution system involved in the embodiment;
[0167] Figure 77 It is a sequence diagram representing a portion of the processes executed in the process execution system involved in the embodiment;
[0168] Figure 78 It is a sequence diagram representing a portion of the processes executed in the process execution system involved in the embodiment.
[0169] The attached figures are labeled as follows:
[0170] 100, 200, 300, 400, 500: Process Execution System
[0171] 110, 210, 310, 410, 510: Control Unit
[0172] 150, 250, 350, 450: Process Network Generation Department
[0173] 151, 351, 451: Input section of process network model
[0174] 452: Process Network Model Output Section
[0175] 160, 260, 360: Process Network Status Management Department
[0176] 261: Process Status Change Request Receiving Department
[0177] 170, 270, 370: Process Network Execution Department
[0178] 380: Transcription section
[0179] 381: Transcription Request Receiver
[0180] 382: Transcription Factor Model Evaluation Department
[0181] 383: Transcription Process Execution Unit
[0182] 590: Process Network Model Display Department
[0183] 591: Process network model shows the request receiving department
[0184] 592: Process network model displays data generation department
[0185] 595: Process Network Display Department
[0186] 596: Process Network Display Request Receiving Department
[0187] 597: Process Network Display Data Generation Department
[0188] 120, 220: Storage Department
[0189] 130, 230: Ministry of Communications
[0190] 140, 240: Bus
[0191] DM1, DM2, DM3, DM4, DM5: Process Network Model
[0192] DM10, DM20, DM30, DM40, DM50: Master process nodes
[0193] DM11, DM21, DM31: Process Master Node Identifiers
[0194] DM12, DM22, DM32: Parent process master node identifier
[0195] DM15, DM25, DM35: Process Generation Information
[0196] DM151, DM251, DM351, DM451: Process Numbers in the Main File
[0197] DM152, DM252, DM352: Main table of process names
[0198] DM153, DM253, DM353: Master data for motion information
[0199] DM1531, DM2531: Main Table of Action Items
[0200] DM254, DM354, DM554: Asynchronous Flag Master Data
[0201] DM255, DM355, DM555: Auto-start Flag Master Data
[0202] DM356: Active membrane
[0203] PDinfo: Transcription process definition information
[0204] PT: Transcription process tag
[0205] PTs: Select Process Tags
[0206] PTi: Repeated Process Label
[0207] PT: Replace process tags
[0208] MDinfo: Transcription factor model definition information
[0209] MT: Transcription Factor Model Tag
[0210] D1, D2, D3, D4, D5: Process Network
[0211] D10, D20, D30, D40, D50: Process nodes
[0212] D11, D21, D31: Process node identifiers
[0213] D12, D22, D32: Parent process node identifiers
[0214] D13, D23, D33, D53: Process Status
[0215] D15, D25, D35: Process definition information
[0216] D151, D251, D351: Process Numbers
[0217] D152, D252, D352: Process Name
[0218] D153, D153, D353: Action Information
[0219] D1531, D2531: Action Items
[0220] D254, D354: Asynchronous flag
[0221] D255, D355: Automatic start indicator
[0222] D356: Activity marker
[0223] CID: Case ID
[0224] CID1: Application Name
[0225] CID2: table name
[0226] CID3: Record ID
[0227] CxD: Context Data
[0228] CxT: Context Table
[0229] E: Environment
[0230] Ein: Internal Environment
[0231] Eout: External environment
[0232] M: Transcription factor model
[0233] Din: Input data
[0234] Dout: Output data
[0235] R: Evaluation Results
[0236] Me: Evaluation of Transcription Factor Models
[0237] Mo: Original evaluation object transcription factor model
[0238] MDout: Serialized data
[0239] SysOut: External System
[0240] S1, S2: System
[0241] Tinfo: Transcriptional Information
[0242] 50: Action Execution System
[0243] 90: Means of communication
[0244] CD: Case Data
[0245] CDT: Case Data Table. Detailed Implementation
[0246] The detailed description and technical content of the present invention are explained below with reference to the accompanying drawings. However, the accompanying drawings are provided for reference and illustration only and are not intended to limit the present invention.
[0247] Before proceeding with the description of embodiments of the present invention, the technical significance of the invention will be outlined. In recent years, Digital Transformation (see Non-Patent Document 7) has been advancing rapidly, making society more complex and accelerating its pace of change (Bruno Latour, “Reassembling the Social: An Introduction to Actor-network-theory”, Oxford University Pr, 2007). The pace of change in the business environment in which enterprises operate is also accelerating. To maintain and enhance the competitiveness of business activities, it is necessary to improve adaptability to this rapidly changing business environment. In this environment, due to the rapid advancement of digital technology, its application has significantly impacted enterprise competitiveness. In particular, the automation of business processes using digital technology has become an urgent priority, requiring business systems responsible for business automation to improve their adaptability to the rapidly changing business environment. The problem to be solved by the process execution system involved in the embodiments of the present invention is to provide a process execution system with high adaptability to a rapidly changing business environment.
[0248] To address the aforementioned issues, a process execution system must be able to readily absorb changes in business content while maintaining stable business operations. In other words, to resolve these challenges, the process execution system needs to skillfully balance the seemingly contradictory relationship between flexibility and stability. In embodiments of this invention, to balance flexibility and stability, attention is focused on networks representing the interactions between processes. Specifically, the process execution system of this invention delegates the execution of actions required for each process to an action execution system, providing an execution environment for a new business process model—specifically, an Executable Process Network, and particularly an Executable Business Process Network.
[0249] This section further elaborates on the significance of networks representing interactions between processes. With the advancement of digital transformation (see Non-Patent Document 7), the social environment in which people, machines, and various other entities interact through complex networks can be considered a complex system. Complex systems, especially those involving highly complex interactions between constituent elements, are prone to unpredictable fluctuations and rapid changes (compared to systems near thermodynamic equilibrium). Examples of systems adapted to such environments include organisms, particularly multicellular organisms (Stuart Kauffman, “At Home in the Universe: The Search for Laws of Self-Organization and Complexity,” Oxford University Press, 1996; Stuart Kauffman, “A World Beyond Physics: The Emergence and Evolution of Life,” Oxford University Press, 2019). Multicellular organisms coordinate multiple cells by regulating gene expression encoded in DNA (Bruce Alberts, et al., “Molecular Biology of the Cell,” 6th Edition, Garland Science, 2014). The regulation of gene expression involves transcription factors, which interact through complex networks (hereinafter referred to as Transcription Networks) (Uri Alon, “An Introduction to Systems Biology: Design Principles of Biological Circuits”, 2nd edition, Chapman and Hall / CRC, 2019). While many types of proteins constituting multicellular organisms are common across species, Transcription Networks differ between species. Multicellular systems, while exhibiting generalized modules (proteins), possess an architecture that flexibly reconfigures module combinations based on changes in the external environment (Eout) by flexibly altering the Transcription Networks that enable module interactions. Thus, multicellular organisms are considered capable of successfully adapting to environments that form complex systems.
[0250] According to embodiments of the present invention, the process execution system, if compared with multicellular organisms, uses process definition information that defines process content as equivalent to proteins (modules), process generation information used to generate the process definition information as equivalent to genes, process networks representing relationships between processes as equivalent to transcription networks, and transcription factor models as equivalent to transcription regulatory factors, etc. According to embodiments of the present invention, by adjusting the process networks that enable module interactions while generalizing modules, it is easier to adapt to environments that form complex systems.
[0251] Furthermore, hierarchy has been identified as a universal characteristic of systems adapting to complex systems (Herbert A. Simon, “The Sciences of the Artificial”, MIT Press, 1996). The importance of interactions between different timescales, in particular, was already noted in Bergson's philosophy (Henri Bergson, “Matter and Memory”, Kodansha, 2019), and also in studies that view biological systems as dynamical systems and attempt to apply physical methods (Kunihiko Kaneko, “What is Life? – Life Sciences of Complex Systems”, University of Tokyo Press, 2009; Kunihiko Kaneko, “Universal Biology: Life in Physics, Physics Woven by Life”, University of Tokyo Press, 2019; Kunihiko Kaneko, Tetsuya Sawai, Takuaki Takagi, and Riki Furusawa, “Theoretical Biology of Cells: From a Dynamical Perspective”, University of Tokyo Press, 2020). Furthermore, based on the physics of dealing with complex systems such as spin glass, which was awarded the 2021 Nobel Prize in Physics, the rapidly developing deep learning (Akito Tanaka, Akio Tomiya, and Yukiji Hashimoto, "Deep Learning and Physics," Kodansha 2019) also exhibits a hierarchical characteristic. The process execution system according to embodiments of the present invention is capable of generating hierarchical process networks from hierarchical process network models. Therefore, the process execution system according to embodiments of the present invention is considered to have an architecture more readily adaptable to complex systems.
[0252] Furthermore, as one of the deep learning methods, Graph Neural Networks (GNNs) for processing data structures represented by graphs have developed rapidly in recent years (Yao Ma, Jiliang Tang, “Deep Learning on Graphs”, Cambridge University Press, 2021; Claudio Stamile, Aldo Marzullo, Enrico Deusebio, “Graph Machine Learning: Take graph data to the next level by applying machine learning techniques and algorithms”, Packt Publishing, 2021). Networks can be represented as graphs, and the process network model and process network according to embodiments of the present invention can also be represented as graphs or bipartite graphs. Bipartite graphs are also known as Petri nets, and Petri nets are commonly used to represent process models in process mining, which extracts process models from event data (Wil MPvan der Aalst, “Process Mining: Data Science in Action”, Springer, 2016).
[0253] By representing business processes as process network models or graphs such as process networks, deep learning methods such as GNNs can be more easily applied. For example, a GNN representing the business processes contained within a business object can be learned from the data of that business object. This could significantly automate the previously manual modeling of business processes. By generating process network models using GNNs or similar methods, and then inputting these models into the process execution system described in this invention to generate a process network, and executing the generated process network through this system, end-to-end automation from modeling the business object to executing the business process can be achieved.
[0254] Furthermore, similar business processes exist even across different enterprises and industries. A process network model representing a business process within one enterprise's business may be used for other businesses in other enterprises with similar processes. The process execution system according to embodiments of the present invention functions as the execution environment for the process network model, but the specific content of the actions required for each process execution is defined on the action execution system side. That is, the process execution system according to embodiments of the present invention, due to its loose coupling with the action execution system, easily reuses the aforementioned process network model. Thus, the process execution system according to embodiments of the present invention promotes the circulation of the process model itself, reduces redundant investment related to process model creation, and thereby also helps to reduce environmental burden.
[0255] Hereinafter, with reference to the figures, various embodiments of the present invention will be described in detail.
[0256] First Implementation Method
[0257] Figure 1 This diagram illustrates the configuration of the process execution system 100 and the action execution system 50 communicating with the process execution system 100 according to this embodiment. Figure 1 As shown, the process execution system 100 sends and receives information with the action execution system 50 through communication means 90.
[0258] The process execution system 100 described in this embodiment is configured as a web application running on a server machine. The process execution system 100 can be constructed using a framework for constructing a web application. For example, Django, Flask, and Ruby on Rails can be used as a framework for building the process execution system 100 as a web application. The server machine executing the process system 100 can be a local server machine or a virtual server machine utilizing commercial cloud services.
[0259] In this embodiment, the action execution system 50 consists of a web application running on a server, libraries called from the process execution system 100, RPA services provided by commercial cloud services, or commercial RPA applications.
[0260] When the action execution system 50 is built as a web application running on a server machine, the action execution system 50 can be constructed using a framework for building web applications. For example, Django, Flask, and Ruby on Rails can be used as frameworks for building the action execution system 50 as a web application. The server machine executing the action execution system 50 can be a local server machine or a virtual server machine utilizing commercial cloud services.
[0261] When the action execution system 50 is configured as a library that is called from the process execution system 100, that library can be part of the library that constitutes the process execution system 100. If the library that constitutes the action execution system 50 is part of the library that constitutes the process execution system 100, then the library that constitutes the action execution system 50 will be executed on the server machine on which the process execution system 100 runs.
[0262] When using RPA services provided by commercial cloud services to build the action execution system 50, the RPA service constituting the action execution system 50 can be, for example, PowerAutomate provided by Microsoft Corporation.
[0263] If a commercial RPA application is used to build the action execution system 50, the RPA application constituting the action execution system 50 could be, for example, Power Automate for Desktop provided by Microsoft Corporation. The RPA application can run on the client PC.
[0264] The communication means 90 can be configured via the Internet or an intranet. Furthermore, when the process execution system 100 and the action execution system 50 are executed as different tasks on an operating system (OS) running on the same server machine, the communication means 90 can also be inter-task communication provided by the operating system. Additionally, when the action execution system 50 is configured as a library called from the process execution system 100, the communication means 90 can be a data transmission and reception mechanism undertaken by the operating system when calling the library from the process execution system 100.
[0265] Figure 2 This is a block diagram of the process execution system 100 involved in this embodiment. Figure 2 As shown, the process execution system 100 includes a control unit 110, a storage unit 120, and a communication unit 130. These components are interconnected via a bus 140.
[0266] The control unit 110 consists of a CPU (Central Processing Unit), RAM (Random Access Memory), ROM (Read Only Memory), and other memory. It controls and processes the various parts of the process execution system 100 according to the program. Details about the functions of the control unit 110 will be described later.
[0267] Storage unit 120 consists of HDDs (Hard Disc Drives), SSDs (Solid State Drives), etc., and stores various programs and data. Storage unit 120 stores the data constituting the process network model DM1 (described later) and the data constituting the process network D1. Storage unit 120 can, for example, use PostgreSQL to function as a database server.
[0268] The communication unit 130 is an interface circuit (such as a LAN card) for communicating with external devices via a network.
[0269] The following is for reference Figures 3 to 10 The functions of the control unit 110 are introduced. Figure 3 This is a function block diagram representing the functions of the control unit 110 of the process execution system 100. Figure 4 This is a functional block diagram of the process network generation unit 150 of the process execution system 100. Figure 5 This is a schematic diagram illustrating the data structure of the process network model DM1 received by the process network model input unit 151 of the process execution system 100. Figure 6 This is a schematic diagram of the data structure of process network D1 generated by the process network generation unit 150 of the process execution system. Figure 7 This is a schematic diagram showing the data structure of the process master node DM10 of the process network model DM1 received by the process network model input unit 151 of the process execution system 100. Figure 8 This is a schematic diagram of the data structure of process node D10 of process network D1 generated by process network generation unit 150 of process execution system 100. Figure 9 This is a schematic diagram illustrating the data structure of the process network model input unit 151 of the process execution system 100, which receives the action information master data DM153 of the process master node DM10 of the process network model DM1. Figure 10 This is a schematic diagram of the data structure of the action information D153 of the process node D10 of the process network D1 generated by the process network generation unit 150 of the process execution system 100.
[0270] like Figure 3 As shown, the control unit 110 functions as the process network generation unit 150, the process network status management unit 160, and the process network execution unit 170.
[0271] like Figure 4As shown, the process network generation unit 150 includes a process network model input unit 151, which receives input from the process network model DM1 and generates a process network D1 from the received process network model DM1. Using an object-oriented language analogy, the process network model DM1 is equivalent to a class, and the process network D1 is equivalent to an instance or object of that class.
[0272] The process network model input unit 151 can be configured to have a GUI (Graphical User Interface) for receiving input to the process network model DM1, or it can be configured to have an API (Application Programming Interface) for receiving input to the process network model DM1. The API for receiving input to the process network model DM1 can receive input to the process network model DM1 via HTTP communication. Alternatively, the GUI for receiving input to the process network model DM1 can receive input to the process network model DM1 via, for example, operations from a browser.
[0273] The process network model input unit 151 can receive context data input in addition to the input of the process network model DM1. Context data includes, for example, case attribute information such as the case ID of the case being processed in the business represented by the process network model DM1.
[0274] When the process network generation unit 150 generates a process network D1 from the process network model DM1 received from the process network model input unit 151, the content of the generated process network D1 can be dynamically changed by using context data. Therefore, to use an object-oriented language analogy, the process network generation unit 150 can achieve the same effect of dynamically changing the content of the generated object based on context data when generating a process network D1 corresponding to an object of that class from the process network model DM1 (which corresponds to a class).
[0275] Furthermore, the process network generation unit 150 can associate the context data received by the process network model input unit 151 with the generated process network D1 and store it in the storage unit 120. Therefore, when the process network execution unit 170 executes a process node D10 contained in the process network D1, it can dynamically change the content of the actions executed by the action execution system 50 during execution by dynamically changing the API address and API data (described later) according to the context data. For example, the process network execution unit 170 can dynamically change the content of the API data sent to the action execution system 50 by using case attribute information stored in the storage unit 120 as context data. Thus, the document content generated by the action execution system 50 can be modified according to each case.
[0276] like Figure 5As shown, the process network model DM1 includes multiple process master nodes DM10 and represents the relationships between the process master nodes DM10. Preferably, the process network model DM1 is a hierarchical process network model, which represents the relationships between the multiple process master nodes DM10 in a hierarchical manner. In this embodiment, the case where the process network model DM1 is a hierarchical process network model is used as an example for explanation, but it is not limited to this.
[0277] The hierarchical process network model DM1 has a tree structure. DM1 has a root process master node DM10. A routing process master node DM10 can have one or more process master nodes DM10 as child nodes. The number of process master nodes DM10 belonging to the same parent node is arbitrary. The hierarchical division of the hierarchical process network model DM1 is as follows: the root process master node DM10 is at level 0, the direct child process master nodes DM10 of the root process master node DM10 are at level 1, and there can be any number of levels below. The number of process master nodes DM10 belonging to the same level is arbitrary.
[0278] like Figure 6 As shown, process network D1 contains multiple process nodes D10 and represents the relationships between process nodes D10. Preferably, process network D1 is a hierarchical process network that represents the relationships between multiple process nodes D10 in a hierarchical manner. In this embodiment, the case where process network D1 is a hierarchical process network is used as an example for explanation, but it is not limited to this.
[0279] The hierarchical process network D1 has a tree structure. The hierarchical process network D1 has a root process node D10. The root process node D10 can have one or more process nodes D10 as its child nodes. The number of process nodes D10 belonging to the same parent node is arbitrary. In the hierarchical process network D1, the root process node D10 belongs to level 0, the direct child process nodes of the root process node D10 belong to level 1, and so on, with any number of levels. The number of process nodes D10 belonging to the same level is arbitrary.
[0280] When generating process network D1 from process network model DM1, process network generation unit 150 can construct it such that each process node D10 in process network D1 corresponds one-to-one with each process master node DM10 in process network model DM1.
[0281] Furthermore, when generating process network D1 from process network model DM1, process network generation unit 150 can control the generation of process node D10 corresponding to the process master node DM10 contained in process network model DM1 based on the context data received by process network model input unit 151.
[0282] Specifically, the process network generation unit 150 classifies the context data received by the process network model input unit 151 into specific types. When the context data is classified into one specific type, it generates a process node D10 corresponding to a specific process master node DM10. When the context data is classified into other specific types, it generates a process node D10 corresponding to another specific process master node DM10. In other words, when generating the process network D1 from the process network model DM1, the process network generation unit 150 can selectively switch the process master node DM10 used to generate the process node D10 according to the context data. For example, if the context data contains a specific customer name, the process network generation unit 150 generates a process node D10 corresponding to a specific process master node DM10 (in this case, it does not generate a process node D10 corresponding to another specific process master node DM10), and if the context data contains another specific customer name, it generates a process node D10 corresponding to another specific process master node DM10 (in this case, it does not generate a process node D10 corresponding to the aforementioned specific process master node DM10).
[0283] Furthermore, the process network generation unit 150 can classify the context data received by the process network model input unit 151 into a specific type, and generate (or not generate) a process node D10 corresponding to a specific process master node DM10 only when the context data is classified into a specific type. For example, the process network generation unit 150 can be configured to generate (or not generate) a process node D10 corresponding to the process master node DM10 only when the context data contains a specific customer name.
[0284] Figure 7 This is a diagram illustrating the data structure of the process master node DM10. The data of the process master node DM10 includes the process master node identifier DM11, the parent process master node identifier DM12, and the process generation information DM15.
[0285] The process master node identifier DM11 is used to uniquely identify the process master node DM10 contained in the process network model DM1. The parent process master node identifier DM12 is used to identify the parent process master node DM10 to which the process master node DM10 belongs. When the process master node DM10 is the root process master node, the parent process master node identifier DM12 can be set to no value.
[0286] Figure 8This is a diagram illustrating the data structure of process node D10. The data of process node D10 includes process node identifier D11, parent process node identifier D12, process status D13, and process definition information D15.
[0287] The process node identifier D11 is an identifier used to uniquely identify process node D10 contained in process network D1. The parent process node identifier D12 is an identifier used to identify the parent process node D10 to which process node D10 belongs. When process node D10 is the root process node, the parent process node identifier D12 can be set to no value.
[0288] Process state D13 represents the state of process node D10. The state of process node D10 includes an executable state. Preferably, the state of process node D10 includes a completed state. More preferably, the state of process node D10 includes an executing state, a standby state, and an error-triggered termination state. The value of process state D13 can be a string representing the state of process node D10, a numerical value representing the state of process node D10, or a combination of flags representing the state of process node D10.
[0289] In the process network generation unit 150, process generation information DM15 is used to generate process definition information D15 for process node D10 belonging to the process master node DM10. Process definition information D15 includes information related to the operations required to execute the process defined by it. Process generation information DM15 includes various master data. The values of the various master data contained in process generation information DM15 are used as values for various items in the process definition information D15 generated by process generation information DM15.
[0290] The process network generation unit 150 can be configured such that when a master value is contained in the process generation information DM15, the value of an item in the process definition information D15 generated by that master value is X.
[0291] Furthermore, when generating process network D1 from process network model DM1 received from process network model input unit 151, process network generation unit 150 can dynamically change the generated process definition information D15 by using the context data input to process network model input unit 151. There are no particular limitations on the method for dynamically changing the process definition information D15; for example, mechanisms from template engines such as Django Template Language (DTL) used in the Django web application creation framework can be used. Specifically, a tag can be embedded in the main value portion of the process generation information DM15 that is desired to change dynamically, and this tag can be replaced according to the context data input to process network model input unit 151 when generating process definition information D15, thereby enabling the process definition information D15 to change dynamically.
[0292] Reference Figure 7 The process generation information DM15 includes process number master data DM151, process name master data DM152, and action information master data DM153. (Refer to...) Figure 8 The process definition information D15 includes process number D151, process name D152, and action information D153. Process number D151 is generated from the process number master table DM151, process name D152 is generated from the process name master table DM152, and action information D153 is generated from the action information master data DM153.
[0293] If there is no operation to be performed in process node D10 generated from process master node DM10, which belongs to process generation information DM15, then process master node DM10 may not contain operation information master DM153. For example, for a parent process master node DM10 configured to aggregate multiple execution actions, there may be a situation where the parent process master node DM10 has no execution actions. If process master node DM10 does not contain action information master data DM153, then process node D10 generated from process master node DM10 will not contain action information D153.
[0294] The values of process number master DM151 and process number D151 can be, for example, arbitrary natural numbers. The process network generation unit 150 can be configured such that when the value of process number master DM151 is N (an arbitrary natural number), the process number D151 of the generated process node D10 is N. The process number D151 can be unique or repeated among process nodes D10 at the same level. Furthermore, some numbers can also be repeated. For example, when there are five process nodes D10 at the same level, the process numbers D151 can be set to 100, 200, 300, 300, and 400 respectively.
[0295] The process name master data DM152 and the value of process name D152 are arbitrary strings. The process network generation unit 150 can be configured to make the generated process name D152 S when the value of process name master data DM152 is S (arbitrary string).
[0296] The action information master data DM153 defines the action content to be executed in the process node D10 generated from its parent process master data node DM10. The content of the action is not particularly limited as long as it is an action that can be executed in the action execution system 50.
[0297] When PowerAutomate, a cloud service provided by Microsoft Corporation (MICROSOFT 365), is used as the action execution system 50, actions include, for example, document generation, email generation, sending of approval requests, task generation, schedule generation, and chat message posting. Documents can be, for example, emails or invoices. PowerAutomate can generate various types of documents. Document file formats can include, for example, Microsoft Office Word formats, Excel formats, Outlook formats, and POWERPOINT formats. The sending of approval requests is performed by sending approval requests from PowerAutomate to the MICROSOFT 365 approval request application. Task generation can be performed by registering tasks from PowerAutomate to the MICROSOFT 365 Planner. Schedule generation is performed by generating schedules in MICROSOFT 365 Outlook. Chat messages can be sent via PowerAutomate to specific users' chats within MICROSOFT 365 (registered trademark) Teams, to specific channels, or to specific chat groups.
[0298] Figure 9 This is a diagram illustrating the data structure of the motion information master data DM153. The motion information master data DM153 includes one or more motion item master data DM1531.
[0299] Figure 10 This is a diagram illustrating the data structure of action information D153. Action information D153 includes one or more action entries D1531.
[0300] Reference Figure 9The action item master data DM1531 contains action item number master data, API address master data, and API data master data. (See reference...) Figure 10 An action item has an action item number, an API address, and API data. The action item number is generated from the action item number master data, the API address is generated from the API address master data, and the API data is generated from the API data master data.
[0301] The values of the action item number master data and the action item number are, for example, arbitrary natural numbers. The process network generation unit 150 can be configured such that when the action item number master data is N (an arbitrary natural number), the generated process node D10 has an action item number of N. The action item number can be unique or repeated among one or more action items belonging to one action information D153. Furthermore, some action item numbers can be only partially repeated. For example, when there are 5 action items belonging to one action information D153, the action item numbers can be set to 1, 2, 3, 3, and 4 respectively.
[0302] The API address is used to execute the action defined by the action item to which the API address belongs. When executing an action contained in an executable process node D10, the process network execution unit 170 sends an action execution request to the action execution system 50 through the API specified by the API address, so that the action execution system 50 executes the action.
[0303] The API address master value and API address value are strings. The process network generation unit 150 can be configured to generate an API address of type S when the API address master value is S (any string). When the process network execution unit 170 sends an HTTP request to the API of the action execution system 50 to cause the action execution system 50 to perform an action, the API address is a URL. For example, if the action execution system 50 is PowerAutomate, the API address is the URL of the API used to start the PowerAutomate process. Alternatively, if the action execution system 50 is running on a web application built on a local server or virtual server using a web framework such as Django, the API address is the URL used to start actions in that web application.
[0304] The API data master value and the value of the API data can be, for example, any string. The process network generation unit 150 can be configured so that the generated API data becomes S when the API data master value is S (any string). When the process network execution unit 170 sends an HTTP request to the API of the action execution system 50 to cause the action execution system 50 to perform an action, the API data is the body of the HTTP request. For example, if the action execution system 50 is PowerAutomate, the API data is the body of the process initiation API POSTed to PowerAutomate.
[0305] The data format of the action information master data DM153 is not particularly limited, but JSON format can be used, for example. By using JSON format, the action information master data DM153, which contains one or more action item master data DM1531, can be represented as a single string. Therefore, when the process network generation unit 150 generates the process network D1 from the process network model DM1, the process network model input unit 151 can easily process the action information D153 by dynamically changing the action information master data DM153 based on the received context data. For example, as a method for dynamically changing the process definition information D15, when using the template engine mechanism used in a web application creation framework (such as Django) as described above, when transforming the tags contained in the action information master data DM153 according to the context data, the tags can be uniformly replaced with the transformed values. Furthermore, JSON format data can be efficiently created and edited using an editor such as VS CODE (registered trademark) provided by Microsoft Corporation. Therefore, business owners can easily edit and maintain the action information master data DM153. Moreover, when learning the process network model DM1 using machine learning such as GNN, it is easy to learn because the action-related information is represented as a string.
[0306] The data format for action information D153 is not particularly limited, but JSON format can be used for example. Using JSON, action information D153 containing one or more action items can be represented as a single string. Furthermore, when training the process network model DM1 using data from process network D1 through machine learning such as GNN, the representation of action-related information as a string facilitates learning.
[0307] The process network state management unit 160 performs state transition processing on process node D10 based on the state of process node D10 included in process network D1 and the predetermined process state transition rules. Specifically, the process network state management unit 160 makes a specific process node D10 executable based on the state of process node D10 included in process network D1 and the predetermined process state transition rules. Detailed operations of the process network state management unit 160 will be described in reference [reference missing]. Figures 12 to 14 To be discussed later.
[0308] The process network execution unit 170 executes the process defined by the process definition information D15 of the executable process node D10 contained in the process network D1. For example, the process network execution unit 170 stores the executable process node D10 in a queue and can execute the process of the executable process node D10 sequentially or in parallel.
[0309] The process network execution unit 170 executes the process defined by the process definition information D15 based on the action information D153 contained in the process definition information D15 of the executable process node D10, by sending an execution request for the action to the action execution system 50. Specifically, the process network execution unit 170 sends an action execution request to the action execution system 50 based on the content of the action item contained in the process definition information D15 of the executable process node D10. More specifically, the process network execution unit 170 causes the action execution system 50 to perform an operation by sending API data to the API address contained in the operation item. For example, if the action execution system 50 receives an action execution request via an HTTP API, the process network execution unit 170 performs an HTTP POST request with API data as the body to the API address contained in the action entry.
[0310] Next, refer to Figures 11 to 15 This indicates the actions of the process execution system 100. Figure 11 It is a flowchart representing the processing steps executed in the process execution system 100. Figure 12 It is a flowchart representing the process node state transition processing flow executed in the process execution system 100. Figure 13 This is a flowchart representing the state transition processing steps for a group of process nodes under a parent process node in the process execution system 100. Figure 14 This is a flowchart representing the state transition process for a group of process nodes with the smallest process number D151 in the process execution system 100. Figure 15 It is a flowchart representing the execution processing steps of executable process node D10 in process execution system 100. Figures 11 to 15 The processing shown in the flowchart is executed by the control unit 110 of the process execution system 100 according to the program.
[0311] like Figure 11 As shown, the program executed by the control unit 110 of the process execution system 100 includes the following steps: Step S11, receiving input from the process network model DM1; Step S12, generating the process network D1; Step S13, performing state transition processing for process node D10; Step S14, performing execution processing for executable process node D10; Step S15, determining whether all process nodes D10 contained in the process network D1 are in a completed state.
[0312] Step S11: The process network model input unit 151 includes multiple process master nodes DM10. These process master nodes DM10 have process generation information DM15 for generating process definition information D15 that defines process content, and receive input of a process network model DM1 that shows the relationships between process nodes D10 generated by the multiple process master nodes DM10. When receiving input of the process network model DM1, the process network model input unit 151 can also receive input of context data.
[0313] Step S12: The process network generation unit 150 receives the input process network model DM1 from the process network model input unit 151 and generates a process network D1 containing multiple process nodes D10 with process definition information D15.
[0314] Step S13: The process network status management unit 160 performs state transition processing of process node D10 based on the status of process node D10 contained in process network D1 and the defined process status transition rules.
[0315] Specifically, the process network state management unit 160 makes a specific process node D10 executable based on the state of process nodes D10 included in the process network D1 and predetermined process state transition rules. The process network state management unit 160 can make a specific process node D10 executable based on a combination of the states of multiple process nodes D10 included in the process network D1. The process network state management unit 160 can be configured to ensure that each process node D10 with action information D153 included in the process network D1 can be executed at least once.
[0316] The process network status management unit 160 can be configured to make a specific process executable based on the state combinations of multiple process nodes D10 belonging to different levels in process network D1 when process network D1 is a hierarchical process network. When process network D1 is a hierarchical process network, the process network status management unit 160 can be configured to prioritize the execution of process nodes D10 belonging to deeper levels over process nodes D10 belonging to shallower levels. When process network D1 is a hierarchical process network, the process network status management unit 160 can make the parent process node D10 of a sub-process node D10 executable after the sub-process node D10 has completed its execution.
[0317] Step S14: The process network execution unit 170 performs execution processing on the executable process node D10 contained in the process network D1.
[0318] Step S15: The process network execution unit 170 determines whether all process nodes D10 contained in the process network D1 are in a completed state. If all process nodes D10 contained in the process network D1 are not in a completed state, the process returns to step S13. If all process nodes D10 contained in the process network D1 are in a completed state, the process ends.
[0319] Reference Figures 12 to 14 This explains the state transition processing of process node D10 performed in step S13.
[0320] Reference Figure 12 The state transition processing of process node D10 in step S13 includes step S131, setting the root process node D10 as the parent process node, and step S132, performing state transition processing on the group of process nodes under the parent process node.
[0321] Reference Figure 13 The process involves state transition processing for the group of process nodes under the parent process node, including the following steps: S1321: Extracting incomplete process nodes D10 from the child process nodes of the parent process node; S1322: Determining whether there are incomplete process nodes D10; S1323: Extracting the group of process nodes with the smallest process number D151 from the incomplete process nodes D10; S1324: Performing state transition processing on the group of process nodes with the smallest process number D151; S1325: Determining whether the parent process node has action information D153; S1326: Putting the parent process node into an executable state; and S1327: Putting the parent process node into a completed state.
[0322] Step S1321: The process network status management unit 160 extracts the incomplete process node D10 from the child process nodes of the parent process node. The child process node of the parent process node refers to the direct child process node D10 of the parent process node D10, excluding the child process node D10 of the direct child process node D10 of the parent process node D10 (i.e., the grandchild process node D10 of the parent process node D10), etc.
[0323] Step S1322: The process network status management unit 160 determines whether the incomplete process node D10 extracted in step S1321 exists. If the incomplete process node D10 exists, proceed to step S1323. If the incomplete process node D10 does not exist, proceed to step S1325.
[0324] In step S1323, the process network status management unit 160 extracts the process node group with the smallest process number D151 from the incomplete process nodes D10 extracted in step S1321. The process node group with the smallest process number D151 refers to the set consisting of process nodes D10 with the smallest process number D151.
[0325] Step S1324: The process network status management unit 160 performs status transition processing on the process node group with the smallest process number D151 extracted in step S1323.
[0326] Step S1325: The process network status management unit 160 determines whether the parent process node has action information D153. If the parent process node has action information D153, proceed to step S1326. If there is no action information D153, proceed to step S1327.
[0327] Step S1326: The process network status management unit 160 puts the parent process node into an executable state.
[0328] Step S1327: The process network status management department 160 sets the parent process node to the completed state.
[0329] Reference Figure 14The process node group with the smallest process number D151 is subjected to state transition processing, including the following steps: S13241: Determine whether the process node D10 with the smallest process number D151 has a child process node D10; S13242: Set the process node D10 with the smallest process number D151 as the parent process node; S13243: Perform state transition processing on the process node group under the parent process node; S13244: Determine whether the process node D10 with the smallest process number D151 has action information D153; S13245: Set the process node D10 with the smallest process number D151 to the executable state; S13246: Set the process node D10 with the smallest process number D151 to the completed state; S13247: Determine whether all process nodes with the smallest process number D151 have been processed.
[0330] Step S13241: The process network status management unit 160 determines whether the process node D10 with the smallest process number D151 has a child process node. If the process node D10 with the smallest process number D151 has a child process node, proceed to step S13242. If the process node D10 with the smallest process number D151 does not have a child process node, proceed to step S13244.
[0331] Step S13242: The process network status management unit 160 sets the process node D10 with the smallest process number D151 as the new parent process node.
[0332] Step S13243: The process network status management department 160 performs state migration processing on the process node group configured under the parent process node.
[0333] Step S13244: The process network status management unit 160 determines whether the process node D10 with the smallest process number D151 has action information D153. If action information D153 exists, proceed to step S13245. If action information D153 does not exist, proceed to step S13246.
[0334] Step S13245: The process network status management unit 160 places the process node D10 with the smallest process number D151 into an executable state.
[0335] Step S13246: The process network status management unit 160 sets the process node D10 with the smallest process number D151 to the completed state.
[0336] In step S13247, the process network status management unit 160 determines whether all process nodes D10 in the process node group containing the smallest process number D151 have been processed. If all process nodes D10 in the process node group containing the smallest process number D151 have not been processed, the process returns to step S13241. When all process nodes D10 in the process node group containing the smallest process number D151 have been processed, the processing ends.
[0337] Reference Figure 15 The execution process of executable process node D10 in step S14 includes: step S141, determining whether there is an executable process node D10; step S142, executing the executable process node D10; step S143, setting the status of the executed process node D10 to the completed state.
[0338] Step S141: The process network execution unit 170 determines whether process node D10 is in an executable state. This determination is made by checking the value of process state D13 contained within process node D10.
[0339] In step S142, the process network execution unit 170 sends an action execution request to the action execution system 50 based on the action-related information contained in the process definition information D15 of the executable process node D10, thereby executing the process defined by the process definition information D15. Specifically, the process network execution unit 170 sends an action execution request to the action execution system 50 based on the content of the action items contained in the process definition information D15 of the executable process node D10. When the action information D153 contains multiple action items, the process network execution unit 170 can execute the action items in order of their smallest numbers.
[0340] In step S143, the process network execution unit 170 sets the process status D13 of the completed process node D10 to the completed state. There are no particular restrictions on the method for setting the processing status D13 to the completed state. For example, the process network execution unit 170 can request the storage unit 120 to set the processing status D13 of the process node D10 stored in the storage unit 120 to the completed state, thereby setting the processing status D13 of the completed process node D10 to the completed state. When the storage unit 120 functions as a database server, the request to the storage unit 120 can be made by sending an SQL query.
[0341] Reference Figure 16 and Figure 17 Instructions for use Figures 12 to 14 Example of the action of step S13 in the state transition processing of process node D10.
[0342] Figure 16 This is a schematic diagram of the data structure of the process network D1, used to illustrate an example of the action of the state transition processing step S13 of process node D10 executed in the process execution system 100. Figure 16 In the process network D1 shown, the root process node L01 has process nodes L11, L12, and L13 as child process nodes. Process node L11 has process nodes L21, L22, and L23 as child process nodes. Process node L12 has process nodes L24 and L25 as child process nodes. Figure 20 In the process nodes included in the aforementioned process network D1, the gray-colored process nodes L21, L22, L23, L24, L25, and L13 have action information D153, while the un-gray-colored process nodes L01, L11, and L12 do not have action information D153. The numbers within each node represent the process number.
[0343] Figure 17 This is a diagram illustrating the state transition of a process node D10 in the process execution system 100, specifically the example of the state transition processing step S13. The process network state management unit 160 processes the state transition of process node D10 repeatedly until all process nodes D10 within a process network D1 are in a completed state (see [link]). Figure 11 ). Figure 17 The diagram illustrates how the state of process node D10 transitions through state transition processing. Furthermore, in the following description, between the execution of one state transition process and the execution of the next, process node D10, which has become executable through that state transition process, is executed by the process network execution unit 170 and enters a completed state.
[0344] Reference Figure 12 First, in step S131, the root process node L01 is set as the parent process node. Next, in step S132, the state transition process of the process node group configured for the parent process node L01 is performed.
[0345] Reference Figure 13When performing state transition processing on the group of process nodes under parent process node L01, in step S1321, incomplete process nodes L11, L12, and L13 are extracted from the child process nodes L11, L12, and L13 of parent process node L01. Since incomplete child process nodes L11, L12, and L13 were extracted in step S1321, the judgment in step S1322 is Yes. Next, in step S1323, the group of process nodes {L11, L12} with the smallest process number 100 is extracted from the incomplete process nodes L11, L12, and L13. In step S1324, state transition processing is performed on the group of process nodes {L11, L12} with the smallest process number 100.
[0346] Reference Figure 14 The state transition processing of the process node group {L11, L12} with the minimum process number 100 is performed on each of the process nodes L11 and L12 contained in the process node group {L11, L12} with the minimum process number 100.
[0347] First, the state transition processing for the process node group configured for process node L11 is explained. Process node L11 has child process nodes L21, L22, and L23; therefore, the judgment in step S13241 is Yes, and the process proceeds to step S13242. In step S13242, process node L11 is set as the new parent process node. In step S13243, the state transition processing for the process node group configured for parent process node L11 is performed. (Refer to...) Figure 13 When performing state transition processing on the group of process nodes under parent process node L11, in step S1321, incomplete process nodes L21, L22, and L23 are extracted from the child process nodes of parent process node L11. Since there are incomplete process nodes L21, L22, and L23, the judgment in step S1322 is "Yes," and the process proceeds to step S1323. In step S1323, the group of process nodes {L21} with the smallest process number 100 is extracted from the incomplete child process nodes L21, L22, and L23. In step S1324, state transition processing is performed on the group of process nodes {L21} with the smallest process number 100. (Refer to...) Figure 14 When performing state transition processing on the process node group {L21} with the smallest process number 100, since process node L21 has no child process nodes, the judgment in step S13241 is No, and the process proceeds to step S13244. Since process node L21 has action information D153, the judgment in step S13244 is Yes, and the process proceeds to step S13245. In step S13245, process node L21 is placed in the executable state, and the state transition processing of the process node group configured by process node L11 is completed.
[0348] The state transition processing of the process node group under process node L12 is also performed in the same way, and the processing ends after process node L24 is in an executable state.
[0349] Reference Figure 14 After completing the state transition processing for the process node group configured for process node L11 and the process node group configured for process node L12, the judgment of S13247 is Yes, completing the state transition processing for the process node group {L11, L12} with the smallest process number 100. Thus, the first state transition processing is completed.
[0350] When the second state transition is performed, it will be the same as the first state transition. The process will proceed and process nodes L22 and L25 will become executable.
[0351] Next, during the third state transition process, the following steps are performed sequentially. Figure 12 Steps S131, S132 Figure 13 Steps S1321, S1322, and S1323. In step S1323, the process node group {L11, L12} with the smallest process number 100 is extracted, and the process proceeds to step S1324. In step S1324, state transition processing is performed on the process node group {L11, L12} with the smallest process number 100.
[0352] Reference Figure 14 When performing state transition processing on the group of process nodes under process node L11, the steps S13241, S13242, and S13243 are performed in that order. In step S13243, state transition processing is executed for the group of process nodes configured under parent process node L11. (Refer to...) Figure 13 When performing state transition processing on the process node group configured for parent process node L11, the steps S1321, S1322, S1323, and S1324 are performed in that order. In step S1324, state transition processing is executed on the process node group {L23} with the smallest process number 300. (Refer to...) Figure 14 For the state transition processing of the process node group {L23} with the minimum process number 300, the process is carried out in the order of steps S13241, S13244, and S13245, placing process node L23 into the executable state and ending the processing.
[0353] Reference Figure 14When performing state transition processing on the group of process nodes under process node L12, steps S13241, S13242, and S13243 are performed sequentially. In step S13243, state transition processing for the group of process nodes configured under parent process node L12 is executed. (Refer to...) Figure 13 When performing state transition processing on the group of process nodes under parent process node L12, the process is carried out in the order of steps S1321, S1322, S1325, and S1327, and process node L12 is placed in the completed state and the processing ends.
[0354] Next, during the fourth state transition process, the following steps are performed sequentially. Figure 12 Steps S131, S132 Figure 13 Steps S1321, S1322, and S1323. In step S1323, the process node group {L11} with the smallest process number 100 is extracted. In step S1324, state transition processing is performed on the process node group {L11} with the smallest process number 100. (Refer to...) Figure 14 For the state transition processing of process node L11, which has the smallest process number of 100, the steps S13241, S13242, and S13243 are performed in that order. In step S13243, the state transition processing for the process node group configured for the parent process node L11 is executed. (Refer to...) Figure 13 When performing state transition processing on the group of process nodes under parent process node L11, the process is carried out in the order of steps S1321, S1322, S1325, and S1327, and process node L11 is placed in the completed state and the processing ends.
[0355] Next, during the fifth state transition process, the following steps are performed sequentially. Figure 12 Steps S131, S132 Figure 13 Steps S1321, S1322, and S1323. In step S1323, the process node group {L13} with the smallest process number 200 is extracted, and the process proceeds to step S1324. In step S1324, state transition processing is performed on the process node group {L13} with the smallest process number 200. (Refer to...) Figure 14 The state transition process for process node L13 with the smallest process number 200 is processed sequentially through steps S13241, S13244, and S13245, which put process node L13 into an executable state and end the process.
[0356] Next, the sixth state transition process will be performed, proceeding sequentially. Figure 12 Steps S131, S132 Figure 13Steps S1321, S1322, S1325, and S1327. In step S1327, the parent process node L01 (root process node) is set to the completed state and the processing ends. As a result, the states of all process nodes D10 contained in the process network D1 become completed.
[0357] The process execution system 100 according to this embodiment includes multiple process master nodes DM10, which have process generation information DM15 for generating process definition information D15 that defines process content. A process network generation unit 150 generates a process network D1 containing multiple process nodes D10 with process definition information D15 from a process network model DM1 representing the relationships between process nodes D10 generated by the multiple process master nodes DM10. A process network state management unit 160 makes specific process nodes D10 executable based on the states of the process nodes D10 included in the process network D1 and predetermined process state transition rules. A process network execution unit 170 executes the process defined by the process definition information D15 of the executable process nodes D10 included in the process network D1. The process network generation unit 150 includes a process network model input unit 151 that receives input from the process network model DM1, and the process network model input unit 151 generates the process network D1 from the received input process network model DM1. The process definition information D15 includes action-related information D153 required to execute the process defined by the process definition information D15. The process network execution unit 170 sends an action execution request based on the action-related information D153 contained in the process definition information D15 of the executable process node D10 to the action execution system 50, thereby executing the process defined by the process definition information D15.
[0358] Therefore, the process execution system 100 involved in this embodiment functions as the execution environment of the process network model DM1. By changing the process network model DM1, the execution result can also be changed, thus enabling flexible responses to changes in business content, etc.
[0359] Furthermore, the operations required to execute the process are performed by the action execution system 50, which is independent of the process execution system 100. Therefore, only the specific actions required to execute the process need to be defined on the action execution system 50 side, while in the process network model DM1, only the method for requesting action execution from the action execution system 50 needs to be defined. Thus, business owners can more easily create and modify the process network model DM1, enabling them to respond more flexibly to changes in business content.
[0360] Furthermore, by defining the physical content of the actions required for the execution process on the action execution system 50 side, similar actions can be more easily reused across different business processes. In other words, by reusing actions in the process network model used to represent a business process, other similar business processes can be quickly represented and executed through the process network model. Therefore, the process execution system 100 according to this embodiment can more easily and quickly adapt to various business processes.
[0361] Furthermore, since the business processes constituting the operation are represented as a process network model DM1, the relationships between processes are easily understood. This makes it easier to prevent the execution results or changes in certain processes from unexpectedly affecting other processes. Because the process network model DM1 is separated from its execution environment (process execution system 100), the content of the business executed based on the process network model DM1 can be more easily evaluated by referring to it. As a result, stable business operations are easier to achieve.
[0362] Therefore, the process execution system 100 according to this embodiment has both flexibility and stability, and is highly adaptable to rapidly changing business environments.
[0363] Furthermore, in the process execution system 100 according to this embodiment, the process network model input unit 151 receives the input of a hierarchical process network model DM1, which is a relationship between process nodes D10 generated by multiple process master nodes DM10, and the process network generation unit 150 generates a hierarchical process network D1 corresponding to the hierarchical process network model DM1 received by the process network model input unit 151.
[0364] According to the process execution system 100 of this embodiment, the process network model DM1 is represented hierarchically. This allows the impact of changes to parts of the process network model DM1 to be limited to localized areas, thereby reducing the impact on other parts of the process network model DM1. Therefore, while ensuring stability, it is easier to modify the process network model DM1. Furthermore, since the process network model DM1 is represented hierarchically, the relationships between processes are easier to grasp, further simplifying stable business operations. Thus, according to this embodiment, by balancing flexibility and stability, it is easier to provide a process execution system 100 that adapts to rapidly changing business environments.
[0365] Second Implementation Method
[0366] The process execution system 200 of the second embodiment is summarized as follows: The process network status management unit receives a process status change request to change the status of a specific process node. The process master node has asynchronous flag master data and auto-start flag master data, and the process node has an asynchronous flag and an auto-start flag, which differs from the process execution system 100 of the first embodiment. According to the process execution system 200 of the second embodiment, the execution of business processes that include asynchronous processing becomes easier.
[0367] Asynchronous processing refers to processes such as making a query to a customer and performing specific actions upon receiving a response. A waiting period occurs between making a query to a customer and receiving a response, but during this waiting period, the process execution system 200 is preferably configured to execute other executable process nodes. According to the process execution system 200 of the second embodiment, the execution of business processes incorporating such asynchronous processing becomes easier. Furthermore, the process execution system 200 of the second embodiment can be configured identically to the process execution system 100 of the first embodiment, except for the configuration specifically described below.
[0368] Figure 18 This diagram illustrates the configuration of the process execution system 200 and the action execution system 50 that communicates with the process execution system 200 in this embodiment. Figure 19 This is a block diagram of the process execution system 200. Figure 20 This is a functional block diagram of the control unit 210 of the process execution system 200. Figure 21 This is a functional block diagram of the process network status management unit 260 of the process execution system 200. Figure 22 This is a schematic diagram showing the data structure of the process network model DM2 received by the process network model input unit 151 of the process execution system 200. Figure 23 This is a schematic diagram of the data structure of the process network D2 generated by the process network generation unit 250 of the process execution system 200. Figure 24 This is a schematic diagram illustrating the data structure of the process master node DM20 of the process network model DM2 received by the process network model input unit 151 of the process execution system 200. Figure 25 This is a schematic diagram of the data structure of process nodes D20 in process network D2 generated by process network generation unit 250 of process execution system 200. Hereinafter, process execution system 200 according to the second embodiment will be described.
[0369] like Figure 18 As shown, the process execution system 200 of this embodiment sends and receives information with the action execution system 50 via the communication means 90. The configuration of the action execution system 50 is the same as that of the action execution system 50 described in the first embodiment. The communication means 90 is configured in the same way as the communication means 90 described in the first embodiment.
[0370] like Figure 19 As shown, the process execution system 200 of this embodiment includes a control unit 210, a storage unit 220, and a communication unit 230. These components are interconnected via a bus 240. The storage unit 220 is configured similarly to the storage unit 120 of the process execution system 100 associated with the first embodiment. The communication unit 230 is configured similarly to the communication unit 130 of the process execution system 100 in the first embodiment. The bus 240 is configured the same as the bus 140 of the process execution system 100 in the first embodiment.
[0371] like Figure 20 As shown, the control unit 210 functions as the process network generation unit 250, the process network status management unit 260, and the process network execution unit 270. The process network generation unit 250 is identical in configuration to the process network generation unit 150 of the process execution system 100 in the first embodiment. The process network execution unit 270 is also identical in configuration to the process network execution unit 170 of the process execution system 100 in the first embodiment.
[0372] like Figure 21 As shown, the process network status management unit 260 has a process status change request receiving unit 261.
[0373] The process state change request receiving unit 261 receives a process state change request to change the state of a specific process node D20. Based on the process state change request received by the process state change request receiving unit 261, the process network state management unit 260 changes the state of that specific process node D20 contained in the process network D1. The target process node D20 of the process state change request received by the process state change request receiving unit 261 can be randomly selected by the sender of the process state change request. "Random selection is possible" means that a causal relationship between the process state change request and the internal state of the process execution system 200 cannot be specified. In other words, "random selection is possible" means that from the perspective of the process state change request receiving unit 261, the timing of the process state change request and the target process node D20 cannot be predicted. The target process node D20 of the process state change request received by the process state change request receiving unit 261 may be a process node D20 that has never undergone a state transition to an executable state.
[0374] The process status change request receiving unit 261 is configured to receive process status change requests from an external system of the process execution system 200. The process status change request receiving unit 261 can be configured to have an API for receiving process status change requests, or it can be configured to have a GUI for receiving process status change requests. The API for receiving process status change requests can receive process status change requests via HTTP communication. Alternatively, the GUI for receiving process status change requests can receive process status change requests, for example, through operations from a browser.
[0375] like Figure 22 As shown, the process network model DM2 of this embodiment includes multiple process master nodes DM20 and represents the relationships between the process master nodes DM20. Preferably, the process network model DM2 is a hierarchical process network model DM1 that represents the relationships between the multiple process master nodes DM20 in layers. Except for the points specifically explained below, the process network model DM2 is constructed the same as the process network model DM1 of the first embodiment.
[0376] like Figure 23 As shown, the process network D2 of this embodiment includes multiple process nodes D20 and represents the relationships between the process nodes D20. Preferably, the process network D2 is a hierarchical process network D1 that represents the relationships between the multiple process nodes D20 in a hierarchical manner. Except for the following points specifically mentioned, the process network D2 is the same as the process network D1 of the first embodiment.
[0377] Reference Figure 24 The process master node DM20 has a process master node identifier DM21, a parent process master node identifier DM22, and process generation information DM25. The process master node identifier DM21 can be constructed in the same way as the process master node identifier DM11 in the first embodiment. The parent process master node identifier DM22 can be constructed in the same way as the parent process master node identifier DM12 in the first embodiment.
[0378] Reference Figure 25 Process node D20 has a process node identifier D21, a parent process node identifier D22, a process status D23, and process definition information D25. The process node identifier D21 can be identically configured to the process node identifier D11 in the first embodiment. The parent process node identifier D22 can be identically configured to the parent process node identifier D12 in the first embodiment.
[0379] The process generation information DM25 includes process number master data DM251, process name master data DM252, action information master data DM253, asynchronous flag master data DM254, and automatic start flag master data DM255. The process number master data DM251 can be configured the same as the process number master data DM151 in the first embodiment. The process name master data DM252 can be configured the same as the process name master data DM152 related to the first embodiment. The action information master data DM253 can be configured the same as the action information master data DM153 in the first embodiment.
[0380] The process definition information D25 includes process number D251, process name D252, action information D253, asynchronous flag D254, and automatic start flag D255. Process number D251 can be identical to process number D151 associated with the first embodiment. Process name D252 can be identical to process name D152 in the first embodiment. Action information D253 can be identical to action information D153 in the first embodiment.
[0381] The values of the asynchronous flag master DM254 and the asynchronous flag D254 are, for example, true values. The process network generation unit 250 can be configured to set the asynchronous flag value of the process node D20 generated in the process network generation unit 250 to B when the value of the asynchronous flag master DM254 is B (true or false).
[0382] The values of the auto-start flag master data DM255 and the auto-start flag D255 are, for example, true values. The process network generation unit 250 can be configured to set the value of the auto-start flag D255 of the process node D20 generated in the process network generation unit 250 to B when the value of the auto-start flag master data DM255 is B (true or false value).
[0383] Next, refer to Figure 26 and Figure 27 This describes the operation of the process execution system 200 involved in this embodiment. Figure 26 It is a flowchart representing the processing steps executed in the process execution system 200. Figure 27 It is a flowchart representing the execution processing steps of executable process node D20 in process execution system 200. Figure 26 and Figure 27 The processing shown in the flowchart follows a procedure and is executed by the control unit 210 of the process execution system 200.
[0384] like Figure 26As shown, the program executed by the control unit 210 of the process execution system 200 includes the following steps: Step S21, receiving input from the process network model DM2; Step S22, generating the process network D2; Step S23, performing state transition processing for process nodes D20; Step S24, performing execution processing for executable process nodes D20; Step S25, determining whether all process nodes D20 included in the process network D2 are in a completed state. Step S21, receiving input from the process network model DM2, can be configured the same as step S11, receiving input from the process network model DM1 in the first embodiment. Step S22, generating the process network D1, can be configured the same as step S12, generating the process network D1 according to the first embodiment. Step S25, determining whether all process nodes D20 included in the process network D2 are in a completed state, can be configured the same as step S15, determining whether all process nodes D10 included in the process network D1 in the first embodiment are in a completed state.
[0385] Step S23, the step of performing state transition processing for process node D20, is the same as step S13 of the process execution system 100 according to the first embodiment for the state transition processing of process node D10, except for the following points. That is, the process network state management unit 260 performs the state transition processing for process node D20 in step S1326 (see...). Figure 13 ) and step S13245 (see Figure 14 In this process, process node D20 is placed in an executable state. If process node D20 is an automatically started process, its process state D23 is also placed in an executable state. If process node D20 is not an automatically started process, its process state D23 remains unchanged. The determination of whether process node D20 is an automatically started process is based on the value of its automatic start flag D255. For example, the process network status management unit 260 determines that process node D20 is an automatically started process if its automatic start flag value is True, and a non-automatically started process if its automatic start flag value is False.
[0386] Step S24, as follows Figure 27As shown, the execution processing of executable process node D20 in step S24 includes: step S241, determining whether an executable process node D20 exists; step S242, executing the executable process node D20; step S243, determining whether the completed process node D20 is an asynchronous process; and step S244, setting the status of the completed process node D20 to a completed state. Step S241, determining whether an executable process node D20 exists, can be configured identically to step S141 in the first embodiment, which determines whether an executable process node D10 exists. Step S242, executing the executable process node D20, can be configured identically to step S142 in the first embodiment, which executes the executable process node D10.
[0387] Step S243: The process network execution unit 270 determines whether the completed process node D20 is an asynchronous process. If it determines that the completed process node D20 is an asynchronous process, the process ends. If it determines that the completed process node D20 is not an asynchronous process, the process proceeds to step S244. The process network execution unit 270 determines whether the completed process node D20 is an asynchronous process based on the asynchronous flag value of the completed process node D20. Specifically, the process network execution unit 270 determines that the completed process node D20 is an asynchronous process if the asynchronous flag value is True, and determines that the completed process node D20 is an asynchronous process if the asynchronous flag value is False. The process network execution unit 270 can be configured to change the process state D23 to a standby state if the completed process node D20 is an asynchronous process.
[0388] In step S244, the process network execution unit 270 sets the process state D23 of the completed process node D20 to a completed state. There are no particular limitations on the method for changing the process state D23 to a completed state; for example, it can be done by sending a request to the storage unit 220 described in step S143 of the first embodiment. Alternatively, the process network execution unit 270 can also send a process state change request to the process network state management unit 260 to change the process state D23 of the completed process node D20 to a completed state.
[0389] In the process execution system 200 of this embodiment, the process network status management unit 260 includes a process status change request receiving unit 261. The receiving unit accepts a process status change request to change the status of a specific process node D20, and changes the status of the specific process node D20 contained in the process network D1 based on the process status change request accepted by the process status change request receiving unit 261.
[0390] Therefore, the process network model DM2 executed by the process execution system 200 according to this embodiment can more easily represent business processes that include asynchronous processing. Consequently, it becomes easier to modify the process network model DM2 as business content changes, and the maintainability of the process network model DM2 is also improved. In summary, according to this embodiment, by balancing flexibility and stability, it is easier to provide a process execution system 200 that adapts to rapidly changing business environments.
[0391] Third Implementation Method
[0392] The process execution system 300 of the third embodiment is characterized in that the control unit 310 also has a transcription unit 380, which differs from the process execution system 200 of the second embodiment. According to the process execution system 300 of the third embodiment, since the content of the execution process can be changed according to changes in the environment E, its adaptability to rapidly changing business environments can be further improved. Furthermore, the process execution system 300 of the third embodiment can be configured identically to the process execution system 200 of the second embodiment, except for the configuration specifically described below.
[0393] Figure 28 This is a functional block diagram of the control unit 310 of the process execution system 300 involved in this embodiment. Figure 29 This is a functional block diagram of the transcription unit 380 of the process execution system 300 involved in this embodiment. Figure 30 This is a conceptual diagram representing the process generation information DM35 of the process execution system 300 involved in this embodiment. Figure 31 This is a conceptual diagram illustrating the interaction between the process execution system 300 and the environment E involved in this embodiment. Figure 32 This is a schematic diagram illustrating the data structure of the Case Data Table (CDT) referenced by the process execution system 300 involved in this embodiment. Figure 33 This is a schematic diagram showing the data structure of the context data CxD stored in the process network model input unit 351 of the process execution system 300 of this embodiment. Figure 34 This is a diagram illustrating the structure of the transcription process tag PT in the process execution system 300 of this embodiment. Figure 35 This is a diagram illustrating the structure of the selection process label PTs in the process execution system 300 according to this embodiment. Figure 36 This is a diagram illustrating the structure of the recurring process label PTi in the process execution system described in this embodiment. Figure 37 This is a diagram illustrating the structure of the replacement process label PTR in the process execution system 300 according to this embodiment. Figure 38 This is a diagram illustrating the syntax of the transcription factor model tag MT in the process execution system 300 involved in this embodiment. Figure 39This is a graph showing the output data Dout of the transcription factor model M of the process execution system 300 according to the third embodiment of the present invention. The process execution system 300 of the third embodiment will be described below.
[0394] Reference Figures 28 to 31 The process execution system 300 involved in this embodiment also includes a transcription unit 380, which executes a transcription process to transcribe the process generation information DM35 of a process master node DM30 as process definition information D35 to a process node D30 corresponding to the process master node DM30.
[0395] The process generation information DM35 includes one or more transcription process definition information PDinfos that define the transcription process. Specifically, the process generation information DM35 includes one or more transcription process definition information PDinfos that define a transcription process in which the process generation information DM35 is used as process definition information D35 to transcribe to a process node D30 corresponding to the process master node DM30 that has the process generation information DM35. The transcription process definition information PDinfo includes one or more transcription factor model definition information MDinfos that define a transcription factor model M that models the influence of the environment E that the process execution system 300 can communicate with on the transcription process.
[0396] The transcription unit 380 includes a transcription request receiving unit 381 that receives a transcription process execution request, a transcription factor model evaluation unit 382 that evaluates a transcription factor model M defined by transcription factor model definition information MDinfo, and a transcription process execution unit 383 that executes a transcription process defined by transcription process definition information PDinfo.
[0397] The communicable environment E of the process execution system 300 includes the internal environment Ein that the process execution system 300 can communicate exclusively with, and the external environment Eout that the process execution system 300 can communicate with from the perspective of the external system SysOut.
[0398] The external system SysOut includes the action execution system 50. The external system SysOut is a system other than the action execution system 50, and includes system S1 that communicates with the process execution system 300. The external system SysOut also includes system S2 that does not directly communicate with the process execution system 300. A system that does not directly communicate with the process execution system 300 is one whose causal relationship caused by signals emitted by the process execution system 300 cannot be determined.
[0399] The internal environment Ein includes the storage unit 220 of the process execution system 300. The internal environment Ein includes the storage unit 220 that functions as a database server. When the process execution system 300 runs as a web application on a server machine, the internal environment Ein includes the database server managed by that web application.
[0400] The external environment Eout includes the external system SysOut itself, which communicates with the process execution system 300.
[0401] The transcription factor model evaluation unit 382 uses information that the process execution system 300 can obtain from the communicable environment E as input data Din to evaluate the transcription factor model M. The input data Din used by the transcription factor model evaluation unit 382 to evaluate the transcription factor model M is not particularly limited, as long as it is information obtained from the environment E that the process execution system 300 can communicate with.
[0402] The input data Din includes data obtained from the storage unit 220 (internal environment Ein) of the process execution system 300.
[0403] The input data Din includes data obtained from the external database server (external environment Eout) with which the external system SysOut communicates.
[0404] Data can be retrieved from an external database server (external environment Eout) that communicates with an external system (SysOut). For example, if the external system (SysOut) is a web application built using a web application creation framework like Django, data can be retrieved through the web application's API when the web application communicates with the external database (external environment Eout). Furthermore, when the external system (SysOut) is Microsoft 365's PowerAutomate, and the external database server (external environment Eout) is Microsoft Dataverse, SharePoint Online, or Excel Online, data can be retrieved from the external database server through the API built into PowerAutomate's workflow (initiated via HTTP POST).
[0405] Furthermore, when retrieving data from an external database server (external environment Eout) that communicates with an external system SysOut, the data can be retrieved directly from that external database server. For example, if the external system SysOut is Microsoft 365's PowerAutomate and the external database server (external environment Eout) is Microsoft Dataverse, data can be retrieved from Microsoft Dataverse via the Microsoft Dataverse WebAPI.
[0406] SysOut's external systems include Web3.0 (Web3) related systems that use blockchains such as Ethereum. SysOut's external systems include applications that handle DApps and smart contracts built on the blockchain.
[0407] The input data Din can be information generated by an external system SysOut (External Environment Eout) that the process execution system 300 can communicate with. This information generated by SysOut (External Environment Eout) can include, for example, text, images, audio, and other data generated by a learned generative model in response to a request from the process execution system 300. Depending on the customer's requirements, services that generate text using the learned generative model may be available, such as ChatGPT.
[0408] The process network model input unit 351 is the same as the process network model input unit 251 of the process execution system 200 in the second embodiment, except for the following points. That is, when receiving input from the process network model DM3, the process network model input unit 351 also receives input of context data CxD associated with a process network D3 generated from the process network model DM3. The input data Din includes the context data CxD received by the process network model input unit 351.
[0409] When receiving input from the process network model DM3, the process network model input unit 351 saves the received context data CxD to the database server, which functions as the storage unit 220.
[0410] Reference Figure 32 Case data (CD) related to cases processed in the business represented by the process network model DM3 is stored, case by case, in one or more case data tables (CDT) in a data server (internal environment Ein) that functions as storage unit 220. Case data tables (CDT) can be stored in an external database server (external environment Eout) that communicates with the external system SysOut.
[0411] Reference Figure 33When receiving input from the process network model DM3, the process network model input unit 351 saves the received context data CxD to the context table CxT of the database server, which serves as the storage unit 220. The context data CxD includes the case ID (CID) of the case processed in the business represented by the process network model DM3. The case ID (CID) is represented by a combination of the application name CID1 that manages the case data table CDT, the table name CID2 of the case data table CDT, and the record ID (CID3) of the case data of the relevant case stored in the case data table CDT.
[0412] When saving context data CxD to a database server that functions as a storage unit 220, the process network model input unit 351 saves the context data CxD in correspondence with the process node identifier D31 of the process node D30 contained in the associated process network D3.
[0413] There are no particular restrictions on the transcription factor model M, as long as it determines the output based on the input data Din. The transcription factor model M can be a deterministic model or a probabilistic model. Deterministic models for the transcription factor model M include models represented by functions, preferably models represented by higher-order functions with functions as arguments. Deterministic models for the transcription factor model M include deterministic deep learning models and other machine learning models. Probabilistic models for the transcription factor model M include probabilistic deep learning models (generative models) and machine learning models such as deep Boltzmann machines.
[0414] The transcription process execution unit 383 controls the transcription process based on the evaluation results R of one or more transcription factor models M evaluated by the transcription factor model evaluation unit 382.
[0415] The transcription process controlled by the transcription process execution unit 383 includes: a selection process that generates a portion of information DM35 based on the evaluation result R of the transcription factor model M; a repetitive process that generates a portion of information DM35 based on the evaluation result R of the transcription factor model M; and a replacement process that generates a portion of information DM35 based on the evaluation result R of the transcription factor model M.
[0416] In addition to selection, repetition, and replacement processes, the transcription process execution unit 383 can be configured to implement functionality equivalent to that of a template engine in a framework for creating web applications. For example, the transcription process execution unit 383 can be configured to implement the same functionality as template tags and filters provided by Django TemplateLanguage (DTL) used in the Django framework for creating web applications.
[0417] The transcription process execution unit 383 can be constructed by extending the template engine provided by the web application creation framework. Specifically, the transcription process execution unit 383 inputs the process generation information DM35 as a template into the template engine, while simultaneously inputting the evaluation result R of the transcription factor model M as context data. In this way, the template engine can perform various operations, including process replacement, process selection, and process repetition. When inputting the process generation information DM35 as a template into the template engine, the transcription process execution unit 383 rewrites the transcription process label PT and the transcription factor model label MT contained in the process generation information DM35 according to the template engine's specifications.
[0418] The transcription process definition information PDinfo is represented by transcription process tags PT described in a defined syntax. The descriptive structure of the transcription process tags PT is not specifically limited. From... Figures 34 to 37 The constructional definition of the transcription process tag PT is illustrated using the Extended Backus-Naur Form.
[0419] Reference Figure 34 Transcription process label PT is a selection process label PTs for a selection process, a repetition process label PTi for a repetition process, or a replacement process label PTr for a replacement process.
[0420] Reference Figure 35 The selected process label PTs is the <main selection block>, the <secondary selection block> is the data that is repeated selectively, the <default selection block> is the data that is selected sequentially, and the <select process label terminator> is the data.
[0421] The <Main Selection Block> is a list of data arranged in sequence: <Main Selection Block Start Symbol>, <Selection Condition>, <Transcription Process Label End Symbol>, and <Selection Block>.
[0422] The `<main selection block start symbol>` indicates the start position of the main selection block. The `<main selection block start symbol>` example illustrates a combination of `<transcription process label start symbol>` and "if", but it is not specifically limited as long as the start position of the main selection block can be determined. The `<transcription process label start symbol>` indicates the start position of the transcription process label PT. The `<transcription process label start symbol>` uses "{%" as an example, but it is not specifically limited as long as the start position of the transcription process label PT can be determined.
[0423] The <selection criteria> are data consisting of a <logical expression> and a sequentially arranged list of selective <logical operators> and <logical expressions>. The <logical expressions> are data arranged in order of <formula>, <logical operators>, and <formula>. <Formula> is data enclosed in parentheses, consisting of <value>, <transcription factor model label>, or <logical expression>. By specifying <transcription factor model label> to <formula>, the evaluation result R of the transcription factor model M represented by the <transcription factor model label> can be used in the <selection criteria>. Furthermore, by specifying <logical expression> as <formula>, <logical expression> can be used within <logical expression>. The evaluation of <logical expression> takes precedence over the evaluation of the logical expression enclosed in the innermost parentheses. <value> is string data.
[0424] The <transcription process label termination symbol> indicates the terminal position of the transcription process label PT. The <transcription process label termination symbol> is illustrated using "%}" as an example, but it is not particularly limited as long as the terminal position of the transcription process label PT can be determined.
[0425] The <subselection block> is a list of data arranged in the following order: <subselection block start symbol>, <selection condition>, <transcription process label end symbol>, and <selection block>. The <subselection block start symbol> indicates the starting position of the subselection block. The <subselection block start symbol> is an example of <transcription process label start symbol> and "elif" being listed together, but it is not particularly limited as long as the starting position of the subselection block can be determined.
[0426] The <Default Selection Block> is a list of data arranged in sequence: <Default Selection Block Start Symbol>, <Transcription Process Label End Symbol>, and <Selection Block>. The <Default Selection Block Start Symbol> indicates the starting position of the default selection block. The <Default Selection Block Start Symbol> is an example of <Transcription Process Label Start Symbol> and "else" being listed together, but it is not specifically limited as long as the starting position of the default selection block can be determined.
[0427] A <selection block> is data that selectively arranges <string> and <transcription process label> more than zero times. For example, a <selection block> could be data arranged in the order of <string>, <string>, <transcription process label>, <string>, <transcription process label>. A <selection block> can be empty.
[0428] <Selection process label termination symbol> indicates the terminal position of the selection process label PTs. <Selection process label termination symbol> is an example of a combination of <transcription process label start symbol> and "endif" and <transcription process label termination symbol>, but it is not particularly limited as long as the terminal position of the selection process label PTs can be determined.
[0429] Reference Figure 36 The iterative process label PTi is data consisting of <iterative condition block>, <iterative block>, and <iterative process label terminator> arranged in sequence.
[0430] The <repetition condition block> is a data set that sequentially arranges the <repetition condition block start symbol>, <repetition condition>, and <transcription process label end symbol>.
[0431] <Repetition start symbol> indicates the beginning position of the repetition condition block. <Repetition start symbol> is an example of <transcription process label start symbol> and "for", but it is not particularly limited as long as the beginning position of the repetition condition block can be determined.
[0432] <Repetition Condition> is a sequence of data including <loop variable>, "in", and <loop variable array>. <loop variable> is a string type. <loop variable array> is either a <loop variable array constant> or a <transcription factor model label>. By specifying <loop variable array> as <transcription factor model label>, the evaluation result R of the transcription factor model M can be used as the loop variable array. <loop variable array constant> is string type data separated by commas enclosed in parentheses.
[0433] A <repeated block> is data that is selectively <string>, selectively <loop variable> data enclosed in double brackets ("{{", "}}"), selectively <transcription process label>, or sequentially arranged data arranged zero or more times. For example, a <repeated block> can be data arranged in the order of {{<loop variable>}}, <string>, <string>, <transcription process label>, {{<loop variable>}}, <string>. A <repeated block> can be empty.
[0434] The <repetition flow label termination symbol> indicates the terminal position of the repetition flow label PTi. The <repetition flow label termination symbol> is an example of the <transcription flow label start symbol>, "endfor", and <transcription flow label termination symbol> arranged in sequence, but it is not particularly limited as long as the terminal position of the repetition flow label PTi can be determined.
[0435] Reference Figure 37 The replacement process label PTR is the <transcription factor model label> itself.
[0436] The transcription factor model definition information MDinfo is represented by the transcription factor model tag MT, which is described by a specific construction. There are no particular restrictions on the construction of the transcription factor model tag MT. Figure 38 In this paper, the grammatical definition of the transcription factor model tag MT is illustrated using Extended Backus-NaurForm.
[0437] Transcription factor model label MT is data arranged in the following order: <transcription factor model label start symbol>, <transcription factor model>, selective <evaluation result selector group>, and <transcription factor model label end symbol>.
[0438] <Transcription factor model label start symbol> indicates the beginning position of the transcription factor model label MT. <Transcription factor model> indicates the transcription factor model M. <Evaluation result selector group> indicates the data selected from the output data Dout of the transcription factor model M as the evaluation result R of the transcription factor model M. <Transcription factor model label end symbol> indicates the ending position of the transcription factor model label MT.
[0439] Figure 38 In the example, the case where the <start symbol of transcription factor model tag> is "<<<" is used, but the <start symbol of transcription factor model tag> is not particularly limited as long as it can determine the starting position of the transcription factor model tag MT.
[0440] The <transcription factor model> consists of a <model ID> and, optionally, a <group of input data> arranged sequentially. The <model ID> is an identifier used to uniquely identify the transcription factor model M. The <group of input data> represents one or more input data Din used to evaluate the transcription factor model M.
[0441] There are no particular restrictions on the representation of <Model ID>. In this embodiment, <Model ID> has a hierarchical structure. Specifically, <Model ID> is data consisting of one or more <Model Group Names> separated by ".", and <Model Name> arranged sequentially. The <Model Group Names> are arranged from left to right in order from the upper hierarchy to the lower hierarchy. Both <Model Group Names> and <Model Name> are string data.
[0442] <Input Data Group> is the data enclosed in parentheses for <Input Data>. <Input Data> is one or more <Input Variables> separated by commas.
[0443] <Input Variable> is the data concatenated by <Input Variable Name> and <Input Variable Value> using "=". <Input Variable Name> is string data. <Input Variable Value> is either a string or a <Transcription Factor Model Label>. A transcription factor model M, by being able to set a <Transcription Factor Model Label> in the <Input Variable Value>, has a higher-order function structure that uses the evaluation result R of one transcription factor model M as input data Din for other transcription factor models M.
[0444] The <evaluation result selector group> is a list of data separated by ".". Each <evaluation result selector> represents an identifier used to identify data from the output data Dout of transcription factor model M used as the evaluation result R of transcription factor model M. The <evaluation result selector group> may not be necessary if all data contained in the output data Dout of transcription factor model M are used as the evaluation result R of transcription factor model M.
[0445] The output data Dout of the transcription factor model M can contain multiple data sets. Specifically, the output data Dout of the transcription factor model M can be a list, an array, an associative array, or nested structured data. Figure 39 This example illustrates the case where the output data Dout of transcription factor model M is in JSON format. When the output data Dout of transcription factor model M is structured data, the <evaluation result selector group> arranges the identifiers used for specific data at each level from left to right, from the upper level to the lower level of the structured data. For example, Figure 39 The <evaluation result selector group> that specifies "value 31B" in the output data Dout shown can be "1.key12.0.key22.key31".
[0446] When the transcription factor model M is a probabilistic model, the output data Dout may be a probability distribution. When the output data Dout is a probability distribution, the <evaluation result selector group> can be data representing the random variable value with the highest probability in that probability distribution.
[0447] Figure 38 In the example, the <transcription factor model tag terminator> is ">>>", but the <transcription factor model tag terminator> is not particularly limited as long as it can specify the terminal position of the transcription factor model tag MT.
[0448] Next, refer to Figure 40 and Figure 41 This indicates the action taken by system 300 during the process execution. Figure 40 This is a flowchart representing the processing steps executed in the process execution system 300 in this embodiment. Figure 41 This is a flowchart representing the execution processing steps of the executable process node D30 executed in the process execution system 300 in this embodiment. Figure 41 as well as Figure 42 The process shown in the flowchart is executed by the control unit 310 of the process execution system 300 according to the program.
[0449] like Figure 40As shown, the program executed by the control unit 310 of the process execution system 300 includes: step S31, receiving input from the process network model DM3; step S32, generating the process network D3; step S33, performing state transition processing for process node D30; step S34, performing execution processing for executable process node D30; and step S35, determining whether all process nodes D30 contained in the process network D3 are in a completed state.
[0450] Step S32, which generates process network D3, can be configured the same as step S22, which generates process network D2 in the second embodiment. Step S33, which performs state transition processing for process node D30, can be configured the same as step S23, which performs state transition processing for process node D20. Step S35, which determines whether all process nodes D30 included in process network D3 are in a completed state, can be configured the same as step S25, which determines whether all process nodes D20 included in process network D2 in the second embodiment are in a completed state.
[0451] Step S31, receiving input from the process network model DM3, is identical to step S21 in the second embodiment, except for the following points. Specifically, when receiving input from the process network model DM3, the process network model input unit 351 receives input of context data CxD associated with a process network D3 generated from the process network model DM3. Upon receiving input from the process network model DM3, the process network model input unit 351 saves the received context data CxD to the context table CxT of the database server, which serves as the storage unit 220.
[0452] Step S34, as follows Figure 41 As shown, the execution processing of executable process node D30 in step S34 includes: step S341, determining whether there is an executable process node D30; step S342, sending an execution request for the transcription process; step S343, executing the executable process node D30; step S344, determining whether the completed process node D30 is an asynchronous process; step S345, setting the status of the completed process node D30 to the completed state.
[0453] Step S341, which determines whether an executable process node D30 exists, can be configured identically to step S241, which determines whether an executable process node D20 exists in the second embodiment. Step S343, which executes the executable process node D30, can be configured identically to step S242, which executes the executable process node D20 in the second embodiment. Step S344, which determines whether the executed process node D30 is an asynchronous process, can be configured identically to step S243, which determines whether the executed process node D20 is an asynchronous process in the second embodiment. Step S345, which sets the state of the executed process node D30 to a completed state, can be configured identically to step S244, which sets the state of the executed process node D20 to a completed state in the second embodiment.
[0454] In step S342, the process network execution unit 370 sends an execution request to the executable process node D30, and transcribes the process generation information DM35 of the corresponding process master node DM30 as process definition information D35 to the executable process node D30. The transcription unit 380 transcribes the process generation information DM35 of the transcription process execution request received by the transcription request receiving unit 381 into the process definition information D35 of the process node corresponding to the process master node DM30 that has the process generation information DM35. The process definition information D35 is updated through the transcription by the transcription unit 380.
[0455] In step S343, the process network execution unit 370 executes the process based on the process definition information D35 updated by transcription by the transcription unit 380 in step S342.
[0456] Reference Figures 42 to 44 This describes the actions of the program executed by the transcription unit 380 of the process execution system 300. Figure 42 This is a flowchart illustrating the processing sequence executed in the transcription section 380 of the process execution system 300 according to this embodiment. Figure 43 This is a flowchart illustrating the evaluation processing steps of the evaluation object transcription factor model Me, performed in the transcription section 380 of the process execution system 300 according to this embodiment. Figure 44 This is a flowchart illustrating the evaluation processing steps of the original evaluation target transcription factor model Mo, performed in the transcription section 380 of the process execution system 300 according to this embodiment. Figures 42 to 44 The process shown in the flowchart is executed by the control unit 310 of the process execution system 300 according to the procedure.
[0457] The program executed by the transcription unit 380 of the process execution system 300 includes: step S381, receiving an execution request for the transcription process; step S382, setting the process generation information DM35 as the transcription information Tinfo; step S383, extracting the transcription process definition information PDinfo from the transcription information Tinfo; step S384, determining whether the transcription process definition information PDinfo has been extracted; step S385, setting the evaluation object transcription factor model Me; step S386, performing evaluation processing on the evaluation object transcription factor model Me; step S387, processing the transcription information Tinfo; step S388, determining whether all the transcription process definition information PDinfo has been processed; and step S389, executing the transcription process defined by the transcription process definition information PDinfo.
[0458] Step S381: The transcription request receiving unit 381 receives an execution request for the transcription process of the process generation information DM35 possessed by the process master node DM30.
[0459] Step S382: The transcription process execution unit 383 sets the process generation information DM35 of the transcription process execution request to the transcription information Tinfo in step S381.
[0460] Step S383: The transcription process execution unit 383 extracts the transcription process definition information PDinfo from the transcription information Tinfo. Specifically, the transcription process execution unit 383 extracts the transcription process tag PT, which represents the transcription process definition information PDinfo, from the transcription information Tinfo.
[0461] Step S384: The transcription process execution unit 383 determines whether the transcription process definition information PDinfo has been extracted. Specifically, the transcription process execution unit 383 determines whether the transcription process tag PT representing the transcription process definition information PDinfo has been extracted. If it is determined that the transcription process definition information PDinfo has been extracted, the process proceeds to step S385. If it is determined that the transcription process definition information PDinfo has not been extracted, the process proceeds to step S389.
[0462] Step S385: The transcription factor model evaluation unit 382 sets the transcription factor model M defined by the transcription factor model definition information MDinfo contained in the transcription process definition information PDinfo as the evaluation object transcription factor model Me.
[0463] Specifically, when the transcription process label PT represented by the transcription process definition information PDinfo is a selected process label PTs, the transcription factor model evaluation unit 382 sets the transcription factor model M represented by the transcription factor model label MT included in the selection conditions of the selected process label PTs as the evaluation target transcription factor model Me. When the transcription process label PT represented by the transcription process definition information PDinfo is a repetition process label PTi, the transcription factor model evaluation unit 382 sets the transcription factor model M represented by the transcription factor model label MT included in the repetition conditions of the repetition process label PTi as the evaluation target transcription factor model Me. When the transcription process definition information PDinfo is represented by the transcription process label PT and the transcription process label PT is a replacement process label PTr, the transcription factor model evaluation unit 382 sets the transcription factor model M represented by the transcription factor model label MT composed of the replacement process label PTr as the evaluation target transcription factor model Me.
[0464] In step S386, the transcription factor model evaluation unit 382 performs the evaluation processing of the transcription factor model Me, which was set in step S385. When performing the evaluation processing of the transcription factor model Me, the transcription factor model evaluation unit 382 uses information obtained from the communicable environment E of the process execution system 300 as input data Din to evaluate the transcription factor model Me.
[0465] Step S387: The transcription process execution unit 383 processes the transcriptional information Tinfo based on the evaluation results R of the transcription factor model M evaluated in step S386.
[0466] When the transcription process label PT represented by the transcription process definition information PDinfo is a selected process label PTs, the transcription process execution unit 383 evaluates the selection conditions based on the evaluation result R of the transcription factor model M represented by the transcription factor model label MT included in the selection conditions of the selected process label PTs, and replaces the selected process label PTs with the selection block where the selection condition is true.
[0467] When the transcription process label PT represented by the transcription process definition information PDinfo is a repetition process label PTi, the transcription process execution unit 383 generates repetition information for the repetition block repeatedly by using each element contained in the <loop variable array> as the value of the loop variable, thereby replacing the repetition process label PTi. When generating repetition information, if the repetition block contains "{{<loop variable>}}", the transcription process execution unit 383 replaces "{{<loop variable>}}" according to the value of the loop variable. When the transcription factor model label MT is set in the <loop variable array>, the transcription process execution unit 383 treats the evaluation result R of the transcription factor model M represented by the transcription factor model label MT as the <loop variable array>.
[0468] When the transcription process label PT represented by the transcription process definition information PDinfo is the replacement process label PTr, the transcription process execution unit 383 replaces the replacement process label PTr with the evaluation result R of the transcription factor model M represented by the transcription factor model label MT that constitutes the replacement process label PTr.
[0469] In step S388, the transcription process execution unit 383 determines whether all the transcription process definition information PDinfo extracted in step S383 has been processed. If it is determined that all the transcription process definition information PDinfo has been processed, the process returns to step S383. If there is unprocessed transcription process definition information PDinfo, the process returns to step S385.
[0470] Step S389: In step S381, the transcription process execution unit 383 transcribes the transcription information Tinfo as process definition information D35 to the process node D30 corresponding to the process master node DM30 that received the transcription process execution request.
[0471] Reference Figure 43 Step S386, which involves evaluating the transcription factor model Me, includes: Step S3861, setting the evaluation target transcription factor model Me as the original evaluation target transcription factor model Mo; Step S3862, extracting the transcription factor model M set in the input data Din; Step S3863, determining whether the transcription factor model M has been extracted; Step S3864, setting the extracted transcription factor model M as the evaluation target transcription factor model Me; Step S3865, performing the evaluation processing of the evaluation target transcription factor model Me; Step S3866, determining whether all extracted transcription factor models M have been evaluated; and Step S3867, performing the evaluation processing of the original evaluation target transcription factor model Mo.
[0472] Step S3861: The transcription factor model evaluation unit 382 sets the evaluation object transcription factor model Me to the original evaluation object transcription factor model Mo.
[0473] Step S3862: The transcription factor model evaluation unit 382 extracts the transcription factor model M set in the input data Din of the original evaluation object transcription factor model Mo. Specifically, the transcription factor model evaluation unit 382 extracts the transcription factor model M represented by the transcription factor model label MT set in the <value of input variable> of the transcription factor model label MT of the original evaluation object transcription factor model Mo.
[0474] Step S3863, Transcription Factor Model Evaluation Unit 382: In step S3862, it is determined whether the transcription factor model M has been extracted. If it is determined that the transcription factor model M has been extracted, proceed to step S3864. If it is determined that the transcription factor model M has not been extracted, proceed to step S3867.
[0475] Step S3864, Transcription Factor Model Evaluation Unit 382: In step S3862, the extracted transcription factor model M is set as the evaluation object transcription factor model Me.
[0476] Step S3865: The transcription factor model evaluation unit 382 performs evaluation processing on the transcription factor model Me of the evaluation object.
[0477] In step S3866, the transcription factor model evaluation unit 382 determines whether all transcription factor models M extracted in step S3862 have been evaluated. If it is determined that all transcription factor models M extracted in step S3862 have been evaluated, then proceed to step S3867. If it is determined that there are unevaluated transcription factor models M among the transcription factor models M extracted in step S3862, then return to step S3864.
[0478] Step S3867: The transcription factor model evaluation unit 382 performs evaluation processing on the original evaluation object, transcription factor model Mo.
[0479] Reference Figure 44 The step S3867 of evaluating the original evaluation object transcription factor model Mo includes: step S38671 of specifying the model type of the original evaluation object transcription factor model Mo, step S38672 of obtaining the output data Dout of the original evaluation object transcription factor model Mo, and step S38673 of determining the evaluation result R of the original evaluation object transcription factor model Mo.
[0480] Step S38671: The transcription factor model evaluation unit 382 determines the model type of the original evaluation object transcription factor model Mo. Specifically, the transcription factor model evaluation unit 382 determines the model type of the original evaluation object transcription factor model Mo based on the transcription factor model tag MT representing the original evaluation object transcription factor model Mo. More specifically, the transcription factor model evaluation unit 382 determines the model type of the original evaluation object transcription factor model Mo based on the <model ID> contained in the transcription factor model tag MT of the original evaluation object transcription factor model Mo.
[0481] More specifically, in the transcription factor model evaluation unit 382, if the <model ID> does not contain <model group name> and the model name is "self-process", the transcription factor model evaluation unit 382 determines the model type of the original evaluation object transcription factor model Mo as the self-process reference type.
[0482] In the transcription factor model evaluation unit 382, when the transcription factor model tag MT representing the original evaluation object transcription factor model Mo has the <model ID>, the <model group name> is the application name, and the <model name> is the table name, the model type of the original evaluation object transcription factor model Mo is specified as the table reference type.
[0483] In the transcription factor model evaluation unit 382, if the <model ID> is empty and the <model name> is "script" in the transcription factor model tag MT representing the original evaluation object transcription factor model Mo, the model type of the original evaluation object transcription factor model Mo is determined to be script type.
[0484] If the transcription factor model evaluation unit 382 does not contain a <model group name> in the transcription factor model tag MT representing the original evaluation object transcription factor model Mo, and the <model name> is "machine learning model", then the model type of the original evaluation object transcription factor model Mo is determined to be a machine learning model type.
[0485] If the <model group name> in the <model ID> contained in the transcription factor model label representing the original evaluation object transcription factor model Mo is empty and the model name is "API", the transcription factor model evaluation unit 382 specifies the model type of the original evaluation object transcription factor model Mo as API type.
[0486] In step S38672, the transcription factor model evaluation unit 382 uses the information that the process execution system 300 can obtain from the communication environment E as input data Din to evaluate the original evaluation object transcription factor model Mo, and obtains the output data Dout. Specifically, the transcription factor model evaluation unit 382 evaluates the original evaluation object transcription factor model Mo based on the model type of the original evaluation object transcription factor model Mo specified in step S38671, and obtains the output data Dout.
[0487] More specifically, when the model type of the original evaluation object transcription factor model Mo determined in step S38671 is a self-flow reference type, the transcription factor model evaluation unit 382 obtains the information of the self-flow node D30 as output data Dout.
[0488] When the model type of the original evaluation target transcription factor model Mo, as determined in step S38671, is a table reference type, the transcription factor model evaluation unit 382 retrieves information from the table specified by the <model group name> (representing the application name for managing the table) and <model name> (representing the table name) of the transcription factor model tag MT representing the original evaluation target transcription factor model Mo, based on the input data Din of that transcription factor model tag MT, and obtains it as output data Dout. The output data Dout of the original evaluation target transcription factor model Mo, as the table for information acquisition, can be in the internal environment Ein or the external environment Eout.
[0489] When the model type of the original evaluation object transcription factor model Mo determined in step S38671 is a script type, the transcription factor model evaluation unit 382 obtains the execution result of the script as output data Dout based on the input data Din representing the transcription factor model label MT of the original evaluation object transcription factor model Mo.
[0490] If the model type of the original evaluation object transcription factor model Mo determined in step S38671 is a machine learning model, the transcription factor model evaluation unit 382 obtains the inference result performed by the machine learning model as output data Dout based on the input data Din representing the transcription factor model label MT of the original evaluation object transcription factor model Mo.
[0491] If the model type of the original evaluation object transcription factor model Mo determined in step S38671 is API type, the transcription factor model evaluation unit 382 obtains the execution result of API as output data Dout based on the input data Din representing the transcription factor model label MT of the original evaluation object transcription factor model Mo.
[0492] In step S38673, the transcription factor model evaluation unit 382 determines the data to be returned as the evaluation result R of the original evaluation object transcription factor model Mo from the output data Dout obtained in step S38672. Specifically, the transcription factor model evaluation unit 382 determines the data to be returned as the evaluation result R from the output data Dout of the original evaluation object transcription factor model Mo based on the transcription factor model tag MT representing the original evaluation object transcription factor model Mo. More specifically, the transcription factor model evaluation unit 382 determines the data to be returned as the evaluation result R from the output data Dout of the original evaluation object transcription factor model Mo based on the <evaluation result selector group> of the transcription factor model tag MT representing the original evaluation object transcription factor model Mo.
[0493] Reference Figures 45 to 47 Instructions for use Figure 42 Example of the execution of the transcription process in the transcription section 380 described. Figure 45 This is a schematic diagram illustrating the process generation information DM35 of the transcription unit 380 of the process execution system 300 involved in this embodiment. Figure 46 This is a schematic diagram illustrating transcription information Tinfo, which is used to explain an example of the operation of the transcription unit 380 of the process execution system 300 of this embodiment. Figure 47 This is a schematic diagram of transcription information Tinfo used to illustrate an example of the operation of the transcription unit 380 of the process execution system 300 in this embodiment. For example... Figure 45 As shown, the process generation information DM35 used to illustrate the action example includes multiple transcription process tags PT (PTs1, PTs2, PTs3, PTi, and PTr) representing the transcription process definition information PDinfo.
[0494] When the transcription process execution request is accepted by the transcription request receiving unit 381 (step S381), the transcription process execution unit 383 sets the process generation information DM35 to the transcription information Tinfo (step S382).
[0495] In step S383, the transcription process execution unit 383 extracts the selection process tag PTs1 and the replacement process tag PTr from the transcription information Tinfo. Since the transcription process tags PT (PTs1 and PTr) are extracted in step S383, the judgment in step S384 is Yes.
[0496] The processing from step S385 to step S387 is performed for each of selecting process label PTs1 and replacing process label PTr. Here, the order in which process label PTs1 is selected and process label PTr is replaced is processed.
[0497] In step S385, the transcription factor model evaluation unit 382 sets the transcription factor model M represented by <transcription factor model tag 11> in the selection conditions included in the selection process tag PTs1 as the evaluation target transcription factor model Me. In step S386, the transcription factor model evaluation unit 382 performs evaluation processing on the evaluation target transcription factor model Me. Here, it is assumed that the evaluation result R of the evaluation target transcription factor model Me is "value m".
[0498] In step S387, the transcription process execution unit 383 processes the transcription information Tinfo based on the evaluation result R of the transcription factor model M in step S386. Specifically, the transcription process execution unit 383 replaces the selection process label PTs1 contained in the transcription information Tinfo with the selection block (containing the repetitive process label PTi) corresponding to the true selection condition "<transcription factor model label 11> == 'value m'".
[0499] Since the process of replacing the process label PTr has not been completed, the judgment in step S388 is No, and the process returns to step S385.
[0500] In step S385, the transcription factor model evaluation unit 382 sets the transcription factor model M represented by <transcription factor model tag 01> constituting the replacement process tag PTr as the evaluation target transcription factor model Me. In step S386, the transcription factor model evaluation unit 382 performs evaluation processing on the evaluation target transcription factor model Me. Here, it is assumed that the evaluation result R of the evaluation target transcription factor model Me is "evaluation result 01".
[0501] In step S387, the transcription process execution unit 383 replaces the replacement process label PTr contained in the transcription information Tinfo according to the evaluation result R of the evaluation object transcription factor model Me in step S386.
[0502] Since the transcription process tags PT (PTs1 and PTr) extracted in step S383 have been processed, the judgment in step S388 is Yes, and the process returns to step S383. Through the processing up to this point, the transcription information Tinfo becomes... Figure 46 As shown.
[0503] In step S383, the transcription process execution unit 383 extracts the repetition process tag PTi from the transcription information Tinfo. Since the repetition process tag PTi has been extracted, the judgment in step S384 is Yes.
[0504] In step S385, the transcription factor model evaluation unit 382 sets the transcription factor model M represented by <transcription factor model tag 22> in the repetition condition of the repetition process tag PTi as the evaluation target transcription factor model Me. In step S386, the transcription factor model evaluation unit 382 performs evaluation processing on the evaluation target transcription factor model Me. Here, the evaluation result R of the evaluation target transcription factor model Me includes three data points: "evaluation result 221", "evaluation result 222", and "evaluation result 223".
[0505] In step S387, the transcription process execution unit 383 uses each of the three data points in the evaluation result R of the transcription factor model Me being evaluated in step S386 as the value of a loop variable, and repeats the <repetition block> contained in the repetition process label PTi to generate repetition information. The "{{loop variable}}" contained in the repetition information replaces each of the three data points in the evaluation result R of the transcription factor model Me being evaluated. The transcription process execution unit 383 replaces the repetition process label PTi contained in the transcription information Tinfo with the generated repetition information.
[0506] Since the recurrence marker PTi extracted in step S383 has been processed, the judgment in step S388 is Yes, and the process returns to step S383. Through the processing so far, the transcriptional information Tinfo is as follows: Figure 47 As shown.
[0507] Since the transcription process definition information PDinfo extracted from the transcription information Tinfo is not available in step S383, the judgment in step S384 is No, and the process proceeds to step S389.
[0508] In step S389, the transcription process execution unit 383 transcribes the transcription information Tinfo as process definition information D35 to the process node D30 corresponding to the process master node DM30 that received the transcription process execution request in step S381. The transcription process execution of the transcription unit 380 is then complete.
[0509] Reference Figures 48 to 53 Instructions for use Figure 43 and Figure 44 An example of the evaluation process performed in the transcription section 380 for the evaluation object, the transcription factor model Me. Figure 48 This is an exemplary schematic diagram of the transcription process label PT used to illustrate an example of the evaluation processing of the evaluation object transcription factor model Me in the transcription section 380 of the process execution system 300 involved in this embodiment. Figure 49This is a schematic diagram of the transcription process label PT, used to illustrate an example of the evaluation processing of the evaluation object transcription factor model Me in the transcription section 380 of the process execution system 300 involved in this embodiment. Figure 50 This is a schematic diagram of the transcription process label PT, used to illustrate an example of the evaluation processing of the evaluation object transcription factor model Me in the transcription section 380 of the process execution system 300 involved in this embodiment. Figure 51 This is a schematic diagram of the transcription process label PT, used to illustrate an example of the evaluation processing of the evaluation object transcription factor model Me in the transcription section 380 of the process execution system 300 involved in this embodiment. Figure 52 This is a schematic diagram illustrating a transcription process label PT, which is used to illustrate an example of the action of evaluating the transcription factor model Me in the transcription section 380 of the process execution system 300 involved in this embodiment. Figure 53 This is an example schematic diagram of the transcription process label PT used to illustrate an example of the evaluation process of the evaluation object transcription factor model Me in the transcription section 380 of the process execution system 300 involved in this embodiment.
[0510] First, it should be noted that when evaluating the transcription factor model Me is Figure 48 The transcription factor model M is represented by the transcription factor model label MT shown.
[0511] Reference Figure 43 In step S3861, the transcription factor model Me of the evaluation object is set as the original transcription factor model Mo of the evaluation object. In step S3862, since the transcription factor model M set in the input data Din was not extracted, the judgment in step S3863 is No, and the process proceeds to step S3867. In step S3867, the evaluation process of the original transcription factor model Mo of the evaluation object is performed.
[0512] Reference Figure 44 In step S38671, since the <model ID> of the transcription factor model tag MT representing the original evaluation object transcription factor model Mo is "self-flow", the model type of the original evaluation object transcription factor model Mo is determined as a self-flow reference type. In step S38672, since the model type of the original evaluation object transcription factor model Mo is a self-flow reference type, the information of the self-flow node D30 is obtained from the storage unit 220 as output data Dout. In step S38673, since the <evaluation result selector group> of the transcription factor model tag MT representing the original evaluation object transcription factor model Mo is "flow node identifier", the data of the flow node identifier D31 in the output data Dout is determined as the evaluation result R of the original evaluation object transcription factor model Mo.
[0513] Next, we will explain the evaluation object, transcription factor model Me. Figure 49 The transcription factor model M is represented by the transcription factor model label MT shown.
[0514] Reference Figure 43 In step S3861, the evaluation target transcription factor model Me is set as the original evaluation target transcription factor model Mo. In step S3862, the transcription factor model M set in the <value of input variable> corresponding to the <process node identifier> is extracted. Since the transcription factor model M is extracted in step S3862, the judgment in step S3863 is Yes, and the process proceeds to step S3864. In step S3864, the <value of input variable> corresponding to the <process node identifier> is set as the transcription factor model M, and it is set as the evaluation target transcription factor model Me. In step S3865, the evaluation processing of the evaluation target transcription factor model Me is performed. The evaluation target transcription factor model Me and... Figure 48 The transcription factor model M represented by the transcription factor model label MT in the example is the same as that represented by the transcription factor model M. Therefore, for Figure 48 The transcription factor model tag MT in the example is subjected to the same evaluation process described above. Since all transcription factor models M extracted in step S3862 have been evaluated, the judgment in step S3866 is Yes, and the process proceeds to step S3867. In step S3867, the original evaluation target transcription factor model Mo is evaluated.
[0515] Reference Figure 44 In step S38671, since the <Model ID> of the transcription factor model label MT representing the original evaluation object transcription factor model Mo is "Application Va. Context Table", the model type of the original evaluation object transcription factor model Mo is determined to be a table reference type. In step S38672, since the model type of the original evaluation object transcription factor model Mo is a table reference type, the information retrieved from the context table managed by the application Va based on the input data Din is obtained as output data Dout. Here, the record information of the process node identifier D31, which is the process node identifier D31 from the process node D30, is obtained from the context table managed by the application Va as output data Dout. In step S38673, since the <Evaluation Result Selector Group> of the transcription factor model label MT representing the original evaluation object transcription factor model Mo is "Case ID", the case ID data in the output data Dout is determined to be the evaluation result R of the original evaluation object transcription factor model Mo.
[0516] Next, we will explain the evaluation object, transcription factor model Me. Figure 50 The transcription factor model M is represented by the transcription factor model label MT shown.
[0517] Reference Figure 43 In step S3861, the evaluation target transcription factor model Me is set as the original evaluation target transcription factor model Mo. In step S3862, the transcription factor model M is extracted and set as the <value of the input variable> corresponding to the <column Cp1> of the <input variable name>. Since the transcription factor model M was extracted in step S3862, the judgment in step S3863 is Yes, and the process proceeds to step S3864. In step S3864, the <value of the input variable> corresponding to the <column Cp1> of the <input variable name> is set as the transcription factor model M, and it is set as the evaluation target transcription factor model Me. In step S3865, the evaluation processing of the evaluation target transcription factor model Me is performed. The evaluation target transcription factor model Me and... Figure 49 The transcription factor model labeled MT shown is the same as the transcription factor model M, therefore, the same applies. Figure 49 The transcription factor model labeled MT shown above undergoes the same evaluation process. Since all transcription factor models M extracted in step S3862 have been evaluated, the judgment in step S3866 is Yes, and the process proceeds to step S3867. In step S3867, the original evaluation target transcription factor model Mo is evaluated.
[0518] Reference Figure 44 In step S38671, since the <model ID> of the transcription factor model label MT representing the original evaluation object transcription factor model Mo is "application Wa.table Wt", the model type of the original evaluation object transcription factor model Mo is determined to be a table reference type. In step S38672, since the model type of the original evaluation object transcription factor model Mo is a table reference type, the information retrieved from the table Wt managed by application Wa based on the input data Din is obtained as output data Dout. Here, from the table Wt managed by application Wa, the record information of column Cp1 being the case ID of the context data CxD associated with its own process node D30, and column Cp2 being the "column Cp2 value" is obtained as output data Dout. In step S38673, since the <evaluation result selector group> of the transcription factor model label MT representing the original evaluation object transcription factor model Mo is "column Ws", the data of column Ws in the output data Dout is determined as the evaluation result R of the original evaluation object transcription factor model Mo.
[0519] Next, we will explain the evaluation object, transcription factor model Me. Figure 51 The example illustrates the case of transcription factor model M represented by the transcription factor model label MT.
[0520] Reference Figure 43In step S3861, the evaluation target transcription factor model Me is set as the original evaluation target transcription factor model Mo. In step S3862, the transcription factor model M set in the <value of input variable> corresponding to <input variable name> "script code" and the transcription factor model M set in the <value of input variable> corresponding to <input variable name> "input variable Dp1" are extracted. Since the transcription factor model M is extracted in step S3862, the judgment in step S3863 is Yes, and the process proceeds to step S3864. Through steps S3864 and S3865, the evaluation process of the transcription factor model M extracted in step S3862 is performed.
[0521] The transcription factor model M set in the <values of input variables> corresponding to the "script code" is of the table reference type, therefore its evaluation process is the same as... Figure 48 and Figure 49 The evaluation process is the same for the transcription factor model tag MT illustrated above. Specifically, the record with the script ID "script ID value" is retrieved from the script table managed by the application Xa as output data Dout, and the data of the script code in this output data Dout is determined as the evaluation result R.
[0522] The transcription factor model M set in the <value of input variable> corresponding to "Input variable Dp1" is the same as... Figure 49 The transcription factor model label MT in the example represents the same transcription factor model M, therefore, for Figure 49 The transcription factor model tag MT, as illustrated in the example, underwent the above evaluation process.
[0523] Since all transcription factor models M extracted in step S3862 have been evaluated, the judgment in step S3866 is Yes, and the process proceeds to step S3867. In step S3867, the original evaluation target transcription factor model Mo is evaluated.
[0524] Reference Figure 44In step S38671, since the <model ID> of the transcription factor model label MT representing the original evaluation object transcription factor model Mo is "script", the model type of the original evaluation object transcription factor model Mo is determined to be script type. In step S38672, since the model type of the original evaluation object transcription factor model Mo is script type, the execution result of the script executed based on the input data Din is obtained as output data Dout. Here, the evaluation result R of the transcription factor model M set in the <value of input variable> corresponding to the <value of input variable> of the <input variable name> "script code" is used as the script code, and the script type is set to "Python" to execute the script. When executing the script, the value of the script's input variable Dp1 is the evaluation result R of the transcription factor model M set in the <value of input variable> corresponding to the <value of input variable> of the <input variable name> "input variable Dp1", and the value of the input variable Dp2 is the "value of input variable Dp2". In step S38673, the data to be returned as the evaluation result R is determined from the output data Dout according to the <evaluation result selector group> "evaluation result selector Ds1.evaluation result selector Ds2".
[0525] Next, we will explain when the evaluation object's transcription factor model Me is Figure 52 The illustrated transcription factor model labels represent the transcription factor models.
[0526] Reference Figure 43 In step S3861, the evaluation target transcription factor model Me is set as the original evaluation target transcription factor model Mo. In step S3862, the transcription factor model M set in the <value of input variable> corresponding to <input variable name> "machine learning model data" and the transcription factor model M set in the <value of input variable> corresponding to <input variable name> "input variable Ep1" are extracted. Since the transcription factor model M is extracted in step S3862, the judgment in step S3863 is Yes, and the process proceeds to step S3864. Through steps S3864 and S3865, the evaluation process of the transcription factor model M extracted in step S3862 is performed.
[0527] The transcription factor model M set in the <values of input variables> corresponding to "Machine Learning Model Data" is a table reference type; therefore, its evaluation processing is the same as... Figure 48 and Figure 49 The evaluation process described above is the same for the transcription factor model tag MT in the example. Specifically, the record with the machine learning model ID "machine learning model ID value" is obtained as output data Dout from the machine learning model table managed by the application Ya, and the model data is determined as the evaluation result R from this output data Dout.
[0528] The transcription factor model M set in the <value of input variable> corresponding to "Input variable Ep1" is the same as... Figure 49 The transcription factor model label MT in the example represents the same transcription factor model M, therefore, for Figure 49 The transcription factor model tag MT, as illustrated in the example, underwent the same evaluation process as described above.
[0529] Since all transcription factor models M extracted in step S3862 have been evaluated, the judgment in step S3866 is Yes, and the process proceeds to step S3867. In step S3867, the original evaluation target transcription factor model Mo is evaluated.
[0530] Reference Figure 44 In step S38671, since the <model ID> of the transcription factor model label MT representing the original evaluation object transcription factor model Mo is "machine learning model", the model type of the original evaluation object transcription factor model Mo is determined to be a machine learning model type. In step S38672, since the model type of the original evaluation object transcription factor model Mo is a machine learning model type, the inference result of executing the machine learning model is obtained as the output data Dout based on the input data Din. Here, the <value of the input variable> corresponding to <input variable name> "machine learning model data" is set to the evaluation result R of the transcription factor model M as the machine learning model data, and the model framework is set to "PyTorch" to perform inference processing using the machine learning model. When performing inference processing using the machine learning model, the value of the input variable Ep1 of the machine learning model is the evaluation result R of the transcription factor model M set to the <value of the input variable> corresponding to <input variable name> "input variable Ep1", and the value of the input variable Ep2 of the machine learning model is "value of input variable Ep2". In step S38673, the data to be returned as the evaluation result R is determined from the output data Dout based on the <evaluation result selector group> "evaluation result selector Es1".
[0531] Next, we will explain the evaluation object, transcription factor model Me. Figure 53 The example illustrates the case of transcription factor model M represented by the transcription factor model label MT.
[0532] Reference Figure 43In step S3861, the evaluation target transcription factor model Me is set as the original evaluation target transcription factor model Mo. In step S3862, the transcription factor model M set in the <value of input variable> corresponding to the <API address> of the <input variable name> and the transcription factor model M set in the <value of input variable> corresponding to the <key Gp1> of the <input variable name> are extracted. Since the transcription factor model M is extracted in step S3862, the judgment in step S3863 is Yes, and the process proceeds to step S3864. Through steps S3864 and S3865, the evaluation process of the transcription factor model M extracted in step S3862 is performed.
[0533] The transcription factor model M set in the <value of input variable> corresponding to the "API address" is of table reference type, therefore its evaluation processing is the same as... Figure 48 and Figure 49 The evaluation process described above is the same for the transcription factor model tag MT in the example. Specifically, the record with APIID "APIID value" is retrieved from the API table managed by the application Za as output data Dout, and the API address is determined from this output data Dout as the evaluation result R.
[0534] The transcription factor model M set in the <value of input variable> corresponding to the <key Gp1> is... Figure 49 The transcription factor model MT exemplified in the example represents the same transcription factor model M, therefore... Figure 49 The transcription factor model tag MT, as illustrated in the example, underwent the above evaluation process.
[0535] Since all transcription factor models M extracted in step S3862 have been evaluated, the judgment in step S3866 is Yes, and the process proceeds to step S3867. In step S3867, the original evaluation target transcription factor model Mo is evaluated.
[0536] Reference Figure 44In step S38671, since the <model ID> of the transcription factor model tag MT representing the original evaluation object transcription factor model Mo is "API", the model type of the original evaluation object transcription factor model Mo is specified as API type. In step S38672, since the model type of the original evaluation object transcription factor model Mo is API type, the execution result of the API executed based on the input data Din is obtained as output data Dout. Here, the evaluation result R of the transcription factor model M set in the <value of the input variable> corresponding to the <input variable name> "API address" is used as the API address to execute the API. When executing the API, the value of key Gp1 is the <value of the input variable> corresponding to key Gp1, which is the evaluation result R of the transcription factor model M, and the value of key Gp2 is "key Gp2 value". In step S38673, the data to be returned as the evaluation result R is determined from the output data Dout according to the <evaluation result selector group> "evaluation result selector Gs1.evaluation result selector Gs2.evaluation result selector Gs3".
[0537] Reference Figures 54 to 57 This describes an example of the action of the transcription section 380, which generates process information DM35 containing transcription process definition information PDinfo. Figure 54 This is a schematic diagram used to illustrate the action information master data DM353 of the transcription unit 380 of the process execution system 300 in this embodiment. Figure 55 This is a schematic diagram illustrating the operation information D353 of the transcription unit 380 of the process execution system 300 involved in this embodiment. Figure 56 This is a schematic diagram of the action information master data DM353 of the transcription unit 380 of the process execution system 300 involved in this embodiment, used to illustrate an action example. Figure 57 This is a schematic diagram illustrating the operation information D353 of the transcription unit 380 of the process execution system 300 involved in this embodiment.
[0538] Figure 54 Example of action information master data DM353 containing the selection process label PTs. Figure 54 The action information master data DM353 also includes the replacement process label PTr that constitutes <transcription factor model label B>, <transcription factor model label C>, and <transcription factor model label D>. Here, it is assumed that... Figure 54The evaluation result R of <transcription factor model tag A> included in the selection criteria of the selected process tags PTs shown is not "value 1". Furthermore, the evaluation result R of <transcription factor model tag B> is <evaluation result B>, the evaluation result R of <transcription factor model tag C> is <evaluation result C>, and the evaluation result R of <transcription factor model tag D> is <evaluation result D>. In this case, the action information D353 of the action information master data DM353, which has been transcribed, is as follows: Figure 55 As shown.
[0539] Figure 56 Example of action information master data DM353 containing the iterative process label PTi. Figure 56 The action information master data DM353 also includes the replacement flow label PTr that constitutes <transcription factor model label B>. Here, the evaluation result R of <transcription factor model label A> contained in the repetition condition of the repetition flow label PTr should include two data points: <evaluation result A1> and <evaluation result A2>. Additionally, the evaluation result R of <transcription factor model label B> is <evaluation result B>. In this case, the action information D353 transcribed from the action information master data DM353 is as follows: Figure 57 As shown.
[0540] In use Figures 54 to 57 The above explanation uses the example of transcription process definition information PDinfo being included in the action information master data DM353 within the process generation information DM35. However, the case where transcription process definition information PDinfo is included in process generation information DM35 other than action information master data DM353 can also be understood through this example. For instance, the transcription process definition information PDinfo in process generation information DM35 can be included in process number master DM351. Specifically, process number master DM351 can include transcription process definition information PDinfo, which determines process number D351 based on the evaluation result R of transcription factor model M defined by transcription factor model definition information MDinfo. Thus, the process execution system 300 can change process number D351 according to the communicable environment E. Therefore, when the process network state management unit 360 performs state transition processing such as... Figures 12 to 14 When the process number is determined to be D351 according to the above state transition process, the process execution system 300 can change the order of the executed process nodes D30 according to the communicable environment E.
[0541] The process execution system 300 in this embodiment further includes a transcription unit 380, which executes a transcription process by transcribing process generation information DM35 of a process master node DM30 as process definition information D35 to a process node corresponding to that process master node DM30. The process generation information DM35 includes one or more transcription process definition information PDinfos that define the transcription process. The transcription process definition information PDinfo includes one or more transcription factor model definition information MDinfos, which define a transcription factor model M that models the influence of the environment E that the process execution system 300 can communicate with on the transcription process. The transcription unit 380 includes: a transcription request receiving unit 381 that receives transcription process execution requests; a transcription factor model evaluation unit 382 that evaluates the transcription factor model M defined by the transcription factor model definition information MDinfo; and a transcription process execution unit 383 that executes the transcription process defined by the transcription process definition information PDinfo. The transcription process execution unit 383 controls the transcription process based on the evaluation results R of one or more transcription factor models M evaluated by the transcription factor model evaluation unit 382.
[0542] According to the process execution system 300 of this embodiment, the process definition information D35 defining the process content can be changed by using a transcription factor model M that models the influence of the communicable environment E of the process execution system 300 on the transcription process. In other words, the process network execution unit 370 can change the content of the executed process based on the communicable environment E of the process execution system 300. Therefore, the process execution system 300 of this embodiment combines flexibility and stability, and has high adaptability to rapidly changing business environments.
[0543] In this embodiment, when the process execution system 300 executes a process defined by process definition information D35, the process network execution unit 370 sends an execution request for transcription process to the transcription request receiving unit 381. The transcription unit 380 then transcribes process generation information DM35 used to generate the process definition information D35, thereby executing the process based on the updated process definition information D35.
[0544] Therefore, when the process execution unit 370 executes the process defined by the process definition information D35, the process execution system 300 can execute the process based on the automatically updated process definition information D35 according to the communicable environment E. Thus, the process execution system 300 according to this embodiment, by balancing flexibility and stability, can provide a more adaptable process execution system 300 to rapidly changing business environments.
[0545] In this embodiment, the transcription factor model evaluation unit 382 of the process execution system 300 uses the evaluation results R of other transcription factor models M as input data Din of the transcription factor model M when evaluating a transcription factor model M.
[0546] Therefore, the transcription factor model evaluation unit 382 can evaluate transcription factor models M with higher-order function structures using functions as independent variables. Thus, the process execution system 300 can model the complex influence of the communication environment E on the transcription process. Therefore, the process execution system 300 according to this embodiment has both flexibility and stability, and is highly adaptable to rapidly changing business environments.
[0547] By improving the configuration of the above-described embodiment 3, the structure of the process network D3 can be changed according to the communication environment E of the process execution system 300.
[0548] Figure 58 This is a schematic diagram illustrating the data structure of the process network D3 generated by the process network generation unit 350 of the process execution system 300 involved in this improved example. Figure 59 This is a schematic diagram showing the data structure of the process network model DM3 input unit 351 of the process execution system 300 according to this improved example receiving the input process network model DM3. Figure 60 This is a schematic diagram showing the data structure of the process network model input unit 351 of the process execution system 300 involved in this improved example, which receives the input process network model DM30 of the process master node DM30. Figure 61 This is a schematic diagram showing the data structure of process nodes D30 of the process network D3 generated by the process network generation unit 350 of the process execution system 300 according to this improved example. The process execution system 300 according to this improved example will be described below.
[0549] like Figure 58 As shown, the process definition information D35 of the process execution system 300 involved in this improved example includes an activity flag D356 indicating whether the process node D30 with the process definition information D35 is active or inactive.
[0550] like Figure 59 As shown, the process generation information DM35 of the process execution system 300 involved in this improved example includes the activity flag master data DM356 for generating the activity flag D356.
[0551] Reference Figure 60 and Figure 61The activity marker DM356 includes transcription process definition information PDinfo, which determines the activity marker D356 based on the evaluation result R of the transcription factor model M defined by the transcription factor model definition information MDinfo.
[0552] When the activity flag D356 contained in the process definition information D35 of process node D30 is inactive, the process network status management unit 360 treats process node D30 as non-existent. Specifically, when retrieving process node D30 (e.g., ...), the process network status management unit 360 treats process node D30 as non-existent. Figure 13 In step S1321, if the activity flag D356 contained in the process definition information D35 of process node D30 is inactive, then process node D30 is not included in the extraction results. Therefore, when the activity flag D356 contained in the process definition information D35 of process node D30 is inactive, process node D30 will not become executable and will be considered as not existing. Therefore, when generating process network D3, process execution system 300 will change the structure of process network D3 according to the communicable environment E.
[0553] When generating the process network D3, the process network generation unit 350 sends an execution request for transcription process to the transcription request receiving unit 381, and transcribes the process generation information DM35 of one of the multiple process master nodes DM30 contained in the process network model DM3 received by the process network model input unit 351 into process definition information D35 of the process node D30 corresponding to the process master node DM30.
[0554] The process definition information D35 of the process execution system 300 involved in this modification includes an activity marker D356 indicating whether a process possessing the process definition information D35 is active or inactive. The process generation information DM35 of the process execution system 300 involved in this modification includes a master activity marker DM356 for generating the activity marker D356. The activity marker DM356 includes transcription process definition information TDinfo, which is constructed based on the evaluation result R of the transcription factor model M, thus determining the activity marker D356. When the process network state management unit 360 indicates that the activity marker D356 contained in the process definition information D35 of a process node D30 is inactive, it treats the process node D30 as non-existent.
[0555] Therefore, the process execution system 300 can change the structure of the process network D3 according to the communicable environment E. Thus, the process execution system 300 according to this improved example has both flexibility and stability, and is highly adaptable to rapidly changing business environments.
[0556] Furthermore, when generating the process network D3, the process network generation unit 350 of the process execution system 300 involved in this improved example sends an execution request for transcribing the process to the transcribing request receiving unit 381, and transcribs the process generation information DM35 of one of the multiple process master nodes DM30 contained in the process network model DM3 received by the process network model input unit 351 into process definition information D35 of the process node D30 corresponding to the process master node DM30.
[0557] Therefore, when generating the process network D3, the structure of the process execution system 300 can be changed according to the communicable environment E. Thus, the process execution system 300 according to this improved example has both flexibility and stability, and is highly adaptable to rapidly changing business environments.
[0558] Fourth Implementation Method
[0559] The process network model (Executable Process Network) received by the process execution system's process network model input unit in the first, second, and third embodiments described above has various significant features that are different from the BPMN (Business Process Modeling Notation) commonly used to represent business processes.
[0560] For example, in a BPMN, gateways representing control flow (AND splitting, XOR splitting, etc.) are configured between activities. On the other hand, in the process network model input unit of the process execution system according to Embodiments 1, 2, and 3 described above, it is not necessary to configure gates representing control flow between processes in the process network model input unit.
[0561] This is because complex control flows can be achieved through interactions between processes. For example, to selectively execute one or more process nodes (equivalent to XOR splitting) based on the execution result of a process node executed before it (hereinafter referred to as a conditional branch process node), it can be done as follows: That is, by executing the actions defined in the conditional branch process node, a process state change request to change the state of one or more process nodes to the completed state is sent to the process state change request receiving unit. The completed state of one or more process nodes should be conditionally set based on the execution result of the actions defined in the conditional branch process node. Thus, in one or more process nodes, based on the execution result of the actions defined in the conditional branch process node, the process node that has not changed to the completed state will be executed. Furthermore, in cases where sequential process node execution does not require complex control flows, a process state change request receiving unit may not be necessary.
[0562] In recent years, the shift in perspective from "Networks as Things" to "Networks as Processes," focusing on understanding the world through the interaction between processes, suggests the potential to comprehensively address various systems, including physical systems, quantum computing, intelligent systems, biological systems, information systems, and social systems (Bob Coecke, Aleks Kissinger, "Picturing Quantum Processes: A First Course in Quantum Theory and Diagrammatic Reasoning," Cambridge University Press, 2017; John C. Baez, Mike Stay, "Physics, Topology, Logic and Computation: A Rosetta Stone," arXiv, 2009; Uri Alon, "An Introduction to Systems Biology: Design Principles of Biological Circuits," 2nd edition, Chapman and Hall / CRC, 2019; Saunders Mac Lane, "Categories for the Working Mathematician," Springer, 1978; Ludwig Von Bertalanffy, "General System Theory," Allen Lane, 1972). Focusing on networks representing interactions between processes, the process execution system according to embodiments of the present invention, which utilizes Executable Process Networks, can be easily interconnected with any other system by shifting the viewpoint to Networks as Processes. Therefore, the process execution system according to embodiments of the present invention, by balancing flexibility and stability, can easily improve adaptability to rapidly changing business environments.
[0563] The fourth and fifth embodiments described below have a significant feature: they do not require the arrangement of gates representing control flow between processes in the process network model, thus achieving a beneficial effect.
[0564] The process execution system 400 of the fourth embodiment, in general, has a process network model output unit 452 that serializes and outputs the process network model DM4 by a process network generation unit 450, and a process network model input unit 451 that receives input of the serialized process network model DM4, which differs from the process execution system 200 of the second embodiment. According to the process execution system 400 of the fourth embodiment, the process network model DM4 used in one process execution system 400 can be easily used in other process execution systems 400, thereby improving interoperability. Furthermore, the process execution system 400 of the fourth embodiment can be configured identically to the process execution system 200 of the second embodiment, except for the configuration specifically described below.
[0565] Figure 62 This is a functional block diagram of the process network generation unit 450 of the process execution system 400 involved in this embodiment. Figure 63 This is a schematic diagram of the data serialized from the process network model DM4 by the process network model output unit 452 of the process execution system 400 in this embodiment. Hereinafter, the process execution system 400 of the fourth embodiment will be described.
[0566] Reference Figure 62 The process network generation unit 450 in this embodiment also includes a process network model output unit 452 that outputs a process network model DM4. The process network model output unit 452 outputs serialized process network model DM4 data MDout.
[0567] In this embodiment, the process network model input unit 451 receives serialized process network model DM4 data as input. The process network generation unit 450 uses the process network model DM4 obtained by deserializing the serialized data of the input process network model DM4 received by the process network model input unit 451 to generate a process network D4.
[0568] When serializing the process network model DM4, the process network model output unit 452 serializes the data based on the rule of one-to-one correspondence between the process network model DM4 and the serialized data MDout.
[0569] There is a one-to-one correspondence between the process network model DM4 and the serialized data MDout. This means that if the process network model DM4 is the same, the serialized data MDout will be the same; if the process network model DM4 is different, the serialized data MDout will be different. Conversely, if the serialized data MDout is the same, the process network model DM4 will be the same; if the serialized data MDout is different, the process network model DM4 will also be different.
[0570] The rule for a one-to-one correspondence between the process network model DM4 and the data MDout serialized from the process network model DM4 can be, for example, a rule that arranges the process master nodes in ascending or descending order based on the value of the process number master DM451. Furthermore, for hierarchical process network models DM4, the rule for a one-to-one correspondence between the process network model DM4 and the data MDout output after serialization of the process network model DM4 can be a depth-first approach, and the data can be arranged in ascending or descending order within the same level based on the value of the process number master DM451.
[0571] The data format used by the process network model output unit 452 when outputting the serialized process network model DM4 data MDout is not limited to the ability to recover the serialized process network model DM4 by deserializing the serialized data MDout.
[0572] The process network model output unit 452 can use JSON, XML (Extensible Markup Language), YAML, or CSV as the data format when outputting the serialized process network model DM4 data MDout. Preferably, the process network model output unit 452 uses a key-value pair format when outputting the serialized data MDout of the process network model DM4. More preferably, the process network model output unit 452 uses JSON (JavaScript Object Notation) as the data format when serializing and outputting the process network model DM4.
[0573] When the process network model output unit 452 outputs the serialized process network model DM4 data MDout, and the data format used is an array format of key-value pairs, the values can be configured to represent data of various types such as string, numeric, logical, date, and list. Furthermore, the values can be constructed as a list with arrays of key-value pairs as elements.
[0574] Figure 63 This is a schematic diagram of the data MDout serialized from the process network model DM4 by the process network model output unit 452. Figure 63 This refers to the case where the data format used is JSON when the process network model output unit 452 outputs the serialized process network model DM4 data MDout. Figure 63 An example is given in implementation method 1 where the main node of the process is... Figure 7 In the case of the illustrated data structure, even if the process master node is... Figure 24 In the case of the data structure shown in Embodiment 2, serialization can also be performed.
[0575] Reference Figure 63A process master node DM40's data has "Process Generation Information" and "Sub-process Master Node Group" as keys. The value corresponding to the key "Process Generation Information" is the process generation information contained within a process master node DM40, arranged in key-value pairs. The value for the key "Sub-process Master Node Group" is a list that arranges the data of each process master node DM40 contained in a process master node DM40's direct sub-process master node group. If a process master node DM40 has no directly subordinate sub-process master nodes DM40, the list stored in the value corresponding to the key "Sub-process Master Node Group" is empty.
[0576] The process execution system 400 of this embodiment has a process network generation unit 450 that outputs a process network model DM4. The process network model output unit 452 serializes and outputs the process network model DM4.
[0577] Therefore, the process network model DM4 used in one process execution system 400 becomes easy to use in other process execution systems 400, improving interoperability. Thus, the process execution system 400 according to this embodiment combines flexibility and stability, exhibiting high adaptability to rapidly changing business environments.
[0578] Furthermore, according to the process execution system 400 of this embodiment, it is not necessary to place gates representing control flow between processes in the process network model DM4. Therefore, the serialization of the process network model DM4 is easier compared to models represented using notation methods with gateways, such as BPMN.
[0579] The process network model input unit 451 of the process execution system 400 according to this embodiment receives input of serialized process network model DM4 data. The process network generation unit 450 uses the process network model DM4 obtained by deserializing the serialized data of the input process network model DM4 received by the process network model input unit 451 to generate process network D4.
[0580] Therefore, the process network model DM4 used in one process execution system 400 can be directly input into another process execution system 400, thereby further improving interoperability. Thus, the process execution system 400 according to this embodiment combines flexibility and stability, and has high adaptability to rapidly changing business environments.
[0581] When running the process execution system 400, it is crucial to be able to easily identify the differences between one process network model DM4 and other process network models DM4. For example, as business processes change, the process network model DM4 will also change accordingly; therefore, it is best to version-manage the process network model DM4. In this case, to ensure the quality of business operations using the process execution system 400, it is essential to be able to easily identify the differences between the process network model DM4 before and after the version upgrade.
[0582] In this embodiment, the process network model output unit 452 of the process execution system 400 serializes the process network model DM4 based on the rule of one-to-one correspondence between the process network model DM4 and the serialized process network model DM4.
[0583] Therefore, the differences in the process network model DM4 are very easy to identify. For example, by comparing the serialized data of the process network model DM4 before and after the version upgrade using common text data comparison software, the changed parts can be easily identified. Therefore, the process execution system 400 according to this embodiment has both flexibility and stability, and is highly adaptable to rapidly changing business environments.
[0584] On the other hand, for tagging methods with gateways such as BPMN, especially when adding or deleting gateways, the serialized model data often changes significantly, and it is usually difficult to identify the changed parts.
[0585] In the process execution system 400 of this embodiment, the process network model output unit 452 uses a key-value pair array data format when outputting the serialized process network model DM4 data MDout.
[0586] As a result, the data size of the serialized process network model DM4 is reduced, and readability is improved. Therefore, the process execution system 400 according to this embodiment has both flexibility and stability, and is highly adaptable to rapidly changing business environments.
[0587] On the other hand, for tagging methods with gateways (such as BPMN), it is difficult to represent the relationship between activities and gateways in a key-value pair data format. Therefore, for tagging methods with gateways such as BPMN, serialized model data is usually a descriptive data format in which strings are surrounded by predefined tags such as XML. As a result, for tagging methods with <gateways> (such as BPMN), the data volume of serialized models is large, and human beings usually have difficulty reading and understanding the data of serialized models.
[0588] In the process execution system 400 of this embodiment, the process network model output unit 452 uses JSON format when outputting the serialized process network model DM4 data MDout.
[0589] JSON is a widely used data format for exchanging data between different systems, especially those connected via networks such as the Internet. Since the process network model output unit 452 uses JSON format when outputting serialized process network model DM4 data, it becomes easier to use the process network model DM4 used in one process execution system 400 in other process execution systems 400, further improving interoperability. Therefore, the process execution system 400 according to this embodiment combines flexibility and stability, exhibiting high adaptability to rapidly changing business environments.
[0590] Fifth Implementation Method
[0591] The process execution system 500 of the fifth embodiment is summarized below. The control unit 510 further includes a process network model display unit 590 and a process network display unit 595 that displays the process network D5, which differs from the process execution system 200 of the second embodiment. According to the process execution system 500 of the fifth embodiment, since the process network model DM5 and the process network D5 can be visualized, it is easier to ensure business quality even if the complexity of the process network model DM5 and the process network D5 increases. Furthermore, the process execution system 500 of the fifth embodiment can be configured identically to the process execution system 200 of the second embodiment, except for the configuration specifically described below.
[0592] Figure 64 This is a functional block diagram of the control unit 510 of the process execution system 500 involved in this embodiment. Figure 65 This is a functional block diagram of the process network model display unit 590 of the process execution system 500 according to this embodiment. Figure 66 This is a functional block diagram of the process network display unit 595 of the process execution system 500 involved in this embodiment. Figure 67 This is a diagram showing the state of the process network model DM5 displayed by the process network model display unit 590 of the process execution system 500 according to this embodiment. Figure 68 This diagram shows the flow network D5 displayed on the flow network display unit 595 of the flow execution system 500 according to this embodiment. Hereinafter, the flow execution system 500 of the fifth embodiment will be described.
[0593] Reference Figure 64The control unit 510 of the process execution system 500 in this embodiment also includes a process network model display unit 590 for displaying a process network model DM5 and a process network display unit 595 for displaying a process network D5.
[0594] Reference Figure 65 The process network model display unit 590 includes: a process network model display request receiving unit 591 that receives a display request for a process network model DM5, and a process network model display data generating unit 592 that generates process network model display data for displaying the process network model DM5 at the request source of the display request.
[0595] When the process network model display request receiving unit 591 receives a display request, the process network model display unit 590 generates process network model display data by the process network model display data generation unit 592, and replies the request source of the display request with process network model display data.
[0596] There are no particular limitations on the method by which the process network model display request receiving unit 591 receives display requests. For example, requests to display the process network model DM5 can be received using HTTP communication.
[0597] The process network model display data generation unit 592 generates process network model 3D display data for 3D display of process network model DM5 in the request source that requests the display of process network model DM5.
[0598] The 3D display data of the process network model uses the process master node DM50 contained in the process network model DM5 as nodes, and the relationships between the process master nodes DM50 as edges, to represent the process network model DM5 through a 3D network structure. For a hierarchical process network model DM5, the 3D display data of the process network model DM5 is represented by a 3D network structure with the process master node DM50 contained in the process network model DM50 as nodes and the parent-child relationships between the process master nodes DM50 as edges.
[0599] There are no particular limitations on the method for generating 3D display data for the process network model. For example, using libraries such as NetworkX, which are available in the programming language Python, 3D display data for the process network model can be generated by assigning 3D coordinates to the process master node DM50.
[0600] The display request for the process network model DM5 contains process network model display control information that controls the display form of the process network model DM5 in the request source.
[0601] The process network model display data generation unit 592 generates process network model display data so that the display form of the process network model DM5 changes in the request source of the display request process network model DM5 according to the process network model display control information.
[0602] Based on the process network model display control information, the display form of the process network model DM5 can change, for example, by selecting at least one or more display form changes from a group consisting of rotation, zooming, scaling, and translation of the process network model DM5. The change in the display form of the process network model DM5 can also be to show or hide information about the process master node DM50 contained within the process network model DM5.
[0603] The method by which the process network model display request receiving unit 591 receives a display request for the process network model DM5 containing process network model display control information is not particularly limited. For example, by using libraries such as Plotly, which are available from the programming language Python, the process network model display request receiving unit 591 can receive a display request for the process network model DM5 containing process network model display control information.
[0604] The method by which the process network model display unit 590 responds to the requesting source with process network model DM5 display data is not particularly limited. For example, process network model display data can be responded to using HTTP communication.
[0605] The process network model display unit 590 can display information related to each process master node DM50 included in the process network model DM5, one by one. The process network model display unit 590 can use the color and shape of the nodes to represent the information of the process master nodes DM50 included in the process network model DM5. For example, the process network model display unit 590 can change the color or shape of the node based on the value of the asynchronous flag master DM554 or the automatic start flag master data DM555 contained in the process generation information of the process master node DM50.
[0606] Reference Figure 66 The process network display unit 595 includes: a process network display request receiving unit 596, for receiving a display request for process network D5; and a process network display data generation unit 597, for generating process network display data for displaying process network D5 at the request element of the display request.
[0607] When the process network display request receiving unit 596 receives a display request for process network D5, the process network display unit 595 generates process network display data in the process network display data generation unit 597 and replies with the request element of the display request in the process network display data.
[0608] The method by which the process network display request receiving unit 596 receives the display request from the processing network D5 is not particularly limited, and it can be configured in the same way as the process network model display request receiving unit 591.
[0609] The process network display data generation unit 597 generates process network 3D display data for 3D display of process network D5 in the request source that requests the display of process network D5.
[0610] The 3D display data of the process network is represented by a 3D network structure where process nodes D50 within the process network D5 are nodes, and the relationships between process nodes D50 are edges. For a hierarchical process network D5, the 3D display data is represented by a 3D network structure where process nodes D50 within the process network D5 are nodes, and the parent-child relationships between process nodes D50 are edges.
[0611] There are no particular restrictions on the method for generating 3D display data of process network; it can be the same as the method for generating 3D display data of process network model.
[0612] The display request for process network D5 includes process network display control information that controls the display format of process network D5 in the control request source.
[0613] The process network display data generation unit 597 generates process network display data so that the display form of the process network D5 in the request source of the display request of the process network D5 changes according to the process network display control information.
[0614] According to the process network display control information, the display form of process network D5 can change, for example, by a combination of at least one display form change selected from the group consisting of rotation, zooming, scaling, and translation of process network D5. According to the process network display control information, the change in the display form of process network D5 can be to show or hide information related to process nodes D50 contained in process network D5.
[0615] The method by which the process network display request receiving unit 596 receives the display request of the process network D5 containing process network display control information is not particularly limited, and can be configured in the same way as the process network model display request receiving unit 591.
[0616] The method by which the process network display unit 595 replies to the request source of the display request process network D5 with process network display data is not particularly limited, and can be configured in the same way as the process network model display unit 590.
[0617] The process network display unit 595 can display relevant information about each process node D50 included in the process network D5 for each process node D50. The process network display unit 595 can use the color or shape of the node to represent information related to the process node D50 included in the process network D5. For example, the process network display unit 595 can change the color and shape of the node according to the process state D53 of the process node D50.
[0618] Figure 67 The process network model DM5 is requested from the process network model display unit 590 via HTTP communication through a browser. The process network model display unit 590 returns 3D display data of the process network model, and the browser displays a 3D diagram showing the state of the process network model DM5. The process network model DM5 displayed in the browser can be rotated, zoomed in, zoomed out, and moved horizontally using the mouse. Furthermore, hovering the mouse over the process master node DM50 within the process network model DM55 displayed in the browser displays a pop-up window showing the process generation information of that process master node DM50.
[0619] Figure 68 This diagram illustrates the process network D5 being displayed in 3D in a browser via HTTP communication, requesting it to be displayed in the process network display unit 595, and receiving the 3D display data of the process network in response from the process network display unit 595. The process network D5 displayed in the browser can be rotated, zoomed in, zoomed out, and moved horizontally using the mouse. Furthermore, hovering the mouse over process node D50 in the process network D5 displayed in the browser displays the process definition information of that process node D50 in a pop-up window.
[0620] When using the Process Execution System 500 to ensure business quality, visualization of the Process Network Model DM5 is crucial. In particular, as the number of process master nodes DM50 included in the Process Network Model DM5 increases and the model's complexity grows, visualization of the Process Network Model DM5 plays a vital role in ensuring the quality of business using the Process Execution System 500.
[0621] The process execution system 500 according to this embodiment also includes a process network model display unit 590 for displaying the process network model DM5.
[0622] Therefore, even as the number of process master nodes DM50 included in the process network model DM5 increases, and the complexity of the model increases, ensuring the quality of business operations using the process execution system 500 becomes easier. Thus, the process execution system 500 according to this embodiment combines flexibility and stability, exhibiting high adaptability to rapidly changing business environments.
[0623] On the other hand, for tagging methods with gateways such as BPMN, model validation is often difficult because gateways and activities are mixed together when the model is visualized. In particular, even when visualizing hierarchical models or complex models containing many activities and gates, the visibility is poor, making model validation often difficult.
[0624] Furthermore, the process network model display unit 590 of the process execution system 500 in this embodiment includes: a process network model display request receiving unit 591 for receiving a display request for a process network model DM5, and a process network model display data generating unit 592 for generating process network model display data for displaying the process network model DM5 at the request source of the display request. The process network model display data generating unit 592 generates process network model three-dimensional display data for three-dimensionally displaying the process network model DM5 in the request source that requests the display of the process network model DM5.
[0625] Therefore, even as the number of process master nodes DM50 included in the process network model DM5 increases, and the complexity of the model increases, ensuring the quality of business operations using the process execution system 500 becomes easier. Thus, the process execution system 500 according to this embodiment combines flexibility and stability, exhibiting high adaptability to rapidly changing business environments.
[0626] Furthermore, the process network model display unit 590 of the process execution system 500 according to this embodiment displays information of the process master node DM50 included in the process network model DM5.
[0627] Therefore, even if the number of process master nodes DM50 included in the process network model DM5 increases, and the complexity of the model increases, the process model can still be easily verified. Thus, the process execution system 500 according to this embodiment has both flexibility and stability, and is highly adaptable to rapidly changing business environments.
[0628] Visualizing the process network D5 using the Process Execution System 500 is crucial for ensuring business quality. In particular, as the number of process nodes D50 included in the process network D5 increases and the model's complexity grows, visualization of the process network D5 plays a vital role in ensuring the quality of business using the Process Execution System 500.
[0629] The process execution system 500 of this embodiment also includes a process network display unit 595 for displaying the process network D5.
[0630] Therefore, even as the number of process nodes D50 included in the process network D5 increases and the complexity of the model increases, ensuring business quality using the process execution system 500 becomes easier. Thus, the process execution system 500 according to this embodiment combines flexibility and stability, exhibiting high adaptability to rapidly changing business environments.
[0631] Furthermore, the process network display unit 595 of the process execution system 500 in this embodiment includes: a process network display request receiving unit 596 for receiving a display request for process network D5; and a process network display data generation unit 597 for generating process network display data for displaying process network D5 at the request source of the display request. The process network display data generation unit 597 generates process network three-dimensional display data for three-dimensionally displaying process network D5 in the request source that requests the display of process network D5.
[0632] Therefore, even as the number of process nodes D50 included in the process network D5 increases and the complexity of the model increases, ensuring business quality using the process execution system 500 becomes easier. Thus, the process execution system 500 according to this embodiment combines flexibility and stability, exhibiting high adaptability to rapidly changing business environments.
[0633] Furthermore, the process network display unit 595 of the process execution system 500 according to this embodiment displays relevant information of process nodes D50 included in the process network D5, with each process node D50 displayed separately.
[0634] Therefore, even as the number of process nodes D50 included in the process network D5 increases and the complexity of the model increases, monitoring the execution of the process becomes easier. Thus, the process execution system 500 according to this embodiment combines flexibility and stability, exhibiting high adaptability to rapidly changing business environments.
[0635] The effects of the present invention will be further explained in detail through the use of embodiments. However, the technical scope of the present invention is not limited to this embodiment. This embodiment is described based on the configuration of the process execution system 200 of the second embodiment described above, but it can also be understood based on the effects of the process execution system 100 of the first embodiment, the process execution system 300 of the third embodiment, the process execution system 400 of the fourth embodiment, and the process execution system 500 of the fifth embodiment.
[0636] The process execution system 200 involved in this embodiment runs on a local server. The control unit 210 of the process execution system 200 in this embodiment consists of a CPU (Central Processing Unit) and memory such as RAM (Random Access Memory) and ROM (Read Only Memory) found in the internal server. The storage unit 220 of the process execution system 200 in this embodiment consists of an SSD (Solid State Drive) or similar device found in the local server. The communication unit 230 of the process execution system 200 in this embodiment consists of an interface circuit (LAN card, etc.) found in the local server.
[0637] The action execution system 50 used in this embodiment consists of PowerAutomate and PowerAutomate for desktop from Microsoft Corporation's cloud service MICROSOFT 365 (registered trademark).
[0638] In this embodiment, the control unit 210 of the process execution system 200 functions as the process network generation unit 250, the process network status management unit 260, and the process network execution unit 270. The process network generation unit 250, the process network status management unit 260, and the process network execution unit 270 are implemented as web application functions using the Django framework for creating web applications.
[0639] In this embodiment, the storage unit 220 of the process execution system 200 functions as a database server. The database server is configured using PostgreSQL. The process network model DM1 and the process network D1 are stored in the storage unit 220, which functions as the database server.
[0640] In this embodiment, the communication unit 230 of the process execution system 200 functions as a gateway server for communicating with cloud services. This enables communication between the local server and the cloud service. In this embodiment, the on-premises data gateway provided by Microsoft Corporation is used, making the communication unit 130 a gateway server. By using the on-premises data gateway, the process execution system 200 can be accessed via API from PowerAutomate, which is the action execution system 50.
[0641] The process network model input unit 151 of the process network generation unit 250 has a GUI (Graphical User Interface) that allows the registration and operation of the process network model DM2 to be performed via a web browser.
[0642] The process network state management unit 260 is configured as part of a library comprised of a web application. The library comprising the process network state management unit 260 is executed periodically by the task scheduler of the Microsoft Corporation's Windows operating system (registered trademark). Thus, the process network state management unit 260 is able to periodically perform state transition processing for process nodes D20 contained in the process network D2. Furthermore, the process network state management unit 260 has an API for receiving state change requests that modify the process state. By using this API, the state of a specific process node D20 can be changed from the action execution system 50.
[0643] The process network execution unit 270 is configured as part of a library constituting a web application. The library comprised of the process network execution unit 270 can be executed periodically via a task scheduler launched periodically by the task scheduler of Microsoft Corporation's Windows operating system (registered trademark). Thus, the process network execution unit 270 is able to periodically execute the execution processing of executable process nodes D20.
[0644] In this embodiment, when the process network execution unit 270 begins executing the execution process of the executable process node D20, it sets the process state D23 of process node D20 to the executing state. Furthermore, when the execution process of process node D20, where the asynchronous flag D254 is True, is completed, the process network execution unit 270 sets the process state D23 of process node D20 to the standby state. Additionally, the process network state management unit 260 in step S1326 (see...) Figure 13 ) and step S13245 (see Figure 14 When process node D20 is placed in the executable state, if the process state D23 of process node D20 is in the executing state or in the standby state, the process state D23 of process node D20 is not changed.
[0645] In this embodiment, the process execution system 200 is used to process the business process related to paying patent annuity fees to the patent office.
[0646] The contextual data of cases involving patent annuity payment recipients is stored in storage unit 220, which functions as a database server. This contextual data includes information such as application number, applicant, number of claims, shareholding percentage of each applicant, and patent fee reductions or exemptions. The contextual data of these cases can be retrieved from storage unit 220, which functions as a database server, using the unique case number as the primary key.
[0647] The storage unit 220, which functions as a database server, can be accessed via the communication unit 230, which functions as a gateway server, from PowerAutomate or PowerAutomate for desktop, which functions as an action execution system 50. By sending SQL queries using PowerAutomate or PowerAutomate for desktop, context data for a specific case can be retrieved from the storage unit 220 (which functions as a database server) via the communication unit 230, using the case number as the key.
[0648] Contextual data, such as case numbers, is embedded into the API data of action items when the process network generation unit 250 generates process network D1 from process network model DM1 using contextual data. The embedding of API data uses the same mechanism as the Django Template Language used in the Django template engine. That is, the embedding of API data is performed by replacing the tags in the API data master data of the action item master data DM1531 embedded in process network model DM1 based on the contextual data.
[0649] Reference Figures 69 to 73 This section explains the process network model DM2 and process network D2 used in this embodiment. Figures 69 to 73 This is a schematic diagram illustrating the process network model and process network partial data structure of the process execution system performed in this embodiment. The process network generation unit 250 generates a process network D2 containing process nodes that correspond one-to-one with the process master nodes in the process network model DM2.
[0650] Reference Figure 69 In this embodiment, the process network model DM2 has a root process master node ML01. The root process master node ML01 is used to generate the root process node L01.
[0651] The root process master node ML01 has process master nodes ML11, ML12, ML13, and ML14. Process master node ML11 is used to generate query process node L11. Process master node ML12 is used to generate instruction receive process node L12. Process master node ML13 is used to generate bureau procedure process node L13. Process master node ML14 is used to generate request process node L14.
[0652] Reference Figure 70 The process master node ML11 has process master nodes ML21, ML22, and ML23. Process master node ML21 is used to generate query emails and generate process node L21. Process master node ML22 is used to generate query emails and send process node L22. Process master node ML13 is used to generate documents and start the process node L13.
[0653] Reference Figure 71 The process master node ML12 has process master nodes ML24 and ML25. Process master node ML24 is used to generate the instruction confirmation process node L24. Process master node ML25 is used to generate the document sending process initiation process node L25.
[0654] Reference Figure 72 The process master node ML13 has process master nodes ML26 and ML27. Process master node ML26 is used to generate the local document and generate process node L26. Process master node ML27 is used to generate the local document and submit process node L27.
[0655] Reference Figure 73 The process master node ML14 has process master nodes ML28 and ML29. Process master node ML28 is used to generate invoices and generate process node L28. Process master node ML29 is used to generate invoices and send them to process node L29.
[0656] The following is a detailed explanation of each process node.
[0657] Reference Figure 70 The query process node L11 has query email generation process node L21, query email sending process node L22, and document generation and processing start process node L23 as child nodes.
[0658] Process node L21 represents the query email generation process. This process generates an email inquiring about the applicant's intention to pay patent annuities. Generating the query email is done by executing a process registered in PowerAutomate for generating query emails. This execution is achieved by sending an execution request to the PowerAutomate API. The query email generation process includes generating the subject and body of the query email, setting the recipient, and attaching attachments if necessary.
[0659] The action information D253 of process node L21 includes the API address for executing the process registered with PowerAutomate to generate query emails. Furthermore, the action information D253 of process node L21 contains context data such as the case number as API data. The process network execution unit 270 sends an execution request for the process to generate query emails to the API address contained in the action information D253 of process node L21, and also sends the API data contained in that action information D253. The process for generating query emails uses the context data contained in the sent API data to retrieve necessary information from the storage unit 220, which functions as a database server, and dynamically changes the recipient, subject, body, and attachments of the email.
[0660] Process node L22 represents the query email sending process. In this process, a query email sending request is sent to the business owner. This request is sent by executing a process registered in PowerAutomate for sending query email requests. Executing this process involves sending an execution request to the PowerAutomate API. The process for sending query email requests registers a query email sending task in the Microsoft 365 (registered trademark) task management service Planner and assigns the registered task to the business owner. The business owner is notified when the task is assigned.
[0661] The action information D253 of process node L22 includes the API address for executing the process registered with PowerAutomate to send a query email request. Furthermore, the action information D253 of process node L22 contains context data such as the case number as API data. The process network execution unit 270 sends a process execution request to the API address contained in the action information D253 of process node L22 to send the query email request, simultaneously sending the API data contained in that action information D253. The process for sending the query email request uses the context data contained in the sent API data to retrieve necessary information from the storage unit 220, which functions as a database server, and dynamically changes the message content set in the query email sending task and the business person assigned to the task.
[0662] When a query email sending task is assigned to a business responsible person, that person will be notified. Upon receiving the notification, the business responsible person will send the query email generated by the aforementioned process for generating query emails, according to the settings in the query email sending task. After sending the query email, the business responsible person completes the query email sending task registered in the Planner. When the query email sending task is completed, the process for completing the query email sending process node registered in PowerAutomate is initiated, using the completion of this task as a trigger. The process for completing the query email sending process node is to send a process status change request to the API of the process network status management unit 260 to change the process status D23 of process node L22 to the completed state.
[0663] Process node L23 represents the process that initiates the document generation process. In the process that initiates the document generation process, the process state D23 of process node L26 (representing the document generation process) is set to executable, and the process state D23 of process node L28 (representing the invoice generation process) is also set to executable. The document generation process is initiated by executing a process registered in PowerAutomate for initiating the document generation process. This initiation process is executed by sending an execution request to the PowerAutomate API. The process that initiates the document generation process sends a process state change request to the API of the process network state management unit 260 to change the process state D23 of process node L26 to executable, and simultaneously sends a process state change request to change the process state D23 of process node L28 to executable.
[0664] The action information D253 of process node L23 contains the API address for executing the document generation process initiation process registered with PowerAutomate. Furthermore, the action information D253 of process node L23 contains context data such as the case number as API data. The process network execution unit 270 sends a process execution request to the API address contained in the action information D253 of process node L23 to initiate the document generation process, and also sends the API data contained in the action information D253. The process for initiating the document generation process uses the context data contained in the sent API data to retrieve the information (process node identifier D21, etc.) required to put process nodes L26 and L28 into an executable state from the storage unit 220, which acts as a database server.
[0665] Reference Figure 71 The receiving process node L12 has an indication confirmation process node L24 and a document sending process initiation process node L25 as child nodes.
[0666] Process node L24 represents the instruction confirmation process. In this process, a confirmation request for the instruction email is sent to the business responsible party. This confirmation request is executed by executing a process registered in PowerAutomate for instruction email confirmation requests. Executing this process is done by sending an execution request to the PowerAutomate API. The process for confirming the instruction email uses Microsoft 365's (registered trademark) acknowledgment request service to send an acknowledgment request for the instruction email confirmation request to the business responsible party.
[0667] Action information D253 of process node L24 contains the API address for executing the process registered in PowerAutomate for confirming request instruction emails. Furthermore, action information D253 of process node L24 contains context data such as the case number as API data. Process network execution unit 270 sends a process execution request for confirming request instruction emails to the API address contained in action information D253 of process node L24, and also sends the API data contained in that action information D253. The process for sending the request instruction emails uses the context data contained in the sent API data to obtain necessary information from storage unit 220, which functions as a database server, and sets the message content for the acknowledgment request for the confirmation email, as well as dynamically changing the business representative who sent the acknowledgment request.
[0668] The process node L24 of the indication confirmation process becomes executable upon receiving an indication email from the applicant regarding the query email in process node L22. Specifically, upon receiving an indication email from the applicant, the receipt of this email serves as the trigger point to initiate the indication confirmation process registered in PowerAutomate. The procedure for initiating the indication confirmation process involves sending a process status change request to the API of the process network status management unit 260 to change the process status D23 of process node L24 to the executable state.
[0669] As described above, when process node L24, which represents the instruction confirmation process, is executed, an acknowledgment request for instruction email confirmation is sent to the business manager. Upon receiving the instruction email confirmation request, the business manager will confirm the instruction email from the applicant in the query email generated by the process used to generate the query email, according to the content set in the request. After confirming the instruction email, the business manager completes the acknowledgment request for instruction email confirmation. When the acknowledgment request for instruction email confirmation is completed, the process registered in PowerAutomate for the instruction confirmation process node to complete processing is initiated, using the completion of the acknowledgment request as a trigger. The process for the instruction confirmation process node to complete processing sends a process status change request to the API of the process network status management unit 160 to change the process status D23 of process node L24 to the completed state.
[0670] Process node L25 represents the process that initiates the document submission process. When initiating the document submission process, the process state D23 of process node L27 (representing the local document submission process) and the process state D23 of process node L29 (representing the invoice submission process) are both set to executable. The document submission process is initiated by executing a process registered in PowerAutomate for initiating the document submission process. This execution is achieved by sending an execution request to the PowerAutomate API. The process used for initiating the process sends a process state change request to the API of the Process Network State Management Unit 260 to change the process state D23 of process node L27 to executable, and simultaneously sends a process state change request to change the process state D23 of process node L29 to executable.
[0671] The action information D253 of process node L25 includes the API address for initiating a document submission process registered in PowerAutomate. Furthermore, the action information D253 of process node L25 contains context data such as the case number as API data. The process network execution unit 270 sends a process execution request to the API address contained in the action information D253 of process node L25, requesting the sending of a query email, and also sends the API data contained in that action information D253. The process for initiating the process uses the context data contained in the sent API data to retrieve the information (process node identifier D21, etc.) required to place specific process nodes L27 and L29 into an executable state from the storage unit 220, which functions as a database server.
[0672] Reference Figure 72 Bureau procedure process node L13 has bureau document generation process node L26 and bureau document submission process node L27 as sub-nodes.
[0673] Process node L26 represents the patent office document generation process. This process generates an annuity payment certificate to be submitted to the patent office. The annuity payment certificate is generated by executing a process registered in PowerAutomate. This process is executed by sending an execution request to the PowerAutomate API. The process generates the annuity payment certificate based on its format by outputting the information from each field to an HTML file.
[0674] Action information D253 of process node L26 includes the API address for executing the annuity payment certificate generation process registered in PowerAutomate. Furthermore, action information D253 of process node L26 contains contextual data such as the case number as API data. Process network execution unit 270 sends an execution request for the annuity payment certificate generation process to the API address contained in action information D253 of process node L26, and also sends the API data contained in action information D253. The annuity payment certificate generation process uses the contextual data contained in the sent API data to retrieve necessary information from storage unit 220, which functions as a database server, and dynamically changes the information in each field of the annuity payment certificate (application number, patent applicant, number of claims, payment year, patent fee, etc.).
[0675] Process node L27 represents the process of submitting a bureau document. In the bureau document submission process, a bureau document submission request is sent to the business responsible party. This request is executed by performing a bureau document submission request process registered in PowerAutomate. The process for executing this request is done by sending an execution request to the PowerAutomate API. The process for bureau document submission requests registers a bureau document submission task in the Microsoft 365 (registered trademark) task management service Planner and assigns the registered task to the business responsible party. The business responsible party is notified when the task is assigned.
[0676] The action information D253 of process node L27 includes the API address for executing the local document submission request process registered in PowerAutomate. Furthermore, the action information D253 of process node L27 contains context data such as the case number as API data. The process network execution unit 270 sends a process execution request for the local document submission request to the API address contained in the action information D253 of process node L27, and also sends the API data contained in that action information D253. The process for the local document submission request uses the context data contained in the sent API data to retrieve necessary information from the storage unit 220, which acts as a database server, and dynamically changes the message content set as the local document submission task and the business person in charge who assigned the task.
[0677] When a document submission task is assigned to a business manager, that manager is notified. Upon receiving the notification, the business manager submits the annuity payment certificate generated by the aforementioned document generation process to the Patent Office, according to the settings configured in the document submission task. After submitting the document, the business manager completes the document submission task. Upon completion of the document submission task, the process for completing the process node registered in Power Automate is initiated, using the completion of this task as a trigger. The process for completing the document submission process node involves sending a process status change request to the API of the Process Network Status Management Department 260 to change the process status D23 of process node L27 to the completed state.
[0678] Reference Figure 73 The request process node L14 has request form generation process node L28 and invoice sending process node L29 as child nodes.
[0679] Process node L28 represents the invoice generation process. In this process, an invoice is generated to collect annuity payment fees from the applicant. Invoice generation is performed by executing an invoice generation process registered in PowerAutomate. This process is executed by sending an execution request to the PowerAutomate API. The process for generating the invoice initiates a request content input process for PowerAutomate for desktop. PowerAutomate for desktop runs on the client PC. The process for inputting request content for PowerAutomate for desktop enters the request content into the local accounting system.
[0680] The action information D253 of process node L28 includes the API address for executing the invoice generation process registered in PowerAutomate. Furthermore, the action information D253 of process node L28 contains context data such as the case number as API data. The process network execution unit 270 sends a process execution request for invoice generation to the API address contained in the action information D253 of process node L28, and also sends the API data contained in that action information D253. The process for generating the invoice uses the context data contained in the sent API data to obtain necessary information from the storage unit 220, which functions as a database server, and dynamically changes the request content.
[0681] Process node L29 represents the invoice sending process. In the invoice sending process, an invoice sending request is submitted to the business owner. This request is executed by executing an invoice sending request process registered in PowerAutomate. The execution of this request process is achieved by sending an execution request to the Power Automate API. The process for sending the requested invoice registers an invoice sending task in the Microsoft 365 (registered trademark) task management service Planner and assigns the registered task to the business owner. The business owner is notified when the task is assigned.
[0682] Action information D253 of process node L29 includes the API address for executing the invoice payment request process registered in PowerAutomate. Furthermore, action information D253 of process node L29 contains context data such as the case number as API data. Process network execution unit 270 sends a process execution request for sending an invoice request to the API address contained in action information D253 of process node L29, and also sends the API data contained in action information D253. The process for sending the invoice request uses the context data contained in the sent API data to obtain necessary information from storage unit 220, which functions as a database server, and dynamically changes the message content set for the invoice sending task and the business person assigned to the task.
[0683] When an invoice sending task is assigned to a business manager, that manager is notified. Upon receiving the notification, the business manager, based on the settings in the invoice sending task, sends the invoice generated by the aforementioned invoice generation process to the applicant. After completing the invoice sending, the business manager completes the invoice sending task. When the invoice sending task is completed, the process for completing the invoice sending process node registered in Power Automate is initiated, using the completion of this task as a trigger. The process for completing the invoice sending process node is to send a process status change request to the API of the process network status management unit 260 to change the process status D23 of process node L29 to the completed state.
[0684] In the aforementioned process master nodes (process nodes), the asynchronous flag master (asynchronous flag) of process master nodes ML22, ML24, ML27, and ML29 (process nodes L22, L24, L27, and L29) marked with an asterisk is True, while the asynchronous flag master (asynchronous flag) of process master nodes without an asterisk is False. In the aforementioned process master nodes (process nodes), the auto-start flag master data DM255 (auto-start flag D255) of process master nodes ML24, ML27, and ML29 (process nodes L24, L27, and L29) marked with a box is False, while the auto-start flag master data DM255 (auto-start flag D255) of process master nodes without an asterisk is True.
[0685] Reference Figures 74 to 78 This explains the actions of this embodiment. Figures 74 to 78 It is a sequence diagram representing a portion of the processes executed in the process execution system involved in the embodiment.
[0686] Reference Figure 74When receiving input from the process network model DM2, the process network generation unit 250 generates a corresponding process network D2. The process network model input unit 151 of the process network generation unit 250 receives case numbers and other context data. When generating process network D2 from the process network model DM2 received from the process network model input unit 151, the process network generation unit 250 embeds context data such as the case number into the API data contained in the action information D253 of the generated process network D2 using the context data. The process network generation unit 250 stores the generated process network D2 in the storage unit 220. When storing the generated process network D2 in the storage unit 220, the process network generation unit 250 associates the context data received by the process network model input unit 151 with the process network D2 and saves it to the storage unit 220.
[0687] The process network state management unit 260 performs state transition processing on the process nodes, making the process node L21 for generating query emails ready for execution. When the generated process network D2 applies state transition processing, the process node L21 for generating query emails is the first to become ready for execution.
[0688] Reference Figure 75 The process network execution unit 270 executes the query email generation process node L21, which has become executable. The process network execution unit 270 sends a process request to PowerAutomate's API to execute the query email generation process. PowerAutomate's process for generating query emails generates the query email. After executing the query email generation process node L21, the process network execution unit 270 sends a process status change request to the process network status management unit 260 to change the process status D23 of the query email generation process node L21 to the completed status. The process network status management unit 260 sets the process status D23 of the query email generation process node L21 to the completed status.
[0689] The process network status management department 260 executes the status transition process of process node D20, making the query email sending process node L22 executable.
[0690] Process network execution unit 270 executes the query email sending process node L22, which has become executable. Process network execution unit 270 sends a request to the PowerAutomate API to execute the process for sending query email requests. The PowerAutomate process for sending query email requests involves registering query email sending tasks in the Planner and assigning business owners to the registered tasks.
[0691] The asynchronous flag for querying email sending process node L22 is set to True. Therefore, after executing the query email sending process node L22, the process network execution unit 270 does not set the process status D23 of process node L22 to the completed state (see [link]). Figure 27 ).
[0692] Once the query email sending task registered in the Planner is completed, the process for completing the Power Automate query email sending process node will be initiated. The process for completing the query email sending process node involves sending a process status change request to the API of the Process Network Status Management Unit 260 to change the process status D23 of the query email sending process node L22 to the completed state. The Process Network Status Management Unit 260 then sets the process status D23 of the query email sending process node L22 to the completed state.
[0693] The process network status management department 260 performs state transition processing on the process nodes, making the document generation process initiation process node L23 in an executable state.
[0694] Reference Figure 76 The process network execution unit 270 executes the document generation process initiation process node L23, which has become executable. The process network execution unit 270 sends a process execution request to the PowerAutomate API to initiate the document generation process. The process for initiating the document generation process is to send a process status change request to the process network status management unit 260's API to change the process status D23 of the local document generation process node L26 to an executable state. The process network status management unit 260 sets the process status D23 of the local document generation process node L26 to an executable state. Furthermore, the process for initiating the document generation process is to send a process status change request to the process network status management unit 260's API to change the process status D23 of the invoice generation process node L28 to an executable state. The process network status management unit 260 sets the process status D23 of the invoice generation process node L28 to an executable state.
[0695] After executing the document generation process initiation node L23, the process network execution unit 270 sends a process status change request to the process network status management unit 260 to change the process status D23 of the document generation process initiation node L23 to the completed state. The process network status management unit 260 sets the process status D23 of the document generation process initiation node L23 to the completed state. When the process status D23 of the document generation process initiation node L23 is completed, since all process nodes L21, L22, and L23 under process node L11 are completed, the process network status management unit 260 performs process node status transition processing and sets the process status D23 of the queried process node L11 to the completed state.
[0696] The process network execution unit 270 executes the local document generation process node L26, which has become executable. The process network execution unit 270 sends an execution request to the PowerAutomate API to generate the local document. The PowerAutomate local document generation process generates annuity payment statements. After executing the local document generation process node L26, the process network execution unit 270 sends a process status change request to the process network status management unit 260's API to change the process status D23 of the local document generation process node L26 to the completed status. The process network status management unit 260 sets the process status D23 of the local document generation process node L26 to the completed status.
[0697] The process network execution unit 270 executes the invoice generation process node L28, which has become executable. The process network execution unit 270 sends an execution request to the PowerAutomate API to generate the invoice. The PowerAutomate invoice generation process generates the invoice. After executing the invoice generation process node L28, the process network execution unit 270 sends a process status change request to the process network status management unit 260's API to change the process status D23 of the invoice generation process node L28 to the completed status. The process network status management unit 260 sets the process status D23 of the invoice generation process node L28 to the completed status.
[0698] Based on the execution of the process nodes so far, querying process node L11 (and process nodes L21, L22 and L23 under process node L11), the document generation process node L26 and the invoice generation process node L28 will be in a completed state.
[0699] Since query process node L11 has become complete, the next process node that might become executable after the state transition processing of the process network state management unit 260 is the instruction confirmation process node L24. However, since the automatic start flag of the instruction confirmation process node L24 is False, even if query process node L11 is in the complete state, the instruction confirmation process node L24 will not become executable during the state transition processing of the process network state management unit 260.
[0700] Similarly, since the automatic start flag of the document submission process node L27 is also False, even if the document generation process node L26 is in a completed state, the document submission process node L27 will not become executable during the state transition processing of the process network state management unit 260. Furthermore, since the automatic start flag of the invoice sending process node L29 is also False, even if the invoice generation process node L28 is in a completed state, the invoice sending process node L29 will not become executable during the state transition processing of the process network state management unit 260.
[0701] Reference Figure 77 When an applicant's instruction email is received from the processing flow represented by the inquiry email sending process node L22, the instruction confirmation processing flow for PowerAutomate (registration) is initiated. The process for initiating the instruction confirmation process is to send a process status change request, which changes the process status D23 of the instruction confirmation process node L24 to the executable state, to the API of the process network status management unit 260.
[0702] Process network execution unit 270 executes the instruction confirmation process node L24, which has become executable. Process network execution unit 270 sends an execution request to PowerAutomate's API to confirm the process used for the instruction confirmation request. PowerAutomate executes the instruction confirmation request process, sending the MICROSOFT 365 (registered trademark) approval request to the business agent. The asynchronous flag for instruction confirmation process node L24 is True. Therefore, process network execution unit 270 does not place process node L24 into a completed state after execution (see...). Figure 27 ).
[0703] After the confirmation request sent by the confirmation process node L24 is approved, the process for PowerAutomate (registration) to complete the processing for the confirmation process node is initiated. The process for the confirmation process node to complete the processing involves sending a process status change request to the API of the process network status management unit 260 to change the process status D23 of the confirmation process node L24 to the completed state. The process network status management unit 260 then sets the process status D23 of the confirmation process node L24 to the completed state.
[0704] The process network status management department 260 performs state transition processing on the process node, changing the process status D23 of the document sending process initiation process node L25 to the executable state.
[0705] The process network execution unit 270 initiates the document submission process, which has become executable, at process node L25. The process network execution unit 270 sends an execution request to the PowerAutomate API to initiate the process. The process used to initiate this document submission process sends a process status change request to the process network status management unit 260's API to change the process status D23 of the local document submission process node L27 to executable. The process network status management unit 260 sets the process status D23 of the local document submission process node L27 to executable. Furthermore, the process used to initiate the process sends a process status change request to the process network status management unit 260's API to change the process status D23 of the invoice submission process node L29 to executable. The process network status management unit 260 sets the process status D23 of the invoice submission process node L29 to executable.
[0706] After executing the document sending process initiation node L25, the process network execution unit 270 sends a process status change request to the process network state management unit 260 to change the process status D23 of the document sending process initiation node L25 to the completed state. The process network state management unit 260 sets the process status D23 of the document sending process initiation node L25 to the completed state. When the document sending process initiation node L25 completes, since all process nodes L24 and L25 under the receiving process node L12 are in the completed state, the process network state management unit 260 performs process node state transition processing and sets the process status D23 of the receiving process node L12 to the completed state.
[0707] Reference Figure 78The process network execution unit 270 executes the local document submission process node L27, which has become executable. The process network execution unit 270 sends an execution request to the PowerAutomate API to submit the local document request process. PowerAutomate executes the process for the local document submission request, registers the task for submitting the local document in the Planner, and assigns the business agent to the registered task. The asynchronous flag of the local document submission process node L27 is set to True. Therefore, after executing the local document submission process node L27, the process network execution unit 270 does not place the process node L27 into a completed state.
[0708] Process network execution unit 270 executes the bill payment process node L29, which has become executable. Process network execution unit 270 sends an execution request to the PowerAutomate API to request the invoice delivery process. PowerAutomate executes the invoice delivery request process, registers the invoice delivery task in the Planner, and assigns the business agent to the registered task. The asynchronous flag of invoice delivery process node L29 is set to True. Therefore, after executing invoice delivery process node L29, process network execution unit 270 does not place process node L29 in the completed state.
[0709] When a registered local document submission task in the Planner is completed, a process for completing the local document submission process node of Power Automate will be initiated. This process involves sending a process status change request to the API of the Process Network State Management Unit 260 to change the process status D23 of the local document submission process node L27 to the completed state. The Process Network State Management Unit 260 then sets the process status D23 of the local document submission process node L27 to the completed state. After the local document submission process node L27 completes, since all process nodes L26 and L27 under the local procedure process node L13 are in the completed state, the Process Network State Management Unit 260 performs a process node state transition process, causing the process status D23 of the local procedure process node L13 to be in the completed state.
[0710] When the invoice sending task registered in the Planner completes, a flow for PowerAutomate's invoice sending process node completion processing is initiated. The process for completing the invoice sending process node processing involves sending a process state change request to the API of the process network state management unit 260 to change the process state D23 of the invoice sending process node L29 to the completed state. The process network state management unit 260 sets the process state D23 of the invoice sending process node L29 to the completed state. When the invoice sending process node L29 completes, since all process nodes L28 and L29 under the invoice sending process node L14 have completed, the process network state management unit 260 performs a process node state transition process, changing the process state D23 of the invoice process node L14 to the completed state.
[0711] The above processing results in all process nodes L11, L12, L13 and L14 configured in the root process node L01 being in the completed state. Therefore, the process network state management unit 260 performs the process node state transition process, so that the process state D23 of the root process node L01 becomes the completed state.
[0712] As described above, the process execution system 200 according to this embodiment can execute even complex business processes, especially those involving asynchronous processing. In particular, the hierarchical process network model is highly expressive because it can subdivide processes by deepening the hierarchy. The process execution system 200, which accepts the hierarchical process network model, can execute even complex business processes. Changes in business content can be addressed by modifying the process network model; the composition of the process network generation unit, the process network state management unit, and the process network execution unit do not require change. Therefore, the process execution system 200 is a system with a simple structure but excellent flexibility and stability, and it has a high ability to adapt to rapidly changing business environments.
[0713] The configuration of the process execution system described above is primarily intended to illustrate the features of the embodiments described above, and is not limited to the above configuration. Various modifications can be made without departing from the scope of the claims. Furthermore, the configuration typically found in process execution systems is not excluded.
[0714] In the above embodiments, the process execution system is configured as a web application running on a server machine, but it can also be configured as a local application running on a PC.
[0715] The above embodiments illustrate the application of the present invention to business processes, but the present invention is not limited to business processes. For example, it can also be applied to processes that interact with the real world, such as those in CPS (Cyber-Physical Systems). The above description is merely a detailed explanation and illustration of preferred embodiments of the present invention, and the features of the present invention are not limited thereto. It is not intended to limit the present invention. The scope of the present invention should be determined by the claims. All embodiments that conform to the spirit of the claims and similar variations thereof should be included within the scope of the present invention. Any variations or improvements that can be easily conceived by those skilled in the art within the scope of the present invention are covered by the following patent claims.
Claims
1. A process execution system, characterized by, comprises: a flow network generation section that generates a flow network including a plurality of flow nodes from a flow network model representing relationships between flow nodes generated via a plurality of flow master nodes, each flow master node having flow generation information for generating flow definition information that defines contents of a flow, each flow node having the flow definition information; a flow network state management section that makes a specific flow node executable based on states of flow nodes included in the flow network and a preset flow state transition rule; a flow network execution section that executes a flow defined via the flow definition information possessed by the executable flow nodes included in the flow network; and a transcription section that executes a transcription flow that transcribes the flow generation information possessed by one of the flow master nodes to one of the flow nodes corresponding to the one flow master node as the flow definition information, wherein the flow network generation section includes a flow network model input section that accepts input of the flow network model, and the flow network model input section generates the flow network from the flow network model accepted as input; the flow definition information includes action-related information required to execute a flow defined by the flow definition information; the flow network execution section transmits an execution request of an action included in the flow definition information of the executable flow node to an action execution system that executes a preset action in accordance with a request for execution of the action, thereby executing a flow defined by the flow definition information; the flow generation information includes one or more transcription flow definition information that defines a transcription factor model that models an influence of an environment in which a flow execution system is capable of communicating on the transcription flow; the transcription flow definition information includes one or more transcription factor model definition information that defines a transcription factor model that models an influence of an environment in which a flow execution system is capable of communicating on the transcription flow; the transcription section includes a transcription request reception section that receives an execution request of the transcription flow, a transcription factor model evaluation section that evaluates the transcription factor model defined by the transcription factor model definition information, and a transcription flow execution section that executes the transcription flow defined by the transcription flow definition information; the transcription flow execution section controls the transcription flow based on evaluation results of one or more transcription factor models evaluated by the transcription factor model evaluation section.
2. The process execution system of claim 1, wherein, the flow network model input section receives input of a hierarchical flow network model that hierarchically represents relationships between the flow nodes generated by the plurality of flow master nodes, the flow network generation section generates a hierarchical flow network corresponding to the hierarchical flow network model received as input by the flow network model input section.
3. The process execution system of claim 2, wherein, the flow network state management section includes a flow state change request reception section that receives a flow state change request that changes a state of a specific flow node, and changes the state of the specific flow node included in the flow network based on the flow state change request received by the flow state change request reception section.
4. The process execution system of claim 1, wherein, The flow network execution section executes the flow defined by the flow definition information by transmitting an execution request of the transcription flow to the transcription request receiving section, and executes the flow according to the flow definition information updated by transcription of the flow generation information used to generate the flow definition information via the transcription section, when executing the flow defined by the flow definition information.
5. The process execution system of claim 4, wherein, The transcription factor model evaluation section uses evaluation results of other transcription factor models as input data of one transcription factor model when evaluating the one transcription factor model.
6. The flow execution system of claim 5, wherein, The flow definition information includes an activity flag indicating whether a flow having the flow definition information is active or inactive, The flow generation information includes activity flag main data used to generate the activity flag; The activity flag main data includes the transcription flow definition information configured in a manner determined according to evaluation results of the transcription factor models; The flow network state management section considers the flow node as non-existent when the activity flag included in the flow definition information possessed by the flow node indicates inactivity.
7. The process execution system of claim 6, wherein, The flow network generation section has a flow network model output section that outputs the flow network model, The flow network model output section outputs serialized data of the flow network model.
8. The process execution system of claim 7, wherein, The flow network model input section receives input of serialized data of the flow network model, The flow network generation section generates the flow network using the flow network model obtained by deserializing the serialized data of the flow network model received by the flow network model input section.
9. The process execution system of claim 8, wherein, The flow network model output section serializes the flow network model based on a rule that the flow network model corresponds to serialized data of the flow network model one-to-one when serializing the flow network model.
10. The process execution system of claim 9, wherein, The data format used by the flow network model output section when outputting the serialized data of the flow network model is a data format in which a key and a value are combined.
11. The process execution system of claim 10, wherein, The data format used by the flow network model output section when outputting the serialized data of the flow network model is JSON.
12. The process execution system of any one of claims 4 to 11, wherein, Further including a flow network model display section that displays the flow network model.
13. The process execution system according to any one of claims 4 to 11, wherein, Further including a flow network display section that displays the flow network.
14. A computer program product of flow execution, characterized in that, A computer is caused to execute a process including the steps of: a plurality of flow master nodes having flow generation information used to generate flow definition information that defines a flow content, a step of receiving input of a flow network model indicating a relationship between flow nodes generated by the plurality of flow master nodes; In the step of receiving input of the flow network model, a step of generating a flow network including a plurality of the flow nodes having the flow definition information from the received flow network model; A step of performing state transition processing of the flow nodes based on states of the flow nodes included in the flow network and a preset flow state transition rule; A step of performing execution processing of executable flow nodes included in the flow network; A step of performing execution processing of executable flow nodes included in the flow network; The process generation information includes one or more transcription process definition information each defining a transcription process that transcribes the process generation information as the process definition information into the process node corresponding to the process master node having the process generation information, The transcription process definition information includes one or more transcription factor model definition information each defining a transcription factor model that models an influence of an environment communicable by the process execution system on the transcription process, The computer program product of the process execution further includes a step of receiving an execution request of the transcription process, a step of evaluating the transcription factor model defined by the transcription factor model definition information, a step of executing the transcription process defined by the transcription process definition information, The step of executing the transcription process is controlled based on an evaluation result of one or more of the transcription factor models in the step of evaluating the transcription factor model.
15. The computer program product of claim 14, wherein, In the step of receiving an input of the process network model, an input of a hierarchical process network model that hierarchically represents a relationship between the process nodes to be generated by the plurality of process master nodes is received, In the step of generating the process network, a hierarchical process network corresponding to the hierarchical process network model received in the step of receiving an input of the process network model is generated.
16. The computer program product of claim 15, wherein, The step of executing the state transition processing of the process node is, when a process state change request to change a state of a specific process node is received, in the step of receiving the process state change request, changing the state of the specific process node included in the process network based on the received process state change request.
17. The computer program product of claim 14, wherein, The step of executing the execution processing of the process node is executing the process by transmitting an execution request of the transcription process, the process definition information being updated via transcription from the process generation information to be used to generate the process definition information.
18. The computer program product of claim 17, wherein, In the step of evaluating the transcription factor model, when one of the transcription factor models is evaluated, an evaluation result of another of the transcription factor models is used as input data of the one of the transcription factor models.
Citation Information
Patent Citations
Business system change support system, business system change support program, and business system change support method
JP2012203702A
Business management system
US20130238384A1