WO2023153491A1 - プロセス実行システム、データ構造、およびプロセス実行プログラム - Google Patents

プロセス実行システム、データ構造、およびプロセス実行プログラム Download PDF

Info

Publication number
WO2023153491A1
WO2023153491A1 PCT/JP2023/004459 JP2023004459W WO2023153491A1 WO 2023153491 A1 WO2023153491 A1 WO 2023153491A1 JP 2023004459 W JP2023004459 W JP 2023004459W WO 2023153491 A1 WO2023153491 A1 WO 2023153491A1
Authority
WO
WIPO (PCT)
Prior art keywords
model
network model
transcription factor
network
execution system
Prior art date
Application number
PCT/JP2023/004459
Other languages
English (en)
French (fr)
Inventor
克大 志水
Original Assignee
Ibc一番町弁理士法人
克大 志水
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ibc一番町弁理士法人, 克大 志水 filed Critical Ibc一番町弁理士法人
Priority to AU2023218154A priority Critical patent/AU2023218154A1/en
Priority to EP23752953.2A priority patent/EP4435588A1/en
Priority to CN202380016969.5A priority patent/CN118556225A/zh
Priority to JP2023530183A priority patent/JP7429941B2/ja
Publication of WO2023153491A1 publication Critical patent/WO2023153491A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Definitions

  • the present invention relates to process execution systems, data structures, and process execution programs.
  • the above method requires two main stages: creating a business process model and developing a business system based on the business process model. Therefore, it often takes a lot of time and cost to modify a business system in accordance with changes in business content. Therefore, the business system developed by the above-described method lacks plasticity (the property of being easily deformed), and there is a problem that it is difficult to flexibly adapt to changes in the business environment.
  • Non-Patent Document 4 Non-Patent Document 5
  • Non-Patent Document 6 a method of preparing an execution environment that can execute a business process model described with a predetermined specification.
  • this method it is possible to cause the execution environment to execute the processes included in the business by expressing the business content in a business process model according to predetermined specifications. Therefore, the step of developing a business system based on a business process model can be eliminated. That is, by changing the business process model executed by the execution environment, it is possible to cope with the change of business content, so that the flexibility is improved.
  • Non-Patent Document 7 As the Digital Transformation (see Non-Patent Document 7) progresses, society as a whole is becoming more complex, and the speed of change in the business environment is accelerating. In order to adapt to such a rapidly changing business environment, most of the people in charge of operations in the field who have the knowledge and experience of the operations to be automated need to develop a business process model that can be executed in the execution environment described above. It is desirable to be able to create, modify, etc.
  • RPA Robot Process Automation
  • the present invention has been made in view of the above problems, and aims to provide a process execution system that is highly adaptable to a rapidly changing business environment by achieving both flexibility and stability.
  • the process network generation unit includes a process network model input unit that receives input of the process network model, the process network model input unit generates the process network from the process network model that has received the input,
  • the process definition information includes information about actions required to execute the process defined by the process definition information,
  • the process network execution unit issues an action execution request to an action execution system that executes a predetermined action in
  • the process network model input unit receives an input of a hierarchical process network model that hierarchically expresses the relationship between the process nodes generated by the plurality of process master nodes;
  • the process network state management unit includes a process state change request reception unit that receives a process state change request to change the state of a specific process node, and the process state change request received by the process state change request reception unit.
  • the process execution system according to (1) or (2) above, wherein the state of the particular process node included in the process network is changed based on.
  • the process generation information includes one or more pieces of transcription process definition information defining the transcription process;
  • the transcription process definition information includes one or more transcription factor model definition information that defines a transcription factor model that models the influence of an environment in which a process execution system can communicate on the transcription process,
  • the transcription unit is defined by a transcription request reception unit that receives a request to execute the transcription process, a transcription factor model evaluation unit that evaluates the transcription factor model defined by the transcription factor model definition information, and the transcription process definition information.
  • a transfer process executing unit that executes the transferred transfer process; Any one of (1) to (3) above, wherein the transcription process execution unit controls the transcription process based on evaluation results of the one or more transcription factor models evaluated by the transcription factor model evaluation unit.
  • the process network execution unit generates the process definition information by transmitting an execution request of the transcription process to the transcription request reception unit when executing the process defined by the process definition information.
  • the transcription factor model evaluation unit uses evaluation results of the other transcription factor models as input data for the one transcription factor model when evaluating the one transcription factor model. ) or the process execution system according to (5).
  • the process definition information includes an activity flag representing whether the process having the process definition information is active or inactive;
  • the process creation information includes a liveness flag master used to generate the liveness flag;
  • the activity flag master includes the transcription process definition information configured so that the activity flag is determined according to an evaluation result of the transcription factor model;
  • the process network state management unit treats the process node as non-existent.
  • the process network generation unit has a process network model output unit that outputs the process network model, The process execution system according to any one of (1) to (7) above, wherein the process network model output unit outputs data obtained by serializing the process network model.
  • the process network model input unit receives input of serialized data of the process network model
  • the process network generation unit generates the process network using the process network model obtained by deserializing data obtained by serializing the process network model input by the process network model input unit.
  • the process execution system according to (8).
  • the process network model output unit serializes based on a rule that the process network model and the serialized data of the process network model correspond one-to-one.
  • the process execution system according to (8) or (9).
  • the data format used when the process network model output unit outputs the serialized data of the process network model is a data format in which pairs of keys and values are arranged, (8) to (10) above.
  • a data structure used in a process execution system comprising: including a process network model used to generate a process network including a plurality of process nodes having process definition information defining process content;
  • the process network model includes a plurality of process master nodes having process generation information used to generate the process definition information, and expresses relationships between process nodes generated by the plurality of process master nodes.
  • a data structure, wherein the process definition information includes information about actions required to execute a process defined by the process definition information.
  • the process network model is a hierarchical process network model that hierarchically expresses the relationship between the process nodes generated by the plurality of process master nodes, and the hierarchical process network model A data structure according to (15) above, used to generate a corresponding hierarchical process network.
  • the process generation information is one or a plurality of transcription processes that define a transcription process that transcribes the process generation information as the process definition information to the process node corresponding to the process master node having the process generation information. contains definition information,
  • the transcription process definition information includes one or more transcription factor model definition information that defines a transcription factor model that models the influence of an environment in which the process execution system can communicate on the transcription process, (15) or The data structure described in (16).
  • the process definition information includes an activity flag representing whether the process having the process definition information is active or inactive;
  • the process creation information includes a liveness flag master used to generate the liveness flag;
  • (22) including a plurality of process master nodes having process generation information used to generate process definition information defining the content of a process, and defining relationships between process nodes generated by the plurality of process master nodes; accepting input of the represented process network model; generating a process network including a plurality of the process nodes having the process definition information from the process network model whose input is received in the step of receiving input of the process network model; performing state transition processing of the process nodes based on the states of the process nodes included in the process network and a predetermined process state transition rule; a step of performing execution processing of the executable process nodes included in the process network;
  • a process execution program for causing a computer to execute a process including
  • the step of performing state transition processing for the process node includes: receiving a process state change request to change the state of a specific process node; The process execution program according to (22) or (23) above, which changes the state of the specific process node included in the process network based on the above.
  • the process generation information is one or a plurality of transcription processes defining a transcription process that transcribes the process generation information as the process definition information to the process node corresponding to the process master node having the process generation information.
  • contains definition information The transcription process definition information includes one or more transcription factor model definition information that defines a transcription factor model that models the influence of an environment in which a process execution system can communicate on the transcription process, receiving a request to perform the transcription process; evaluating the transcription factor model defined by the transcription factor model definition information; and executing the transcription process defined by the transcription process definition information; Any one of (22) to (24) above, wherein the step of executing the transcription process controls the transcription process based on evaluation results of one or more of the transcription factor models in the step of evaluating the transcription factor models. 1.
  • a process execution program according to one.
  • the step of executing the process node is updated by transferring the process generation information used to generate the process definition information by transmitting the transfer process execution request;
  • evaluation results of the other transcription factor model are used as input data for the one transcription factor model. (25) or the process execution program according to (26).
  • the process definition information includes an activity flag representing whether the process having the process definition information is active or inactive;
  • the process creation information includes a liveness flag master used to generate the liveness flag;
  • the activity flag master includes the transcription process definition information configured so that the activity flag is determined according to an evaluation result of the transcription factor model;
  • the process execution program according to any one of (25) to (27) above.
  • a plurality of process master nodes having process generation information used to generate process definition information defining the content of a process are included, and the process master nodes generated by the plurality of process master nodes
  • a process network generator that generates a process network including a plurality of process nodes having the process definition information from a process network model that expresses the relationship between process nodes; a state of the process nodes included in the process network; a process network state management unit that makes a specific process node executable based on a process state transition rule of and a process defined by the process definition information possessed by the executable process node included in the process network and a process network execution unit that executes the process network execution unit
  • the process network generation unit includes a process network model input unit that receives input of the process network model, and the process network that the process network model input unit receives input
  • the process network is generated from a model, the process definition information includes information about actions required to execute the process defined by the process definition information, and the process network execution unit execute
  • FIG. 2 is a block diagram of the process execution system shown in FIG. 1;
  • FIG. 2 is a functional block diagram of a control unit of the process execution system shown in FIG. 1;
  • FIG. 2 is a functional block diagram of a process network generator of the process execution system shown in FIG. 1;
  • FIG. FIG. 2 is a schematic diagram illustrating a data structure of a process network model for which a process network model input unit of the process execution system shown in FIG. 1 receives input;
  • 2 is a schematic diagram illustrating a data structure of a process network generated by a process network generator of the process execution system shown in FIG.
  • FIG. FIG. 2 is a schematic diagram illustrating a data structure of a process master node of a process network model from which a process network model input unit of the process execution system shown in FIG. 1 receives input;
  • 2 is a schematic diagram illustrating a data structure of process nodes of a process network generated by a process network generator of the process execution system shown in FIG. 1;
  • FIG. FIG. 2 is a schematic diagram illustrating a data structure of an action information master of a process master node of a process network model for which a process network model input unit of the process execution system shown in FIG. 1 receives input;
  • 2 is a schematic diagram illustrating a data structure of action information of process nodes of a process network generated by a process network generator of the process execution system shown in FIG.
  • FIG. 4 is a flowchart representing the procedure of processing executed in the process execution system shown in FIG. 1;
  • FIG. 2 is a flow chart showing a procedure of state transition processing of a process node executed in the process execution system shown in FIG. 1;
  • FIG. 2 is a flow chart showing a procedure of state transition processing for a group of process nodes under a parent process node executed in the process execution system shown in FIG. 1;
  • 2 is a flow chart showing a procedure of state transition processing for a process node group having the smallest process number executed in the process execution system shown in FIG. 1;
  • FIG. 2 is a flow chart showing the procedure of execution processing of an executable process node executed in the process execution system shown in FIG. 1;
  • FIG. 2 is a schematic diagram showing the data structure of a process network used for explaining an operation example of a step of performing state transition processing of a process node executed in the process execution system shown in FIG. 1;
  • FIG. 4 is a diagram showing state transitions of process nodes used for explaining an operation example of a step of performing state transition processing of process nodes executed in the process execution system shown in FIG. 1 ; It is a figure which shows the structure of the action execution system which communicates with the process execution system which concerns on 2nd Embodiment of this invention, and the said process execution system.
  • FIG. 19 is a block diagram of the process execution system shown in FIG. 18; 19 is a functional block diagram of a control unit of the process execution system shown in FIG. 18; FIG.
  • FIG. 19 is a functional block diagram of a process network state management unit of the process execution system shown in FIG. 18;
  • FIG. 19 is a schematic diagram illustrating a data structure of a process network model for which a process network model input unit of the process execution system illustrated in FIG. 18 receives input;
  • FIG. 19 is a schematic diagram illustrating a data structure of a process network generated by a process network generator of the process execution system shown in FIG. 18;
  • FIG. 19 is a schematic diagram illustrating a data structure of a process master node of a process network model for which a process network model input unit of the process execution system shown in FIG. 18 receives input;
  • FIG. 19 is a functional block diagram of a process network state management unit of the process execution system shown in FIG. 18;
  • FIG. 19 is a schematic diagram illustrating a data structure of a process network model for which a process network model input unit of the process execution system illustrated in FIG. 18 receives input;
  • FIG. 19 is a schematic diagram illustrating a data
  • FIG. 11 is a conceptual diagram showing the interaction between the process execution system and the environment according to the third embodiment of the invention
  • FIG. 11 is a schematic diagram illustrating the data structure of a case data table referenced by the process execution system according to the third embodiment of the present invention
  • FIG. 11 is a schematic diagram illustrating the data structure of context data saved by a process network model input unit of the process execution system according to the third embodiment of the present invention
  • FIG. 11 is a diagram illustrating the syntax of a transcribed process tag of the process execution system according to the third embodiment of the invention
  • FIG. 11 is a diagram illustrating syntax of a selected process tag of the process execution system according to the third embodiment of the present invention
  • FIG. 11 is a conceptual diagram showing the interaction between the process execution system and the environment according to the third embodiment of the invention
  • FIG. 11 is a schematic diagram illustrating the data structure of a case data table referenced by the process execution system according to the third embodiment of the present invention
  • FIG. 11 is a schematic diagram illustrating the data structure of context
  • FIG. 12 is a diagram illustrating the syntax of a repeat process tag of the process execution system according to the third embodiment of the invention
  • FIG. 11 is a diagram illustrating syntax of a replacement process tag of the process execution system according to the third embodiment of the present invention
  • FIG. 10 is a diagram illustrating syntax of a transcription factor model tag of the process execution system according to the third embodiment of the present invention
  • FIG. 11 is a diagram illustrating output data of a transcription factor model of the process execution system according to the third embodiment of the present invention. It is a flow chart showing the procedure of processing performed in a process execution system concerning a 3rd embodiment of the present invention.
  • FIG. 11 is a flow chart showing the procedure of execution processing of executable process nodes executed in the process execution system according to the third embodiment of the present invention;
  • FIG. 10 is a flow chart showing a procedure of processing executed in a transfer section of a process execution system according to a third embodiment of the present invention
  • FIG. FIG. 12 is a flowchart showing the procedure of evaluation processing of an evaluation target transcription factor model executed in the transcription unit of the process execution system according to the third embodiment of the present invention
  • FIG. 11 is a flowchart showing the procedure of evaluation processing of the original evaluation target transcription factor model executed in the transcription unit of the process execution system according to the third embodiment of the present invention
  • FIG. FIG. 12 is a schematic diagram illustrating process generation information used to describe an operation example of a transfer unit of the process execution system according to the third embodiment of the present invention
  • FIG. 11 is a schematic diagram illustrating transfer information used to describe an operation example of a transfer section of the process execution system according to the third embodiment of the present invention
  • FIG. 11 is a schematic diagram illustrating transfer information used to describe an operation example of a transfer section of the process execution system according to the third embodiment of the present invention
  • FIG. 11 is a schematic diagram illustrating a transcription process tag used for explaining an operation example of evaluation processing of a transcription factor model to be evaluated in the transcription unit of the process execution system according to the third embodiment of the present invention
  • FIG. 11 is a schematic diagram illustrating a transcription process tag used for explaining an operation example of evaluation processing of a transcription factor model to be evaluated in the transcription unit of the process execution system according to the third embodiment of the present invention
  • FIG. 11 is a schematic diagram illustrating transfer information used to describe an operation example of a transfer section of the process execution system according to the third embodiment of the present invention
  • FIG. 11 is a schematic diagram illustrating transfer information used to describe an operation example of a transfer section of the process execution system according to the
  • FIG. 11 is a schematic diagram illustrating a transcription process tag used for explaining an operation example of evaluation processing of a transcription factor model to be evaluated in the transcription unit of the process execution system according to the third embodiment of the present invention
  • FIG. 11 is a schematic diagram illustrating a transcription process tag used for explaining an operation example of evaluation processing of a transcription factor model to be evaluated in the transcription unit of the process execution system according to the third embodiment of the present invention
  • FIG. 11 is a schematic diagram illustrating a transcription process tag used for explaining an operation example of evaluation processing of a transcription factor model to be evaluated in the transcription unit of the process execution system according to the third embodiment of the present invention
  • FIG. 11 is a schematic diagram illustrating a transcription process tag used for explaining an operation example of evaluation processing of a transcription factor model to be evaluated in the transcription unit of the process execution system according to the third embodiment of the present invention
  • FIG. 11 is a schematic diagram illustrating a transcription process tag used for explaining an operation example of evaluation processing of a transcription factor model to be evaluated in the transcription unit of the process execution system
  • FIG. 11 is a schematic diagram illustrating a transcription process tag used for explaining an operation example of evaluation processing of a transcription factor model to be evaluated in the transcription unit of the process execution system according to the third embodiment of the present invention
  • FIG. 11 is a schematic diagram illustrating an action information master used for explaining an operation example of a transfer unit of the process execution system according to the third embodiment of the present invention
  • FIG. 11 is a schematic diagram illustrating action information used to describe an operation example of the transfer unit of the process execution system according to the third embodiment of the present invention
  • FIG. 11 is a schematic diagram illustrating an action information master used for explaining an operation example of a transfer unit of the process execution system according to the third embodiment of the present invention
  • FIG. 11 is a schematic diagram illustrating action information used to describe an operation example of the transfer unit of the process execution system according to the third embodiment of the present invention
  • FIG. 11 is a schematic diagram illustrating the data structure of a process network generated by a process network generator of the process execution system according to the modified example of the third embodiment of the present invention
  • FIG. 11 is a schematic diagram illustrating a data structure of a process network model that a process network model input unit of the process execution system according to the modified example of the third embodiment of the present invention receives input
  • FIG. 11 is a schematic diagram illustrating a data structure of a process master node of a process network model for which a process network model input unit of the process execution system according to the modified example of the third embodiment of the present invention receives input
  • FIG. 11 is a schematic diagram illustrating action information used to describe an operation example of the transfer unit of the process execution system according to the third embodiment of the present invention
  • FIG. 11 is a schematic diagram illustrating the data structure of a process network generated by a process
  • FIG. 12 is a schematic diagram illustrating the data structure of process nodes of a process network generated by a process network generator of the process execution system according to the modified example of the third embodiment of the present invention; It is a functional block diagram of the process network generation part of the process execution system which concerns on 4th Embodiment of this invention.
  • FIG. 11 is a schematic diagram illustrating data obtained by serializing a process network model by a process network model output unit of the process execution system according to the fourth embodiment of the present invention; It is a functional block diagram of the control part of the process execution system based on 5th Embodiment of this invention. It is a functional block diagram of the process network model display part of the process execution system which concerns on 5th Embodiment of this invention.
  • FIG. 11 is a schematic diagram illustrating data obtained by serializing a process network model by a process network model output unit of the process execution system according to the fourth embodiment of the present invention. It is a functional block diagram of the control part of the process execution system based on 5th Embodi
  • FIG. 14 is a functional block diagram of a process network display unit of the process execution system according to the fifth embodiment of the present invention
  • FIG. 14 is a diagram showing a process network model displayed by a process network model display unit of the process execution system according to the fifth embodiment of the present invention
  • FIG. 13 is a diagram showing how a process network display unit of the process execution system according to the fifth embodiment of the present invention displays a process network
  • FIG. 3 is a schematic diagram showing a process network model and a data structure of part of the process network used to describe processing executed in the process execution system according to the embodiment
  • FIG. 3 is a schematic diagram showing a process network model and a data structure of part of the process network used to describe processing executed in the process execution system according to the embodiment
  • FIG. 3 is a schematic diagram showing a process network model and a data structure of part of the process network used to describe processing executed in the process execution system according to the embodiment;
  • FIG. 3 is a schematic diagram showing a process network model and a data structure of part of the process network used to describe processing executed in the process execution system according to the embodiment;
  • FIG. 3 is a schematic diagram showing a process network model and a data structure of part of the process network used to describe processing executed in the process execution system according to the embodiment;
  • FIG. 4 is a sequence diagram showing part of the processing executed in the process execution system according to the embodiment;
  • FIG. 4 is a sequence diagram showing part of the processing executed in the process execution system according to the embodiment;
  • FIG. 4 is a sequence diagram showing part of the processing executed in the process execution system according to the embodiment;
  • FIG. 4 is a sequence diagram showing part of the processing executed in the process execution system according to the embodiment;
  • FIG. 4 is a sequence diagram showing part of the processing executed in the process execution system according to the embodiment;
  • a problem to be solved by the process execution system according to the embodiment of the present invention is to provide a process execution system that is highly adaptable to business environments that change rapidly.
  • a process execution system that solves the above-mentioned problems must be flexible enough to easily absorb changes in business content, while at the same time providing stable business operations. That is, a process execution system that solves the above-described problems needs to balance the seemingly contradictory relationships of plasticity and stability.
  • the process execution system according to the embodiment of the present invention focuses on a network that expresses interactions between processes. Specifically, the process execution system according to the embodiment of the present invention delegates execution of actions required for execution of each process to the action execution system, and implements an Executable Process Network, particularly an executable process network. It provides a new business process model execution environment using a business process network (Executable Business Process Network).
  • Non-Patent Document 7 the social environment in which everything, including people and machines, interacts via complex networks can be viewed as a complex system. Environments such as complex systems, especially those involving very high complexity of interactions between constituents, are prone to unpredictable fluctuations, and are prone to change (compared to systems near thermodynamic equilibrium).
  • Examples of systems that have adapted to fast-paced environments include organisms, especially systems of multicellular organisms (Stuart Kauffman, "At Home in the Universe: The Search for Laws of Self-Organization and Complexity", Oxford University Pr, 1996; Stuart Kauffman, “A World Beyond Physics: The Emergence and Evolution of Life”, Oxford Univ Pr, 2019). Multicellular organisms make diverse cells work together by regulating the expression of genes encoded in DNA (Bruce Alberts, et al., “Molecular Biology of the Cell", 6th Edition, Garland Science, 2014).
  • Transcription regulatory factors are involved in the regulation of gene expression, and transcription regulatory factors interact through a complex network (hereafter, Transcription Network) (Uri Alon, "An Introduction to Systems Biology: Design Principles of Biological Circuits", 2nd edition, Chapman and Hall/CRC, 2019). While there are many types of proteins that constitute multicellular organisms that are common among different biological species, transcription networks differ among biological species.
  • the system of multicellular organisms is an architecture that can flexibly rearrange the combination of modules according to changes in the external environment Eout by flexibly changing the Transcription Network that interacts with the modules while sharing the modules (proteins). is considered to have This suggests that multicellular organisms have successfully adapted to environments that form complex systems.
  • the process definition information that defines the content of the process corresponds to a protein (module), and is used to generate the process definition information.
  • the process generation information generated corresponds to genes, the process network expressing the relationship between processes corresponds to Transcription Network, and the transcription factor model corresponds to transcription regulatory factors and the like.
  • the process execution system according to the embodiment of the present invention by adjusting the process network that interacts with the modules while sharing the modules, it becomes easy to adapt to the environment forming a complex system.
  • Hierarchy has also been pointed out as a universal feature of systems that adapt to complex environments (Herbert A. Simon, “The Sciences of the Artificial", MIT Press, 1996). In particular, the importance of interactions between hierarchies on different time scales has long been pointed out in Bergson's philosophy (Henri Bergson, “Materials and Memory”, Kodansha, 2019). It has also been pointed out in research that attempts to elucidate it using methods (Kunihiko Kaneko, "What is life?
  • a process execution system can generate a hierarchical process network from a hierarchical process network model.
  • the process execution system according to the embodiment of the present invention can be considered to have an architecture that is more easily adaptable to environments forming complex systems.
  • GNN Graph Neural Network
  • Process network models and process networks according to embodiments of the present invention can also be represented as graphs or bipartite graphs.
  • Bipartite graphs are also called Petri nets, and in process mining that extracts process models from event data, process models are often represented by Petri nets (Wil M. P. van der Aalst, “Process Mining: Data Science in Action”, Springer, 2016).
  • a process network model is generated by GNN or the like, the generated process network model is input to the process execution system according to the embodiment of the present invention to generate a process network, and the generated process network is executed by the process execution system. By doing so, it is possible to automate from the modeling of the target business to the execution of the business process from end to end.
  • the process execution system according to the embodiment of the present invention functions as an execution environment for the process network model, but the action execution system side defines the actual contents of the actions required to execute each process. That is, in the process execution system according to the embodiment of the present invention, since the process execution system and the action execution system are loosely coupled, the process network model described above can be easily used. As a result, the process execution system according to the embodiment of the present invention can promote the distribution of process models themselves, reduce duplication of investment in creating process models, and thereby contribute to the reduction of environmental loads.
  • FIG. 1 is a diagram showing the configuration of a process execution system 100 according to this embodiment and an action execution system 50 communicating with the process execution system 100. As shown in FIG. As shown in FIG. 1, the process execution system 100 transmits and receives information to and from the action execution system 50 via communication means 90 .
  • the process execution system 100 is configured as a web application that runs on a server machine.
  • Process execution system 100 can be configured using a framework for configuring web applications. For example, Django, Flask, Ruby on Rails, etc. can be used as a framework for configuring the process execution system 100 as a web application.
  • a server machine that executes the process execution system 100 may be an on-premise server machine or a virtual server machine using a commercial cloud service.
  • the action execution system 50 is composed of a web application running on a server machine, a library called from the process execution system 100, an RPA service provided by a commercial cloud service, a commercial RPA application, or the like.
  • the action execution system 50 When configuring the action execution system 50 as a web application running on a server machine, the action execution system 50 can be configured using a framework for configuring web applications. As a framework for configuring the action execution system 50 as a web application, for example, Django, Flask, Ruby on Rails, etc. can be used.
  • a server machine that executes the action execution system 50 may be an on-premise server machine or a virtual server machine using a commercial cloud service.
  • the library may be part of the libraries that make up the process execution system 100 . If the libraries that make up the action execution system 50 are part of the libraries that make up the process execution system 100, the libraries that make up the action execution system 50 are executed on the server machine on which the process execution system 100 operates.
  • the action execution system 50 is configured by an RPA service provided by a commercial cloud service, for example, Power Automate provided by Microsoft Corporation can be used as the RPA service that configures the action execution system 50.
  • the action execution system 50 is composed of a commercial RPA application, for example, Power Automate for desktop provided by Microsoft Corporation can be used as the RPA application that constitutes the action execution system 50.
  • the RPA application can be run on the client PC.
  • the communication means 90 can be composed of the Internet, an intranet, or the like.
  • the communication means 90 communicates with the tasks provided by the operating system. Intercommunication is also acceptable.
  • the action execution system 50 is configured as a library that is called from the process execution system 100
  • the communication means 90 is means for transmitting and receiving data that the operating system bears when calling the library from the process execution system 100. There may be.
  • FIG. 2 is a block diagram of the process execution system 100 according to this embodiment. As shown in FIG. 2, the process execution system 100 includes a control section 110, a storage section 120 and a communication section . These components are connected to each other via bus 140 .
  • the control unit 110 is composed of a CPU (Central Processing Unit), RAM (Random Access Memory), ROM (Read Only Memory), and other memories, and performs control and arithmetic processing of each unit of the process execution system 100 according to a program. Details of the functions of the control unit 110 will be described later.
  • CPU Central Processing Unit
  • RAM Random Access Memory
  • ROM Read Only Memory
  • the storage unit 120 is configured by a HDD (Hard Disc Drive), SSD (Solid State Drive), etc., and stores various programs and various data.
  • the storage unit 120 stores data forming a process network model D ⁇ 1 and data forming the process network D1, which will be described later.
  • the storage unit 120 can function as a database server using, for example, PostgreSQL.
  • the communication unit 130 is an interface circuit (for example, a LAN card, etc.) for communicating with an external device via a network.
  • an interface circuit for example, a LAN card, etc.
  • FIG. 3 is a functional block diagram showing functions of the control unit 110 of the process execution system 100.
  • FIG. 4 is a functional block diagram of the process network generator 150 of the process execution system 100.
  • FIG. 5 is a schematic diagram illustrating the data structure of the process network model DM1 that the process network model input unit 151 of the process execution system 100 receives input.
  • FIG. 6 is a schematic diagram illustrating the data structure of the process network D1 generated by the process network generator 150 of the process execution system.
  • FIG. 7 is a schematic diagram illustrating the data structure of the process master node DM10 of the process network model DM1 that the process network model input unit 151 of the process execution system 100 receives input.
  • FIG. 8 is a schematic diagram illustrating the data structure of the process node D10 of the process network D1 generated by the process network generator 150 of the process execution system 100.
  • FIG. 9 is a schematic diagram illustrating the data structure of the action information master DM153 of the process master node DM10 of the process network model DM1 that the process network model input unit 151 of the process execution system 100 receives input.
  • FIG. 10 is a schematic diagram illustrating the data structure of the action information D153 of the process node D10 of the process network D1 generated by the process network generator 150 of the process execution system 100. As shown in FIG.
  • control unit 110 functions as a process network generation unit 150, a process network state management unit 160, and a process network execution unit 170.
  • the process network generation unit 150 includes a process network model input unit 151 that receives an input of the process network model D ⁇ 1.
  • the process network model D ⁇ 1 corresponds to a class
  • the process network D1 corresponds to an instance or object of the class.
  • the process network model input unit 151 may be configured to have a GUI (Graphical User Interface) for accepting input of the process network model D ⁇ 1, or may be configured to have an API (Application Programming Interface) for accepting input of the process network model D ⁇ 1.
  • GUI Graphic User Interface
  • API Application Programming Interface
  • the API that receives the input of the process network model D ⁇ 1 can be configured to receive the input of the process network model D ⁇ 1 through communication using HTTP, for example.
  • the GUI that receives the input of the process network model D ⁇ 1 can be configured to receive the input of the process network model D ⁇ 1 by an operation from a browser, for example.
  • the process network model input unit 151 may accept input of context data together with input of the process network model D ⁇ 1.
  • the context data is, for example, case attribute information such as case IDs of cases processed in the business represented by the process network model DM1.
  • the process network generation unit 150 dynamically changes the contents of the generated process network D1 by using the context data when generating the process network D1 from the process network model D ⁇ 1 received by the process network model input unit 151. It may be configured to change. As a result, the process network generator 150 can be explained by analogy with an object-oriented language, when generating the process network D1 corresponding to the object of the class from the process network model D ⁇ 1 corresponding to the class. It is possible to achieve something similar to dynamically changing the contents of an object according to context data.
  • the process network generation unit 150 may store the context data received by the process network model input unit 151 in the storage unit 120 in association with the generated process network D1.
  • the process network execution unit 170 dynamically changes an API address, API data, and the like, which will be described later, at the time of execution according to the context data, so that the action
  • the content of actions performed by execution system 50 can be dynamically changed at runtime.
  • the process network execution unit 170 can dynamically change the content of API data to be sent to the action execution system 50 by using case attribute information stored in the storage unit 120 as context data.
  • the contents of the document generated by the action execution system 50 can be changed for each case.
  • the process network model DM1 includes a plurality of process master nodes DM10 and expresses the relationship between the process master nodes DM10.
  • the process network model DM1 is a hierarchical process network model that hierarchically expresses the relationship between the plurality of process master nodes DM10.
  • a case where the process network model DM1 is a hierarchical process network model will be described as an example, but the present invention is not limited to this.
  • the hierarchical process network model DM1 has a tree structure.
  • a hierarchical process network model DM1 has a root process master node DM10.
  • the root process master node DM10 can have one or more process master nodes DM10 as child nodes.
  • the 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 is arbitrary.
  • the hierarchy to which the root process master node DM10 belongs is the 0th hierarchy
  • the hierarchy to which the process master node DM10, which is a direct child of the root process master node DM10, belongs to is the first hierarchy.
  • can have a hierarchy of The number of process master nodes DM10 belonging to the same hierarchy is arbitrary.
  • the process network D1 includes a plurality of process nodes D10 and expresses the relationship between the process nodes D10.
  • the process network D1 is a hierarchical process network that hierarchically expresses the relationships between the plurality of process nodes D10.
  • a case where the process network D1 is a hierarchical process network will be described as an example, but the present invention is not limited to this.
  • the hierarchical process network D1 has a tree structure.
  • a hierarchical process network D1 has a root process node D10.
  • the root process node D10 can have one or more process nodes D10 as child nodes.
  • a process node D10 can have one or more process nodes D10 as child nodes.
  • the number of process nodes D10 belonging to the same parent is arbitrary.
  • the hierarchical process network D1 has an arbitrary number of layers, with the hierarchy to which the root process node D10 belongs as the 0th hierarchy, and the hierarchy to which the process nodes of the direct descendants of the root process node D10 belong as the first hierarchy. can be done.
  • the number of process nodes D10 belonging to the same hierarchy is arbitrary.
  • the process network generation unit 150 When generating the process network D1 from the process network model D ⁇ 1, the process network generation unit 150 generates each of the process master nodes D ⁇ 10 included in the process network model D ⁇ 1 and each of the process nodes D10 included in the process network D1. can be configured to generate the process network D1 in a one-to-one correspondence.
  • the process network generation section 150 when generating the process network D1 from the process network model D ⁇ 1, the process network generation section 150 generates process masters included in the process network model D ⁇ 1 in accordance with context data input by the process network model input section 151. It may be configured to control generation of the process node D10 corresponding to the node D ⁇ 10.
  • the process network generation unit 150 classifies the context data whose input is received by the process network model input unit 151 into specific types, and when the context data is classified into one specific type, one Even if the process node D10 corresponding to the specific process master node D ⁇ 10 is generated, and the process node D10 corresponding to the other specific process master node D ⁇ 10 is generated when the context data is classified into another specific type, good. That is, the process network generating unit 150 is configured to selectively switch the process master node D ⁇ 10 used for generating the process node D10 according to the context data when generating the process network D1 from the process network model D ⁇ 1. good too.
  • the process network generator 150 when the context data includes one specific customer name, the process network generator 150 generates a process node D10 corresponding to one specific process master node D ⁇ 10 (at this time, other specific does not generate process node D10 corresponding to process master node D ⁇ 10 of ( At this time, the process node D10 corresponding to one specific process master node D ⁇ 10 described above is not generated).
  • the process network generation unit 150 classifies the context data whose input is received by the process network model input unit 151 into a specific type, and only when the context data is classified into a specific type, a specific process master node D ⁇ 10. It may be configured to generate (or not generate) the corresponding process node D10. For example, the process network generator 150 may be configured to generate (or not generate) the process node D10 corresponding to a specific process master node D ⁇ 10 only when the context data includes a specific customer name. .
  • FIG. 7 is a diagram illustrating the data structure of the process master node DM10.
  • the data of the process master node DM10 has a process master node identifier DM11, a parent process master node identifier DM12, and process creation information DM15.
  • the process master node identifier DM11 is an identifier for uniquely identifying the process master node DM10 included in the process network model DM1.
  • the parent process master node identifier DM12 is an identifier for identifying the parent process master node DM10 to which the process master node DM10 belongs. If the process master node DM10 is the root process master node, the parent process master node identifier DM12 can be set to no value.
  • FIG. 8 is a diagram illustrating the data structure of the process node D10.
  • the data of the process node D10 has a process node identifier D11, a parent process node identifier D12, a process state D13, and process definition information D15.
  • the process node identifier D11 is an identifier for uniquely identifying the process node D10 included in the process network D1.
  • the parent process node identifier D12 is an identifier for identifying the parent process node D10 to which the process node D10 belongs. If process node D10 is the root process node, parent process node identifier D12 can be set to no value.
  • the process state D13 expresses the state of the process node D10.
  • the state of process node D10 includes a ready state.
  • the state of process node D10 includes a completed state.
  • the state of process node D10 includes a running state, a waiting state, and an error terminated state.
  • the value of the process state D13 may be a character string representing the state of the process node D10, a numerical value representing the state of the process node D10, or a combination of flags representing the state of the process node D10. There may be.
  • the process generation information D ⁇ 15 is used in the process network generation unit 150 to generate the process definition information D15 of the process node D10 generated from the process master node D ⁇ 10 to which the process generation information D ⁇ 15 belongs.
  • the process definition information D15 includes information on actions required to execute the process defined by the process definition information D15.
  • the process generation information DM15 includes various masters. Various master values included in the process generation information D ⁇ 15 are used as values of each item of the process definition information D15 generated by the process generation information D ⁇ 15.
  • the process network generation unit 150 can be configured so that, when the value of one master included in the process generation information D ⁇ 15 is X, the value of one item in the process definition information D15 generated by the master is X.
  • the process network generation unit 150 uses the context data input to the process network model input unit 151 when generating the process network D1 from the process network model D ⁇ 1 whose input is received by the process network model input unit 151. can dynamically change the generated process definition information D15.
  • the method of dynamically changing the process definition information D15 is not particularly limited, for example, a mechanism of a template engine such as Django Template Language (DTL) used in Django, which is a framework for creating web applications, can be used.
  • DTL Django Template Language
  • a tag is embedded in a portion to be dynamically changed in the master value of the process generation information D ⁇ 15, and input to the process network model input unit 151 when generating the process definition information D15. It is possible to dynamically change the process definition information D15 by replacing the tag according to the context data obtained.
  • the process generation information DM15 includes a process number master DM151, a process name master DM152, and an action information master DM153.
  • process definition information D15 includes process number D151, process name D152, and action information D153.
  • the process number D151 is generated by the process number master DM151
  • the process name D152 is generated by the process name master DM152
  • the action information D153 is generated by the action information master DM153.
  • the process master node D ⁇ 10 does not need to include the action information master DM153.
  • the process master node DM10 does not include the action information master DM153, the process node D10 generated from the process master node DM10 does not include the action information D153.
  • the value of the process number master DM151 and the value of the process number D151 are, for example, arbitrary natural numbers.
  • the process network generator 150 can be configured so that the process number D151 of the process node D10 to be generated is N when the value of the process number master DM151 is N (any natural number).
  • the process number D151 may be unique or duplicated in the process node D10 belonging to the same hierarchy. Also, only some numbers may overlap. For example, if there are five process nodes D10 belonging to the same layer, the process numbers D151 can be set to 100, 200, 300, 300, and 400, respectively.
  • the value of the process name master D ⁇ 152 and the process name D152 are arbitrary character strings.
  • the process network generation unit 150 can be configured such that when the value of the process name master DM 152 is S (an arbitrary character string), the generated process name D 152 is S.
  • the action information master DM153 defines the content of actions to be executed in the process node D10 generated from the process master node DM10 to which the action information master DM153 belongs.
  • 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 .
  • the content of the action includes, for example, generation of documents, generation of emails, transmission of approval requests, These include creating tasks, creating appointments, posting chat messages, and so on.
  • Documents are e-mails, invoices, and the like, for example.
  • Power Automate it is possible to generate various documents.
  • Document file formats include, for example, a file format that can be used with Microsoft Corporation's Office Word, a file format that can be used with EXCEL (registered trademark), a file format that can be used with OUTLOOK (registered trademark), and a file format that can be used with POWERPOINT (registered trademark).
  • Sending an approval request can be executed by sending an approval request from Power Automate to the approval request application of MICROSOFT 365 (registered trademark).
  • Task generation can be executed by registering the task from Power Automate to the MICROSOFT 365 (registered trademark) Planner.
  • Appointment generation can be performed by creating an appointment in OUTLOOK® of MICROSOFT 365®.
  • Chat messages can be posted from Power Automate to MICROSOFT 365 (registered trademark) Teams by posting messages to chats with specific users, posting messages to specific channels, posting messages to specific chat groups, etc. can run.
  • FIG. 9 is a diagram illustrating the data structure of the action information master DM153.
  • the action information master DM153 includes one or more action item master DM1531.
  • FIG. 10 is a diagram illustrating the data structure of action information D153.
  • Action information D153 includes one or more action items D1531.
  • the action item master DM1531 has an action item number master, an API address master, and an API data master.
  • an action item has an action item number, an API address, and API data.
  • An action item number is generated by an action item number master
  • an API address is generated by an API address master
  • API data is generated by an API data master.
  • the value of the action item number master and the value of the action item number are, for example, arbitrary natural numbers.
  • the process network generator 150 can be configured so that when the value of the action item number master is N (an arbitrary natural number), the action item number of the generated process node D10 is N.
  • the action item number may be unique or duplicated in one or more action items belonging to one action information D153. Also, only some action item numbers may be duplicated. For example, if there are five action items belonging to one piece of action information D153, the action item numbers can be set as 1, 2, 3, 3, and 4, respectively.
  • the API address is used to execute the action defined by the action item to which the API address belongs.
  • the process network execution unit 170 transmits an action execution request to the action execution system 50 via the API specified by the API address, and executes the action execution system. 50 to perform the action.
  • the API address master value and API address value are character strings.
  • the process network generator 150 can be configured so that when the value of the API address master is S (an arbitrary character string), the generated API address is S.
  • the API address is a URL.
  • the API address is the URL of the Power Automate flow activation API.
  • the action execution system 50 is a web application running on an on-premises server or a virtual server constructed by a web framework such as Django, the API address is the URL for starting the action of the web application.
  • the API data master value and API data value are, for example, arbitrary character strings.
  • the process network generator 150 can be configured so that when the value of the API data master is S (an arbitrary character string), the generated API data is S.
  • 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 execute an action, the API data is the body of the HTTP request.
  • the API data is a body to be POSTed to the Power Automate flow activation API.
  • the data format of the action information master D ⁇ 153 is not particularly limited, but, for example, JSON format can be used.
  • JSON format By using the JSON format, the action information master DM153 containing one or more action item master DM1531 can be expressed in one character string.
  • the process network generator 150 when the process network generator 150 generates the process network D1 from the process network model DM1, the action information D153 is dynamically changed from the action information master DM153 according to the context data received by the process network model input unit 151.
  • the action information master D ⁇ 153 when a mechanism of a template engine used in a framework for creating a web application (such as Django) is used, the action information master D ⁇ 153 When the contained tags are converted according to the context data, the tags can be collectively replaced with the converted values. Also, data in JSON format can be efficiently created and edited using an editor such as VS CODE (registered trademark) provided by Microsoft Corporation. Therefore, the person in charge can easily edit and maintain the action information master DM153. Further, when the process network model D ⁇ 1 is learned by machine learning such as GNN, it is easy to learn because the information about the action is expressed as one character string.
  • machine learning such as GNN
  • the data format of the action information D153 is not particularly limited, but, for example, JSON format can be used.
  • JSON format By using the JSON format, action information D153 including one or more action items can be expressed in one character string. Further, when learning the process network model D ⁇ 1 by machine learning such as GNN using the data of the process network D1, learning is easy because the information about the action is expressed as one character string.
  • the process network state management unit 160 performs state transition processing of the process node D10 based on the state of the process node D10 included in the process network D1 and a predetermined process state transition rule. Specifically, the process network state management unit 160 makes a specific process node D10 executable based on the state of the process node D10 included in the process network D1 and a predetermined process state transition rule. Details of the operation of the process network state management unit 160 will be described later with reference to FIGS. 12 to 14. FIG.
  • the process network execution unit 170 executes the process defined by the process definition information D15 of the executable process node D10 included in the process network D1.
  • the process network execution unit 170 can, for example, store the executable process node D10 in a queue and execute the process of the executable process node D10 sequentially or in parallel.
  • the process network execution unit 170 transmits the action execution request to the action execution system 50 based on the action information D153 included in the process definition information D15 of the executable process node D10, thereby executing the action defined by the process definition information D15. process. Specifically, the process network execution unit 170 transmits an action execution request to the action execution system 50 based on the content of the action item included 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 execute the action by sending API data to the API address included in the action item. For example, when the action execution system 50 receives an action execution request via an HTTP API, the process network execution unit 170 performs HTTP POST with API data as the body to the API address included in the action item. .
  • FIG. 11 is a flow chart showing the procedure of processing executed in the process execution system 100.
  • FIG. 12 is a flow chart showing the procedure of process node state transition processing executed in the process execution system 100 .
  • FIG. 13 is a flow chart showing the procedure of state transition processing for the process node group under the parent process node executed in the process execution system 100 .
  • FIG. 14 is a flowchart showing the procedure of state transition processing for the process node group having the smallest process number D151 executed in the process execution system 100.
  • FIG. FIG. 15 is a flow chart showing the procedure of execution processing of the executable process node D10 executed in the process execution system 100. As shown in FIG. The processes shown in the flowcharts of FIGS. 11 to 15 are executed by the control unit 110 of the process execution system 100 according to programs.
  • the program executed by the control unit 110 of the process execution system 100 includes a step S11 of receiving an input of the process network model D ⁇ 1, a step S12 of generating the process network D1, and a state transition of the process node D10. It has a step S13 for processing, a step S14 for executing processing of executable process nodes D10, and a step S15 for determining whether or not all process nodes D10 included in the process network D1 are in a completed state.
  • the process network model input unit 151 includes a plurality of process master nodes D ⁇ 10 having process generation information D ⁇ 15 used to generate process definition information D15 defining the content of the process, and the process master nodes D ⁇ 10 generated by the plurality of process master nodes D ⁇ 10.
  • An input of a process network model D ⁇ 1 that expresses the relationship between process nodes D10 that are connected to each other is accepted.
  • the process network model input unit 151 may receive input of context data when receiving input of the process network model D ⁇ 1.
  • the process network generation unit 150 generates a process network D1 including a plurality of process nodes D10 having process definition information D15 from the process network model D ⁇ 1 input by the process network model input unit 151 .
  • Step S13 The process network state management unit 160 performs state transition processing of the process node D10 based on the state of the process node D10 included in the process network D1 and a predetermined process state transition rule.
  • the process network state management unit 160 makes a specific process node D10 executable based on the state of the process node D10 included in the process network D1 and a predetermined process state transition rule.
  • the process network state management unit 160 can be configured to make a specific process node D10 executable based on a combination of states of the plurality of process nodes D10 included in the process network D1.
  • the process network state management unit 160 can be configured to enable each of the process nodes D10 having the action information D153 among the process nodes D10 included in the process network D1 to be executed at least once.
  • the process network state management unit 160 enables execution of a specific process according to a combination of states of a plurality of process nodes D10 belonging to different hierarchies included in the process network D1.
  • the process network state management unit 160 is configured so that when the process network D1 is a hierarchical process network, the process node D10 belonging to the deep hierarchy is preferentially executable over the process node D10 belonging to the shallow hierarchy. can.
  • the process network state management unit 160 controls the process node D10 so that the parent process node D10 of the child process node D10 becomes executable after the execution of the child process node D10 is completed.
  • Step S14 The process network execution unit 170 performs execution processing of the executable process node D10 included in the process network D1.
  • Step S15 The process network execution unit 170 determines whether all process nodes D10 included in the process network D1 are in the completed state. If all the process nodes D10 included in the process network D1 are not in the completed state, the process returns to step S13. If all the process nodes D10 included in the process network D1 are in the completed state, the process ends.
  • the state transition processing of process node D10 performed in step S13 includes step S131 of setting root process node D10 as a parent process node, and state transition processing for a group of process nodes under the parent process node. and step S132 to be executed.
  • the state transition processing for the group of process nodes under the parent process node consists of step S1321 of extracting an incomplete process node D10 among the child process nodes of the parent process node, A step S1322 of determining whether or not the node D10 exists, a step S1323 of extracting a process node group having the smallest process number D151 from among the incomplete process nodes D10, and a step S1323 of extracting the process node group having the smallest process number D151.
  • Step S1321 The process network state management unit 160 extracts an incomplete process node D10 among the child process nodes of the parent process node.
  • the child process node of the parent process node means the process node D10 which is the direct child of the parent process node D10, and the process node D10 (the parent process node D10 grandchild process node D10) and the like are not included.
  • Step S1322 The process network state management unit 160 determines whether or not the incomplete process node D10 extracted in step S1321 exists. If there is an incomplete process node D10, the process proceeds to step S1323. If there is no incomplete process node D10, the process proceeds to step S1325.
  • Step S1323 The process network state management unit 160 extracts the process node group having the smallest process number D151 from among the incomplete process nodes D10 extracted in step S1321.
  • a process node group having the smallest process number D151 means a set composed of process nodes D10 having the smallest process number D151.
  • Step S1324 The process network state management unit 160 executes state transition processing for the process node group having the smallest process number D151 extracted in step S1323.
  • Step S1325) The process network state management unit 160 determines whether the parent process node has action information D153. If the parent process node has action information D153, the process proceeds to step S1326. If it does not have action information D153, it proceeds to step S1327.
  • Step S1326 The process network state management unit 160 puts the parent process node into an executable state.
  • Step S1327) The process network state management unit 160 places the parent process node in the completed state.
  • the state transition processing for the process node group having the smallest process number D151 includes step S13241 of determining whether the process node D10 having the smallest process number D151 has a child process node D10; A step S13242 of setting the process node D10 having the smallest process number D151 as the parent process node, a step S13243 of executing the state transition processing for the process node group under the parent process node, and a process node having the smallest process number D151.
  • Step S13241 The process network state management unit 160 determines whether the process node D10 having 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, the process proceeds to step S13242. If process node D10 with the smallest process number D151 does not have a child process node, the process proceeds to step S13244.
  • Step S13242 The process network state management unit 160 sets the process node D10 having the smallest process number D151 as the new parent process node.
  • Step S13243 The process network state management unit 160 executes state transition processing for the process node group under the parent process node.
  • Step S13244 The process network state management unit 160 determines whether the process node D10 having the smallest process number D151 has action information D153. If it has action information D153, it proceeds to step S13245. If it does not have action information D153, it proceeds to step S13246.
  • Step S13245 The process network state management unit 160 puts the process node D10 having the smallest process number D151 into the executable state.
  • Step S13246 The process network state management unit 160 puts the process node D10 having the smallest process number D151 into the completed state.
  • Step S13247 The process network state management unit 160 determines whether or not all process nodes D10 included in the process node group with the smallest process number D151 have been processed. If all the process nodes D10 included in the process node group with the smallest process number D151 have not been processed, the process returns to step S13241. When all the process nodes D10 included in the process node group with the smallest process number D151 have been processed, the process ends.
  • the execution processing of executable process node D10 performed in step S14 includes step S141 of determining whether or not executable process node D10 exists, and execution of executable process node D10. It has a step S142 and a step S143 of changing the state of the process node D10 that has completed execution to the completed state.
  • Step S141 The process network execution unit 170 determines whether the process node D10 is in an executable state. Whether or not the process node D10 is in the executable state is determined by examining the value of the process state D13 included in the process node D10.
  • Step S142 The process network execution unit 170 transmits an action execution request to the action execution system 50 based on the information about the action included in the process definition information D15 of the executable process node D10, thereby executing the action defined by the process definition information D15. process. Specifically, the process network execution unit 170 transmits an action execution request to the action execution system 50 based on the content of the action item included in the process definition information D15 of the executable process node D10. When action information D153 includes a plurality of action items, process network execution unit 170 may execute action items in ascending order of action item numbers.
  • Step S143 The process network execution unit 170 changes the process state D13 of the process node D10 that has completed execution to the completed state.
  • the method for setting the process state D13 to the completed state is not particularly limited.
  • the process state D13 of the process node D10 that has completed execution can be changed to the completed state.
  • a request to the storage unit 120 can be made by sending an SQL query when the storage unit 120 functions as a database server.
  • step S13 for performing the state transition processing of the process node D10 described with reference to FIGS. 12 to 14 will be described with reference to FIGS. 16 and 17.
  • FIG. 16 An operation example of step S13 for performing the state transition processing of the process node D10 described with reference to FIGS. 12 to 14 will be described with reference to FIGS. 16 and 17.
  • FIG. 16 is a schematic diagram showing the data structure of the process network D1 used for explaining an example of the operation of step S13 for performing state transition processing of the process node D10 executed in the process execution system 100.
  • 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.
  • process nodes L21, L22, L23, L24, L25 and L13 colored in gray have action information D153, and process nodes L01 and L01 not colored in gray.
  • L11 and L12 do not have action information D153.
  • the number inside each node represents the process number.
  • FIG. 17 is a diagram showing state transitions of process nodes used for explaining an operation example of step S13 for performing state transition processing of the process node D10 executed in the process execution system 100.
  • FIG. The state transition processing of the process nodes D10 by the process network state management unit 160 is repeatedly applied until all the process nodes D10 included in one process network D1 reach the completed state (see FIG. 11).
  • FIG. 17 shows how the state of the process node D10 transitions by performing state transition processing.
  • the process node D10 that has entered the executable state in one state transition process until the execution of the next state transition process is executed by the process network execution unit 170. Assume that it has been executed and is in the completed state.
  • step S131 the root process node L01 is set as the parent process node.
  • step S132 state transition processing is executed for the process node group under the parent process node L01.
  • step S1321 among the process nodes L11, L12 and L13 that are the children of the parent process node L01, an incomplete process node Extract L11, L12 and L13. Since the incomplete child process nodes L11, L12 and L13 are extracted in step S1321, the determination in step S1322 is Yes.
  • step S1323 the process node group ⁇ L11, L12 ⁇ having the smallest process number 100 is extracted from the incomplete process nodes L11, L12 and L13.
  • step S1324 state transition processing is executed for the process node group ⁇ L11, L12 ⁇ having the smallest process number 100.
  • the state transition processing for the process node group ⁇ L11, L12 ⁇ having the smallest process number 100 is the process node L11 and L11 included in the process node group ⁇ L11, L12 ⁇ having the smallest process number 100. This is done for each of L12.
  • step S13242 process node L11 is set as a new parent process node.
  • step S13243 state transition processing is executed for the process node group under the parent process node L11. Referring to FIG. 13, in the state transition processing for the group of process nodes under parent process node L11, in step S1321, uncompleted process nodes L21, L22 and L23 among the child process nodes of parent process node L11 are selected.
  • step S1322 determines whether there are incomplete process nodes L21, L22, and L23.
  • the determination in step S1322 is YES, and the process proceeds to step S1323.
  • step S1323 the process node group ⁇ L21 ⁇ having the smallest process number 100 is extracted from the incomplete child process nodes L21, L22 and L23.
  • step S1324 state transition processing is executed for the process node group ⁇ L21 ⁇ having the smallest process number 100.
  • FIG. Referring to FIG. 14, in the state transition processing for the process node group ⁇ L21 ⁇ having the smallest process number 100, the process node L21 does not have a child process node. Proceed to S13244.
  • step S13244 the determination in step S13244 is YES, and the process proceeds to step S13245.
  • step S13245 the process node L21 is brought into the executable state, and the state transition processing for the process node group under the process node L11 ends.
  • the state transition processing for the process node group under the process node L12 is also performed in the same way, and the process ends with the process node L24 in the executable state.
  • step S1323 the process node group ⁇ L11, L12 ⁇ having the smallest process number 100 is extracted, and the process proceeds to step S1324.
  • step S1324 state transition processing is executed for the process node group ⁇ L11, L12 ⁇ having the smallest process number 100.
  • step S13243 state transition processing is executed for the process node group under the parent process node L11.
  • step S1321, S1322, S1323 and S1324 state transition processing is executed for the process node group ⁇ L23 ⁇ having the smallest process number 300.
  • steps S13241, S13244, and S13245 are performed in order, and the process node L23 is brought into the executable state and the process ends.
  • step S13243 state transition processing is executed for the process node group under the parent process node L12.
  • steps S1321, S1322, S1325, and S1327 are sequentially performed, the process node L12 is brought into the completed state, and the processing ends.
  • steps S131 and S132 in FIG. 12 and steps S1321, S1322 and S1323 in FIG. 13 are performed in this order.
  • step S1323 the process node group ⁇ L11 ⁇ having the smallest process number 100 is extracted, and at step S1324, state transition processing is executed for the process node group ⁇ L11 ⁇ having the smallest process number 100.
  • FIG. 14 state transition processing for process node L11 having the smallest process number 100 proceeds to steps S13241, S13242, and S13243 in this order.
  • step S13243 state transition processing is executed for the process node group under the parent process node L11. Referring to FIG. 13, in the state transition processing for the process node group under the parent process node L11, steps S1321, S1322, S1325, and S1327 are performed in order, and the process node L11 is brought into the completed state and the processing ends.
  • step S1323 the process node group ⁇ L13 ⁇ having the smallest process number 200 is extracted, and the process proceeds to step S1324.
  • step S1324 state transition processing is executed for the process node group ⁇ L13 ⁇ having the smallest process number 200.
  • FIG. 14 in the state transition processing for process node L13 having the smallest process number 200, steps S13241, S13244, and S13245 are performed in order, and process node L13 is put into an executable state and the processing ends.
  • step S1327 the parent process node L01 (root process node) is placed in the completed state, and the process ends. As a result, the state of all process nodes D10 included in the process network D1 becomes the completed state.
  • the process execution system 100 includes a plurality of process master nodes D ⁇ 10 having process generation information D ⁇ 15 used to generate process definition information D15 defining the content of processes, and the plurality of process master nodes D ⁇ 10
  • a process network generation unit 150 for generating a process network D1 including a plurality of process nodes D10 having process definition information D15 from the process network model D ⁇ 1 representing the relationship between the process nodes D10 generated by A process network state management unit 160 that makes a specific process node D10 executable based on the state of the included process node D10 and a predetermined process state transition rule, and executable process nodes included in the process network D1
  • a process network execution unit 170 that executes the process defined by the process definition information D15 of D10, and the process network generation unit 150 has a process network model input unit 151 that receives input of the process network model D ⁇ 1, The process network model input unit 151 generates the process network D1 from the process network model D ⁇ 1 that has received the input, and the process definition
  • the process network execution unit 170 instructs the action execution system 50 that executes a predetermined action in response to a request based on the action information D153 included in the process definition information D15 of the executable process node D10. By sending an action execution request, the process defined by the process definition information D15 is executed.
  • the process execution system 100 functions as an execution environment for the process network model D ⁇ 1, and the execution result can be changed by changing the process network model D ⁇ 1.
  • the actions required for executing the process are executed by the action execution system 50 independent of the process execution system 100.
  • the action execution system 50 needs to define the actual contents of the action required to execute the process, and the process network model DM1 defines the method of requesting the action execution system 50 to execute the action. good. Therefore, it becomes easier for the person in charge of business to create and modify the process network model D ⁇ 1 by himself/herself, so that it is possible to more flexibly cope with changes in business content.
  • process network model D ⁇ 1 since the business processes that make up the business are expressed as a process network model D ⁇ 1, it is easy to understand the relationships between processes. This makes it easier to prevent the execution results and changes of some processes from having unexpected effects on other processes.
  • process network model D ⁇ 1 since the process network model D ⁇ 1 is separated from its execution environment (process execution system 100), it is easy to evaluate the contents of the work executed based on the process network model D ⁇ 1 by referring to the process network model D ⁇ 1. Become. As a result, it becomes easier to carry out stable business operations.
  • process execution system 100 it is possible to provide a process execution system 100 that is highly adaptable to a business environment that changes rapidly by achieving both flexibility and stability.
  • the process network model input unit 151 is a hierarchical process network that hierarchically expresses the relationship between the process nodes D10 generated by the plurality of process master nodes D ⁇ 10.
  • the process network generation unit 150 receives the input of the model DM1 and generates the hierarchical process network D1 corresponding to the hierarchical process network model DM1 received by the process network model input unit 151 .
  • the process network model D ⁇ 1 is hierarchically expressed.
  • the influence of a partial change in the process network model D.sub.M1 is localized, and the influence on other parts of the process network model D.sub.M1 can be reduced. Therefore, it becomes easier to change the process network model D ⁇ 1 while ensuring stability.
  • the process network model D ⁇ 1 is hierarchically represented, the relationship between processes can be more easily grasped, so that stable business management is further facilitated. As described above, according to the present embodiment, it becomes easier to provide the process execution system 100 that is highly adaptable to a business environment in which the rate of change is fast by achieving both plasticity and stability.
  • the process execution system 200 according to the second embodiment can be summarized as follows: the process network state management unit accepts a process state change request to change the state of a specific process node;
  • the process execution system 100 differs from the process execution system 100 according to the first embodiment in that the master and process nodes have an asynchronous flag and an automatic startup flag.
  • the process execution system 200 according to the second embodiment facilitates execution of business processes including asynchronous processing.
  • Asynchronous processing is, for example, processing that asks a customer an inquiry and executes a specific process when the inquiry is answered. Waiting time occurs from the time an inquiry is made to the customer until the reply is received. During the waiting time, the process execution system 200 is configured so that another executable process node can be executed. It is preferable to keep The process execution system 200 according to the second embodiment facilitates execution of business processes including such asynchronous processing. Note that the process execution system 200 according to the second embodiment can be configured in the same manner as the process execution system 100 according to the first embodiment, except for the configuration that will be particularly described below.
  • FIG. 18 is a diagram showing the configuration of the process execution system 200 according to this embodiment and the action execution system 50 communicating with the process execution system 200.
  • FIG. 19 is a block diagram of process execution system 200 .
  • FIG. 20 is a functional block diagram of the controller 210 of the process execution system 200.
  • FIG. 21 is a functional block diagram of the process network state management section 260 of the process execution system 200.
  • FIG. 22 is a schematic diagram illustrating the data structure of the process network model DM2 that the process network model input unit 151 of the process execution system 200 receives input.
  • FIG. 23 is a schematic diagram illustrating the data structure of the process network D2 generated by the process network generator 250 of the process execution system 200. As shown in FIG. FIG. FIG.
  • FIG. 24 is a schematic diagram illustrating the data structure of the process master node DM20 of the process network model DM2 that the process network model input unit 151 of the process execution system 200 receives input.
  • FIG. 25 is a schematic diagram illustrating the data structure of the process node D20 of the process network D2 generated by the process network generator 250 of the process execution system 200. As shown in FIG. A process execution system 200 according to the second embodiment will be described below.
  • the process execution system 200 transmits and receives information to and from the action execution system 50 via the communication means 90 .
  • the action execution system 50 is configured similarly to the action execution system 50 described in the first embodiment.
  • the communication means 90 is configured similarly to the communication means 90 described in the first embodiment.
  • the process execution system 200 includes a control unit 210, a storage unit 220 and a communication unit 230. These components are connected to each other via bus 240 .
  • the storage unit 220 is configured similarly to the storage unit 120 of the process execution system 100 according to the first embodiment.
  • the communication unit 230 is configured similarly to the communication unit 130 of the process execution system 100 according to the first embodiment.
  • the bus 240 is configured similarly to the bus 140 of the process execution system 100 according to the first embodiment.
  • control unit 210 functions as a process network generation unit 250, a process network state management unit 260, and a process network execution unit 270.
  • the process network generator 250 is configured similarly to the process network generator 150 of the process execution system 100 according to the first embodiment.
  • the process network execution unit 270 is configured similarly to the process network execution unit 170 of the process execution system 100 according to the first embodiment.
  • the process network state management unit 260 has a process state change request reception unit 261.
  • the process state change request reception unit 261 receives a process state change request to change the state of a specific process node D20.
  • the process network state management unit 260 changes the state of the specific process node D20 included in the process network D1 based on the process state change request received by the process state change request reception unit 261.
  • the process node D20 from which the process state change request receiving unit 261 receives the process state change request can be randomly selected by the sender of the process state change request. “Random” in “randomly selectable” means that causality cannot be identified with the internal state of the process execution system 200 .
  • randomly selectable means that when viewed from the process state change request receiving unit 261, the timing at which the process state change request is made and the process node D20 at which the process state change request is made cannot be predicted. means.
  • a process node D20 from which the process state change request receiving unit 261 receives a process state change request may be a process node D20 that has never transitioned to an executable state.
  • the process state change request reception unit 261 is configured to be able to receive process state change requests from systems external to the process execution system 200 .
  • the process state change request receiving unit 261 may be configured to have an API for receiving process state change requests, or may be configured to have a GUI for receiving process state change requests.
  • the API that accepts process state change requests can be configured to accept process state change requests through communication using HTTP, for example.
  • the GUI for accepting process state change requests can be configured to accept process state change requests by, for example, operations from a browser.
  • the process network model DM2 includes a plurality of process master nodes DM20 and expresses the relationship between the process master nodes DM20.
  • the process network model DM2 is a hierarchical process network model D ⁇ 1 that hierarchically expresses the relationship between the plurality of process master nodes DM20.
  • the process network model DM2 is configured in the same manner as the process network model DM1 according to the first embodiment, except for points that will be specifically described below.
  • the process network D2 includes a plurality of process nodes D20 and expresses the relationship between the process nodes D20.
  • the process network D2 is a hierarchical process network D1 that hierarchically expresses the relationship between the plurality of process nodes D20.
  • the process network D2 is configured in the same manner as the process network D1 according to the first embodiment, except for the points specifically described below.
  • process master node DM20 has process master node identifier DM21, parent process master node identifier DM22, and process creation information DM25.
  • the process master node identifier DM21 can be configured similarly to the process master node identifier DM11 according to the first embodiment.
  • the parent process master node identifier DM22 can be configured similarly to the parent process master node identifier DM12 according to the first embodiment.
  • process node D20 has process node identifier D21, parent process node identifier D22, process state D23, and process definition information D25.
  • the process node identifier D21 can be configured similarly to the process node identifier D11 according to the first embodiment.
  • the parent process node identifier D22 can be configured similarly to the parent process node identifier D12 according to the first embodiment.
  • the process creation information DM25 includes a process number master DM251, a process name master DM252, an action information master DM253, an asynchronous flag master DM254, and an autostart flag master DM255.
  • the process number master DM251 can be configured similarly to the process number master DM151 according to the first embodiment.
  • the process name master DM252 can be configured similarly to the process name master DM152 according to the first embodiment.
  • the action information master DM253 can be configured similarly to the action information master DM153 according to the first embodiment.
  • the process definition information D25 includes a process number D251, a process name D252, action information D253, an asynchronous flag D254, and an automatic startup flag D255.
  • the process number D251 can be configured similarly to the process number D151 according to the first embodiment.
  • the process name D252 can be configured similarly to the process name D152 according to the first embodiment.
  • the action information D253 can be configured similarly to the action information D153 according to the first embodiment.
  • the value of the asynchronous flag master DM254 and the value of the asynchronous flag D254 are, for example, true values.
  • the process network generator 250 is configured so that when the value of the asynchronous flag master DM 254 is B (truth value True or False), the value of the asynchronous flag of the process node D20 generated in the process network generator 250 is B. can.
  • the value of the automatic start flag master DM255 and the value of the automatic start flag D255 are, for example, truth values.
  • the process network generation unit 250 sets the value of the automatic start flag D255 of the process node D20 generated in the process network generation unit 250 to B when the value of the automatic start flag master DM255 is B (truth value True or False).
  • B true value True or False
  • FIG. 26 is a flow chart showing the procedure of processing executed in the process execution system 200.
  • FIG. FIG. 27 is a flow chart showing the procedure of execution processing of the executable process node D20 executed in the process execution system 200. As shown in FIG. 26 and 27 are executed by the control unit 210 of the process execution system 200 according to a program.
  • the program executed by the control unit 210 of the process execution system 200 includes a step S21 of receiving an input of the process network model D ⁇ 2, a step S22 of generating the process network D2, and a state transition of the process node D20. It has a step S23 for processing, a step S24 for executing processing of executable process nodes D20, and a step S25 for determining whether all the process nodes D20 included in the process network D2 are in a completed state.
  • the step S21 of receiving the input of the process network model D ⁇ 2 can be configured in the same manner as the step S11 of receiving the input of the process network model D ⁇ 1 according to the first embodiment.
  • the step S22 of generating the process network D1 can be configured similarly to the step S12 of generating the process network D1 according to the first embodiment.
  • the step S25 of determining whether all the process nodes D20 included in the process network D2 are in the completed state determines whether all the process nodes D10 included in the process network D1 according to the first embodiment are in the completed state. It can be constructed in the same manner as in step S15.
  • Step S23 of performing the state transition processing of the process node D20 is configured in the same manner as step S13 of performing the state transition processing of the process node D10 of the process execution system 100 according to the first embodiment except for the following points. That is, in steps S1326 (see FIG. 13) and step S13245 (see FIG. 14), the process network state management unit 260 puts the process node D20 into an executable state, if the process node D20 is an automatic startup process, The process state D23 of the node D20 is set to the executable state, and if the process node D20 is not an automatic start process, the process state D23 of the process node D20 is not changed.
  • Whether or not the process node D20 is an automatic startup process is determined based on the value of the automatic startup flag D255 of the process node D20. For example, the process network state management unit 260 determines that the process is automatically started when the value of the automatic start flag of the process node D20 is True. judge not.
  • Step S24 the execution processing of the executable process node D20 performed in step S24 includes step S241 of determining whether or not the executable process node D20 exists, and executing the executable process node D20. It has a step S242, a step S243 of determining whether or not the process node D20 that has completed execution is an asynchronous process, and a step S244 that changes the state of the process node D20 that has completed execution to the completed state.
  • the step S241 of determining whether or not the executable process node D20 exists can be configured in the same manner as the step S141 of determining whether or not the executable process node D10 according to the first embodiment exists.
  • Step S242 of executing the executable process node D20 can be configured in the same manner as step S142 of executing the executable process node D10 according to the first embodiment.
  • Step S243 The process network execution unit 270 determines whether or not the process node D20 that has completed execution is an asynchronous process. If it is determined that the process node D20 that has completed execution is an asynchronous process, the process ends. If it is determined that the process node D20 that has completed execution is not an asynchronous process, the process proceeds to step S244. The process network execution unit 270 determines whether or not the process node D20 that has completed execution is an asynchronous process based on the value of the asynchronous flag of the process node D20 that has completed execution.
  • the process network execution unit 270 determines that the process is an asynchronous process when the asynchronous flag value of the process node D20 that has completed execution is True, and the process node D20 that has completed execution has the asynchronous flag value of False. Determine if the process is not asynchronous.
  • the process network execution unit 270 may be configured to change the process state D23 to the waiting state when the process node D20 that has completed execution is an asynchronous process.
  • the process network execution unit 270 changes the process state D23 of the process node D20 that has completed execution to the completed state.
  • a method for setting the process state D23 to the completed state is not particularly limited, but may be, for example, a method of transmitting a request to the storage unit 220 described in step S143 of the first embodiment.
  • the process network execution unit 270 may also issue a process state change request to the process network state management unit 260 to change the process state D23 of the process node D20 that has completed execution to the completed state.
  • the process network state management unit 260 includes a process state change request reception unit 261 that 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 receiving unit 261, the state of the specific process node D20 included in the process network D1 is changed.
  • the process execution system 300 according to the third embodiment differs from the process execution system 200 according to the second embodiment in that the control section 310 further has a transfer section 380 .
  • the contents of the process to be executed can be changed according to the change of the environment E, so that the degree of adaptability to the business environment where the speed of change is fast can be improved. be able to.
  • the process execution system 300 according to the third embodiment can be configured in the same manner as the process execution system 200 according to the second embodiment, except for the configuration specifically described below.
  • FIG. 28 is a functional block diagram of the control unit 310 of the process execution system 300 according to this embodiment.
  • FIG. 29 is a functional block diagram of the transfer section 380 of the process execution system 300 according to this embodiment.
  • FIG. 30 is a conceptual diagram showing process generation information DM35 of the process execution system 300 according to this embodiment.
  • FIG. 31 is a conceptual diagram showing interactions between the process execution system 300 and the environment E according to this embodiment.
  • FIG. 32 is a schematic diagram illustrating the data structure of the case data table CDT referred to by the process execution system 300 according to this embodiment.
  • FIG. 33 is a schematic diagram illustrating the data structure of context data CxD saved by the process network model input unit 351 of the process execution system 300 according to this embodiment.
  • FIG. 34 is a diagram illustrating the syntax of the transfer process tag PT of the process execution system 300 according to this embodiment.
  • FIG. 35 is a diagram illustrating the syntax of the selected process tag PTs of the process execution system 300 according to this embodiment.
  • FIG. 36 is a diagram illustrating the syntax of the iterative process tag PTi of the process execution system according to this embodiment.
  • FIG. 37 is a diagram illustrating the syntax of the replacement process tag PTr of the process execution system 300 according to this embodiment.
  • FIG. 38 is a diagram illustrating the syntax of the transcription factor model tag MT of the process execution system 300 according to this embodiment.
  • FIG. 39 is a diagram illustrating output data Dout of the transcription factor model M of the process execution system 300 according to the third embodiment of the present invention.
  • a process execution system 300 according to the third embodiment will be described below.
  • process execution system 300 transfers process creation information DM35 possessed by one process master node DM30 to one process node D30 corresponding to one process master node DM30. It further includes a transfer unit 380 that executes a transfer process for transferring the process definition information D35 to the D35.
  • the process generation information DM35 includes one or more pieces of transfer process definition information PDinfo that define the transfer process. Specifically, the process generation information DM35 defines a transfer process for transferring the process generation information DM35 as the process definition information D35 to the process node D30 corresponding to the process master node DM30 having the process generation information DM35. It includes a plurality of transfer process definition information PDinfo.
  • the transcription process definition information PDinfo includes one or more transcription factor model definition information MDinfo that defines a transcription factor model M that models the influence of the environment E with which the process execution system 300 can communicate on the transcription process.
  • the transcription unit 380 includes a transcription request reception unit 381 that receives a request to execute the transcription process, 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 definition information PDinfo. and a transfer process execution unit 383 that executes the defined transfer process.
  • the environment E with which the process execution system 300 can communicate includes an internal environment Ein with which the process execution system 300 can exclusively communicate, and an external environment Eout with which an external system SysOut viewed from the process execution system 300 can communicate. .
  • the external system SysOut includes an action execution system 50.
  • the external system SysOut includes a system S1 that is a system other than the action execution system 50 and that communicates with the process execution system 300 .
  • External systems SysOut include systems S2 that do not communicate directly with process execution system 300 .
  • a system that does not directly communicate with the process execution system 300 means a system that cannot identify causal relationships caused by signals emitted from the process execution system 300 .
  • the internal environment Ein includes the storage unit 220 of the process execution system 300.
  • the internal environment Ein includes a storage unit 220 that functions as a database server.
  • the internal environment Ein includes a database server managed by the web application when the process execution system 300 is configured as a web application running on a server machine.
  • the external environment Eout includes the external system SysOut itself that communicates with the process execution system 300 .
  • the transcription factor model evaluation unit 382 evaluates the transcription factor model M using information that can be obtained from the environment E with which the process execution system 300 can communicate as input data Din.
  • 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 that can be obtained from the environment E with which the process execution system 300 can communicate.
  • the input data Din includes data acquired from the storage unit 220 (internal environment Ein) of the process execution system 300.
  • the input data Din includes data acquired from an external database server (external environment Eout) with which the external system SysOut communicates.
  • Acquisition of data from an external database server (external environment Eout) with which the external system SysOut communicates may be performed via the external system SysOut.
  • the external system SysOut is a web application built using a web application creation framework such as Django
  • data acquisition from an external database (external environment Eout) that the web application communicates with is It can be done via the app's API.
  • the external system SysOut is Microsoft 365 Power Automate
  • the external database server (external environment Eout) is Microsoft Database, SharePoint Online, Excel Online, etc.
  • the acquisition of data from the external database server is configured with the Power Automate flow. It can be done via an API (initiated by HTTP POST).
  • acquisition of data from an external database server (external environment Eout) with which the external system SysOut communicates may be performed directly from the external database server.
  • the external system SysOut is Microsoft 365 Power Automate
  • the external database server (external environment Eout) is Microsoft Database
  • data can be obtained from Microsoft Database via Microsoft Database Web API.
  • the external system SysOut includes Web 3.0 (Web3) related systems that use blockchain such as Ethereum.
  • the external system SysOut includes applications that process DApps and smart contracts configured on the blockchain.
  • the input data Din may be information generated by an external system SysOut (external environment Eout) with which the process execution system 300 can communicate.
  • Information generated by an external system SysOut (external environment Eout) with which the process execution system 300 can communicate is, for example, text, images, and voice generated by a trained generation model in response to a request from the process execution system 300.
  • data such as ChatGPT is a service that generates text using a trained generation model in response to a request from a client.
  • the process network model input unit 351 is configured similarly to the process network model input unit 251 of the process execution system 200 according to the second embodiment, except for the following points. That is, when accepting the input of the process network model DM3, the process network model input unit 351 accepts the input of the context data CxD associated with one process network D3 generated from the process network model DM3.
  • the input data Din includes context data CxD whose input is received by the process network model input unit 351 .
  • the process network model input unit 351 saves the input context data CxD in the database server functioning as the storage unit 220 when receiving the input of the process network model DM3.
  • case data CD related to cases to be processed in the business represented by process network model D ⁇ 3 are stored in one or more case data tables CDT of database server (internal environment Ein) functioning as storage unit 220 for each case.
  • the case data table CDT may be stored in an external database server (external environment Eout) with which the external system SysOut communicates.
  • the process network model input unit 351 saves the context data CxD received as input when receiving the input of the process network model DM3 in the context table CxT of the database server functioning as the storage unit 220.
  • the context data CxD includes case IDs (CIDs) of cases to be processed in the business represented by the process network model D ⁇ 3.
  • the case ID (CID) is 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 record storing the case data of the corresponding case in the case data table CDT. expressed as a combination of
  • the process network model input unit 351 When storing the context data CxD in the database server functioning as the storage unit 220, the process network model input unit 351 stores the process node identifier D31 of the process node D30 included in the process network D3 associated with the context data CxD and Associate and save.
  • the transcription factor model M is not particularly limited as long as it is a model whose output results are determined according to the input data Din.
  • the transcription factor model M can be either a deterministic model or a stochastic model.
  • Deterministic models used as transcription factor models M include models expressed by functions, preferably models expressed by higher-order functions that take functions as arguments.
  • Deterministic models used as transcription factor models M include machine learning models such as deterministic deep learning models.
  • the probabilistic model used as the transcription factor model M includes machine learning models such as probabilistic deep learning models (generative models) and deep Boltzmann machines.
  • the transcription process execution unit 383 controls the transcription process based on the evaluation result R of one or more transcription factor models M evaluated by the transcription factor model evaluation unit 382.
  • the transcription process controlled by the transcription process execution unit 383 includes a selection process of selecting a part of the process generation information DM35 with the evaluation result R of the transcription factor model M as a condition, and a process with the evaluation result R of the transcription factor model M as a condition. It includes an iterative process of repeating a portion of the generated information DM35 and a replacement process of replacing a portion of the process generated information DM35 by the evaluation result R of the transcription factor model M.
  • the transcription process execution unit 383 can be configured to implement functions equivalent to those of the template engine included in the web application creation framework, in addition to the selection process, repetition process, and replacement process.
  • the transcription process execution unit 383 implements functions equivalent to functions using template tags and filters provided by Django Template Language (DTL) used in Django, which is a framework for creating web applications.
  • DTL Django Template Language
  • the transcription process execution unit 383 can be configured by extending the template engine provided in the framework for creating web applications. Specifically, the transcription process execution unit 383 inputs the process generation information DM35 as a template into the template engine, and inputs the evaluation result R of the transcription factor model M as context data, thereby performing the replacement process, the selection process, and the repetition process. Various operations, including processes, can be performed by the template engine. When the process generation information DM35 is input to the template engine as a template, the transcription process execution unit 383 converts the transcription process tag PT and the transcription factor model tag MT included in the process generation information DM35 to the specifications of the template engine. Rewrite based on syntax.
  • the transcription process definition information PDinfo is expressed by a transcription process tag PT written in a predetermined syntax.
  • the syntax for describing the transcription process tag PT is not particularly limited.
  • FIGS. 34 to 37 exemplify the definition of the syntax of the transcription process tag PT in Extended Backus-Naur Form.
  • the transcription process tag PT is a selection process tag PTs representing a selection process, a repetition process tag PTi representing a repetition process, or a replacement process tag PTr representing a replacement process.
  • the selected process tag PTs consists of ⁇ main selected block>, data in which ⁇ sub-selected block> is repeatedly arranged, optionally ⁇ default selected block>, and ⁇ selected process tag end>. This is data in which symbols > and , are arranged in order.
  • a ⁇ main selection block> is data in which ⁇ main selection block start symbol>, ⁇ selection condition>, ⁇ transfer process tag end symbol>, and ⁇ selection block> are arranged in order.
  • ⁇ Main selected block start symbol> represents the start position of the main selected block.
  • ⁇ main selection block start symbol> is an example in which ⁇ transfer process tag start symbol> and “if” are arranged side by side, but is not particularly limited as long as the start position of the main selection block can be specified.
  • ⁇ Transfer process tag start symbol> represents the start position of the transfer process tag PT.
  • ⁇ Transfer process tag start symbol> is exemplified as " ⁇ %", but is not particularly limited as long as the start position of the transfer process tag PT can be specified.
  • a ⁇ selection condition> is data in which ⁇ logical expression> and data in which ⁇ logical operator> and ⁇ logical expression> are selectively arranged in order are arranged in order.
  • a ⁇ logical formula> is data in which a ⁇ formula>, a ⁇ logical operator>, and a ⁇ formula> are arranged in order.
  • ⁇ formula> is data obtained by enclosing ⁇ value>, ⁇ transcription factor model tag>, or ⁇ logical formula> in parentheses. Since ⁇ transcription factor model tag> can be specified in ⁇ formula>, evaluation result R of transcription factor model M expressed by ⁇ transcription factor model tag> can be used as ⁇ selection condition>.
  • ⁇ logical expression> can be specified in ⁇ expression>
  • ⁇ logical expression> can be used in ⁇ logical expression>.
  • priority is given to the evaluation of the innermost parenthesized logical expression.
  • ⁇ value> is character string type data.
  • ⁇ transfer process tag end symbol> expresses the end position of the transfer process tag PT.
  • the ⁇ transfer process tag end symbol> is “% ⁇ ”, it is not particularly limited as long as the end position of the transfer process tag PT can be specified.
  • ⁇ Sub-selection block> is data in which ⁇ sub-selection block start symbol>, ⁇ selection condition>, ⁇ transfer process tag end symbol>, and ⁇ selection block> are arranged in order.
  • ⁇ Sub-selection block start symbol> represents the start position of the sub-selection block.
  • ⁇ Sub-selection block start symbol> is an example in which ⁇ transfer process tag start symbol> and “elif” are arranged side by side, but is not particularly limited as long as the start position of the sub-selection block can be specified.
  • ⁇ default selected block> is data in which ⁇ default selected block start symbol>, ⁇ transfer process tag end symbol>, and ⁇ selected block> are arranged in order.
  • ⁇ default selection block start symbol> represents the start position of the default selection block.
  • the ⁇ default selection block start symbol> is an example in which the ⁇ transcription process tag start symbol> and "else" are arranged side by side, but is not particularly limited as long as the start position of the default selection block can be specified.
  • a ⁇ selection block> is data in which data in which ⁇ character strings> are selectively arranged and ⁇ transfer process tags> are arranged zero or more times.
  • ⁇ selected block> may be data in which ⁇ character string>, ⁇ character string>, ⁇ transfer process tag>, ⁇ character string>, and ⁇ transfer process tag> are arranged in order.
  • ⁇ selected block> may be empty.
  • ⁇ Selected process tag end symbol> expresses the end position of the selected process tag PTs.
  • ⁇ Selected process tag end symbol> is an example in which ⁇ Transfer process tag start symbol>, “endif”, and ⁇ Transfer process tag end symbol> are arranged, but as long as the end position of the selected process tag PTs can be specified, is not particularly limited.
  • the iterative process tag PTi is data in which ⁇ item condition block>, ⁇ item block>, and ⁇ item process tag terminal symbol> are arranged in order.
  • ⁇ Repetition condition block> is data in which ⁇ repetition condition block start symbol>, ⁇ repetition condition>, and ⁇ transcription process tag end symbol> are arranged in order.
  • ⁇ Iteration condition block start symbol> represents the start position of the iteration condition block.
  • the ⁇ repeat condition block start symbol> is exemplified by lining up the ⁇ transcription process tag start symbol> and "for", but is not particularly limited as long as the start position of the repeat condition block can be specified.
  • ⁇ Iteration condition> is data in which ⁇ loop variable>, "in", and ⁇ loop variable array> are arranged in order.
  • ⁇ Loop variable> is character string type data.
  • ⁇ loop variable array> is ⁇ loop variable array constant> or ⁇ transcription factor model tag>. Since ⁇ transcription factor model tag> can be designated as ⁇ loop variable array>, the evaluation result R of the transcription factor model M can be used as the loop variable array.
  • ⁇ Loop variable array constant> is data obtained by arranging character string type data separated by ",” and enclosing them in parentheses.
  • ⁇ Repetition block> consists of optionally ⁇ character string>, optionally ⁇ loop variable> data enclosed in double brackets (“ ⁇ ”, “ ⁇ ”), and optionally ⁇ transcription process tag > is arranged in order zero or more times.
  • ⁇ repeat block> is a sequence of ⁇ loop variable> ⁇ , ⁇ character string>, ⁇ character string>, ⁇ transcription process tag>, ⁇ loop variable> ⁇ , ⁇ character string>. can be data.
  • ⁇ repeat block> may be empty.
  • ⁇ Iteration process tag end symbol> expresses the end position of the iteration process tag PTi.
  • ⁇ Repeated process tag end symbol> is an example in which ⁇ Transfer process tag start symbol>, “endfor”, and ⁇ Transfer process tag end symbol> are arranged in order, but the end position of the repetitive process tag PTi can be specified. It is not particularly limited as long as
  • the replacement process tag PTr is the ⁇ transcription factor model tag> itself.
  • the transcription factor model definition information MDinfo is expressed by transcription factor model tags MT described in a predetermined syntax.
  • the syntax for describing the transcription factor model tag MT is not particularly limited.
  • FIG. 38 illustrates the syntax definition of the transcription factor model tag MT in Extended Backus-Naur Form.
  • the transcription factor model tag MT is data in which ⁇ transcription factor model tag start symbol>, ⁇ transcription factor model>, optionally ⁇ evaluation result selector group>, and ⁇ transcription factor model tag end symbol> are arranged in order. is.
  • ⁇ Transcription factor model tag start symbol> represents the start position of the transcription factor model tag MT.
  • ⁇ transcription factor model> expresses the transcription factor model M;
  • ⁇ Evaluation result selector group> expresses data to be used as the evaluation result R of the transcription factor model M from among the output data Dout of the transcription factor model M.
  • FIG. ⁇ Transcription factor model tag termination symbol> represents the termination position of the transcription factor model tag MT.
  • FIG. 38 exemplifies the case where the ⁇ transcription factor model tag start symbol> is “ ⁇ ”, but the ⁇ transcription factor model tag start symbol> is It is not particularly limited.
  • a ⁇ transcription factor model> is configured by arranging ⁇ model ID> and optionally ⁇ input data group> in order.
  • ⁇ Model ID> is an identifier for uniquely identifying the transcription factor model M.
  • ⁇ input data group> represents one or more input data Din used to evaluate the transcription factor model M;
  • ⁇ model ID> has a hierarchical structure. Specifically, ⁇ model ID> is data in which one or more ⁇ model group names> are separated by ".” and data in which ⁇ model name> is arranged in order. The ⁇ model group name> is arranged from the left side to the right side from the upper layer to the lower layer. ⁇ model group name> and ⁇ model name> are character string type data.
  • ⁇ Input data group> is data obtained by enclosing ⁇ Input data> in parentheses.
  • ⁇ input data> is data obtained by arranging one or more ⁇ input variables> separated by ",".
  • ⁇ input variable name> is character string type data.
  • ⁇ input variable value> is ⁇ character string> or ⁇ transcription factor model tag>.
  • Transcription factor model M takes the evaluation result R of one transcription factor model M as input data Din of another transcription factor model M by being able to set ⁇ transcription factor model tag> in ⁇ value of input variable>. It has the structure of a higher-order function.
  • ⁇ evaluation result selector group> is data in which ⁇ evaluation result selectors> are separated by "."
  • ⁇ Evaluation Result Selector> represents an identifier for identifying data to be used as the evaluation result R of the transcription factor model M from among the output data Dout of the transcription factor model M.
  • FIG. When all the data included in the output data Dout of the transcription factor model M are used as the evaluation result R of the transcription factor model M, the ⁇ evaluation result selector group> may be omitted.
  • the output data Dout of the transcription factor model M can contain multiple data.
  • the output data Dout of the transcription factor model M can be a list, an array, an associative array, and structured data in which they are nested.
  • FIG. 39 illustrates a case where the output data Dout of the transcription factor model M is in JSON format.
  • the ⁇ evaluation result selector group> contains each Identifiers specifying data in the hierarchy are arranged in order as ⁇ evaluation result selector>.
  • the ⁇ evaluation result selector group> specifying “value 31B” in the output data Dout illustrated in FIG. 39 can be “1. key 12.0. key 22. key 31”.
  • the output data Dout can be a probability distribution.
  • the ⁇ evaluation result selector group> can be, for example, data expressing the value of the random variable that takes the maximum probability in the probability distribution.
  • FIG. 38 exemplifies the case where ⁇ transcription factor model tag termination symbol> is ">>>", but ⁇ transcription factor model tag termination symbol> is It is not particularly limited.
  • FIG. FIG. 40 is a flow chart showing the procedure of processing executed in the process execution system 300 according to this embodiment.
  • FIG. 41 is a flow chart showing the procedure of execution processing of the executable process node D30 executed in the process execution system 300 according to this embodiment.
  • the processes shown in the flowcharts of FIGS. 41 and 42 are executed by the control unit 310 of the process execution system 300 according to the program.
  • the program executed by the control unit 310 of the process execution system 300 includes a step S31 of receiving an input of the process network model D ⁇ 3, a step S32 of generating the process network D3, and a state transition of the process node D30. It has a step S33 for processing, a step S34 for executing processing of executable process nodes D30, and a step S35 for determining whether or not all process nodes D30 included in the process network D3 are in a completed state.
  • the step S32 of generating the process network D3 can be configured similarly to the step S22 of generating the process network D2 according to the second embodiment.
  • the step S33 of performing the state transition processing of the process node D30 can be configured in the same manner as the step S23 of performing the state transition processing of the process node D20 according to the second embodiment.
  • the step S35 of determining whether all the process nodes D30 included in the process network D3 are in the completed state determines whether all the process nodes D20 included in the process network D2 according to the second embodiment are in the completed state. It can be constructed in the same manner as in step S25.
  • Step S31 The step S31 of receiving the input of the process network model D ⁇ 3 is configured in the same manner as the step S21 of receiving the input of the process network model D ⁇ 2 of the process execution system 200 according to the second embodiment except for the following points. That is, when accepting the input of the process network model DM3, the process network model input unit 351 accepts the input of the context data CxD associated with one process network D3 generated from the process network model DM3. The process network model input unit 351 stores the received context data CxD when receiving the input of the process network model DM3 in the context table CxT of the database server functioning as the storage unit 220 .
  • Step S34 As shown in FIG. 41, the execution processing of the executable process node D30 performed in step S34 includes a step S341 of determining whether or not an executable process node D30 exists, and a step of transmitting a transfer process execution request. S342, step S343 of executing the executable process node D30, step S344 of determining whether or not the process node D30 that has completed execution is an asynchronous process, and step S344 that changes the state of the process node D30 that has completed execution to the completed state. and S345.
  • the step S341 of determining whether or not the executable process node D30 exists can be configured in the same manner as the step S241 of determining whether or not the executable process node D20 according to the second embodiment exists.
  • the step S343 of executing the executable process node D30 can be configured similarly to the step S242 of executing the executable process node D20 according to the second embodiment.
  • Step S344 of determining whether or not the process node D30 that has completed execution is an asynchronous process can be configured in the same manner as step S243 of determining whether or not the process node D20 that has completed execution according to the second embodiment is an asynchronous process.
  • the step S345 of changing the state of the process node D30 that has completed execution to the completed state can be configured in the same manner as the step S244 that changes the state of the process node D20 that has completed execution according to the second embodiment.
  • Step S342 The process network execution unit 370 transmits a transfer process execution request for transferring the process generation information DM35 of the process master node DM30 corresponding to the executable process node D30 to the executable process node D30 as the process definition information D35.
  • the transcription unit 380 transcribes the process generation information DM35 for which the transcription request reception unit 381 has received the execution request of the transcription process to the process node corresponding to the process master node DM30 having the process generation information DM35 as the process definition information D35.
  • the process definition information D35 is updated by being transferred by the transfer unit 380.
  • Step S343 The process network execution unit 370 executes the process based on the updated process definition information D35 transcribed by the transcription unit 380 in step S342.
  • FIG. FIG. 42 is a flow chart showing the procedure of processing executed in the transfer unit 380 of the process execution system 300 according to this embodiment.
  • FIG. 43 is a flowchart showing the procedure of evaluation processing of the evaluation target transcription factor model Me, which is executed in the transcription unit 380 of the process execution system 300 according to this embodiment.
  • FIG. 44 is a flowchart showing the procedure of evaluation processing of the original evaluation target transcription factor model Mo, which is executed in the transcription unit 380 of the process execution system 300 according to this embodiment.
  • the processes shown in the flowcharts of FIGS. 42 to 44 are executed by the control section 310 of the process execution system 300 according to the program.
  • the program executed by the transfer unit 380 of the process execution system 300 includes a step S381 for receiving a transfer process execution request, a step S382 for setting the process generation information DM35 to the transfer information Tinfo, and a step S382 for transferring the transfer process definition information PDinfo from the transfer information Tinfo.
  • the transfer request receiving unit 381 receives a transfer process execution request for transferring process creation information DM35 possessed by one process master node DM30.
  • Step S382 The transfer process execution unit 383 sets the process generation information DM35, which received the transfer process execution request in step S381, in the transfer information Tinfo.
  • the transfer process executing unit 383 extracts the transfer process definition information PDinfo from the transfer information Tinfo. Specifically, the transfer process execution unit 383 extracts the transfer process tag PT expressing the transfer process definition information PDinfo from the transfer information Tinfo.
  • Step S384 The transfer process executing unit 383 determines whether or not the transfer process definition information PDinfo is extracted in step S383. Specifically, the transfer process execution unit 383 determines whether or not the transfer process tag PT expressing the transfer process definition information PDinfo is extracted in step S383. If it is determined that the transfer process definition information PDinfo has been extracted, the process proceeds to step S385. If it is determined that the transfer process definition information PDinfo has not been extracted, the process advances to step S389.
  • the transcription factor model evaluation unit 382 sets the transcription factor model M defined by the transcription factor model definition information MDinfo included in the transcription process definition information PDinfo as the evaluation target transcription factor model Me.
  • the transcription factor model evaluation unit 382 selects the transcription factor model tag included in the selection condition of the selected process tag PTs.
  • the transcription factor model M expressed by MT is set as the evaluation target transcription factor model Me.
  • the transcription factor model evaluation unit 382 expresses the transcription factor model tag MT included in the repetitive condition of the repetitive process tag PTi.
  • the transcription factor model M is set as the evaluation target transcription factor model Me.
  • the transcription factor model evaluation unit 382 evaluates the transcription factor model M expressed by the transcription factor model tag MT forming the replacement process tag PTr. Set to target transcription factor model Me.
  • Step S386 The transcription factor model evaluation unit 382 performs evaluation processing of the evaluation target transcription factor model Me set in step S385.
  • the transcription factor model evaluation unit 382 evaluates the evaluation target transcription factor model Me by using, as input data Din, information that can be obtained from the environment E in which the process execution system 300 can communicate when performing the evaluation processing of the evaluation target transcription factor model Me. .
  • Step S387 The transcription process executing unit 383 processes the transcription information Tinfo based on the evaluation result R of the transcription factor model M evaluated in step S386.
  • the transcription process execution unit 383 executes the transcription factor model M expressed by the transcription factor model tag MT included in the selection condition of the selected process tag PTs.
  • the selection condition is evaluated based on the evaluation result R of , and the selection process tag PTs is replaced by a selection block in which the selection condition becomes true.
  • the transcription process execution unit 383 repeats the repetition block using each element included in ⁇ loop variable array> as the value of the loop variable. replace the iteration process tag PTi by the iteration information generated by When generating the iteration information, the transcription process execution unit 383 generates “ ⁇ loop variable> ⁇ ” depending on the value of the loop variable if “ ⁇ loop variable> ⁇ ” is included in the iteration block. replace When the transcription factor model tag MT is set in the ⁇ loop variable array>, the transcription process execution unit 383 stores the evaluation result R of the transcription factor model M expressed by the transcription factor model tag MT in the ⁇ loop variable array>. treated as
  • the transcription process execution unit 383 evaluates the transcription factor model M expressed by the transcription factor model tag MT forming the replacement process tag PTr. to replace the replacement process tag PTr.
  • Step S388 The transfer process executing unit 383 determines whether all the transfer process definition information PDinfo extracted in step S383 has been processed. If it is determined that all the transfer process definition information PDinfo has been processed, the process returns to step S383. If there is transfer process definition information PDinfo that has not been processed, the process returns to step S385.
  • Step S389 The transfer process executing unit 383 transfers the transfer information Tinfo as the process definition information D35 to the process node D30 corresponding to the process master node DM30 that received the transfer process execution request in step S381.
  • step S386 of performing evaluation processing of the evaluation target transcription factor model Me includes step S3861 of setting the evaluation target transcription factor model Me as the original evaluation target transcription factor model Mo, and step S3861 of setting the evaluation target transcription factor model Me as the original evaluation target transcription factor model Mo.
  • a step S3862 of extracting the transcription factor model M present a step S3863 of determining whether or not the transcription factor model M has been extracted, a step S3864 of setting the extracted transcription factor model M as the evaluation target transcription factor model Me, an evaluation Step S3865 of performing evaluation processing of the target transcription factor model Me, Step S3866 of determining whether or not all the extracted transcription factor models M have been evaluated, Step S3867 of performing evaluation processing of the original evaluation target transcription factor model Mo, have
  • the transcription factor model evaluation unit 382 sets the evaluation target transcription factor model Me as the original evaluation target transcription factor model Mo.
  • the transcription factor model evaluation unit 382 extracts the transcription factor model M set in the input data Din of the original evaluation target transcription factor model Mo. Specifically, the transcription factor model evaluation unit 382 evaluates the transcription factor expressed by the transcription factor model tag MT set in the ⁇ input variable value> of the transcription factor model tag MT expressing the original evaluation target transcription factor model Mo. Extract the model M.
  • Step S3863 The transcription factor model evaluation unit 382 determines whether or not the transcription factor model M has been extracted in step S3862. If it is determined that the transcription factor model M has been extracted, the process proceeds to step S3864. If it is determined that the transcription factor model M has not been extracted, the process proceeds to step S3867.
  • Step S3864 The transcription factor model evaluation unit 382 sets the transcription factor model M extracted in step S3862 as the evaluation target transcription factor model Me.
  • the transcription factor model evaluation unit 382 performs evaluation processing of the evaluation target transcription factor model Me.
  • Step S3866 The transcription factor model evaluation unit 382 determines whether or not all the 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, the process proceeds to step S3867. If it is determined that there is a transcription factor model M that has not been evaluated among the transcription factor models M extracted in step S3862, the process returns to step S3864.
  • the transcription factor model evaluation unit 382 performs evaluation processing of the original evaluation target transcription factor model Mo.
  • step S3867 of performing evaluation processing of the original transcription factor model Mo to be evaluated comprises step S38671 of specifying the model type of the original transcription factor model Mo to be evaluated, and output data of the original transcription factor model Mo to be evaluated. It has a step S38672 of acquiring Dout and a step S38673 of determining the evaluation result R of the original evaluation target transcription factor model Mo.
  • the transcription factor model evaluation unit 382 identifies the model type of the original evaluation target transcription factor model Mo. Specifically, the transcription factor model evaluation unit 382 identifies the model type of the original evaluation target transcription factor model Mo based on the transcription factor model tag MT expressing the original evaluation target transcription factor model Mo. More specifically, the transcription factor model evaluation unit 382 determines the model type of the original evaluation target transcription factor model Mo based on the ⁇ model ID> included in the transcription factor model tag MT expressing the original evaluation target transcription factor model Mo. Identify.
  • the transcription factor model evaluation unit 382 has no ⁇ model group name> in ⁇ model ID> included in the transcription factor model tag MT expressing the original evaluation target transcription factor model Mo, and the model name is "self-process", the model type of the original evaluation target transcription factor model Mo is identified as the self-process reference type.
  • the transcription factor model evaluation unit 382 sets the ⁇ model group name> as the application name and the ⁇ model name> as the table name in the ⁇ model ID> included in the transcription factor model tag MT expressing the original evaluation target transcription factor model Mo.
  • the model type of the original evaluation target transcription factor model Mo is identified as the table reference type.
  • the transcription factor model evaluation unit 382 determines that ⁇ model ID> included in the transcription factor model tag MT expressing the original evaluation target transcription factor model Mo does not have ⁇ model group name> and ⁇ model name> is "script". In the case of , the model type of the original evaluation target transcription factor model Mo is identified as the script type.
  • the transcription factor model evaluation unit 382 determines that ⁇ model ID> included in the transcription factor model tag MT expressing the original evaluation target transcription factor model Mo does not have ⁇ model group name> and ⁇ model name> is "machine learning model", the model type of the original evaluation target transcription factor model Mo is identified as the machine learning model type.
  • the transcription factor model evaluation unit 382 identifies the model type of the original evaluation target transcription factor model Mo as the API type.
  • Step S38672 The transcription factor model evaluation unit 382 obtains output data Dout by evaluating the original evaluation target transcription factor model Mo using information that can be obtained from the environment E with which the process execution system 300 can communicate as input data Din. Specifically, the transcription factor model evaluation unit 382 evaluates the original evaluation target transcription factor model Mo based on the model type of the original evaluation target transcription factor model Mo specified in step S38671, and acquires the output data Dout.
  • the transcription factor model evaluation unit 382 uses the information of the self-process node D30 as the output data Dout. get.
  • the transcription factor model evaluation unit 382 sets the ⁇ model Output data is information retrieved based on the input data Din of the transcription factor model tag MT from the table specified by group name> (representing the application name that manages the table) and ⁇ model name> (representing the table name).
  • group name> representing the application name that manages the table
  • ⁇ model name> representing the table name.
  • Dout A table for acquiring information as the output data Dout of the original evaluation target transcription factor model Mo may be in either the internal environment Ein or the external environment Eout.
  • the transcription factor model evaluation unit 382 evaluates the input data Din of the transcription factor model tag MT expressing the original evaluation target transcription factor model Mo. Acquire the execution result of the script executed based on as the output data Dout.
  • the transcription factor model evaluation unit 382 inputs the transcription factor model tag MT expressing the original evaluation target transcription factor model Mo.
  • An inference result using a machine learning model executed based on data Din is acquired as output data Dout.
  • the transcription factor model evaluation unit 382 evaluates the input data Din of the transcription factor model tag MT expressing the original evaluation target transcription factor model Mo.
  • the execution result of the API executed based on is obtained as the output data Dout.
  • the transcription factor model evaluation unit 382 determines data to be returned as the evaluation result R of the original evaluation target transcription factor model Mo from the output data Dout of the original evaluation target transcription factor model Mo acquired in step S38672. Specifically, the transcription factor model evaluation unit 382 returns data as the evaluation result R from the output data Dout of the original evaluation target transcription factor model Mo based on the transcription factor model tag MT expressing the original evaluation target transcription factor model Mo. to decide. More specifically, the transcription factor model evaluation unit 382 evaluates the output data Dout of the original evaluation target transcription factor model Mo based on the ⁇ evaluation result selector group> of the transcription factor model tag MT expressing the original evaluation target transcription factor model Mo. data to be returned as the evaluation result R is determined.
  • FIG. 45 is a schematic diagram exemplifying process generation information DM35 used to describe an operation example of the transfer unit 380 of the process execution system 300 according to this embodiment.
  • FIG. 46 is a schematic diagram illustrating transfer information Tinfo used to describe an operation example of the transfer unit 380 of the process execution system 300 according to this embodiment.
  • FIG. 47 is a schematic diagram illustrating transfer information Tinfo used to describe an operation example of the transfer unit 380 of the process execution system 300 according to this embodiment.
  • the process generation information DM35 used in the description of the operation example includes a plurality of transfer process tags PT (PTs1, PTs2, PTs3, PTi and PTr) expressing transfer process definition information PDinfo.
  • the transfer process execution unit 383 sets the process creation information DM35 to the transfer information Tinfo (step S382).
  • step S383 the transfer process execution unit 383 extracts the selected process tag PTs1 and the replacement process tag PTr from the transfer information Tinfo. Since the transfer process tags PT (PTs1 and PTr) are extracted in step S383, the determination in step S384 is Yes.
  • step S385 to step S387 is performed for each of the selected process tag PTs1 and the replacement process tag PTr.
  • the selected process tag PTs1 and the replacement process tag PTr are processed in this order.
  • step S385 the transcription factor model evaluation unit 382 sets the transcription factor model M represented by ⁇ transcription factor model tag 11> included in the selection condition of the selection process tag PTs1 as the evaluation target transcription factor model Me.
  • step S386 the transcription factor model evaluation unit 382 performs evaluation processing of the evaluation target transcription factor model Me.
  • the evaluation result R of the evaluation target transcription factor model Me is "value m”.
  • a selection block a block containing the repetition process tag PTi
  • step S388 Since the processing of the replacement process tag PTr has not been completed, the determination in step S388 is No, and the process returns to step S385.
  • step S385 the transcription factor model evaluation unit 382 sets the transcription factor model M represented by the ⁇ transcription factor model tag 01> forming the replacement process tag PTr as the evaluation target transcription factor model Me.
  • step S386 the transcription factor model evaluation unit 382 performs evaluation processing of the evaluation target transcription factor model Me.
  • the evaluation result R of the evaluation target transcription factor model Me is "evaluation result 01".
  • step S387 the transcription process execution unit 383 replaces the replacement process tag PTr included in the transcription information Tinfo with the evaluation result R of the evaluation target transcription factor model Me in step S386.
  • step S388 the determination in step S388 is YES, and the process returns to step S383.
  • the transfer information Tinfo becomes as shown in FIG.
  • step S383 the transcription process execution unit 383 extracts the repetition process tag PTi from the transcription information Tinfo. Since the iterative process tag PTi has been extracted, the determination in step S384 is Yes.
  • step S385 the transcription factor model evaluation unit 382 sets the transcription factor model M represented by ⁇ transcription factor model tag 22> included in the iteration condition of the iteration process tag PTi as the evaluation target transcription factor model Me.
  • step S386 the transcription factor model evaluation unit 382 performs evaluation processing of the evaluation target transcription factor model Me.
  • the evaluation result R of the evaluation target transcription factor model Me includes three data of "evaluation result 221", "evaluation result 222", and "evaluation result 223".
  • step S387 the transcription process execution unit 383 converts ⁇ repetition block> included in the iteration process tag PTi by using each of the three data included in the evaluation result R of the evaluation target transcription factor model Me in step S386 as the value of the loop variable. Iterate to generate repetitive information. “ ⁇ loop variable ⁇ ” included in the repetitive information is replaced by each of the three data of the evaluation result R of the transcription factor model Me to be evaluated.
  • the transcription process execution unit 383 replaces the repetition process tag PTi included in the transcription information Tinfo with the generated repetition information.
  • step S388 the transfer information Tinfo becomes as shown in FIG.
  • step S384 Since there is no transfer process definition information PDinfo extracted from the transfer information Tinfo in step S383, the determination in step S384 is No, and the process proceeds to step S389.
  • step S389 the transfer process executing unit 383 transfers the transfer information Tinfo as process definition information D35 to the process node D30 corresponding to the process master node DM30 that received the transfer process execution request in step S381. With this, the execution processing of the transfer process by the transfer unit 380 is completed.
  • FIG. 48 is a schematic diagram exemplifying a transcription process tag PT used for explaining an operation example of evaluation processing of the evaluation target transcription factor model Me in the transcription unit 380 of the process execution system 300 according to this embodiment.
  • FIG. 49 is a schematic diagram exemplifying a transcription process tag PT used for explaining an operation example of evaluation processing of the evaluation target transcription factor model Me in the transcription unit 380 of the process execution system 300 according to this embodiment.
  • FIG. 48 is a schematic diagram exemplifying a transcription process tag PT used for explaining an operation example of evaluation processing of the evaluation target transcription factor model Me in the transcription unit 380 of the process execution system 300 according to this embodiment.
  • FIG. 50 is a schematic diagram exemplifying a transcription process tag PT used for explaining an operation example of evaluation processing of the evaluation target transcription factor model Me in the transcription unit 380 of the process execution system 300 according to this embodiment.
  • FIG. 51 is a schematic diagram exemplifying a transcription process tag PT used for explaining an operation example of evaluation processing of the evaluation target transcription factor model Me in the transcription unit 380 of the process execution system 300 according to this embodiment.
  • FIG. 52 is a schematic diagram exemplifying a transcription process tag PT used for explaining an operation example of evaluation processing of the evaluation target transcription factor model Me in the transcription unit 380 of the process execution system 300 according to this embodiment.
  • FIG. 53 is a schematic diagram exemplifying a transcription process tag PT used for explaining an operation example of evaluation processing of the evaluation target transcription factor model Me in the transcription unit 380 of the process execution system 300 according to this embodiment.
  • the transcription factor model Me to be evaluated is the transcription factor model M represented by the transcription factor model tag MT illustrated in FIG. 48.
  • step S3861 the transcription factor model Me to be evaluated is set as the original transcription factor model Mo to be evaluated.
  • step S3862 the transcription factor model M set in the input data Din is not extracted, so the determination at step S3863 is No, and the process proceeds to step S3867.
  • step S3867 evaluation processing of the original evaluation target transcription factor model Mo is performed.
  • step S38671 since the ⁇ model ID> of the transcription factor model tag MT expressing the original evaluation target transcription factor model Mo is "own process", the model type of the original evaluation target transcription factor model Mo is identified as the own process reference type.
  • step S38672 since the model type of the original evaluation target transcription factor model Mo is the self-process reference type, the information of the self-process node D30 is acquired from the storage unit 220 as the output data Dout.
  • step S38673 since the ⁇ evaluation result selector group> of the transcription factor model tag MT expressing the original evaluation target transcription factor model Mo is the "process node identifier", the data of the process node identifier D31 in the output data Dout is used for the original evaluation. It is determined as the evaluation result R of the target transcription factor model Mo.
  • the transcription factor model Me to be evaluated is the transcription factor model M represented by the transcription factor model tag MT illustrated in FIG. 49.
  • step S3861 the transcription factor model Me to be evaluated is set as the original transcription factor model Mo to be evaluated.
  • step S3862 the transcription factor model M set in ⁇ value of input variable> corresponding to ⁇ input variable name> "process node identifier" is extracted. Since the transcription factor model M is extracted in step S3862, the determination in step S3863 is YES, and the process proceeds to step S3864.
  • step S3864 the transcription factor model M set in the ⁇ input variable value> corresponding to the ⁇ input variable name> "process node identifier" is set as the evaluation target transcription factor model Me.
  • step S3865 evaluation processing of the evaluation target transcription factor model Me is performed.
  • step S3867 evaluation processing of the original evaluation target transcription factor model Mo is performed.
  • step S38671 the ⁇ model ID> of the transcription factor model tag MT expressing the original transcription factor model Mo to be evaluated is "application Va.context table". Identify the model type of as a table reference type.
  • step S38672 since the model type of the original evaluation target transcription factor model Mo is the table reference type, the information retrieved based on the input data Din is obtained as the output data Dout from the context table managed by the application Va.
  • the information of the record whose process node identifier D31 is the process node identifier D31 of its own process node D30 is acquired as the output data Dout.
  • step S38673 since the ⁇ evaluation result selector group> of the transcription factor model tag MT expressing the original evaluation target transcription factor model Mo is "case ID", the data of the case ID in the output data Dout is the original evaluation target transcription factor It is determined as the evaluation result R of the model Mo.
  • the transcription factor model Me to be evaluated is the transcription factor model M represented by the transcription factor model tag MT illustrated in FIG. 50.
  • step S3861 the transcription factor model Me to be evaluated is set as the original transcription factor model Mo to be evaluated.
  • step S3862 the transcription factor model M set in ⁇ value of input variable> corresponding to ⁇ input variable name> “column Cp1” is extracted. Since the transcription factor model M is extracted in step S3862, the determination in step S3863 is YES, and the process proceeds to step S3864.
  • step S3864 the transcription factor model M set in the ⁇ input variable value> corresponding to the ⁇ input variable name> "column Cp1" is set as the evaluation target transcription factor model Me.
  • step S3865 evaluation processing of the evaluation target transcription factor model Me is performed.
  • step S3867 evaluation processing of the original evaluation target transcription factor model Mo is performed.
  • step S38671 the ⁇ model ID> of the transcription factor model tag MT expressing the original evaluation target transcription factor model Mo is "application Wa. table Wt". Identify the model type of as a table reference type.
  • step S38672 since the model type of the original evaluation target transcription factor model Mo is the table reference type, information retrieved based on the input data Din is obtained as the output data Dout from the table Wt managed by the application Wa.
  • the information of the record whose column Cp1 is the case ID of the context data CxD associated with the own process node D30 and whose column Cp2 is "column Cp2 value" is used as the output data Dout. is obtained.
  • step S38673 since the ⁇ evaluation result selector group> of the transcription factor model tag MT expressing the original evaluation target transcription factor model Mo is "column Ws", the data in the column Ws of the output data Dout is the original evaluation target transcription factor It is determined as the evaluation result R of the model Mo.
  • the transcription factor model Me to be evaluated is the transcription factor model M represented by the transcription factor model tag MT illustrated in FIG. 51.
  • step S3861 the transcription factor model Me to be evaluated is set as the original transcription factor model Mo to be evaluated.
  • step S3862 the transcription factor model M set in ⁇ input variable value> corresponding to ⁇ input variable name> "script code” and ⁇ input variable value corresponding to ⁇ input variable name> "input variable Dp1" Extract the transcription factor model M that is set to >. Since the transcription factor model M is extracted in step S3862, the determination in step S3863 is YES, and the process proceeds to step S3864. Evaluation processing of the transcription factor model M extracted in step S3862 is performed through steps S3864 and S3865.
  • the evaluation process is performed for the transcription factor model shown in FIGS. This is the same as the evaluation process described above for tag MT. Specifically, from the script table managed by the application Xa, a record whose script ID is "script ID value" is acquired as the output data Dout, and the data of the script code is determined as the evaluation result R from the output data Dout. .
  • the transcription factor model M set in ⁇ input variable value> corresponding to ⁇ input variable name> “input variable Dp1” is the same as the transcription factor model M represented by the transcription factor model tag MT illustrated in FIG. Therefore, the same processing as the evaluation processing described above is performed for the transcription factor model tag MT illustrated in FIG.
  • step S3866 Since all of the transcription factor models M extracted in step S3862 have been evaluated, the determination in step S3866 is YES, and the process proceeds to step S3867. In step S3867, evaluation processing of the original evaluation target transcription factor model Mo is performed.
  • step S38671 since the ⁇ model ID> of the transcription factor model tag MT expressing the original evaluation target transcription factor model Mo is "script", the model type of the original evaluation target transcription factor model Mo is Identify script type.
  • step S38672 since the model type of the original evaluation target transcription factor model Mo is the script type, the execution result of the script executed based on the input data Din is acquired as the output data Dout.
  • the evaluation result R of the transcription factor model M set in ⁇ input variable value> corresponding to ⁇ input variable name> "script code” is set as the script code, and the script is executed with the script type set to "Python". .
  • step S38673 data to be returned as the evaluation result R from the output data Dout is determined based on the ⁇ evaluation result selector group> "evaluation result selector Ds1.evaluation result selector Ds2".
  • the evaluation target transcription factor model Me is a transcription factor model represented by the transcription factor model tag illustrated in FIG. 52.
  • step S3861 the transcription factor model Me to be evaluated is set as the original transcription factor model Mo to be evaluated.
  • step S3862 the transcription factor model M set in ⁇ input variable value> corresponding to ⁇ input variable name> "machine learning model data" and ⁇ input variable corresponding to ⁇ input variable name> "input variable Ep1"
  • the value of > is set to extract the transcription factor model M. Since the transcription factor model M is extracted in step S3862, the determination in step S3863 is YES, and the process proceeds to step S3864. Evaluation processing of the transcription factor model M extracted in step S3862 is performed through steps S3864 and S3865.
  • the evaluation process thereof is performed as illustrated in FIGS. It is the same as the evaluation process described above for the factor model tag MT. Specifically, from the machine learning model table managed by the application Ya, a record whose machine learning model ID is “machine learning model ID value” is acquired as the output data Dout, and the model data is converted from the output data Dout to the evaluation result R is determined as
  • the transcription factor model M set in ⁇ input variable value> corresponding to ⁇ input variable name> “input variable Ep1” is the same as the transcription factor model M represented by the transcription factor model tag MT illustrated in FIG. Therefore, the same processing as the evaluation processing described above is performed for the transcription factor model tag MT illustrated in FIG.
  • step S3866 Since all of the transcription factor models M extracted in step S3862 have been evaluated, the determination in step S3866 is YES, and the process proceeds to step S3867. In step S3867, evaluation processing of the original evaluation target transcription factor model Mo is performed.
  • step S38671 since the ⁇ model ID> of the transcription factor model tag MT expressing the original evaluation target transcription factor model Mo is "machine learning model", the model of the original evaluation target transcription factor model Mo Identify the type as a machine learning model type.
  • step S38672 since the model type of the original evaluation target transcription factor model Mo is the machine learning model type, the inference result of the machine learning model executed based on the input data Din is acquired as the output data Dout.
  • the evaluation result R of the transcription factor model M set in ⁇ input variable value> corresponding to ⁇ input variable name> “machine learning model data” is used as machine learning model data
  • the model framework is “PyTorch”.
  • step S38673 data to be returned as the evaluation result R from the output data Dout is determined based on the ⁇ evaluation result selector group> "evaluation result selector Es1".
  • the transcription factor model Me to be evaluated is the transcription factor model M represented by the transcription factor model tag MT illustrated in FIG. 53.
  • step S3861 the transcription factor model Me to be evaluated is set as the original transcription factor model Mo to be evaluated.
  • step S3862 transcription factor model M set in ⁇ input variable value> corresponding to ⁇ input variable name> “API address” and ⁇ input variable value> corresponding to ⁇ input variable name> “key Gp1” Extract the transcription factor model M that is set to . Since the transcription factor model M is extracted in step S3862, the determination in step S3863 is YES, and the process proceeds to step S3864. Evaluation processing of the transcription factor model M extracted in step S3862 is performed through steps S3864 and S3865.
  • the evaluation process is performed for the transcription factor model shown in FIGS. This is the same as the evaluation process described above for tag MT. Specifically, from the API table managed by the application Za, a record whose APIID is "APIID value" is acquired as the output data Dout, and the API address is determined as the evaluation result R from the output data Dout.
  • the transcription factor model M set in the ⁇ input variable value> corresponding to the ⁇ input variable name> "key Gp1" is the same as the transcription factor model M represented by the transcription factor model tag MT illustrated in FIG. Therefore, the same processing as the evaluation processing described above is performed for the transcription factor model tag MT illustrated in FIG.
  • step S3866 Since all of the transcription factor models M extracted in step S3862 have been evaluated, the determination in step S3866 is YES, and the process proceeds to step S3867. In step S3867, evaluation processing of the original evaluation target transcription factor model Mo is performed.
  • step S38671 the ⁇ model ID> of the transcription factor model tag MT expressing the original evaluation target transcription factor model Mo is "API", so the model type of the original evaluation target transcription factor model Mo is Identify the API type.
  • step S38672 since the model type of the original evaluation target transcription factor model Mo is the API type, the execution result of the API executed based on the input data Din is acquired as the output data Dout.
  • the API is executed using the evaluation result R of the transcription factor model M set as the ⁇ input variable value> corresponding to the ⁇ input variable name> “API address” as the API address.
  • step S38673 data to be returned as the evaluation result R from the output data Dout is determined based on ⁇ evaluation result selector group> "evaluation result selector Gs1. evaluation result selector Gs2. evaluation result selector Gs3".
  • FIG. 54 is a schematic diagram illustrating an action information master DM 353 used to describe an operation example of the transfer unit 380 of the process execution system 300 according to this embodiment.
  • FIG. 55 is a schematic diagram illustrating action information D353 used to describe an operation example of the transfer unit 380 of the process execution system 300 according to this embodiment.
  • FIG. 56 is a schematic diagram illustrating an action information master DM 353 used to describe an operation example of the transfer unit 380 of the process execution system 300 according to this embodiment.
  • FIG. 57 is a schematic diagram illustrating action information D353 used to describe an operation example of the transfer unit 380 of the process execution system 300 according to this embodiment.
  • FIG. 54 exemplifies the action information master DM353 including the selected process tags PTs.
  • the action information master DM353 of FIG. 54 further includes ⁇ transcription factor model tag B>, ⁇ transcription factor model tag C>, and ⁇ transcription factor model tag D>, which form replacement process tags PTr.
  • the evaluation result R of ⁇ transcription factor model tag A> included in the selection condition of the selection process tag PTs illustrated in FIG. 54 is not "value 1".
  • 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>
  • the evaluation result R of ⁇ transcription factor model tag D> is ⁇ evaluation result C>.
  • the action information D353 obtained by transferring the action information master DM353 is as shown in FIG.
  • FIG. 56 exemplifies the action information master DM353 including the repeat process tag PTi.
  • the action information master DM353 of FIG. 56 further includes ⁇ transcription factor model tag B> that forms a replacement process tag PTr.
  • the evaluation result R of ⁇ transcription factor model tag A> included in the iterative condition of the iterative process tag PTi includes two data of ⁇ evaluation result A1> and ⁇ evaluation result A2>.
  • the evaluation result R of ⁇ transcription factor model tag B> is ⁇ evaluation result B>.
  • the action information D353 obtained by transferring the action information master DM353 is as shown in FIG.
  • the transfer process definition information PDinfo is included in the action information master DM353 of the process generation information DM35.
  • the transfer process definition information PDinfo may be included in the process number master DM351.
  • the process number master DM351 includes transcription process definition information PDinfo configured so that the process number D351 is determined according to the evaluation result R of the transcription factor model M defined by the transcription factor model definition information MDinfo. You can Thereby, the process number D351 can be changed according to the environment E in which the process execution system 300 can communicate. Therefore, when the state transition processing of the process network state management unit 360 is determined according to the process number D351 like the state transition processing described above with reference to FIGS. Accordingly, the order of process nodes D30 to be executed can be changed.
  • the process execution system 300 performs a transfer process of transferring process generation information DM35 possessed by one process master node DM30 to one process node corresponding to one process master node DM30 as process definition information D35. It further has a transfer unit 380 for performing.
  • the process generation information DM35 includes one or more pieces of transfer process definition information PDinfo that define a transfer process.
  • the transcription process definition information PDinfo includes one or more transcription factor model definition information MDinfo that defines a transcription factor model M that models the influence of the environment E with which the process execution system 300 can communicate on the transcription process.
  • the transcription unit 380 includes a transcription request reception unit 381 that receives a request to execute the transcription process, 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 definition information PDinfo. and a transfer process execution unit 383 that executes the defined transfer process.
  • the transcription process execution unit 383 controls the transcription process based on the evaluation result R of one or more transcription factor models M evaluated by the transcription factor model evaluation unit 382 .
  • the process definition information D35 defining the contents of the process is generated by the transcription factor model M that models the influence of the environment E with which the process execution system 300 can communicate on the transcription process. can be changed. That is, the content of the process executed by the process network execution unit 370 can be changed according to the environment E with which the process execution system 300 can communicate. Therefore, according to the process execution system 300 according to the present embodiment, it is possible to provide a process execution system 300 that is highly adaptable to a business environment in which the rate of change is rapid by achieving both flexibility and stability.
  • the process network execution unit 370 of the process execution system 300 transmits a transfer process execution request to the transfer request reception unit 381 when executing the process defined by the process definition information D35.
  • a process is executed based on the process definition information D35 updated by the transfer unit 380 transferring the process generation information DM35 used to generate the process definition information D35.
  • the process network execution unit 370 executes the process defined by the process definition information D35, based on the process definition information D35 automatically updated according to the environment E in which the process execution system 300 can communicate, Can run processes. Therefore, according to the process execution system 300 according to the present embodiment, it is possible to provide the process execution system 300 that is more adaptable to a business environment in which the rate of change is fast by achieving both flexibility and stability.
  • the transcription factor model evaluation unit 382 of the process execution system 300 When evaluating one transcription factor model M, the transcription factor model evaluation unit 382 of the process execution system 300 according to the present embodiment inputs the evaluation result R of another transcription factor model M into the one transcription factor model M. Used as data Din.
  • the transcription factor model evaluation unit 382 can evaluate the transcription factor model M having a structure like a higher-order function that takes a function as an argument. Therefore, it is possible to model the complex effects of the environment E with which the process execution system 300 can communicate on the transcription process. Therefore, according to the process execution system 300 according to the present embodiment, it is possible to provide a process execution system 300 that is even more adaptable to a business environment in which the speed of change is rapid by achieving both flexibility and stability.
  • FIG. 58 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 according to this modified example.
  • FIG. 59 is a schematic diagram illustrating the data structure of the process network model DM3 that the process network model input unit 351 of the process execution system 300 according to this modified example receives input.
  • FIG. 60 is a schematic diagram illustrating the data structure of the process master node DM30 of the process network model DM3 that the process network model input unit 351 of the process execution system 300 according to this modified example receives input.
  • FIG. 61 is a schematic diagram illustrating the data structure of the process node D30 of the process network D3 generated by the process network generator 350 of the process execution system 300 according to this modified example.
  • a process execution system 300 according to this modification will be described below.
  • the process definition information D35 of the process execution system 300 includes an activity flag D356 representing whether the process node D30 having the process definition information D35 is active or inactive. include.
  • the process creation information DM35 of the process execution system 300 includes a liveness flag master DM356 used to create a liveness flag D356.
  • the activity flag master DM356 is a transcription process definition configured such that the activity flag D356 is determined according to the evaluation result R of the transcription factor model M defined by the transcription factor model definition information MDinfo. Contains information PDinfo.
  • the process network state management unit 360 treats the process node D30 as not existing. Specifically, when the process node D30 is extracted (for example, step S1321 in FIG. 13), the process network state management unit 360 sets the activation flag D356 included in the process definition information D35 of the process node D30 to inactive. , the process node D30 is not included in the extraction result. As a result, when the activity flag D356 included in the process definition information D35 of the process node D30 expresses that it is inactive, the process node D30 does not enter the executable state, and substantially treated as non-existent. Therefore, when the process network D3 is generated, the structure of the process network D3 changes according to the environment E with which the process execution system 300 can communicate.
  • the process network generation unit 350 transmits a transfer process execution request to the transfer request reception unit 381, thereby generating the data included in the process network model DM3 whose input is received by the process network model input unit 351.
  • the process generation information DM35 possessed by one of the process master nodes DM30 among the plurality of process master nodes DM30 is transferred to the process node D30 corresponding to the one process master node DM30 as the process definition information D35.
  • the process definition information D35 of the process execution system 300 according to this modified example includes an active flag D356 representing whether the process having the process definition information D35 is active or inactive.
  • Process creation information DM35 of process execution system 300 according to this modified example includes liveness flag master DM356 used to create liveness flag D356.
  • the activity flag master DM356 includes transcription process definition information TDinfo configured so that the activity flag D356 is determined according to the evaluation result R of the transcription factor model M. If the activity flag D356 included in the process definition information D35 of the process node D30 indicates that the process node D30 is inactive, the process network state management unit 360 treats the process node D30 as not existing.
  • the structure of the process network D3 can be changed according to the environment E in which the process execution system 300 can communicate. Therefore, according to the process execution system 300 according to this modified example, it is possible to provide a process execution system 300 that is more adaptable to a business environment in which the rate of change is fast by achieving both flexibility and stability.
  • the process network generation unit 350 of the process execution system 300 transmits a transfer process execution request to the transfer request reception unit 381 when generating the process network D3, so that the process network model input unit process generation information DM35 possessed by one process master node DM30 out of the plurality of process master nodes DM30 included in the process network model DM3 whose input is received by 351 to the process node D30 corresponding to the one process master node DM30; It is transferred as process definition information D35.
  • the structure of the process network D3 can be changed according to the environment E in which the process execution system 300 can communicate. Therefore, according to the process execution system 300 according to this modified example, it is possible to provide a process execution system 300 that is more adaptable to a business environment in which the rate of change is fast by achieving both flexibility and stability.
  • the process network model (Executable Process Network), which the process network model input unit of the process execution system according to the first, second, and third embodiments described above receives inputs, is generally used to express business processes. It has various salient features different from BPMN (Business Process Modeling Notation).
  • conditional branching process node XOR division
  • the process node that has not been changed to the completed state is executed according to the execution result of the action defined in the conditional branching process node.
  • the process state change request receiving section may not be provided.
  • the process execution system according to the embodiment of the present invention which focuses on a network that expresses the interaction between processes and uses an Executable Process Network, can be used by other It can facilitate interconnection with any system. Therefore, the process execution system according to the embodiment of the present invention can easily increase adaptability to a rapidly changing business environment by achieving both flexibility and stability.
  • Embodiments 4 and 5 which will be described below, have a configuration that exerts an advantageous effect due to the notable feature that it is not necessary to place a gate that expresses the control flow between processes in the process network model. .
  • the process execution system 400 according to the fourth embodiment is summarized in that the process network generation unit 450 has a process network model output unit 452 that serializes and outputs the process network model DM4, and the process network model input unit 451 is It differs from the process execution system 200 according to the second embodiment in that it accepts an input of a serialized process network model DM4. According to the process execution system 400 according to the fourth embodiment, it becomes easy to use the process network model DM4 used in one process execution system 400 in another process execution system 400, improving interoperability. do. Note that the process execution system 400 according to the fourth embodiment can be configured in the same manner as the process execution system 200 according to the second embodiment, except for the configuration specifically described below.
  • FIG. 62 is a functional block diagram of the process network generator 450 of the process execution system 400 according to this embodiment.
  • FIG. 63 is a schematic diagram illustrating data serialized from the process network model DM4 by the process network model output unit 452 of the process execution system 400 according to this embodiment.
  • a process execution system 400 according to the fourth embodiment will be described below.
  • the process network generation unit 450 according to this embodiment further has a process network model output unit 452 that outputs the process network model DM4.
  • the process network model output unit 452 outputs data MDout obtained by serializing the process network model DM4.
  • the process network model input unit 451 accepts input of data obtained by serializing the process network model DM4.
  • the process network generation unit 450 generates the process network D4 using the process network model DM4 obtained by deserializing data obtained by serializing the process network model DM4 input by the process network model input unit 451.
  • the process network model output unit 452 serializes based on the rule that the process network model DM4 and the serialized data MDout of the process network model DM4 correspond one-to-one.
  • process network model DM4 and the serialized data MDout of the process network model DM4 correspond one-to-one means that if the process network model DM4 is the same, the serialized data MDout will be the same, and if the process network model DM4 is different, the serialized data MDout will be the same. It means that the data MDout are different. Conversely, if the serialized data MDout is the same, the process network model DM4 will be the same, and if the serialized data MDout is different, the process network model DM4 will be different.
  • the rule for one-to-one correspondence between the process network model DM4 and the serialized data MDout of the process network model DM4 is, 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. can be done. Further, in the case of the hierarchical process network model DM4, the rule that the process network model DM4 and the data MDout output by serializing the process network model DM4 correspond one-to-one is depth-prioritized and the same. In the hierarchy, a rule of arranging in ascending or descending order based on the value of the process number master DM451 can be adopted.
  • the data format used when the process network model output unit 452 outputs the serialized data MDout of the process network model DM4 is the process network model DM4 to be serialized by deserializing the serialized data MDout. It is not limited as long as it can be restored.
  • the data format used when the process network model output unit 452 outputs data MDout obtained by serializing the process network model DM4 can be, for example, JSON, XML (Extensible Markup Language), YAML, or CSV.
  • the data format used when the process network model output unit 452 outputs the serialized data MDout of the process network model DM4 is a data format in which pairs of keys and values are arranged. More preferably, the data format used when the process network model output unit 452 serializes and outputs the process network model DM4 is JSON (Javascript Object Notation).
  • the value is a character string type, a numeric type, It can be constructed so that data can be expressed with various types such as logical type, date type, and list type. Also, the value can be configured to be a list whose elements are data in which pairs of keys and values are arranged.
  • FIG. 63 is a schematic diagram illustrating data MDout serialized from the process network model DM4 by the process network model output unit 452.
  • FIG. FIG. 63 illustrates a case where the data format used when the process network model output unit 452 outputs the serialized data MDout of the process network model DM4 is JSON.
  • FIG. 63 illustrates a case where the process master node has the data structure illustrated in FIG. 7 according to the first embodiment. Even when the process master node has the data structure illustrated in FIG. 24 according to the second embodiment, it can be serialized in the same way.
  • the data of one process master node DM40 has "process generation information" and "child process master node group” as keys.
  • the value corresponding to the key “process generation information” is data in which the process generation information included in one process master node DM40 is arranged in pairs of key and value.
  • the value corresponding to the key "child process master node group” is a list in which the data of each process master node DM40 included in the process master node group of direct children of one process master node DM40 is arranged. If one process master node DM40 does not have a direct child process master node DM40, the list stored in the value corresponding to the key "child process master node group" is empty.
  • the process network generation unit 450 of the process execution system 400 has a process network model output unit 452 that outputs the process network model DM4.
  • the process network model output unit 452 serializes and outputs the process network model DM4.
  • process execution system 400 makes it easier to use the process network model DM4 used in one process execution system 400 in another process execution system 400, improving interoperability. Therefore, according to the process execution system 400 according to the present embodiment, it is possible to provide a process execution system 400 that is highly adaptable to a business environment in which the speed of change is rapid by achieving both flexibility and stability.
  • the process network model input unit 451 of the process execution system 400 accepts input of data obtained by serializing the process network model DM4.
  • the process network generation unit 450 generates the process network D4 using the process network model DM4 obtained by deserializing data obtained by serializing the process network model DM4 input by the process network model input unit 451.
  • the process network model DM4 used in one process execution system 400 can be directly input and used in another process execution system 400, further improving interoperability. Therefore, according to the process execution system 400 according to the present embodiment, it is possible to provide a process execution system 400 that is more adaptable to a business environment in which the rate of change is rapid by achieving both plasticity and stability.
  • the process network model DM4 is preferably version-controlled because the process network model DM4 is also changed as the business process is changed. At that time, it is very important to ensure the quality of work using the process execution system 400 to be able to easily check the difference between the process network model DM4 before and after the version upgrade. .
  • the process network model output unit 452 of the process execution system 400 has a rule that the process network model DM4 and the serialized data of the process network model DM4 correspond one-to-one. serialize based on
  • process execution system 400 it is possible to provide a process execution system 400 that is more adaptable to a business environment in which the rate of change is rapid by achieving both plasticity and stability.
  • the data format used when the process network model output unit 452 outputs data MDout obtained by serializing the process network model DM4 is a data format in which pairs of keys and values are arranged. .
  • the process execution system 400 it is possible to provide a process execution system 400 that is more adaptable to a business environment in which the rate of change is rapid by achieving both plasticity and stability.
  • the data format used when the process network model output unit 452 outputs data MDout obtained by serializing the process network model DM4 is JSON.
  • JSON is a data format that is currently widely used when exchanging data between different systems, especially between different systems connected via networks such as the Internet.
  • the data format used when the process network model output unit 452 outputs the serialized data of the process network model DM4 is JSON, so that the process network model DM4 used in one process execution system 400 can be transferred to another process. Easier to use in execution system 400 and better interoperability. Therefore, according to the process execution system 400 according to the present embodiment, it is possible to provide a process execution system 400 that is more adaptable to a business environment in which the rate of change is rapid by achieving both plasticity and stability.
  • the process execution system 500 according to the fifth embodiment is similar to the second embodiment in that 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. It differs from the process execution system 200 according to the embodiment. According to the process execution system 500 according to the fifth embodiment, the process network model DM5 and the process network D5 can be visualized. become easier. Note that the process execution system 500 according to the fifth embodiment can be configured in the same manner as the process execution system 200 according to the second embodiment, except for the configuration specifically described below.
  • FIG. 64 is a functional block diagram of the control unit 510 of the process execution system 500 according to this embodiment.
  • FIG. 65 is a functional block diagram of the process network model display section 590 of the process execution system 500 according to this embodiment.
  • FIG. 66 is a functional block diagram of the process network display section 595 of the process execution system 500 according to this embodiment.
  • FIG. 67 is a diagram showing how the process network model display unit 590 of the process execution system 500 according to this embodiment displays the process network model DM5.
  • FIG. 68 is a diagram showing how the process network display unit 595 of the process execution system 500 according to this embodiment displays the process network D5.
  • a process execution system 500 according to the fifth embodiment will be described below.
  • the control unit 510 of the process execution system 500 includes a process network model display unit 590 displaying the process network model DM5, a process network display unit 595 displaying the process network D5, further has
  • a process network model display unit 590 includes a process network model display request reception unit 591 that receives a display request for the process network model DM5, and a display request source for displaying the process network model DM5. and a process network model display data generator 592 for generating process network model display data.
  • the process network model display unit 590 When the process network model display request reception unit 591 receives the display request, the process network model display unit 590 generates process network model display data in the process network model display data generation unit 592, and sends the process network model display data to the request source of the display request. Return network model display data.
  • the method by which the process network model display request reception unit 591 receives a display request is not particularly limited.
  • a request to display the process network model DM5 can be received through communication using HTTP.
  • the process network model display data generation unit 592 generates process network model three-dimensional display data for three-dimensionally displaying the process network model DM5 at the source of the display request for the process network model DM5.
  • the process network model three-dimensional display data expresses the process network model DM5 by a three-dimensional network structure in which the process master nodes DM50 included in the process network model DM5 are nodes and the relationships between the process master nodes DM50 are edges.
  • the process network model three-dimensional display data is a three-dimensional network having the process master nodes DM50 included in the process network model DM5 as nodes and the parent-child relationships between the process master nodes DM50 as edges.
  • the structure expresses the process network model DM5.
  • the method of generating the process network model 3D display data is not particularly limited.
  • the process network model three-dimensional display data can be generated by assigning three-dimensional coordinates to the process master node DM50 using a library such as NetworkX that can be used from the Python programming language.
  • the display request for the process network model DM5 includes process network model display control information for controlling the display form of the process network model DM5 at the source of the request to display the process network model DM5.
  • 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 at the requester of the display request for the process network model DM5 changes according to the process network model display control information. do.
  • the change in the display form of the process network model DM5 according to the process network model display control information is, for example, at least one or more display forms selected from the group consisting of rotation, enlargement, reduction and translation of the process network model DM5.
  • a change in the display form of the process network model DM5 according to the process network model display control information may be display or non-display of information regarding the process master node DM50 included in the process network model DM5.
  • the method by which the process network model display request reception unit 591 receives a display request for the process network model DM5 including the process network model display control information is not particularly limited.
  • the process network model display request reception unit 591 can receive a display request for the process network model DM5 including the process network model display control information.
  • the method by which the process network model display unit 590 returns the process network model display data to the requester of the process network model DM5 display request is not particularly limited.
  • it can be configured to return the process network model display data by communication using HTTP.
  • the process network model display unit 590 may display information about the process master nodes DM50 included in the process network model DM5 for each process master node DM50.
  • the process network model display section 590 may express information about the process master node DM50 included in the process network model DM5 by the color or shape of the node. For example, the process network model display unit 590 may change the color and shape of the node according to the values of the asynchronous flag master DM554 and automatic activation flag master DM555 included in the process generation information of the process master node DM50.
  • process network display unit 595 includes process network display request reception unit 596 for receiving a display request for process network D5, and process network display data for displaying process network D5 at the source of the display request. and a process network display data generation unit 597 that generates the
  • the process network display unit 595 When the process network display request reception unit 596 receives the display request for the process network D5, the process network display unit 595 generates process network display data in the process network display data generation unit 597 and sends the process network display data to the request source of the display request. Return network display data.
  • the method by which the process network display request reception unit 596 receives a display request for the process network D5 is not particularly limited, and can be configured in the same manner as the process network model display request reception unit 591.
  • the process network display data generation unit 597 generates process network three-dimensional display data for three-dimensionally displaying the process network D5 at the source of the display request for the process network D5.
  • the process network three-dimensional display data is data representing the process network D5 by a three-dimensional network structure in which the process nodes D50 included in the process network D5 are nodes and the relationships between the process nodes D50 are edges.
  • the process network three-dimensional display data is the process network D5 by a three-dimensional network structure with the process nodes D50 included in the process network D5 as nodes and the parent-child relationships between the process nodes D50 as edges. is data that expresses
  • the method of generating the process network 3D display data is not particularly limited, and can be configured in the same manner as the method of generating the process network model 3D display data.
  • the display request for the process network D5 includes process network display control information for controlling the display form of the process network D5 at the source of the display request for the process network D5.
  • the process network display data generation unit 597 generates process network display data so that the display form of the process network D5 at the source of the display request for the process network D5 changes according to the process network display control information.
  • the change in the display form of the process network D5 according to the process network display control information is, for example, a combination of at least one change in the display form selected from the group consisting of rotation, enlargement, reduction and translation of the process network D5. is.
  • a change in the display form of the process network D5 according to the process network display control information may be display or non-display of information on the process node D50 included in the process network D5.
  • the method by which the process network display request reception unit 596 receives a display request for the process network D5 including the process network display control information is not particularly limited, and can be configured in the same manner as the process network model display request reception unit 591.
  • the method by which the process network display unit 595 returns the process network display data to the requester of the process network D5 display request is not particularly limited, and can be configured in the same manner as the process network model display unit 590.
  • the process network display unit 595 may display information about the process nodes D50 included in the process network D5 for each process node D50.
  • the process network display section 595 may express information about the process node D50 included in the process network D5 by the color or shape of the node. For example, the process network display section 595 may change the color and shape of the node according to the process state D53 of the process node D50.
  • FIG. 67 shows the process network represented by the process network model three-dimensional display data returned from the process network model display unit 590 when the process network model display unit 590 is requested to display the process network model DM5 by HTTP communication from the browser.
  • FIG. 10 is a diagram showing a state in which the model DM5 is three-dimensionally displayed on the browser;
  • the process network model DM5 displayed on the browser can be rotated, enlarged, reduced, and translated by operating the mouse on the browser.
  • the process generation information of the process master node DM50 can be displayed in a popup.
  • FIG. 68 shows that the process network display unit 595 is requested to display the process network D5 by HTTP communication from the browser, and the process network D5 represented by the process network three-dimensional display data returned from the process network display unit 595 is sent to the browser. It is a figure which shows a mode that it displayed three-dimensionally.
  • the process network D5 displayed on the browser can be rotated, enlarged, reduced, and translated by operating the mouse on the browser. Further, when the mouse is placed on the process node D50 included in the process network D5 displayed on the browser, the process definition information of the process node D50 can be displayed in a popup.
  • the process execution system 500 further has a process network model display section 590 that displays the process network model DM5.
  • process execution system 500 it is possible to provide a process execution system 500 that is even more adaptable to a business environment in which the rate of change is fast by achieving both flexibility and stability.
  • the process network model display unit 590 of the process execution system 500 includes a process network model display request reception unit 591 that receives a display request for the process network model DM5, and a process network model DM5 at the request source of the display request. and a process network model display data generator 592 that generates process network model display data for displaying.
  • the process network model display data generation unit 592 generates process network model three-dimensional display data for three-dimensionally displaying the process network model DM5 at the source of the display request for the process network model DM5.
  • process execution system 500 it is possible to provide a process execution system 500 that is even more adaptable to a business environment in which the rate of change is fast by achieving both flexibility and stability.
  • process network model display unit 590 of the process execution system 500 displays information about the process master nodes DM50 included in the process network model DM5 for each process master node DM50.
  • the process execution system 500 it is possible to provide the process execution system 300 with a higher degree of adaptability to a business environment in which the rate of change is rapid by achieving both plasticity and stability.
  • Visualization of the process network D5 is extremely important in ensuring the quality of work using the process execution system 500.
  • the visualization of the process network D5 is very important in ensuring the quality of work using the process execution system 500. play an important role.
  • the process execution system 500 further has a process network display section 595 that displays the process network D5.
  • process execution system 500 it is possible to provide a process execution system 500 that is even more adaptable to a business environment in which the rate of change is fast by achieving both flexibility and stability.
  • the process network display unit 595 of the process execution system 500 includes a process network display request reception unit 596 that receives a display request for the process network D5, and a process network display request reception unit 596 that receives the display request for the process network D5. and a process network display data generation unit 597 for generating process network display data.
  • the process network display data generation unit 597 generates process network three-dimensional display data for three-dimensionally displaying the process network D5 at the source of the display request for the process network D5.
  • process execution system 500 it is possible to provide a process execution system 500 that is even more adaptable to a business environment in which the rate of change is fast by achieving both flexibility and stability.
  • the process network display unit 595 of the process execution system 500 displays information about the process nodes D50 included in the process network D5 for each process node D50.
  • the process execution system 500 it is possible to provide the process execution system 300 with a higher degree of adaptability to a business environment in which the rate of change is rapid by achieving both plasticity and stability.
  • the process execution system 200 operates on an on-premises server.
  • the control unit 210 of the process execution system 200 according to this embodiment is composed of a CPU (Central Processing Unit) of the on-premises server and memories such as RAM (Random Access Memory) and ROM (Read Only Memory).
  • the storage unit 220 of the process execution system 200 according to this embodiment is configured by an SSD (Solid State Drive) or the like of the on-premises server.
  • the communication unit 230 of the process execution system 200 according to this embodiment is configured by an interface circuit (such as a LAN card) that the on-premises server has.
  • the action execution system 50 used in this embodiment is configured by Power Automate and Power Automate for desktop of Microsoft Corporation's cloud service MICROSOFT 365 (registered trademark).
  • the control unit 210 of the process execution system 200 functions as a process network generation unit 250, a process network state management unit 260, and a process network execution unit 270.
  • the process network generation unit 250, the process network state management unit 260, and the process network execution unit 270 are implemented as functions of a web application constructed using Django, which is a framework for creating web applications.
  • 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 D ⁇ 1 and the process network D1 are stored in the storage unit 220 functioning as a database server.
  • the communication unit 230 of the process execution system 200 functions as a gateway server that executes communication with cloud services. This allows communication between on-premises servers and cloud services.
  • an on-premises data gateway provided by Microsoft Corporation is used to make the communication unit 130 function as a gateway server.
  • Power Automate functioning as the action execution system 50 can access the process execution system 200 via API.
  • the process network model input unit 151 of the process network generation unit 250 has a GUI (Graphical User Interface) that allows registration and operation of the process network model DM2 by accessing from a Web browser.
  • GUI Graphic User Interface
  • the process network state management unit 260 is configured as part of the library that configures the web application.
  • the library that constitutes the process network state management unit 260 is executed from a task that is periodically activated by the task scheduler of the operating system Windows (registered trademark) of Microsoft Corporation. Thereby, the process network state management unit 260 can periodically execute the state transition processing of the process node D20 included in the process network D2.
  • the process network state management unit 260 also has an API that receives a state change request to change the process state. By using the API, the action execution system 50 can change the state of a specific process node D20.
  • the process network execution unit 270 is configured as part of the library that configures the web application.
  • the library that constitutes the process network execution unit 270 can be executed from a task that is periodically activated by the task scheduler of the operating system Windows (registered trademark) of Microsoft Corporation. As a result, the process network execution unit 270 can periodically execute the execution processing of the executable process node D20.
  • the process network execution unit 270 changes the process state D23 of the process node D20 to the running state when starting the execution processing of the executable process node D20. Further, the process network execution unit 270 changes the process state D23 of the process node D20 to the waiting state when the execution processing of the process node D20 whose asynchronous flag D254 is True is completed. In addition, the process network state management unit 260 changes the process state D23 of the process node D20 to the running state or waiting state in steps S1326 (see FIG. 13) and step S13245 (see FIG. 14) to put the process node D20 in the executable state. state, the process state D23 of the process node D20 is not changed.
  • the process execution system 200 is used to process business processes related to the work of paying patent annuities to the Patent Office.
  • the context data of the cases for which patent annuities are to be paid is stored in the storage unit 220 that functions as a database server.
  • the context data of the case for which the patent annuity is to be paid includes information such as the application number, the applicant, the number of claims, the percentage of each applicant's share, and whether or not the patent fee is reduced.
  • the context data of the case for which the patent annuity is to be paid can be acquired from the storage unit 220 functioning as a database server using the case number uniquely set for each case as the primary key.
  • the storage unit 220 functioning as a database server can be accessed from Power Automate and Power Automate for desktop functioning as the action execution system 50 via the communication unit 230 functioning as a gateway server.
  • the context data of a specific project can be obtained from the storage unit 220 that functions as a database server via the communication unit 230 using the project number as a key. can.
  • the context data such as the item number is embedded in the API data of the action item when the process network generation unit 250 generates the process network D1 using the context data from the process network model D ⁇ 1.
  • API data is embedded using the same mechanism as the Django Template Language used in the Django template engine. That is, the embedding of the API data is performed by replacing the tag embedded in the API data master of the action item master DM1531 of the process network model DM1 based on the context data.
  • FIGS. 69 to 73 are schematic diagrams showing the process network model and the data structure of a part of the process network used for explaining the processing executed in the process execution system according to this embodiment.
  • the process network generator 250 generates a process network D2 including process nodes in one-to-one correspondence with the process master nodes included in the process network model D ⁇ 2.
  • the process network model D ⁇ 2 used in this embodiment has a root process master node ⁇ L01. Root process master node ⁇ L01 is used to create root process node L01.
  • the root process master node ⁇ L01 has process master nodes ⁇ L11, ⁇ L12, ⁇ L13 and ⁇ L14.
  • the process master node ⁇ L11 is used to generate the inquiry process node L11.
  • Process master node ⁇ L12 is used to create instruction receiving process node L12.
  • Process master node ⁇ L13 is used to create office procedure process node L13.
  • Process master node ⁇ L14 is used to create billing process node L14.
  • process master node ⁇ L11 has process master nodes ⁇ L21, ⁇ L22 and ⁇ L23.
  • Process master node ⁇ L21 is used to generate inquiry mail generation process node L21.
  • Process master node ⁇ L22 is used to create inquiry mail sending process node L22.
  • the process master node ⁇ L13 is used to generate the document generation process start process node L13.
  • process master node ⁇ L12 has process master nodes ⁇ L24 and ⁇ L25.
  • a process master node ⁇ L24 is used to generate an indication confirmation process node L24.
  • the process master node ⁇ L25 is used to create the document sending process start process node L25.
  • process master node ⁇ L13 has process master nodes ⁇ L26 and ⁇ L27.
  • a process master node ⁇ L26 is used to create an office document generation process node L26.
  • the process master node ⁇ L27 is used to create the office document submission process node L27.
  • process master node ⁇ L14 has process master nodes ⁇ L28 and ⁇ L29.
  • Process master node ⁇ L28 is used to create bill generation process node L28.
  • Process master node ⁇ L29 is used to create billing process node L29.
  • inquiry process node L11 has inquiry mail generation process node L21, inquiry mail transmission process node L22 and document generation process start process node L23 as children.
  • a process node L21 expresses an inquiry mail generation process.
  • an email is generated to inquire of the applicant as to whether or not the applicant is willing to pay the patent annuity.
  • Inquiry emails are generated by executing the inquiry email generation flow registered in Power Automate. Execution of the flow for generating the inquiry mail is performed by sending an execution request for the flow to the API of Power Automate.
  • the subject and body of the inquiry mail are generated, the destination is set, and attachments are attached as necessary.
  • the action information D253 of the process node L21 includes an API address for executing the flow for generating an inquiry email registered in Power Automate. Also, the action information D253 of the process node L21 includes context data such as a case number as API data.
  • the process network execution unit 270 transmits a flow execution request for generating an inquiry mail to the API address contained in the action information D253 of the process node L21, and also transmits the API data contained in the action information D253.
  • the flow for generating an inquiry e-mail uses the context data contained in the transmitted API data to acquire necessary information from the storage unit 220 functioning as a database server. Dynamically change the contents of the file.
  • a process node L22 expresses an inquiry mail transmission process.
  • a request for transmission of an inquiry mail is made to the person in charge of operations.
  • a request to send an inquiry e-mail is made by executing the flow for requesting to send an inquiry e-mail registered in Power Automate.
  • Execution of the flow for requesting the transmission of the inquiry mail is performed by sending a request for execution of the flow to the API of Power Automate.
  • an inquiry mail transmission task is registered in Planner, which is a task management service of MICROSOFT 365 (registered trademark), and a person in charge is assigned to the registered task. When a task is assigned to a business person, the business person is notified.
  • the action information D253 of the process node L22 includes an API address for executing the flow for requesting to send an inquiry email registered in Power Automate. Also, the action information D253 of the process node L22 includes context data such as a case number as API data.
  • the process network execution unit 270 transmits a flow execution request for requesting to send an inquiry mail to the API address contained in the action information D253 of the process node L22, and also transmits the API data contained in the action information D253. .
  • the flow for requesting to send an inquiry email obtains necessary information from the storage unit 220 functioning as a database server using the context data included in the sent API data, and sets the content of the message to be set in the inquiry email sending task. Alternatively, dynamically change the person in charge of assigning the task.
  • the person in charge When the inquiry email sending task is assigned to the person in charge, the person in charge is notified. The person in charge who receives the notification sends an inquiry e-mail generated by the inquiry e-mail generation flow described above based on the contents set in the inquiry e-mail transmission task. After completing the transmission of the inquiry mail, the person in charge completes the inquiry mail transmission task registered in the Planner.
  • the inquiry mail sending task is completed, the flow for inquiry mail sending process node completion processing registered in Power Automate is activated with the completion of the task as a trigger.
  • a process status change request is sent to the API of the process network status management unit 260 to change the process status D23 of the process node L22 to the completed status.
  • the process node L23 expresses the process that activates the document generation process.
  • the process state D23 of the process node L26 representing the office document generation process is set to the executable state
  • the process state D23 of the process node L28 representing the invoice generation process is set to the executable state.
  • Activation of the document generation process is performed by executing the document generation process activation flow registered in Power Automate. Execution of the flow for starting the document generation process is performed by sending an execution request for the flow to the Power Automate API.
  • a process state change request is sent to the API of the process network state management unit 260 to change the process state D23 of the process node L26 to an executable state, and the process state D23 of the process node L28 is executed.
  • the action information D253 of the process node L23 includes an API address for executing the flow for starting the document generation process registered in Power Automate. Also, the action information D253 of the process node L23 includes context data such as a case number as API data.
  • the process network execution unit 270 sends a flow execution request for starting the document generation process to the API address included in the action information D253 of the process node L23, and also sends the API data included in the action information D253. .
  • the flow for starting the document generation process is necessary to specify the process nodes L26 and L28 to be made executable from the storage unit 220 functioning as a database server using the context data included in the transmitted API data. information (process node identifier D21, etc.).
  • instruction reception process node L12 has instruction confirmation process node L24 and document transmission process activation process node L25 as children.
  • a process node L24 expresses an instruction confirmation process.
  • the person in charge is requested to confirm the instruction mail.
  • Confirmation of the instruction email is requested by executing the instruction email confirmation request flow registered in Power Automate.
  • Execution of the flow for requesting confirmation of the instruction email is performed by sending a request for execution of the flow to the Power Automate API.
  • the instruction email confirmation request flow uses the approval request service of MICROSOFT 365 (registered trademark) to send an approval request for the instruction email confirmation request to the person in charge of operations.
  • the action information D253 of the process node L24 includes an API address for executing the instruction email confirmation request flow registered in Power Automate. Also, the action information D253 of the process node L24 includes context data such as a case number as API data.
  • the process network execution unit 270 transmits a flow execution request for requesting confirmation of the instruction mail to the API address contained in the action information D253 of the process node L24, and also transmits the API data contained in the action information D253. .
  • the flow for requesting to send an instruction email obtains necessary information from the storage unit 220 functioning as a database server by using the context data included in the transmitted API data, and sends it to the approval request for requesting confirmation of the instruction email. Dynamically change the content of the message to be set and the person in charge of sending the approval request.
  • the process node L24 which expresses the instruction confirmation process, becomes executable by receiving the instruction mail from the applicant in response to the inquiry mail sent by the process node L22. Specifically, when an instruction email is received from the applicant in response to the inquiry email, the flow for instruction confirmation process activation processing registered in Power Automate is activated with the receipt of the email as a trigger. In the instruction confirmation process start processing flow, a process state change request is sent to the API of the process network state management unit 260 to change the process state D23 of the process node L24 to an executable state.
  • an approval request for the instruction email confirmation request is sent to the person in charge of the operation.
  • the person in charge of the operation who receives the approval request for the confirmation request of the instruction email based on the contents set in the approval request, sends the instruction email from the applicant to the inquiry email generated by the flow for generating the inquiry email described above. confirm.
  • the person in charge completes the approval request for the instruction mail confirmation request.
  • the flow for the instruction confirmation process node completion processing registered in Power Automate is activated with the completion of the approval request as a trigger.
  • the flow for instruction confirmation process node completion processing sends a process state change request to the API of the process network state management unit 160 to change the process state D23 of the process node L24 to the completed state.
  • the process node L25 expresses the process that activates the document transmission process.
  • the process state D23 of the process node L27 representing the document submission process is made ready, and the process state D23 of the process node L29 representing the invoice sending process is made ready. do.
  • the document submission process is activated by executing the document submission process activation flow registered in Power Automate. Execution of the flow for starting the document submission process is performed by sending an execution request for the flow to the Power Automate API.
  • the flow for starting the document submission process sends a process state change request to change the process state D23 of the process node L27 to the executable state to the API of the process network state management unit 260, and executes the process state D23 of the process node L29. Send a process state change request to change to the enabled state.
  • the action information D253 of the process node L25 includes an API address for executing the flow for starting the document submission process registered in Power Automate. Also, the action information D253 of the process node L25 includes context data such as a case number as API data.
  • the process network execution unit 270 transmits a flow execution request for requesting the transmission of an inquiry mail to the API address contained in the action information D253 of the process node L25, and also transmits the API data contained in the action information D253. .
  • the flow for starting the document submission process is necessary to specify the process nodes L27 and L29 to be made executable from the storage unit 220 functioning as a database server using the context data included in the transmitted API data. information (process node identifier D21, etc.).
  • an office procedure process node L13 has an office document generation process node L26 and an office document submission process node L27 as children.
  • the process node L26 expresses the office document generation process.
  • an annuity payment slip to be submitted to the patent office is generated.
  • Annuity payment slips are generated by executing the flow for generating annuity payment slips registered in Power Automate. Execution of the flow for generating the pension payment slip is performed by sending an execution request for the flow to the Power Automate API.
  • the flow for creating annuity payment slips generates an annuity payment slip by outputting information in each column to an HTML file based on the format of the annuity payment slip.
  • the action information D253 of the process node L26 includes an API address for executing the flow for generating an annuity payment slip registered in Power Automate. Also, the action information D253 of the process node L26 includes context data such as a case number as API data.
  • the process network execution unit 270 sends a request to execute the flow for generating the pension payment slip to the API address included in the action information D253 of the process node L26, and also sends the API data included in the action information D253. .
  • the flow for generation of annuity payment slip uses the context data included in the transmitted API data to obtain necessary information from the storage unit 220 functioning as a database server, and obtains the necessary information from each column of the annuity payment slip (application number, (Patent applicant, number of claims, year of payment, patent fee, etc.) are dynamically changed.
  • the process node L27 expresses the process of submitting documents to the office.
  • a request for submission of documents to the office is made to the person in charge of operations.
  • the request for submission of government documents is performed by executing the flow for requesting submission of government documents registered in Power Automate.
  • Execution of the flow for requesting submission of the relevant government documents is performed by sending a request to execute the flow to the API of Power Automate.
  • the flow for requesting submission of government documents registers a task of submitting government documents in Planner, which is a task management service of MICROSOFT 365 (registered trademark), and assigns a person in charge to the registered task. When a task is assigned to a business person, the business person is notified.
  • the action information D253 of the process node L27 includes an API address for executing the flow for requesting submission of government documents registered in Power Automate. Also, the action information D253 of the process node L27 includes context data such as the case number as API data.
  • the process network execution unit 270 transmits a flow execution request for requesting submission of government documents to the API address contained in the action information D253 of the process node L27, and also transmits the API data contained in the action information D253. .
  • the flow for requesting submission of documents to the office acquires necessary information from the storage unit 220 functioning as a database server using the context data included in the transmitted API data, and sets the contents of the message to be set in the task of submitting documents to the office. Alternatively, dynamically change the person in charge of the task to be assigned.
  • the person in charge of the task When the office document submission task is assigned to the person in charge of the task, the person in charge of the task will be notified. The person in charge who has received the notification submits to the Patent Office the annuity payment slip generated by the flow for generating the above-described office documents based on the contents set in the office document submission task.
  • the business person completes the submission of the office document
  • the business person completes the office document submission task.
  • the flow for office document submission process node completion processing registered in Power Automate is activated with the completion of the task as a trigger.
  • the flow for the completion processing of the process node for submission of official documents sends a process status change request to the API of the process network status management unit 260 to change the process status D23 of the process node L27 to the completed status.
  • billing process node L14 has bill generating process node L28 and bill sending process node L29 as children.
  • the process node L28 expresses the invoice generation process.
  • a bill is generated for billing the applicant for compensation for the annuity payment service.
  • Invoices are generated by executing the invoice generation flow registered in Power Automate. Execution of the bill generation flow is performed by sending a flow execution request to the Power Automate API.
  • the invoice generation flow activates the Power Automate for desktop invoice details input flow. Power Automate for desktop runs on the client PC. Power Automate for desktop's flow for inputting billing details enters billing details into the on-premises accounting system.
  • the action information D253 of the process node L28 includes an API address for executing the invoice generation flow registered in Power Automate. Also, the action information D253 of the process node L28 includes context data such as the case number as API data.
  • the process network execution unit 270 transmits a flow execution request for invoice generation to the API address contained in the action information D253 of the process node L28, and also transmits the API data contained in the action information D253.
  • the bill generation flow uses the context data included in the transmitted API data to obtain necessary information from the storage unit 220 functioning as a database server, and dynamically changes billing details.
  • the process node L29 expresses the billing process.
  • a billing request is sent to the person in charge of the business.
  • Billing requests are made by executing the billing request flow registered in Power Automate. Execution of the billing request flow is performed by sending a flow execution request to the Power Automate API.
  • a billing task is registered in Planner, which is a task management service of MICROSOFT 365 (registered trademark), and a person in charge is assigned to the registered task. When a task is assigned to a business person, the business person is notified.
  • the action information D253 of the process node L29 includes an API address for executing the invoice sending request flow registered in Power Automate. Also, the action information D253 of the process node L29 includes context data such as a case number as API data.
  • the process network execution unit 270 transmits a flow execution request for requesting billing to the API address contained in the action information D253 of the process node L29, and also transmits the API data contained in the action information D253. .
  • the billing request flow uses the context data included in the transmitted API data to obtain the necessary information from the storage unit 220 functioning as a database server, and the contents of the message to be set in the billing task. Alternatively, dynamically change the person in charge of assigning the task.
  • the person in charge of the business is notified.
  • the person in charge of business who receives the notification sends the invoice generated by the invoice generation flow described above to the applicant based on the contents set in the invoice sending task.
  • the business person completes sending the bill
  • the business person completes the billing task.
  • the flow for billing process node completion processing registered in Power Automate is activated with the completion of the task as a trigger.
  • the flow for billing process node completion processing sends a process state change request to the API of the process network state management unit 260 to change the process state D23 of the process node L29 to the completed state.
  • Asynchronous flag master (asynchronous flag) values of the process master nodes ⁇ L22, ⁇ L24, ⁇ L27 and ⁇ L29 (process nodes L22, L24, L27 and L29) marked with asterisks among the process master nodes (process nodes) described above is True, and the value of the asynchronous flag master (asynchronous flag) of the process master node (process node) not marked with an asterisk is False.
  • the value of the automatic start flag master DM255 (automatic start flag D255) of the process master nodes ⁇ L24, ⁇ L27 and ⁇ L29 (process nodes L24, L27 and L29) marked with a square mark is False
  • the value of the automatic startup flag master DM255 (automatic startup flag D255) of the process master node (process node) not marked with an asterisk is True.
  • FIG. 74 to 78 are sequence diagrams showing part of the processing executed in the process execution system according to the example.
  • the process network generation unit 250 receives the input of the process network model D ⁇ 2 and generates the corresponding process network D2.
  • the process network model input unit 151 of the process network generation unit 250 receives a case number or the like as context data.
  • the process network generation unit 250 uses the context data when generating the process network D2 from the process network model D ⁇ 2 received by the process network model input unit 151, and is included in the action information D253 of the process network D2 to be generated.
  • Embed context data such as the project number in the API data.
  • the process network generation unit 250 stores the generated process network D2 in the storage unit 220.
  • FIG. When storing the generated process network D2 in the storage unit 220, the process network generation unit 250 stores the context data received by the process network model input unit 151 in the storage unit 220 in association with the process network D2.
  • the process network state management unit 260 executes state transition processing of the process node and puts the inquiry mail generation process node L21 into an executable state.
  • state transition processing is applied to the process network D2 immediately after being generated, the process node L21 for generating the inquiry mail first becomes executable.
  • the process network execution unit 270 executes the inquiry mail generation process node L21 that has become executable.
  • the process network execution unit 270 sends an inquiry mail generation flow execution request to the Power Automate API.
  • Power Automate's inquiry email generation flow creates an inquiry email.
  • the process network execution unit 270 sends a process state change request to the API of the process network state management unit 260 to change the process state D23 of the inquiry mail generation process node L21 to the completed state.
  • the process network state management unit 260 sets the process state D23 of the inquiry mail generation process node L21 to the completed state.
  • the process network state management unit 260 executes the state transition processing of the process node D20 to put the inquiry mail sending process node L22 into an executable state.
  • the process network execution unit 270 executes the inquiry mail sending process node L22 that has become executable.
  • the process network execution unit 270 sends a request for execution of the inquiry mail transmission request flow to the Power Automate API.
  • Power Automate's inquiry mail transmission request flow registers an inquiry mail transmission task in Planner and assigns a person in charge to the registered task.
  • the value of the asynchronous flag of the inquiry mail sending process node L22 is True. Therefore, the process network execution unit 270 does not change the process state D23 of the process node L22 to the completed state after executing the inquiry mail sending process node L22 (see FIG. 27).
  • the Power Automate inquiry email sending process node completion processing flow is activated.
  • a process status change request for changing the process status D23 of the inquiry mail sending process node L22 to the completed status is sent to the API of the process network status management unit 260.
  • FIG. The process network state management unit 260 changes the process state D23 of the inquiry mail sending process node L22 to the completed state.
  • the process network state management unit 260 executes process node state transition processing, and puts the document generation process start process node L23 in an executable state.
  • the process network execution unit 270 executes the document generation process start process node L23 that has become executable.
  • the process network execution unit 270 sends a flow execution request for starting the document generation process to the Power Automate API.
  • the flow for starting the document generation process transmits to the API of the process network state management unit 260 a process state change request for making the process state D23 of the office document generation process node L26 ready for execution.
  • the process network state management unit 260 changes the process state D23 of the office document generation process node L26 to the executable state.
  • the flow for starting the document generation process transmits to the API of the process network state management unit 260 a process state change request to change the process state D23 of the invoice generation process node L28 to the executable state.
  • the process network state management unit 260 changes the process state D23 of the invoice generation process node L28 to the executable state.
  • the process network execution unit 270 After executing the document generation process start process node L23, the process network execution unit 270 sends a process state change request to the API of the process network state management unit 260 to change the process state D23 of the document generation process start process node L23 to the completed state. do.
  • the process network state management unit 260 changes the process state D23 of the document generation process starting process node L23 to the completed state.
  • the process state D23 of the document generation process starting process node L23 becomes the completed state
  • all of the process nodes L21, L22 and L23 under the inquiry process node L11 become the completed state. Transition processing is executed to change the process state D23 of the inquiry process node L11 to the completed state.
  • the process network execution unit 270 executes the office document generation process node L26 that has become executable.
  • the process network execution unit 270 sends an execution request for the government document generation flow to the Power Automate API.
  • Power Automate's office document generation flow generates an annuity payment slip.
  • the process network execution unit 270 sends to the API of the process network state management unit 260 a process state change request to change the process state D23 of the office document generation process node L26 to the completed state.
  • the process network state management unit 260 changes the process state D23 of the office document generation process node L26 to the completed state.
  • the process network execution unit 270 executes the invoice generation process node L28 that has become executable.
  • the process network execution unit 270 sends an invoice generation flow execution request to the Power Automate API. Power Automate's bill generation flow generates bills.
  • the process network execution unit 270 sends 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 generation process node L28 to the completed state.
  • the process network state management unit 260 changes the process state D23 of the invoice generation process node L28 to the completed state.
  • the inquiry process node L11 (and the process nodes L21, L22 and L23 under the process node L11), the office document generation process node L26 and the invoice generation process node L28 are completed.
  • the instruction confirmation process node L24 When the inquiry process node L11 enters the completed state, the next process node that may enter the executable state due to the state transition processing by the process network state management unit 260 is the instruction confirmation process node L24. However, since the automatic activation flag of the instruction confirmation process node L24 is False, even if the inquiry process node L11 is in the completed state, the instruction confirmation process node L24 will be in the executable state in the state transition processing by the process network state management unit 260. not.
  • the flow for starting the instruction confirmation process of Power Automate (registration) is executed. to start.
  • the instruction confirmation process start processing flow sends to the API of the process network state management unit 260 a process state change request to change the process state D23 of the instruction confirmation process node L24 to an executable state.
  • the process network execution unit 270 executes the instruction confirmation process node L24 that has become executable.
  • the process network execution unit 270 sends an instruction confirmation request flow execution request to the Power Automate API.
  • Power Automate executes the instruction confirmation request flow and sends an approval request for MICROSOFT 365 (registered trademark) to the person in charge of operations.
  • MICROSOFT 365 registered trademark
  • the asynchronous flag of the instruction confirmation process node L24 is True. Therefore, the process network execution unit 270 does not bring the process node L24 into the completed state after executing the instruction confirmation process node L24 (see FIG. 27).
  • the Power Automate (registration) instruction confirmation process node completion processing flow When the instruction confirmation approval request sent by the instruction confirmation process node L24 is approved, the Power Automate (registration) instruction confirmation process node completion processing flow is activated.
  • the instruction confirmation process node completion processing flow sends to the API of the process network status management unit 260 a process status change request to change the process status D23 of the instruction confirmation process node L24 to the completed status.
  • the process network state management unit 260 sets the process state D23 of the instruction confirmation process node L24 to the completed state.
  • the process network state management unit 260 executes state transition processing of the process node and changes the process state D23 of the document transmission process start process node L25 to the executable state.
  • the process network execution unit 270 executes the document transmission process start process node L25 that has become executable.
  • the process network execution unit 270 sends a flow execution request for starting the document submission process to the Power Automate API.
  • the flow for starting the document submission process sends to the API of the process network status management unit 260 a process status change request for making the process status D23 of the document submission process node L27 ready for execution.
  • the process network state management unit 260 changes the process state D23 of the office document submission process node L27 to the executable state.
  • the flow for starting the document submission process sends a process state change request to the API of the process network state management unit 260 to make the process state D23 of the invoice sending process node L29 ready for execution.
  • the process network state management unit 260 changes the process state D23 of the invoice sending process node L29 to the executable state.
  • the process network executing part 270 sends to the API of the process network state managing part 260 a process state change request to change the process state D23 of the document sending process starting process node L25 to the completed state. do.
  • the process network state management unit 260 changes the process state D23 of the document transmission process starting process node L25 to the completed state.
  • all the process nodes L24 and L25 under the instruction receiving process node L12 enter the completed state. Then, the process state D23 of the instruction receiving process node L12 is changed to the completed state.
  • the process network execution unit 270 executes the office document submission process node L27 that has become executable.
  • the process network execution unit 270 sends a request for execution of the flow for requesting submission of government documents to the API of Power Automate.
  • Power Automate executes the flow for requesting submission of government documents, registers the task of submitting government documents in Planner, and assigns a person in charge to the registered task.
  • the asynchronous flag of the office document submission process node L27 is True. Therefore, the process network execution unit 270 does not bring the process node L27 into the completed state after executing the process node L27 for submission to the office.
  • the process network execution unit 270 executes the invoice sending process node L29 that has become executable.
  • the process network execution unit 270 sends a request for execution of the billing request flow to the Power Automate API.
  • Power Automate executes the billing request flow, registers the billing task in Planner, and assigns the person in charge to the registered task.
  • the asynchronous flag of billing process node L29 is True. Therefore, the process network execution unit 270 does not bring the process node L29 into the completed state after executing the invoice sending process node L29.
  • the flow for completing the office document submission process node of Power Automate is started.
  • the flow for the completion processing of the office document submission process node sends to the API of the process network status management unit 260 a process status change request to change the process status D23 of the office document submission process node L27 to the completed status.
  • the process network state management unit 260 changes the process state D23 of the office document submission process node L27 to the completed state.
  • the office document submission process node L27 is in the completed state, all the process nodes L26 and L27 under the office procedure process node L13 are in the completed state, so the process network state management unit 260 executes the process node state transition processing. Then, the process state D23 of the office procedure process node L13 is changed to the completed state.
  • the Power Automate billing process node completion processing flow is activated.
  • the flow for billing process node completion processing sends a process state change request to the API of the process network state management unit 260 to change the process state D23 of the billing process node L29 to the completed state.
  • the process network status management unit 260 changes the process status D23 of the invoice sending process node L29 to the completed status.
  • the invoice sending process node L29 enters the completed state, all of the process nodes L28 and L29 under the invoice sending process node L14 enter the completed state. Execute to set the process state D23 of the billing process node L14 to the completed state.
  • the process execution system 200 of this embodiment even complex business processes, especially complex business processes including asynchronous processing, can be executed.
  • the hierarchical process network model has high expressiveness because the process can be subdivided by deepening the hierarchy, and the process execution system 200 configured to be able to accept the hierarchical process network model: Even complex business processes are viable. Changes in business content can be handled by changing the process network model, and there is no need to change the configuration of the process network generator, the process network state management section, or the process network execution section. Therefore, the process execution system 200 is a system that has excellent flexibility and stability while having a simple configuration, and that is highly adaptable to a rapidly changing business environment.
  • the configuration of the process execution system described above is the main configuration for describing the features of the above-described embodiments, and is not limited to the above-described configuration, and various modifications can be made within the scope of the claims. . Moreover, it does not exclude the configuration provided in a general process execution system.
  • the process execution system was configured as a web application running on the server machine, but it may be configured as a native application running on a PC.
  • process execution system 110 210, 310, 410, 510 control section 150, 250, 350, 450 process network generation section 151, 351, 451 process network model input section 452 process network model output section 160, 260, 360 process network state management unit 261 process state change request reception unit 170, 270, 370 process network execution unit 380 transcription unit 381 transcription request reception unit 382 transcription factor model evaluation unit 383 transcription process execution unit 590 process network model display Unit 591 Process network model display request reception unit 592 Process network model display data generation unit 595 Process network display unit 596 Process network display request reception unit 597 Process network display data generation unit 120, 220 Storage unit 130, 230 Communication unit 140, 240 Bus DM1, DM2, DM3, DM4, DM5 Process network model DM10, DM20, DM30, DM40, DM50 Process master node DM11, DM21, DM31 Process master node identifier DM12, DM22, DM32 Parent process master node identifier

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • General Engineering & Computer Science (AREA)
  • Primary Health Care (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

プロセス生成情報を有するプロセスマスタノードを複数含み、当該複数のプロセスマスタノードによって生成されるプロセスノード同士の間の関係を表現したプロセスネットワークモデルから、プロセスノードを複数含むプロセスネットワークを生成し、プロセスネットワークに含まれるプロセスノードの状態と、所定のプロセス状態遷移規則と、に基づいて、特定のプロセスノードを実行可能にし、要求に応じて所定のアクションを実行するアクション実行システムに対して、実行可能なプロセスノードのプロセス定義情報が含むプロセスを実行するのに必要なアクションに関する情報に基づいて当該アクションの実行要求を送信することによって、当該プロセス定義情報によって定義されたプロセスを実行する。

Description

プロセス実行システム、データ構造、およびプロセス実行プログラム
 本発明は、プロセス実行システム、データ構造、およびプロセス実行プログラムに関する。
 近年、業務の生産性向上のために、デジタル技術を活用した業務の自動化が求められている。業務の自動化は主に業務システムを開発することによって行われる。一般的に、業務システムの開発は次のような方法によって進められる。すなわち、対象の業務をビジネスプロセスモデルとしてモデル化する。そして、システム化するのに必要な要件を当該ビジネスプロセスモデルに基づいて抽出して業務システムを開発する方法である。ビジネスプロセスモデルを記述する手法としては、例えば、BPMN(Business Process Modeling Notation)がある(特許文献1、非特許文献1、非特許文献2および非特許文献3参照)。
 上述した方法では、ビジネスプロセスモデルを作成する段階と、ビジネスプロセスモデルに基づいて業務システムを開発する段階の主に2つの段階が必要である。そのため、業務内容の変更に伴う業務システムの改修には多大な時間とコストを要することが多い。よって、上述した方法によって開発される業務システムは可塑性(変形し易い性質)が乏しく、ビジネス環境の変化に柔軟に適応するのが難しいという課題がある。
 上記課題を解決する方法として、所定の仕様で記述したビジネスプロセスモデルを実行可能な実行環境を用意する方法が考えらえる(非特許文献4、非特許文献5および非特許文献6参照)。この方法によれば、業務内容を所定の仕様でビジネスプロセスモデルに表現することで当該業務に含まれるプロセスを実行環境に実行させることができる。そのため、ビジネスプロセスモデルに基づいて業務システムを開発する段階をなくすことができる。すなわち、当該実行環境によって実行されるビジネスプロセスモデルを変更することで業務内容の変更に対応できるから可塑性が向上する。
 一方で、Digital Transformation(非特許文献7参照)が進む中で社会全体が複雑化し、ビジネス環境の変化の速度が速くなっている。そうした変化の速度が速いビジネス環境に適応するためには、自動化の対象となる業務の知識や経験を有している現場の業務担当者の多くが、上述した実行環境で実行可能なビジネスプロセスモデルの作成や修正等を行えることが望ましい。
 しかしながら、上述した実行環境で実行可能なビジネスプロセスモデルは、実行環境ごとに独自の仕様で記述する必要があることが多い。また、当該実行環境の導入には多大なコストが必要であることが多く、導入できるのは一部の大企業であることから、インターネット等を使用して得られる情報も限られている。そのため、上述した実行環境で実行可能なビジネスプロセスモデルの作成や修正等に必要な学習コストが高く、現場の業務担当者が当該ビジネスプロセスモデルの作成や修正等を行うのは容易ではない。また、実行環境を変えた場合には、変更後の実行環境で実行可能なビジネスプロセスモデルを作り直す作業が必要になる。そうした作業を避けるために、他に優れた実行環境が出てきても容易に乗り換えることができず、かえって可塑性を損なう可能性もある。そうしたことから、上述した方法を実現するシステムは一般にはあまり普及していない。
 一方で、ビジネスプロセスの自動化に利用可能なRPA(Robotic Process Automation)のクラウドサービスやアプリが急速に普及している。こうしたRPAのクラウドサービスやアプリを使用することによって、現場の業務担当者がビジネスプロセスの一部のプロセスを容易に自動化できるようになってきている。これにより、業務内容が変わった場合でも、業務担当者が自らRPAのクラウドサービスやアプリを操作することでビジネスプロセスの実行内容を変更することができるようになってきている。
特開2012-203702号公報
Howard Smith, Peter Fingar, "Business Process Management: The Third Wave", Meghan Kiffer Pr, 2002 David W. Enstrom, "A Simplified Approach to IT Architecture with Bpmn: A Coherent Methodology for Modeling Every Level of the Enterprise", iUniverse, 2016 Bruce Silver, "BPMN Method and Style, Second Edition, with BPMN Implementer’s Guide", Cody-Cassidy Press, 2017 Arthur H. M. ter Hofstede,Wil M. P. van der Aalst,Michael Adams, Nick Russell (eds), "Modern Business Process Automation: YAWL and its Support Environment", Springer, 2009 Bernd Ruecker, "Practical Process Automation: Orchestration and Integration in Microservices and Cloud Native Architectures", O’Reilly Media, 2021 Jakob Freund, Bernd Rucker, "Real-Life BPMN (4th edition): Includes an introduction to DMN", Camunda, 2019 Stolterman E., Fors A.C. (2004) Information Technology and the Good Life. In: Kaplan B., Truex D.P., Wastell D., Wood-Harper A.T., DeGross J.I. (eds) Information Systems Research. IFIP International Federation for Information Processing, vol 143. Springer, Boston, MA.
 しかしながら、業務を構成しているビジネスプロセスのうち、RPAによって自動化されているプロセスと、他のプロセスとの間の関係を把握するのは難しく、RPAによって実行したプロセスが他のプロセスに対して予期しない影響を与えるなど、業務を安定的に行う上で課題がある。RPAによって自動化されているプロセスの存在や内容を、当該プロセスの業務担当者以外の担当者が知らない場合もあり、RPAによって実行されているプロセスの監視やメンテナンスを組織全体で行うのが難しいという課題もある。こうした課題は、RPAによって自動化されているプロセスと他のプロセスとの間の関係が複雑になるほどより顕著になり、安定した業務運営に支障をきたしかねない。
 本発明は、上記課題を鑑みてなされたものであり、可塑性と安定性とを両立させることによって変化の速度が速いビジネス環境への適応度が高いプロセス実行システムを提供することを目的とする。
 本発明の上記目的は、下記の手段によって達成される。
 (1)プロセスの内容を定義したプロセス定義情報を生成するために使用されるプロセス生成情報を有するプロセスマスタノードを複数含み、当該複数のプロセスマスタノードによって生成されるプロセスノード同士の間の関係を表現したプロセスネットワークモデルから、前記プロセス定義情報を有するプロセスノードを複数含むプロセスネットワークを生成するプロセスネットワーク生成部と、
 前記プロセスネットワークに含まれるプロセスノードの状態と、所定のプロセス状態遷移規則と、に基づいて、特定のプロセスノードを実行可能にするプロセスネットワーク状態管理部と、
 前記プロセスネットワークに含まれる実行可能な前記プロセスノードが有する前記プロセス定義情報によって定義されたプロセスを実行するプロセスネットワーク実行部と、を有し、
 前記プロセスネットワーク生成部は、前記プロセスネットワークモデルの入力を受け付けるプロセスネットワークモデル入力部を備え、当該プロセスネットワークモデル入力部が入力を受け付けた前記プロセスネットワークモデルから前記プロセスネットワークを生成し、
 前記プロセス定義情報は、当該プロセス定義情報によって定義されたプロセスを実行するのに必要なアクションに関する情報を含み、
 前記プロセスネットワーク実行部は、要求に応じて所定のアクションを実行するアクション実行システムに対して、実行可能な前記プロセスノードの前記プロセス定義情報が含む前記アクションに関する情報に基づいて当該アクションの実行要求を送信することによって、当該プロセス定義情報によって定義されたプロセスを実行する、プロセス実行システム。
 (2)前記プロセスネットワークモデル入力部は、前記複数のプロセスマスタノードによって生成される前記プロセスノード同士の間の関係を階層的に表現した階層型のプロセスネットワークモデルの入力を受け付け、
 前記プロセスネットワーク生成部は、前記プロセスネットワークモデル入力部が入力を受け付けた前記階層型のプロセスネットワークモデルに対応する階層型のプロセスネットワークを生成する、上記(1)に記載のプロセス実行システム。
 (3)前記プロセスネットワーク状態管理部は、特定のプロセスノードの状態を変更するプロセス状態変更要求を受け付けるプロセス状態変更要求受付部を備え、当該プロセス状態変更要求受付部が受け付けた前記プロセス状態変更要求に基づいて前記プロセスネットワークに含まれる当該特定のプロセスノードの状態を変更する、上記(1)または上記(2)に記載のプロセス実行システム。
 (4)一の前記プロセスマスタノードが有する前記プロセス生成情報を、当該一の前記プロセスマスタノードに対応する一の前記プロセスノードに前記プロセス定義情報として転写する転写プロセスを実行する転写部をさらに有し、
 前記プロセス生成情報は、前記転写プロセスを定義した一または複数の転写プロセス定義情報を含み、
 前記転写プロセス定義情報は、プロセス実行システムが通信可能な環境が前記転写プロセスに与える影響をモデル化した転写因子モデルを定義した一または複数の転写因子モデル定義情報を含み、
 前記転写部は、前記転写プロセスの実行要求を受け付ける転写要求受付部と、前記転写因子モデル定義情報によって定義された前記転写因子モデルを評価する転写因子モデル評価部と、前記転写プロセス定義情報によって定義された前記転写プロセスを実行する転写プロセス実行部と、を備え、
 前記転写プロセス実行部は、前記転写因子モデル評価部が評価した一または複数の前記転写因子モデルの評価結果に基づいて前記転写プロセスを制御する、上記(1)から(3)のいずれか1つに記載のプロセス実行システム。
 (5)前記プロセスネットワーク実行部は、前記プロセス定義情報によって定義されたプロセスを実行する際に、前記転写プロセスの実行要求を前記転写要求受付部に送信することによって、当該プロセス定義情報を生成するために使用される前記プロセス生成情報を前記転写部が転写することによって更新された前記プロセス定義情報に基づいて当該プロセスを実行する、上記(4)に記載のプロセス実行システム。
 (6)前記転写因子モデル評価部は、一の前記転写因子モデルを評価する際に、他の前記転写因子モデルの評価結果を当該一の前記転写因子モデルの入力データとして使用する、上記(4)または(5)に記載のプロセス実行システム。
 (7)前記プロセス定義情報は、当該プロセス定義情報を有するプロセスが活性であるか非活性であるかを表現する活性フラグを含み、
 前記プロセス生成情報は、前記活性フラグを生成するために使用される活性フラグマスタを含み、
 前記活性フラグマスタは、前記転写因子モデルの評価結果に応じて前記活性フラグが定まるように構成された前記転写プロセス定義情報を含み、
 前記プロセスネットワーク状態管理部は、前記プロセスノードが有する前記プロセス定義情報に含まれる前記活性フラグが非活性であることを表現している場合には、当該プロセスノードを存在しないものとして扱う、上記(4)から(6)のいずれか1つに記載のプロセス実行システム。
 (8)前記プロセスネットワーク生成部は、前記プロセスネットワークモデルを出力するプロセスネットワークモデル出力部を有し、
 前記プロセスネットワークモデル出力部は、前記プロセスネットワークモデルをシリアライズしたデータを出力する、上記(1)から(7)のいずれか1つに記載のプロセス実行システム。
 (9)前記プロセスネットワークモデル入力部は、前記プロセスネットワークモデルをシリアライズしたデータの入力を受け付け、
 前記プロセスネットワーク生成部は、前記プロセスネットワークモデル入力部が入力を受け付けた前記プロセスネットワークモデルをシリアライズしたデータをデシリアライズすることによって得られた前記プロセスネットワークモデルを用いて前記プロセスネットワークを生成する、上記(8)に記載のプロセス実行システム。
 (10)前記プロセスネットワークモデル出力部は、前記プロセスネットワークモデルをシリアライズする際に、前記プロセスネットワークモデルと、当該プロセスネットワークモデルをシリアライズしたデータとが一対一に対応する規則に基づいてシリアライズする、上記(8)または(9)に記載のプロセス実行システム。
 (11)前記プロセスネットワークモデル出力部が前記プロセスネットワークモデルをシリアライズしたデータを出力する際に使用するデータ形式は、キーと値の組を配列したデータ形式である、上記(8)から(10)のいずれか1つに記載のプロセス実行システム。
 (12)前記プロセスネットワークモデル出力部が前記プロセスネットワークモデルをシリアライズしたデータを出力する際に使用するデータ形式は、JSONである、上記(11)に記載のプロセス実行システム。
 (13)前記プロセスネットワークモデルを表示するプロセスネットワークモデル表示部をさらに有する、上記(1)から(12)のいずれか1つに記載のプロセス実行システム。
 (14)前記プロセスネットワークを表示するプロセスネットワーク表示部をさらに有する、上記(1)から(13)のいずれか1つに記載のプロセス実行システム。
 (15)プロセス実行システムに用いられるデータ構造であって、
 プロセスの内容を定義したプロセス定義情報を有するプロセスノードを複数含むプロセスネットワークを生成するために使用されるプロセスネットワークモデルを含み、
 前記プロセスネットワークモデルは、前記プロセス定義情報を生成するために使用されるプロセス生成情報を有するプロセスマスタノードを複数含み、当該複数のプロセスマスタノードによって生成されるプロセスノード同士の間の関係を表現し、
 前記プロセス定義情報は、当該プロセス定義情報によって定義されたプロセスを実行するのに必要なアクションに関する情報を含む、データ構造。
 (16)前記プロセスネットワークモデルは、前記複数のプロセスマスタノードによって生成される前記プロセスノード同士の間の関係を階層的に表現した階層型のプロセスネットワークモデルであり、当該階層型のプロセスネットワークモデルに対応する階層型のプロセスネットワークを生成するために使用される、上記(15)に記載のデータ構造。
 (17)前記プロセス生成情報は、当該プロセス生成情報を、当該プロセス生成情報を有する前記プロセスマスタノードに対応する前記プロセスノードに前記プロセス定義情報として転写する転写プロセスを定義した一または複数の転写プロセス定義情報を含み、
 前記転写プロセス定義情報は、前記プロセス実行システムが通信可能な環境が前記転写プロセスに与える影響をモデル化した転写因子モデルを定義した一または複数の転写因子モデル定義情報を含む、上記(15)または(16)に記載のデータ構造。
 (18)一の前記転写因子モデルが他の前記転写因子モデルの評価結果を入力データとして設定可能に表現される、上記(17)に記載のデータ構造。
 (19)前記プロセス定義情報は、当該プロセス定義情報を有するプロセスが活性であるか非活性であるかを表現する活性フラグを含み、
 前記プロセス生成情報は、前記活性フラグを生成するために使用される活性フラグマスタを含み、
 前記活性フラグマスタは、前記転写因子モデルの評価結果に応じて前記活性フラグが定まるように構成された前記転写プロセス定義情報を含む、上記(17)または(18)に記載のデータ構造。
 (20)キーと値の組を配列したデータ形式によって表現される、上記(15)から(19)のいずれか1つに記載のデータ構造。
 (21)JSONのデータ形式によって表現される、上記(15)から(20)のいずれか1つに記載のデータ構造。
 (22)プロセスの内容を定義したプロセス定義情報を生成するために使用されるプロセス生成情報を有するプロセスマスタノードを複数含み、当該複数のプロセスマスタノードによって生成されるプロセスノード同士の間の関係を表現したプロセスネットワークモデルの入力を受け付けるステップと、
 前記プロセスネットワークモデルの入力を受け付けるステップにおいて入力を受け付けた前記プロセスネットワークモデルから、前記プロセス定義情報を有する前記プロセスノードを複数含むプロセスネットワークを生成するステップと、
 前記プロセスネットワークに含まれる前記プロセスノードの状態と、所定のプロセス状態遷移規則と、に基づいて前記プロセスノードの状態遷移処理を行うステップと、
 前記プロセスネットワークに含まれる実行可能な前記プロセスノードの実行処理を行うステップと、
 を含む処理を、コンピュータに実行させるためのプロセス実行プログラム。
 (23)前記プロセスネットワークモデルの入力を受け付けるステップにおいて、前記複数のプロセスマスタノードによって生成される前記プロセスノード同士の間の関係を階層的に表現した階層型のプロセスネットワークモデルの入力を受け付け、
 前記プロセスネットワークを生成するステップにおいて、前記プロセスネットワークモデルの入力を受け付けるステップにおいて入力を受け付けた前記階層型のプロセスネットワークモデルに対応する階層型のプロセスネットワークを生成する、上記(22)に記載のプロセス実行プログラム。
 (24)前記プロセスノードの状態遷移処理を行うステップは、特定のプロセスノードの状態を変更するプロセス状態変更要求を受け付けるステップと、当該プロセス状態変更要求を受け付けるステップにおいて受け付けた前記プロセス状態変更要求に基づいて前記プロセスネットワークに含まれる当該特定のプロセスノードの状態を変更する、上記(22)または(23)に記載のプロセス実行プログラム。
 (25)前記プロセス生成情報は、当該プロセス生成情報を、当該プロセス生成情報を有する前記プロセスマスタノードに対応する前記プロセスノードに前記プロセス定義情報として転写する転写プロセスを定義した一または複数の転写プロセス定義情報を含み、
 前記転写プロセス定義情報は、プロセス実行システムが通信可能な環境が前記転写プロセスに与える影響をモデル化した転写因子モデルを定義した一または複数の転写因子モデル定義情報を含み、
 前記転写プロセスの実行要求を受け付けるステップと、
 前記転写因子モデル定義情報によって定義された前記転写因子モデルを評価するステップと、
 前記転写プロセス定義情報によって定義された前記転写プロセスを実行するステップと、をさらに有し、
 前記転写プロセスを実行するステップは、前記転写因子モデルを評価するステップにおける一または複数の前記転写因子モデルの評価結果に基づいて前記転写プロセスを制御する、上記(22)から(24)のいずれか1つに記載のプロセス実行プログラム。
 (26)前記プロセスノードの実行処理を行うステップは、前記転写プロセスの実行要求を送信することによって、当該プロセス定義情報を生成するために使用される前記プロセス生成情報を転写することによって更新された前記プロセス定義情報に基づいて当該プロセスを実行する、上記(25)に記載のプロセス実行プログラム。
 (27)前記転写因子モデルを評価するステップにおいて、一の前記転写因子モデルを評価する際に、他の前記転写因子モデルの評価結果を当該一の前記転写因子モデルの入力データとして使用する、上記(25)または(26)に記載のプロセス実行プログラム。
 (28)前記プロセス定義情報は、当該プロセス定義情報を有するプロセスが活性であるか非活性であるかを表現する活性フラグを含み、
 前記プロセス生成情報は、前記活性フラグを生成するために使用される活性フラグマスタを含み、
 前記活性フラグマスタは、前記転写因子モデルの評価結果に応じて前記活性フラグが定まるように構成された前記転写プロセス定義情報を含み、
 前記プロセスノードの状態遷移処理を行うステップにおいて、前記プロセスノードが有する前記プロセス定義情報に含まれる前記活性フラグが非活性であることを表現している場合には、当該プロセスノードを存在しないものとして扱う、上記(25)から(27)のいずれか1つに記載のプロセス実行プログラム。
 (29)前記プロセスネットワークモデルを出力するステップをさらに有し、
 当該プロセスネットワークモデルを出力するステップにおいて、前記プロセスネットワークモデルをシリアライズしたデータを出力する、上記(22)から(28)のいずれか1つに記載のプロセス実行プログラム。
 (30)前記プロセスネットワークモデルの入力を受け付けるステップにおいて、前記プロセスネットワークモデルをシリアライズしたデータの入力を受け付け、
 前記プロセスネットワークを生成するステップにおいて、前記プロセスネットワークモデルの入力を受け付けるステップにおいて入力を受け付けた前記プロセスネットワークモデルをシリアライズしたデータをデシリアライズすることによって得られた前記プロセスネットワークモデルを用いて前記プロセスネットワークを生成する、上記(22)から(29)のいずれか1つに記載のプロセス実行プログラム。
 (31)前記プロセスネットワークモデルを出力するステップにおいて、前記プロセスネットワークモデルをシリアライズする際に、前記プロセスネットワークモデルと、当該プロセスネットワークモデルをシリアライズしたデータとが一対一に対応する規則に基づいてシリアライズする、上記(22)から(30)のいずれか1つに記載のプロセス実行プログラム。
 (32)前記プロセスネットワークモデルを出力するステップにおいて、前記プロセスネットワークモデルをシリアライズしたデータを、キーと値の組を配列したデータ形式によって出力する、上記(22)から(31)のいずれか1つに記載のプロセス実行プログラム。
 (33)前記プロセスネットワークモデルを出力するステップにおいて、前記プロセスネットワークモデルをシリアライズしたデータを、JSONのデータ形式によって出力する、上記(32)に記載のプロセス実行プログラム。
 (34)前記プロセスネットワークモデルを表示するステップをさらに有する、上記(22)から(33)のいずれか1つに記載のプロセス実行プログラム。
 (35)前記プロセスネットワークを表示するステップをさらに有する、上記(22)から(34)のいずれか1つに記載のプロセス実行プログラム。
 本発明に係るプロセス実行システムによれば、プロセスの内容を定義したプロセス定義情報を生成するために使用されるプロセス生成情報を有するプロセスマスタノードを複数含み、当該複数のプロセスマスタノードによって生成されるプロセスノード同士の間の関係を表現したプロセスネットワークモデルから、前記プロセス定義情報を有するプロセスノードを複数含むプロセスネットワークを生成するプロセスネットワーク生成部と、前記プロセスネットワークに含まれるプロセスノードの状態と、所定のプロセス状態遷移規則と、に基づいて、特定のプロセスノードを実行可能にするプロセスネットワーク状態管理部と、前記プロセスネットワークに含まれる実行可能な前記プロセスノードが有する前記プロセス定義情報によって定義されたプロセスを実行するプロセスネットワーク実行部と、を有し、前記プロセスネットワーク生成部は、前記プロセスネットワークモデルの入力を受け付けるプロセスネットワークモデル入力部を備え、当該プロセスネットワークモデル入力部が入力を受け付けた前記プロセスネットワークモデルから前記プロセスネットワークを生成し、前記プロセス定義情報は、当該プロセス定義情報によって定義されたプロセスを実行するのに必要なアクションに関する情報を含み、前記プロセスネットワーク実行部は、要求に応じて所定のアクションを実行するアクション実行システムに対して、実行可能な前記プロセスノードの前記プロセス定義情報が含む前記アクションに関する情報に基づいて当該アクションの実行要求を送信することによって、当該プロセス定義情報によって定義されたプロセスを実行する。これにより、可塑性と安定性とを両立させることによって変化の速度が速いビジネス環境への適応度が高いプロセス実行システムを提供できる。
本発明の第1実施形態に係るプロセス実行システムと、当該プロセス実行システムと通信するアクション実行システムの構成を示す図である。 図1に示したプロセス実行システムのブロック図である。 図1に示したプロセス実行システムの制御部の機能ブロック図である。 図1に示したプロセス実行システムのプロセスネットワーク生成部の機能ブロック図である。 図1に示したプロセス実行システムのプロセスネットワークモデル入力部が入力を受け付けるプロセスネットワークモデルのデータ構造を例示する模式図である。 図1に示したプロセス実行システムのプロセスネットワーク生成部によって生成されるプロセスネットワークのデータ構造を例示する模式図である。 図1に示したプロセス実行システムのプロセスネットワークモデル入力部が入力を受け付けるプロセスネットワークモデルのプロセスマスタノードのデータ構造を例示する模式図である。 図1に示したプロセス実行システムのプロセスネットワーク生成部によって生成されるプロセスネットワークのプロセスノードのデータ構造を例示する模式図である。 図1に示したプロセス実行システムのプロセスネットワークモデル入力部が入力を受け付けるプロセスネットワークモデルのプロセスマスタノードのアクション情報マスタのデータ構造を例示する模式図である。 図1に示したプロセス実行システムのプロセスネットワーク生成部によって生成されるプロセスネットワークのプロセスノードのアクション情報のデータ構造を例示する模式図である。 図1に示したプロセス実行システムにおいて実行される処理の手順を表す  フローチャートである。 図1に示したプロセス実行システムにおいて実行されるプロセスノードの状態遷移処理の手順を表すフローチャートである。 図1に示したプロセス実行システムにおいて実行される親プロセスノードの配下のプロセスノード群に対する状態遷移処理の手順を表すフローチャートである。 図1に示したプロセス実行システムにおいて実行される最小のプロセス番号を有するプロセスノード群に対する状態遷移処理の手順を表すフローチャートである。 図1に示したプロセス実行システムにおいて実行される実行可能なプロセスノードの実行処理の手順を表すフローチャートである。 図1に示したプロセス実行システムにおいて実行されるプロセスノードの状態遷移処理を行うステップの動作例について説明するために使用するプロセスネットワークのデータ構造を示す模式図である。 図1に示したプロセス実行システムにおいて実行されるプロセスノードの状態遷移処理を行うステップの動作例について説明するために使用するプロセスノードの状態遷移を表す図である。 本発明の第2実施形態に係るプロセス実行システムと、当該プロセス実行システムと通信するアクション実行システムの構成を示す図である。 図18に示したプロセス実行システムのブロック図である。 図18に示したプロセス実行システムの制御部の機能ブロック図である。 図18に示したプロセス実行システムのプロセスネットワーク状態管理部の機能ブロック図である。 図18に示したプロセス実行システムのプロセスネットワークモデル入力部が入力を受け付けるプロセスネットワークモデルのデータ構造を例示する模式図である。 図18に示したプロセス実行システムのプロセスネットワーク生成部によって生成されるプロセスネットワークのデータ構造を例示する模式図である。 図18に示したプロセス実行システムのプロセスネットワークモデル入力部が入力を受け付けるプロセスネットワークモデルのプロセスマスタノードのデータ構造を例示する模式図である。 図18に示したプロセス実行システムのプロセスネットワーク生成部によって生成されるプロセスネットワークのプロセスノードのデータ構造を例示する模式図である。 図18に示したプロセス実行システムにおいて実行される処理の手順を表すフローチャートである。 図18に示したプロセス実行システムにおいて実行される実行可能なプロセスノードの実行処理の手順を表すフローチャートである。 本発明の第3実施形態に係るプロセス実行システムの制御部の機能ブロック図である。 本発明の第3実施形態に係るプロセス実行システムの転写部の機能ブロック図である。 本発明の第3実施形態に係るプロセス実行システムのプロセス生成情報を示す概念図である。 本発明の第3実施形態に係るプロセス実行システムと環境との間の相互作用を示す概念図である。 本発明の第3実施形態に係るプロセス実行システムが参照するケースデータテーブルのデータ構造を例示する模式図である。 本発明の第3実施形態に係るプロセス実行システムのプロセスネットワークモデル入力部が保存するコンテキストデータのデータ構造を例示する模式図である。 本発明の第3実施形態に係るプロセス実行システムの転写プロセスタグの構文を例示する図である。 本発明の第3実施形態に係るプロセス実行システムの選択プロセスタグの構文を例示する図である。 本発明の第3実施形態に係るプロセス実行システムの反復プロセスタグの構文を例示する図である。 本発明の第3実施形態に係るプロセス実行システムの置換プロセスタグの構文を例示する図である。 本発明の第3実施形態に係るプロセス実行システムの転写因子モデルタグの構文を例示する図である。 本発明の第3実施形態に係るプロセス実行システムの転写因子モデルの出力データを例示する図である。 本発明の第3実施形態に係るプロセス実行システムにおいて実行される処理の手順を表すフローチャートである。 本発明の第3実施形態に係るプロセス実行システムにおいて実行される実行可能なプロセスノードの実行処理の手順を表すフローチャートである。 本発明の第3実施形態に係るプロセス実行システムの転写部において実行される処理の手順を表すフローチャートである。 本発明の第3実施形態に係るプロセス実行システムの転写部において実行される評価対象転写因子モデルの評価処理の手順を表すフローチャートである。 本発明の第3実施形態に係るプロセス実行システムの転写部において実行される原評価対象転写因子モデルの評価処理の手順を表すフローチャートである。 本発明の第3実施形態に係るプロセス実行システムの転写部の動作例について説明するために使用するプロセス生成情報を例示する模式図である。 本発明の第3実施形態に係るプロセス実行システムの転写部の動作例について説明するために使用する転写情報を例示する模式図である。 本発明の第3実施形態に係るプロセス実行システムの転写部の動作例について説明するために使用する転写情報を例示する模式図である。 本発明の第3実施形態に係るプロセス実行システムの転写部における評価対象転写因子モデルの評価処理の動作例について説明するために使用する転写プロセスタグを例示する模式図である。 本発明の第3実施形態に係るプロセス実行システムの転写部における評価対象転写因子モデルの評価処理の動作例について説明するために使用する転写プロセスタグを例示する模式図である。 本発明の第3実施形態に係るプロセス実行システムの転写部における評価対象転写因子モデルの評価処理の動作例について説明するために使用する転写プロセスタグを例示する模式図である。 本発明の第3実施形態に係るプロセス実行システムの転写部における評価対象転写因子モデルの評価処理の動作例について説明するために使用する転写プロセスタグを例示する模式図である。 本発明の第3実施形態に係るプロセス実行システムの転写部における評価対象転写因子モデルの評価処理の動作例について説明するために使用する転写プロセスタグを例示する模式図である。 本発明の第3実施形態に係るプロセス実行システムの転写部における評価対象転写因子モデルの評価処理の動作例について説明するために使用する転写プロセスタグを例示する模式図である。 本発明の第3実施形態に係るプロセス実行システムの転写部の動作例について説明するために使用するアクション情報マスタを例示する模式図である。 本発明の第3実施形態に係るプロセス実行システムの転写部の動作例について説明するために使用するアクション情報を例示する模式図である。 本発明の第3実施形態に係るプロセス実行システムの転写部の動作例について説明するために使用するアクション情報マスタを例示する模式図である。 本発明の第3実施形態に係るプロセス実行システムの転写部の動作例について説明するために使用するアクション情報を例示する模式図である。 本発明の第3実施形態の改変例に係るプロセス実行システムのプロセスネットワーク生成部によって生成されるプロセスネットワークのデータ構造を例示する模式図である。 本発明の第3実施形態の改変例に係るプロセス実行システムのプロセスネットワークモデル入力部が入力を受け付けるプロセスネットワークモデルのデータ構造を例示する模式図である。 本発明の第3実施形態の改変例に係るプロセス実行システムのプロセスネットワークモデル入力部が入力を受け付けるプロセスネットワークモデルのプロセスマスタノードのデータ構造を例示する模式図である。 本発明の第3実施形態の改変例に係るプロセス実行システムのプロセスネットワーク生成部によって生成されるプロセスネットワークのプロセスノードのデータ構造を例示する模式図である。 本発明の第4実施形態に係るプロセス実行システムのプロセスネットワーク生成部の機能ブロック図である。 本発明の第4実施形態に係るプロセス実行システムのプロセスネットワークモデル出力部がプロセスネットワークモデルをシリアライズしたデータを例示する模式図である。 本発明の第5実施形態に係るプロセス実行システムの制御部の機能ブロック図である。 本発明の第5実施形態に係るプロセス実行システムのプロセスネットワークモデル表示部の機能ブロック図である。 本発明の第5実施形態に係るプロセス実行システムのプロセスネットワーク表示部の機能ブロック図である。 本発明の第5実施形態に係るプロセス実行システムのプロセスネットワークモデル表示部がプロセスネットワークモデルを表示した様子を示す図である。 本発明の第5実施形態に係るプロセス実行システムのプロセスネットワーク表示部がプロセスネットワークを表示した様子を示す図である。 実施例に係るプロセス実行システムにおいて実行される処理について説明するために使用するプロセスネットワークモデルおよびプロセスネットワークの一部のデータ構造を示す模式図である。 実施例に係るプロセス実行システムにおいて実行される処理について説明するために使用するプロセスネットワークモデルおよびプロセスネットワークの一部のデータ構造を示す模式図である。 実施例に係るプロセス実行システムにおいて実行される処理について説明するために使用するプロセスネットワークモデルおよびプロセスネットワークの一部のデータ構造を示す模式図である。 実施例に係るプロセス実行システムにおいて実行される処理について説明するために使用するプロセスネットワークモデルおよびプロセスネットワークの一部のデータ構造を示す模式図である。 実施例に係るプロセス実行システムにおいて実行される処理について説明するために使用するプロセスネットワークモデルおよびプロセスネットワークの一部のデータ構造を示す模式図である。 実施例に係るプロセス実行システムにおいて実行される処理の一部を表すシーケンス図である。 実施例に係るプロセス実行システムにおいて実行される処理の一部を表すシーケンス図である。 実施例に係るプロセス実行システムにおいて実行される処理の一部を表すシーケンス図である。 実施例に係るプロセス実行システムにおいて実行される処理の一部を表すシーケンス図である。 実施例に係るプロセス実行システムにおいて実行される処理の一部を表すシーケンス図である。
 本発明の実施形態の説明に入る前に、本発明の技術的意義について概説する。近年、Digital Transformation(非特許文献7参照)が進む中で社会全体が複雑化し変化の速度が速くなっている(Bruno Latour, “Reassembling the Social: An Introduction to Actor-network-theory”, Oxford Univ Pr, 2007)。これに伴い、企業を取り巻くビジネス環境の変化の速度も速くなっている。企業活動における競争力を維持・向上させるためには、こうした変化の速度が速いビジネス環境への適応度を高める必要がある。そうした環境にあって、デジタル技術が急速に進歩していることから、デジタル技術の活用が企業の競争力を大きく左右するに至っている。特に、デジタル技術を活用した業務の自動化が急務になっており、業務の自動化を担う業務システムに対して、変化の速度が速いビジネス環境への適応度の向上が求められている。本発明の実施形態に係るプロセス実行システムが解決しようとする課題は、変化の速度が速いビジネス環境への適応度が高いプロセス実行システムを提供することにある。
 上述した課題を解決するプロセス実行システムは、業務内容の変化を容易に吸収できる程度に変形し易い一方で、安定した業務運営をもたらすものでなければならない。すなわち、上述した課題を解決するプロセス実行システムは、可塑性と安定性という一見すると矛盾する関係をうまく調整して両立させる必要がある。本発明の実施形態に係るプロセス実行システムでは、可塑性と安定性とを両立させるために、プロセス同士の相互作用を表現するネットワークに着目する。具体的には、本発明の実施形態に係るプロセス実行システムは、各々のプロセスの実行に必要なアクションの実行をアクション実行システムに委譲し、実行可能なプロセスネットワーク(Executable Process Network)、特に実行可能なビジネスプロセスネットワーク(Executable Business Process Network)を用いた新しいビジネスプロセスモデルの実行環境を提供する。
 プロセス同士の相互作用を表現するネットワークに着目する意義についてさらに詳しく説明する。Digital Transformation(非特許文献7参照)が進む中で人や機械などのあらゆるものが複雑なネットワークを介して相互作用する社会環境は複雑系として捉えることができる。複雑系をなすような環境、特に、構成要素間の相互作用に係る複雑性が非常に高く、予測困難な変動が起きやすく、(熱力学的な平衡状態に近い系と比較して)変化の速度も速いような環境に適応してきたシステムの例として、生物、特に多細胞生物のシステムがある(Stuart Kauffman, “At Home in the Universe: The Search for Laws of Self-Organization and Complexity”, Oxford Univ Pr, 1996;Stuart Kauffman, “A World Beyond Physics: The Emergence and Evolution of Life”, Oxford Univ Pr, 2019)。多細胞生物は,DNAに符号化された遺伝子の発現を調節することによって多様な細胞を協働させている(Bruce Alberts, et al., “Molecular Biology of the Cell”, 6th Edition, Garland Science, 2014)。遺伝子の発現の調節には転写調節因子が関わっており、転写調節因子は複雑なネットワーク(以下、Transcription Network)を介して相互作用している(Uri Alon, “An Introduction to Systems Biology: Design Principles of Biological Circuits”, 2nd edition, Chapman and Hall/CRC, 2019)。多細胞生物を構成するタンパク質の種類は異なる生物種の間で共通のものが多い一方で、Transcription Networkは生物種の間で異なっている。多細胞生物のシステムは、モジュール(タンパク質)は共通化しつつ、モジュールを相互作用させるTranscription Networkなどを柔軟に変化させることで、外部環境Eoutの変化に応じてモジュールの組み合わせ方を柔軟に組み替えられるアーキテクチャを有していると考えられる。これにより、多細胞生物は、複雑系をなすような環境にうまく適応してきたと考えられる。
 本発明の実施形態に係るプロセス実行システムについて、多細胞生物との類推で述べれば、プロセスの内容を定義したプロセス定義情報はタンパク質(モジュール)に相当し、そのプロセス定義情報を生成するために使用されるプロセス生成情報は遺伝子に相当し、プロセス同士の間の関係を表現したプロセスネットワークはTranscription Networkに相当し、転写因子モデルは転写調節因子などに相当する。本発明の実施形態に係るプロセス実行システムによれば、モジュールを共通化しつつ、モジュールを相互作用させるプロセスネットワークを調節することで、複雑系をなすような環境に適応し易くなる。
 また、複雑系をなすような環境に適応するシステムの普遍的な特徴として階層性が指摘されている(Herbert A. Simon, “The Sciences of the Artificial”, MIT Press,1996)。特に時間スケールの異なる階層間の相互作用の重要性は、古くはベルクソン哲学において指摘されており(Henri Bergson, “物質と記憶”, 講談社, 2019)、生物システムを力学系とみなして物理学的手法で解き明かそうとする研究の中でも指摘されている(金子 邦彦, “生命とは何か-複雑系生命科学へ”, 東京大学出版会, 2009;金子 邦彦, “普遍生物学: 物理に宿る生命、生命の紡ぐ物理”, 東京大学出版会, 2019;金子 邦彦, 澤井 哲, 高木 拓明, 古澤 力, “細胞の理論生物学: ダイナミクスの視点から”, 東京大学出版会, 2020)。また、2021年にノーベル物理学賞が授与されたスピングラスのような複雑系を扱う物理学などを基礎に急速に発展している深層学習(田中章詞, 富谷昭夫, 橋本幸士,“ディープラーニングと物理学”, 講談社 2019)も階層性をその特徴に有している。本発明の実施形態に係るプロセス実行システムは、階層型のプロセスネットワークモデルから階層型のプロセスネットワークを生成することが可能である。これにより、本発明の実施形態に係るプロセス実行システムは、複雑系をなすような環境に対してより適応し易いアーキテクチャを有するものと考えられる。
 さらに、深層学習の手法の一つとして、グラフで表現されたデータ構造を扱うGNN(Graph Neural Network)が近年急速に進歩している(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)。ネットワークはグラフとして表現可能であり、本発明の実施形態に係るプロセスネットワークモデルやプロセスネットワークもグラフないし二部グラフとして表現可能である。二部グラフはペトリネットとも呼ばれ、イベントデータからプロセスモデルを抽出するプロセスマイニングでは、プロセスモデルをペトリネットで表現することが多い(Wil M. P. van der Aalst, “Process Mining: Data Science in Action”, Springer, 2016)。
 ビジネスプロセスをプロセスネットワークモデルやプロセスネットワークなどのグラフとして表現することで、GNNなどの深層学習の手法を適用し易くなる。例えば、対象業務のデータから、対象業務に含まれるビジネスプロセスを表現するプロセスネットワークモデルを生成するようなGNNを学習するといったことが考えられる。これにより、これまで手作業で行ってきたビジネスプロセスのモデル化を大幅に自動化できる可能性もある。プロセスネットワークモデルをGNNなどによって生成し、生成されたプロセスネットワークモデルを本発明の実施形態に係るプロセス実行システムに入力してプロセスネットワークを生成し、生成されたプロセスネットワークを当該プロセス実行システムによって実行させることで、対象業務のモデル化からビジネスプロセスの実行までをend to endで自動化できる可能性がある。
 また、異なる企業や業種であっても類似する業務は存在する。一の企業の一の業務に含まれるビジネスプロセスを表現するプロセスネットワークモデルが、当該一の業務に類似する他の企業の他の業務に流用できる可能性がある。本発明の実施形態に係るプロセス実行システムは、プロセスネットワークモデルの実行環境として機能するが、各々のプロセスの実行に必要なアクションに関する実体的な内容はアクション実行システム側で定義される。すなわち、本発明の実施形態に係るプロセス実行システムは、当該プロセス実行システムとアクション実行システムとが疎に結合していることから、上述したプロセスネットワークモデルの流用を容易にする。これにより、本発明の実施形態に係るプロセス実行システムは、プロセスモデル自体の流通を促進し、プロセスモデルの作成に係る重複投資を軽減し、もって環境負荷の低減にも寄与し得る。
 以下、各図面を参照して、本発明の実施形態を説明する。
 (第1実施形態)
 図1は、本実施形態に係るプロセス実行システム100と、プロセス実行システム100と通信するアクション実行システム50の構成を示す図である。図1に示すように、プロセス実行システム100は、アクション実行システム50との間で通信手段90を介して情報を送受信する。
 本実施形態に係るプロセス実行システム100は、サーバーマシン上で動作するWebアプリとして構成される。プロセス実行システム100は、Webアプリを構成するためのフレームワークを使用して構成できる。プロセス実行システム100をWebアプリとして構成するためのフレームワークとして、例えばDjango、FlaskおよびRuby on Rails等を使用できる。プロセス実行システム100を実行するサーバーマシンは、オンプレミスのサーバーマシンであってもよく、または商用のクラウドサービスを利用した仮想サーバーマシンであってもよい。
 本実施形態に係るアクション実行システム50は、サーバーマシン上で動作するWebアプリ、プロセス実行システム100から呼び出されるライブラリ、商用のクラウドサービスが提供するRPAサービス、または商用のRPAアプリ等で構成される。
 アクション実行システム50を、サーバーマシン上で動作するWebアプリとして構成する場合には、アクション実行システム50は、Webアプリを構成するためのフレームワークを使用して構成できる。アクション実行システム50をWebアプリとして構成するためのフレームワークとして、例えば、Django、FlaskおよびRuby on Rails等を使用できる。アクション実行システム50を実行するサーバーマシンは、オンプレミスのサーバーマシンであってもよく、または商用のクラウドサービスを利用した仮想サーバーマシンであってもよい。
 アクション実行システム50を、プロセス実行システム100から呼び出されるライブラリとして構成する場合、当該ライブラリは、プロセス実行システム100を構成するライブラリの一部であってよい。アクション実行システム50を構成するライブラリがプロセス実行システム100を構成するライブラリの一部である場合、アクション実行システム50を構成するライブラリは、プロセス実行システム100が動作するサーバーマシン上で実行される。
 アクション実行システム50を、商用のクラウドサービスが提供するRPAサービスによって構成する場合、アクション実行システム50を構成するRPAサービスとして、例えば、Microsoft Corporationが提供するPower Automateを使用できる。
 アクション実行システム50を、商用のRPAアプリによって構成する場合、アクション実行システム50を構成するRPAアプリとしては、例えば、Microsoft Corporationが提供するPower Automate for desktopを使用できる。RPAアプリは、クライアントPC上で動作させることができる。
 通信手段90は、インターネットやイントラネットなどで構成できる。また、プロセス実行システム100およびアクション実行システム50が、同一のサーバーマシンで動作するオペレーティングシステム(OS)上の異なるタスクとして実行されている場合には、通信手段90は、オペレーティングシステムが備えているタスク間通信でもよい。さらに、アクション実行システム50が、プロセス実行システム100から呼び出されるライブラリとして構成されている場合には、通信手段90は、プロセス実行システム100から当該ライブラリを呼び出す際にオペレーティングシステムが担うデータの送受信手段であってもよい。
 図2は、本実施形態に係るプロセス実行システム100のブロック図である。図2に示すように、プロセス実行システム100は、制御部110、記憶部120および通信部130を備える。これらの構成要素は、バス140を介して互いに接続される。
 制御部110は、CPU(Central Processing Unit)、およびRAM(Random Access Memory)、ROM(Read Only Memory)等のメモリにより構成され、プログラムに従ってプロセス実行システム100の各部の制御および演算処理を行う。制御部110の機能の詳細については後述する。
 記憶部120は、HDD(Hard Disc Drive)、SSD(Solid State Drive)等により構成され、各種プログラムおよび各種データを記憶する。記憶部120は、後述するプロセスネットワークモデルDМ1を構成するデータやプロセスネットワークD1を構成するデータを記憶する。記憶部120は、例えばPostgreSQL等を使用して、データベースサーバーとして機能させることができる。
 通信部130は、ネットワークを介して、外部の装置と通信するためのインターフェース回路(例えばLANカード等)である。
 以下、図3から図10を参照し、制御部110の機能について説明する。図3は、プロセス実行システム100の制御部110の機能を示す機能ブロック図である。図4は、プロセス実行システム100のプロセスネットワーク生成部150の機能ブロック図である。図5は、プロセス実行システム100のプロセスネットワークモデル入力部151が入力を受け付けるプロセスネットワークモデルDM1のデータ構造を例示する模式図である。図6は、プロセス実行システムのプロセスネットワーク生成部150によって生成されるプロセスネットワークD1のデータ構造を例示する模式図である。図7は、プロセス実行システム100のプロセスネットワークモデル入力部151が入力を受け付けるプロセスネットワークモデルDM1のプロセスマスタノードDM10のデータ構造を例示する模式図である。図8は、プロセス実行システム100のプロセスネットワーク生成部150によって生成されるプロセスネットワークD1のプロセスノードD10のデータ構造を例示する模式図である。図9は、プロセス実行システム100のプロセスネットワークモデル入力部151が入力を受け付けるプロセスネットワークモデルDM1のプロセスマスタノードDM10のアクション情報マスタDM153のデータ構造を例示する模式図である。図10は、プロセス実行システム100のプロセスネットワーク生成部150によって生成されるプロセスネットワークD1のプロセスノードD10のアクション情報D153のデータ構造を例示する模式図である。
 図3に示すように、制御部110は、プロセスネットワーク生成部150、プロセスネットワーク状態管理部160、プロセスネットワーク実行部170として機能する。
 図4に示すように、プロセスネットワーク生成部150は、プロセスネットワークモデルDМ1の入力を受け付けるプロセスネットワークモデル入力部151を備え、プロセスネットワークモデル入力部151が入力を受け付けたプロセスネットワークモデルDМ1からプロセスネットワークD1を生成する。オブジェクト指向言語との類推で説明すれば、プロセスネットワークモデルDМ1はクラスに相当し、プロセスネットワークD1は当該クラスのインスタンスないしオブジェクトに相当する。
 プロセスネットワークモデル入力部151は、プロセスネットワークモデルDМ1の入力を受け付けるGUI(Graphical User Interface)を有するように構成してもよいし、プロセスネットワークモデルDМ1の入力を受け付けるAPI(Application Programming Interface)を有するように構成してもよい。プロセスネットワークモデルDМ1の入力を受け付けるAPIは、例えば、HTTPを使用した通信によってプロセスネットワークモデルDМ1の入力を受け付けるように構成できる。また、プロセスネットワークモデルDМ1の入力を受け付けるGUIは、例えば、ブラウザからの操作によってプロセスネットワークモデルDМ1の入力を受け付けるように構成できる。
 プロセスネットワークモデル入力部151は、プロセスネットワークモデルDМ1の入力と合わせて、コンテキストデータの入力を受け付けてもよい。コンテキストデータは、例えば、プロセスネットワークモデルDМ1が表現する業務において処理するケースのケースID等のケース属性情報などである。
 プロセスネットワーク生成部150は、プロセスネットワークモデル入力部151が受け付けたプロセスネットワークモデルDМ1からプロセスネットワークD1を生成する際に、コンテキストデータを使用することによって、生成されるプロセスネットワークD1の内容を動的に変化させるように構成してもよい。これにより、プロセスネットワーク生成部150は、オブジェクト指向言語との類推で説明すれば、クラスに相当するプロセスネットワークモデルDМ1から、当該クラスのオブジェクトに相当するプロセスネットワークD1を生成する際に、生成されるオブジェクトの内容をコンテキストデータに応じて動的に変化させるのと同様のことを実現できる。
 また、プロセスネットワーク生成部150は、プロセスネットワークモデル入力部151が受け付けたコンテキストデータを、生成したプロセスネットワークD1と関連付けて記憶部120に記憶してもよい。これにより、プロセスネットワーク実行部170は、プロセスネットワークD1に含まれるプロセスノードD10を実行する際に、後述するAPIアドレスやAPIデータなどをコンテキストデータに応じて実行時に動的に変化させることによって、アクション実行システム50によって実行されるアクションの内容を実行時に動的に変化させることができる。例えば、プロセスネットワーク実行部170は、コンテキストデータとして記憶部120に記憶されているケース属性情報を使用することによって、アクション実行システム50に送信するAPIデータの内容を動的に変化させることができる。これにより、アクション実行システム50によって生成されるドキュメントの内容等をケース毎に変えることができる。
 図5に示すように、プロセスネットワークモデルDМ1は、プロセスマスタノードDМ10を複数含み、プロセスマスタノードDМ10同士の間の関係を表現している。好ましくは、プロセスネットワークモデルDМ1は、複数のプロセスマスタノードDМ10同士の間の関係を階層的に表現した階層型のプロセスネットワークモデルである。本実施形態では、プロセスネットワークモデルDМ1が階層型のプロセスネットワークモデルである場合を例に説明するが、これに限定されない。
 階層型のプロセスネットワークモデルDМ1は、ツリー構造を有する。階層型のプロセスネットワークモデルDМ1は、ルートプロセスマスタノードDМ10を有する。ルートプロセスマスタノードDМ10は、一または複数のプロセスマスタノードDМ10を子ノードとして有することができる。プロセスマスタノードDМ10は、一または複数のプロセスマスタノードDМ10を子ノードとして有することができる。同一の親に属するプロセスマスタノードDМ10の数は任意である。階層型のプロセスネットワークモデルDМ1は、ルートプロセスマスタノードDМ10が属する階層を第0階層、ルートプロセスマスタノードDМ10の直属の子のプロセスマスタノードDМ10が属する階層を第1階層として、以下、任意の数の階層を有することができる。同一の階層に属するプロセスマスタノードDМ10の数は任意である。
 図6に示すように、プロセスネットワークD1は、プロセスノードD10を複数含み、プロセスノードD10同士の間の関係を表現している。好ましくは、プロセスネットワークD1は、複数のプロセスノードD10同士の間の関係を階層的に表現した階層型のプロセスネットワークである。本実施形態では、プロセスネットワークD1が階層型のプロセスネットワークである場合を例に説明するが、これに限定されない。
 階層型のプロセスネットワークD1は、ツリー構造を有する。階層型のプロセスネットワークD1は、ルートプロセスノードD10を有する。ルートプロセスノードD10は、一または複数のプロセスノードD10を子ノードとして有することができる。プロセスノードD10は、一または複数のプロセスノードD10を子ノードとして有することができる。同一の親に属するプロセスノードD10の数は任意である。階層型のプロセスネットワークD1は、ルートプロセスノードD10が属する階層を第0階層、ルートプロセスノードD10の直属の子のプロセスノードが属する階層を第1階層として、以下、任意の数の階層を有することができる。同一の階層に属するプロセスノードD10の数は任意である。
 プロセスネットワーク生成部150は、プロセスネットワークモデルDМ1からプロセスネットワークD1を生成する際に、当該プロセスネットワークモデルDМ1に含まれるプロセスマスタノードDМ10の各々と、当該プロセスネットワークD1に含まれるプロセスノードD10の各々とが、一対一に対応するようにプロセスネットワークD1を生成するように構成できる。
 また、プロセスネットワーク生成部150は、プロセスネットワークモデルDМ1からプロセスネットワークD1を生成する際に、プロセスネットワークモデル入力部151が入力を受け付けたコンテキストデータに応じて、当該プロセスネットワークモデルDМ1に含まれるプロセスマスタノードDМ10に対応するプロセスノードD10の生成を制御するように構成してもよい。
 具体的には、プロセスネットワーク生成部150は、プロセスネットワークモデル入力部151が入力を受け付けたコンテキストデータを特定の種類に分類し、コンテキストデータが一の特定の種類に分類される場合においては一の特定のプロセスマスタノードDМ10に対応するプロセスノードD10を生成し、コンテキストデータが他の特定の種類に分類される場合には他の特定のプロセスマスタノードDМ10に対応するプロセスノードD10を生成してもよい。すなわち、プロセスネットワーク生成部150は、プロセスネットワークモデルDМ1からプロセスネットワークD1を生成する際に、コンテキストデータに応じてプロセスノードD10の生成に使用するプロセスマスタノードDМ10を選択的に切り替えるように構成してもよい。例えば、プロセスネットワーク生成部150は、コンテキストデータが一の特定の顧客名を含んでいる場合には一の特定のプロセスマスタノードDМ10に対応するプロセスノードD10を生成し(このとき後述する他の特定のプロセスマスタノードDМ10に対応するプロセスノードD10は生成しない)、コンテキストデータが他の特定の顧客名を含んでいる場合には他の特定のプロセスマスタノードDМ10に対応するプロセスノードD10を生成する(このとき前述した一の特定のプロセスマスタノードDМ10に対応するプロセスノードD10は生成しない)ように構成できる。
 また、プロセスネットワーク生成部150は、プロセスネットワークモデル入力部151が入力を受け付けたコンテキストデータを特定の種類に分類し、コンテキストデータが特定の種類に分類される場合においてのみ特定のプロセスマスタノードDМ10に対応するプロセスノードD10を生成する(あるいは生成しない)ように構成してもよい。例えば、プロセスネットワーク生成部150は、コンテキストデータが特定の顧客名を含んでいる場合においてのみ特定のプロセスマスタノードDМ10に対応するプロセスノードD10を生成する(あるいは生成しない)ように構成してもよい。
 図7は、プロセスマスタノードDМ10のデータ構造を例示する図である。プロセスマスタノードDМ10のデータは、プロセスマスタノード識別子DМ11と、親プロセスマスタノード識別子DМ12と、プロセス生成情報DМ15と、を有する。
 プロセスマスタノード識別子DМ11は、プロセスネットワークモデルDМ1に含まれるプロセスマスタノードDМ10を一意に識別するための識別子である。親プロセスマスタノード識別子DМ12は、プロセスマスタノードDМ10が属する親のプロセスマスタノードDМ10を識別するための識別子である。プロセスマスタノードDМ10がルートプロセスマスタノードの場合には、親プロセスマスタノード識別子DМ12は値なしに設定できる。
 図8は、プロセスノードD10のデータ構造を例示する図である。プロセスノードD10のデータは、プロセスノード識別子D11と、親プロセスノード識別子D12と、プロセス状態D13と、プロセス定義情報D15と、を有する。
 プロセスノード識別子D11は、プロセスネットワークD1に含まれるプロセスノードD10を一意に識別するための識別子である。親プロセスノード識別子D12は、プロセスノードD10が属する親のプロセスノードD10を識別するための識別子である。プロセスノードD10がルートプロセスノードの場合には、親プロセスノード識別子D12は値なしに設定できる。
 プロセス状態D13は、プロセスノードD10の状態を表現する。プロセスノードD10の状態は、実行可能状態を含む。好ましくは、プロセスノードD10の状態は完了状態を含む。さらに好ましくは、プロセスノードD10の状態は実行中状態、待機中状態およびエラー終了状態を含む。プロセス状態D13の値は、プロセスノードD10の状態を表現する文字列であってもよく、プロセスノードD10の状態を表現する数値であってもよく、プロセスノードD10の状態を表現するフラグの組み合わせであってもよい。
 プロセス生成情報DМ15は、プロセスネットワーク生成部150において、当該プロセス生成情報DМ15が属するプロセスマスタノードDМ10から生成されるプロセスノードD10のプロセス定義情報D15を生成するために使用される。プロセス定義情報D15は、当該プロセス定義情報D15によって定義されたプロセスを実行するのに必要なアクションに関する情報を含む。プロセス生成情報DМ15は、各種マスタを含む。プロセス生成情報DМ15に含まれる各種マスタの値は、プロセス生成情報DМ15によって生成されるプロセス定義情報D15の各項目の値として使用される。
 プロセスネットワーク生成部150は、プロセス生成情報DМ15に含まれる一のマスタの値がXの場合、当該マスタによって生成されるプロセス定義情報D15の一の項目の値をXとするように構成できる。
 また、プロセスネットワーク生成部150は、プロセスネットワークモデル入力部151が入力を受け付けたプロセスネットワークモデルDМ1からプロセスネットワークD1を生成する際に、プロセスネットワークモデル入力部151に入力されたコンテキストデータを使用することによって、生成されるプロセス定義情報D15を動的に変化させることが可能である。プロセス定義情報D15を動的に変化させる方法は特に限定されないが、例えば、Webアプリ作成用のフレームワークであるDjangoで使用されているDjango Template Language(DTL)などのテンプレートエンジンの仕組みを使用できる。具体的には、プロセス生成情報DМ15のマスタの値の中で動的に変化させたい部分にタグを埋め込んでおいて、プロセス定義情報D15を生成する際に、プロセスネットワークモデル入力部151に入力されたコンテキストデータに応じて当該タグを置換することによってプロセス定義情報D15を動的に変化させることが可能である。
 図7を参照して、プロセス生成情報DМ15は、プロセス番号マスタDМ151と、プロセス名マスタDМ152と、アクション情報マスタDМ153と、を含む。図8を参照して、プロセス定義情報D15は、プロセス番号D151と、プロセス名D152と、アクション情報D153と、を含む。プロセス番号D151はプロセス番号マスタDМ151によって生成され、プロセス名D152はプロセス名マスタDМ152によって生成され、アクション情報D153はアクション情報マスタDМ153によって生成される。
 プロセス生成情報DМ15が属するプロセスマスタノードDМ10から生成されるプロセスノードD10において実行されるアクションが存在しない場合には、当該プロセスマスタノードDМ10はアクション情報マスタDМ153を含まなくてもよい。例えば、アクションを実行する複数のプロセスマスタノードDМ10を束ねるために配置された親のプロセスマスタノードDМ10の場合、当該親のプロセスマスタノードDМ10において実行されるアクションがない場合がある。プロセスマスタノードDМ10がアクション情報マスタDМ153を含まない場合、当該プロセスマスタノードDМ10から生成されるプロセスノードD10はアクション情報D153を含まない。
 プロセス番号マスタDМ151の値およびプロセス番号D151の値は、例えば任意の自然数である。プロセスネットワーク生成部150は、プロセス番号マスタDМ151の値がN(任意の自然数)の場合、生成されるプロセスノードD10のプロセス番号D151がNとなるように構成できる。プロセス番号D151は、同一階層に属するプロセスノードD10において一意であってもよく、重複していてもよい。また、一部の番号のみが重複していてもよい。例えば、同一階層に属するプロセスノードD10が5つの場合、プロセス番号D151をそれぞれ、100、200、300、300、400というように設定できる。
 プロセス名マスタDМ152およびプロセス名D152の値は、任意の文字列である。プロセスネットワーク生成部150は、プロセス名マスタDМ152の値がS(任意の文字列)の場合、生成されるプロセス名D152がSになるように構成できる。
 アクション情報マスタDМ153は、当該アクション情報マスタDМ153が属するプロセスマスタノードDМ10から生成されるプロセスノードD10において実行されるアクションの内容を定義する。アクションの内容は、アクション実行システム50において実行可能なアクションである限り特に限定されない。
 Microsoft Corporationが提供するクラウドサービスであるMICROSOFT 365(登録商標)のPower Automateをアクション実行システム50として使用する場合には、アクションの内容は、例えば、ドキュメントの生成、メールの生成、承認依頼の送信、タスクの生成、予定の生成、チャットメッセージの投稿などである。ドキュメントは、例えば、メールや請求書などである。Power Automateを使用することで、各種ドキュメントを生成することが可能である。ドキュメントのファイル形式としては、例えば、Microsoft CorporationのOfficeのWordで使用可能なファイル形式、EXCEL(登録商標)で使用可能なファイル形式、OUTLOOK(登録商標)で使用可能なファイル形式、POWERPOINT(登録商標)で使用可能なファイル形式などである。承認依頼の送信は、Power AutomateからMICROSOFT 365(登録商標)の承認依頼アプリに承認依頼を送信することによって実行できる。タスクの生成は、Power AutomateからMICROSOFT 365(登録商標)のPlannerにタスクを登録することによって実行できる。予定の生成は、MICROSOFT 365(登録商標)のOUTLOOK(登録商標)に予定を生成することによって実行できる。チャットメッセージの投稿は、Power AutomateからMICROSOFT 365(登録商標)のTeamsの特定のユーザーとのチャットへのメッセージの投稿、特定のチャネルへのメッセージの投稿、特定のチャットグループへのメッセージの投稿などによって実行できる。
 図9は、アクション情報マスタDМ153のデータ構造を例示する図である。アクション情報マスタDМ153は、一または複数のアクションアイテムマスタDМ1531を含む。
 図10は、アクション情報D153のデータ構造を例示する図である。アクション情報D153は、一または複数のアクションアイテムD1531を含む。
 図9を参照して、アクションアイテムマスタDМ1531は、アクションアイテム番号マスタと、APIアドレスマスタと、APIデータマスタと、を有する。図10を参照して、アクションアイテムは、アクションアイテム番号と、APIアドレスと、APIデータと、を有する。アクションアイテム番号はアクションアイテム番号マスタによって生成され、APIアドレスはAPIアドレスマスタによって生成され、APIデータはAPIデータマスタによって生成される。
 アクションアイテム番号マスタの値およびアクションアイテム番号の値は、例えば任意の自然数である。プロセスネットワーク生成部150は、アクションアイテム番号マスタの値がN(任意の自然数)の場合、生成されるプロセスノードD10のアクションアイテム番号がNになるように構成できる。アクションアイテム番号は、一のアクション情報D153に属する一または複数のアクションアイテムにおいて一意であってもよく、重複していてもよい。また、一部のアクションアイテム番号のみが重複していてもよい。例えば、一のアクション情報D153に属するアクションアイテムが5つの場合、アクションアイテム番号をそれぞれ、1、2、3、3、4というように設定できる。
 APIアドレスは、当該APIアドレスが属するアクションアイテムによって定義されるアクションを実行するために使用する。プロセスネットワーク実行部170は、実行可能なプロセスノードD10に含まれるアクションを実行する際に、アクション実行システム50に対してAPIアドレスで指定されたAPI経由でアクション実行要求を送信して、アクション実行システム50に当該アクションを実行させる。
 APIアドレスマスタの値およびAPIアドレスの値は、文字列である。プロセスネットワーク生成部150は、APIアドレスマスタの値がS(任意の文字列)の場合、生成されるAPIアドレスがSになるように構成できる。プロセスネットワーク実行部170がアクション実行システム50のAPIにHTTPリクエストを送信してアクション実行システム50にアクションを実行させる場合には、APIアドレスはURLである。例えば、アクション実行システム50がPower Automateである場合には、APIアドレスは、Power Automateのフロー起動用のAPIのURLである。また、アクション実行システム50が、Django等のWebフレームワークによって構築されたオンプレミスサーバーもしくは仮想サーバー上で動作するWebアプリの場合には、APIアドレスは、当該Webアプリのアクション起動用のURLである。
 APIデータマスタの値およびAPIデータの値は、例えば任意の文字列である。プロセスネットワーク生成部150は、APIデータマスタの値がS(任意の文字列)の場合、生成されるAPIデータがSになるように構成できる。プロセスネットワーク実行部170がアクション実行システム50のAPIにHTTPリクエストを送信してアクション実行システム50にアクションを実行させる場合には、APIデータはHTTPリクエストにおけるボディである。例えば、アクション実行システム50がPower Automateである場合には、APIデータは、Power Automateのフロー起動用のAPIにPOSTするボディである。
 アクション情報マスタDМ153のデータ形式は特に限定されないが、例えばJSON形式を使用できる。JSON形式を使用することによって、一または複数のアクションアイテムマスタDМ1531を含むアクション情報マスタDМ153を一つの文字列で表現できる。これにより、プロセスネットワーク生成部150がプロセスネットワークモデルDМ1からプロセスネットワークD1を生成する際に、プロセスネットワークモデル入力部151が受け付けたコンテキストデータに応じてアクション情報マスタDМ153からアクション情報D153を動的に変化させる処理が容易になる。例えば、プロセス定義情報D15を動的に変化させる方法として上述したようにWebアプリ作成用のフレームワーク(Django等)で使用されているようなテンプレートエンジンの仕組みを使用した場合、アクション情報マスタDМ153に含まれるタグをコンテキストデータに応じて変換する際に、当該タグを変換後の値で一括して置換することができる。また、JSON形式のデータは、例えばMicrosoft Corporationが提供するVS CODE(登録商標)等のエディタを使用して効率よく作成や編集を行える。そのため、アクション情報マスタDМ153の編集やメンテナンスを業務担当者が容易に行える。また、プロセスネットワークモデルDМ1をGNN等の機械学習によって学習させる際に、アクションに関する情報が一つの文字列として表現されているため学習させ易い。
 アクション情報D153のデータ形式は特に限定されないが、例えばJSON形式を使用できる。JSON形式を使用することによって、一または複数のアクションアイテムを含むアクション情報D153を一つの文字列で表現できる。また、プロセスネットワークD1のデータを使用してプロセスネットワークモデルDМ1をGNN等の機械学習によって学習させる際に、アクションに関する情報が一つの文字列として表現されているため学習させ易い。
 プロセスネットワーク状態管理部160は、プロセスネットワークD1に含まれるプロセスノードD10の状態と、所定のプロセス状態遷移規則と、に基づいてプロセスノードD10の状態遷移処理を行う。具体的には、プロセスネットワーク状態管理部160は、プロセスネットワークD1に含まれるプロセスノードD10の状態と、所定のプロセス状態遷移規則と、に基づいて、特定のプロセスノードD10を実行可能にする。プロセスネットワーク状態管理部160の動作の詳細は、図12から図14を参照して後述する。
 プロセスネットワーク実行部170は、プロセスネットワークD1に含まれる実行可能なプロセスノードD10が有するプロセス定義情報D15によって定義されたプロセスを実行する。プロセスネットワーク実行部170は、例えば、実行可能なプロセスノードD10をキューに保存しておいて、実行可能なプロセスノードD10のプロセスを順次または並列に実行できる。
 プロセスネットワーク実行部170は、実行可能なプロセスノードD10のプロセス定義情報D15が含むアクション情報D153に基づいて当該アクションの実行要求をアクション実行システム50に送信することによって、当該プロセス定義情報D15によって定義されたプロセスを実行する。具体的には、プロセスネットワーク実行部170は、実行可能なプロセスノードD10のプロセス定義情報D15に含まれるアクションアイテムの内容に基づいて、アクション実行システム50に対してアクションの実行要求を送信する。より具体的には、プロセスネットワーク実行部170は、アクションアイテムに含まれるAPIアドレスに対してAPIデータを送信することでアクション実行システム50にアクションを実行させる。例えば、アクション実行システム50がHTTPによるAPI経由でのアクション実行要求を受け付ける場合には、プロセスネットワーク実行部170は、アクションアイテムに含まれるAPIアドレスに対してAPIデータをボディとするHTTPのPOSTを行う。
 次に図11から図15を参照し、プロセス実行システム100の動作を説明する。図11は、プロセス実行システム100において実行される処理の手順を表すフローチャートである。図12は、プロセス実行システム100において実行されるプロセスノードの状態遷移処理の手順を表すフローチャートである。図13は、プロセス実行システム100において実行される親プロセスノードの配下のプロセスノード群に対する状態遷移処理の手順を表すフローチャートである。図14は、プロセス実行システム100において実行される最小のプロセス番号D151を有するプロセスノード群に対する状態遷移処理の手順を表すフローチャートである。図15は、プロセス実行システム100において実行される実行可能なプロセスノードD10の実行処理の手順を表すフローチャートである。図11から図15のフローチャートに示す処理は、プログラムに従い、プロセス実行システム100の制御部110により実行される。
 図11に示すように、プロセス実行システム100の制御部110により実行されるプログラムは、プロセスネットワークモデルDМ1の入力を受け付けるステップS11と、プロセスネットワークD1を生成するステップS12と、プロセスノードD10の状態遷移処理を行うステップS13と、実行可能なプロセスノードD10の実行処理を行うステップS14と、プロセスネットワークD1に含まれる全てのプロセスノードD10が完了状態になっているか判断するステップS15と、を有する。
 (ステップS11)
 プロセスネットワークモデル入力部151は、プロセスの内容を定義したプロセス定義情報D15を生成するために使用されるプロセス生成情報DМ15を有するプロセスマスタノードDМ10を複数含み、当該複数のプロセスマスタノードDМ10によって生成されるプロセスノードD10同士の間の関係を表現したプロセスネットワークモデルDМ1の入力を受け付ける。プロセスネットワークモデル入力部151は、プロセスネットワークモデルDМ1の入力を受け付ける際に、コンテキストデータの入力を受け付けてもよい。
 (ステップS12)
 プロセスネットワーク生成部150は、プロセスネットワークモデル入力部151が入力を受け付けたプロセスネットワークモデルDМ1から、プロセス定義情報D15を有するプロセスノードD10を複数含むプロセスネットワークD1を生成する。
 (ステップS13)
 プロセスネットワーク状態管理部160は、プロセスネットワークD1に含まれるプロセスノードD10の状態と、所定のプロセス状態遷移規則と、に基づいてプロセスノードD10の状態遷移処理を行う。
 具体的には、プロセスネットワーク状態管理部160は、プロセスネットワークD1に含まれるプロセスノードD10の状態と、所定のプロセス状態遷移規則と、に基づいて、特定のプロセスノードD10を実行可能にする。プロセスネットワーク状態管理部160は、プロセスネットワークD1に含まれる複数のプロセスノードD10の状態の組み合わせに基づいて特定のプロセスノードD10を実行可能にするように構成できる。プロセスネットワーク状態管理部160は、プロセスネットワークD1に含まれるプロセスノードD10のうち、アクション情報D153を有するプロセスノードD10の各々を少なくとも1回は実行可能にするように構成できる。
 プロセスネットワーク状態管理部160は、プロセスネットワークD1が階層型のプロセスネットワークである場合、プロセスネットワークD1に含まれる異なる階層に属する複数のプロセスノードD10の状態の組み合わせに応じて特定のプロセスを実行可能にするように構成できる。プロセスネットワーク状態管理部160は、プロセスネットワークD1が階層型のプロセスネットワークである場合、深い階層に属するプロセスノードD10の方が浅い階層に属するプロセスノードD10よりも優先して実行可能になるように構成できる。プロセスネットワーク状態管理部160は、プロセスネットワークD1が階層型のプロセスネットワークである場合、子のプロセスノードD10の実行が完了した後に当該子のプロセスノードD10の親のプロセスノードD10が実行可能になるように構成できる。
 (ステップS14)
 プロセスネットワーク実行部170は、プロセスネットワークD1に含まれる実行可能なプロセスノードD10の実行処理を行う。
 (ステップS15)
 プロセスネットワーク実行部170は、プロセスネットワークD1に含まれる全てのプロセスノードD10が完了状態になっているか判断する。プロセスネットワークD1に含まれる全てのプロセスノードD10が完了状態になっていない場合には、ステップS13に戻る。プロセスネットワークD1に含まれる全てのプロセスノードD10が完了状態になっている場合には、処理を終了する。
 図12から図14を参照して、ステップS13において行われるプロセスノードD10の状態遷移処理について説明する。
 図12を参照して、ステップS13において行われるプロセスノードD10の状態遷移処理は、ルートプロセスノードD10を親プロセスノードに設定するステップS131と、親プロセスノードの配下のプロセスノード群に対する状態遷移処理を実行するステップS132と、を有する。
 図13を参照して、親プロセスノードの配下のプロセスノード群に対する状態遷移処理は、親プロセスノードの子のプロセスノードの中で未完了のプロセスノードD10を抽出するステップS1321と、未完了のプロセスノードD10が存在するか否か判断するステップS1322と、未完了のプロセスノードD10の中から最小のプロセス番号D151を有するプロセスノード群を抽出するステップS1323と、最小のプロセス番号D151を有するプロセスノード群に対する状態遷移処理を実行するステップS1324と、親プロセスノードがアクション情報D153を有するか否か判断するステップS1325と、親プロセスノードを実行可能状態にするステップS1326と、親プロセスノードを完了状態にするステップS1327と、を有する。
 (ステップS1321)
 プロセスネットワーク状態管理部160は、親プロセスノードの子のプロセスノードの中で未完了のプロセスノードD10を抽出する。親プロセスノードの子のプロセスノードとは、親プロセスノードD10の直属の子のプロセスノードD10を意味し、親プロセスノードD10の直属の子のプロセスノードD10の子のプロセスノードD10(親プロセスノードD10の孫のプロセスノードD10)等は含まない。
 (ステップS1322)
 プロセスネットワーク状態管理部160は、ステップS1321において抽出した未完了のプロセスノードD10が存在するか否かを判断する。未完了のプロセスノードD10が存在する場合には、ステップS1323に進む。未完了のプロセスノードD10が存在しない場合には、ステップS1325に進む。
 (ステップS1323)
 プロセスネットワーク状態管理部160は、ステップS1321で抽出した未完了のプロセスノードD10の中から、最小のプロセス番号D151を有するプロセスノード群を抽出する。最小のプロセス番号D151を有するプロセスノード群とは、最小のプロセス番号D151を有するプロセスノードD10によって構成される集合を意味する。
 (ステップS1324)
 プロセスネットワーク状態管理部160は、ステップS1323で抽出した最小のプロセス番号D151を有するプロセスノード群に対する状態遷移処理を実行する。
 (ステップS1325)
 プロセスネットワーク状態管理部160は、親プロセスノードがアクション情報D153を有するか否か判断する。親プロセスノードがアクション情報D153を有する場合には、ステップS1326に進む。アクション情報D153を有していない場合には、ステップS1327に進む。
 (ステップS1326)
 プロセスネットワーク状態管理部160は、親プロセスノードを実行可能状態にする。
 (ステップS1327)
 プロセスネットワーク状態管理部160は、親プロセスノードを完了状態にする。
 図14を参照して、最小のプロセス番号D151を有するプロセスノード群に対する状態遷移処理は、最小のプロセス番号D151を有するプロセスノードD10が子のプロセスノードD10を有するか否か判断するステップS13241と、最小のプロセス番号D151を有するプロセスノードD10を親プロセスノードに設定するステップS13242と、親プロセスノードの配下のプロセスノード群に対する状態遷移処理を実行するステップS13243と、最小のプロセス番号D151を有するプロセスノードD10がアクション情報D153を有するか判断するステップS13244と、最小のプロセス番号D151を有するプロセスノードD10を実行可能状態にするステップS13245と、最小のプロセス番号D151を有するプロセスノードD10を完了状態にするステップS13246と、最小のプロセス番号D151を有するプロセスノードD10全てについて処理したか否か判断するステップS13247と、を有する。
 (ステップS13241)
 プロセスネットワーク状態管理部160は、最小のプロセス番号D151を有するプロセスノードD10が子のプロセスノードを有するか否か判断する。最小のプロセス番号D151を有するプロセスノードD10が子のプロセスノードを有する場合には、ステップS13242に進む。最小のプロセス番号D151を有するプロセスノードD10が子のプロセスノードを有していない場合には、ステップS13244に進む。
 (ステップS13242)
 プロセスネットワーク状態管理部160は、最小のプロセス番号D151を有するプロセスノードD10を新たな親プロセスノードに設定する。
 (ステップS13243)
 プロセスネットワーク状態管理部160は、親プロセスノードの配下のプロセスノード群に対する状態遷移処理を実行する。
 (ステップS13244)
 プロセスネットワーク状態管理部160は、最小のプロセス番号D151を有するプロセスノードD10がアクション情報D153を有するか否か判断する。アクション情報D153を有している場合には、ステップS13245に進む。アクション情報D153を有していない場合には、ステップS13246に進む。
 (ステップS13245)
 プロセスネットワーク状態管理部160は、最小のプロセス番号D151を有するプロセスノードD10を実行可能状態にする。
 (ステップS13246)
 プロセスネットワーク状態管理部160は、最小のプロセス番号D151を有するプロセスノードD10を完了状態にする。
 (ステップS13247)
 プロセスネットワーク状態管理部160は、最小のプロセス番号D151を有するプロセスノード群に含まれるプロセスノードD10を全て処理したか否か判断する。最小のプロセス番号D151を有するプロセスノード群に含まれるプロセスノードD10を全て処理していない場合には、ステップS13241に戻る。最小のプロセス番号D151を有するプロセスノード群に含まれるプロセスノードD10を全て処理した場合には処理を終了する。
 図15を参照して、ステップS14において行われる実行可能なプロセスノードD10の実行処理は、実行可能なプロセスノードD10が存在するか否か判断するステップS141と、実行可能なプロセスノードD10を実行するステップS142と、実行を完了したプロセスノードD10の状態を完了状態にするステップS143と、を有する。
 (ステップS141)
 プロセスネットワーク実行部170は、プロセスノードD10が実行可能状態か否かを判断する。プロセスノードD10が実行可能状態か否かの判断は、プロセスノードD10に含まれるプロセス状態D13の値を調べることによって判断する。
 (ステップS142)
 プロセスネットワーク実行部170は、実行可能なプロセスノードD10のプロセス定義情報D15が含むアクションに関する情報に基づいて当該アクションの実行要求をアクション実行システム50に送信することによって、当該プロセス定義情報D15によって定義されたプロセスを実行する。具体的には、プロセスネットワーク実行部170は、実行可能なプロセスノードD10のプロセス定義情報D15に含まれるアクションアイテムの内容に基づいて、アクション実行システム50に対してアクションの実行要求を送信する。プロセスネットワーク実行部170は、アクション情報D153が複数のアクションアイテムを含む場合には、アクションアイテム番号が小さい順にアクションアイテムを実行してもよい。
 (ステップS143)
 プロセスネットワーク実行部170は、実行を完了したプロセスノードD10のプロセス状態D13を完了状態にする。プロセス状態D13を完了状態にする方法は特に限定されないが、例えば、プロセスネットワーク実行部170は、記憶部120に記憶されているプロセスネットワークD1のプロセスノードD10のプロセス状態D13を完了状態にするように記憶部120に対して要求することによって、実行を完了したプロセスノードD10のプロセス状態D13を完了状態にすることができる。記憶部120に対する要求は、記憶部120がデータベースサーバーとして機能している場合には、SQLクエリの送信によって行うことができる。
 図16および図17を参照して、図12から図14を用いて説明したプロセスノードD10の状態遷移処理を行うステップS13の動作例を説明する。
 図16は、プロセス実行システム100において実行されるプロセスノードD10の状態遷移処理を行うステップS13の動作例について説明するために使用するプロセスネットワークD1のデータ構造を示す模式図である。図16に示すプロセスネットワークD1において、ルートプロセスノードL01は、プロセスノードL11、L12およびL13を子のプロセスノードとして有する。プロセスノードL11は、プロセスノードL21、L22およびL23を子のプロセスノードとして有する。プロセスノードL12は、プロセスノードL24およびL25を子のプロセスノードとして有する。図20に示すプロセスネットワークD1に含まれるプロセスノードのうち、灰色で着色したプロセスノードL21、L22、L23、L24、L25およびL13はアクション情報D153を有し、灰色で着色されていないプロセスノードL01、L11およびL12はアクション情報D153を有していない。各ノード内の数字はプロセス番号を表す。
 図17は、プロセス実行システム100において実行されるプロセスノードD10の状態遷移処理を行うステップS13の動作例について説明するために使用するプロセスノードの状態遷移を表す図である。プロセスネットワーク状態管理部160によるプロセスノードD10の状態遷移処理は、一のプロセスネットワークD1に含まれる全てのプロセスノードD10が完了状態になるまで繰り返し適用される(図11参照)。図17は、状態遷移処理を行うことによってプロセスノードD10の状態がどのように遷移するかを示す。なお、以下の説明では、一の状態遷移処理から次の状態遷移処理を実行するまでの間に、当該一の状態遷移処理で実行可能状態になったプロセスノードD10は、プロセスネットワーク実行部170によって実行されて完了状態になっているものとする。
 図12を参照して、まず、ステップS131においてルートプロセスノードL01を親プロセスノードに設定する。次に、ステップS132において、親プロセスノードL01の配下のプロセスノード群に対する状態遷移処理を実行する。
 図13を参照して、親プロセスノードL01の配下のプロセスノード群に対する状態遷移処理では、ステップS1321において、親プロセスノードL01の子のプロセスノードL11、L12およびL13の中で、未完了のプロセスノードL11、L12およびL13を抽出する。ステップS1321において未完了の子のプロセスノードL11、L12およびL13が抽出されたので、ステップS1322の判断はYesになる。次に、ステップS1323において、未完了のプロセスノードL11、L12およびL13の中から最小のプロセス番号100を有するプロセスノード群{L11,L12}を抽出する。ステップS1324において、最小のプロセス番号100を有するプロセスノード群{L11,L12}に対する状態遷移処理を実行する。
 図14を参照して、最小のプロセス番号100を有するプロセスノード群{L11,L12}に対する状態遷移処理は、最小のプロセス番号100を有するプロセスノード群{L11,L12}に含まれるプロセスノードL11およびL12の各々について行われる。
 まず、プロセスノードL11の配下のプロセスノード群に対する状態遷移処理について説明する。プロセスノードL11は子のプロセスノードL21、L22およびL23を有するからステップS13241の判断はYesとなり、ステップS13242に進む。ステップS13242ではプロセスノードL11を新たな親プロセスノードに設定する。ステップS13243において、親プロセスノードL11の配下のプロセスノード群に対する状態遷移処理を実行する。図13を参照して、親プロセスノードL11の配下のプロセスノード群に対する状態遷移処理では、ステップS1321において、親のプロセスノードL11の子のプロセスノードの中から未完了のプロセスノードL21、L22およびL23を抽出する。未完了のプロセスノードL21、L22およびL23が存在するから、ステップS1322の判断はYesになり、ステップS1323に進む。ステップS1323において、未完了の子のプロセスノードL21、L22およびL23の中から、最小のプロセス番号100を有するプロセスノード群{L21}を抽出する。ステップS1324において、最小のプロセス番号100を有するプロセスノード群{L21}に対する状態遷移処理を実行する。図14を参照して、最小のプロセス番号100を有するプロセスノード群{L21}に対する状態遷移処理では、プロセスノードL21が子のプロセスノードを有していないから、ステップS13241の判断はNoとなり、ステップS13244に進む。プロセスノードL21はアクション情報D153を有するからステップS13244の判断はYesとなり、ステップS13245に進む。ステップS13245において、プロセスノードL21を実行可能状態にして、プロセスノードL11の配下のプロセスノード群に対する状態遷移処理は終了する。
 プロセスノードL12配下のプロセスノード群に対する状態遷移処理についても同様に行われ、プロセスノードL24を実行可能状態にして処理が終了する。
 図14を参照して、プロセスノードL11の配下のプロセスノード群に対する状態遷移処理およびプロセスノードL12配下のプロセスノード群に対する状態遷移処理を完了すると、S13247の判断がYesになって、最小のプロセス番号100を有するプロセスノード群{L11,L12}に対する状態遷移処理を完了する。これにより、1回目の状態遷移処理が完了する。
 次に2回目の状態遷移処理を行うと、1回目の状態遷移処理と同様に処理が行われてプロセスノードL22およびプロセスノードL25が実行可能状態になる。
 次に3回目の状態遷移処理を行うと、図12のステップS131、S132、図13のステップS1321、S1322、S1323の順に進む。ステップS1323において最小のプロセス番号100を有するプロセスノード群{L11,L12}を抽出し、ステップS1324に進む。ステップS1324において、最小のプロセス番号100を有するプロセスノード群{L11,L12}に対する状態遷移処理を実行する。
 図14を参照して、プロセスノードL11の配下のプロセスノード群に対する状態遷移処理では、ステップS13241、S13242、S13243の順に進む。ステップS13243において、親プロセスノードL11の配下のプロセスノード群に対する状態遷移処理を実行する。図13を参照して、親プロセスノードL11の配下のプロセスノード群に対する状態遷移処理では、ステップS1321、S1322,S1323、S1324の順に進む。ステップS1324において、最小のプロセス番号300を有するプロセスノード群{L23}に対する状態遷移処理を実行する。図14を参照して、最小のプロセス番号300を有するプロセスノード群{L23}に対する状態遷移処理では、ステップS13241、S13244、S13245の順に進み、プロセスノードL23を実行可能状態にして処理を終了する。
 図14を参照して、プロセスノードL12の配下のプロセスノード群に対する状態遷移処理では、S13241、S13242、S13243の順に進む。ステップS13243において、親プロセスノードL12の配下のプロセスノード群に対する状態遷移処理を実行する。図13を参照して、親プロセスノードL12の配下のプロセスノード群に対する状態遷移処理では、ステップS1321、S1322、S1325、S1327の順に進み、プロセスノードL12を完了状態にして処理を終了する。
 次に4回目の状態遷移処理を行うと、図12のステップS131、S132、図13のステップS1321、S1322、S1323の順に進む。ステップS1323において、最小のプロセス番号100を有するプロセスノード群{L11}が抽出され、ステップS1324において、最小のプロセス番号100を有するプロセスノード群{L11}に対する状態遷移処理を実行する。図14を参照して、最小のプロセス番号100を有するプロセスノードL11に対する状態遷移処理では、ステップS13241、S13242、S13243の順に進む。ステップS13243において、親プロセスノードL11の配下のプロセスノード群に対する状態遷移処理を実行する。図13を参照して、親プロセスノードL11の配下のプロセスノード群に対する状態遷移処理では、ステップS1321、S1322、S1325、S1327の順に進み、プロセスノードL11を完了状態にして処理を終了する。
 次に5回目の状態遷移処理を行うと、図12のステップS131、S132、図13のステップS1321、S1322、S1323の順に進む。ステップS1323において最小のプロセス番号200を有するプロセスノード群{L13}が抽出され、ステップS1324に進む。ステップS1324において、最小のプロセス番号200を有するプロセスノード群{L13}に対する状態遷移処理を実行する。図14を参照して、最小のプロセス番号200を有するプロセスノードL13に対する状態遷移処理では、ステップS13241、S13244、S13245の順に進み、プロセスノードL13を実行可能状態にして処理を終了する。
 次に6回目の状態遷移処理を行うと、図12のステップS131、S132、図13のステップS1321、S1322、S1325、S1327の順に進む。ステップS1327において、親プロセスノードL01(ルートプロセスノード)を完了状態にして処理を終了する。これにより、プロセスネットワークD1に含まれる全てのプロセスノードD10の状態が完了状態になる。
 (作用効果)
 本実施形態に係るプロセス実行システム100は、プロセスの内容を定義したプロセス定義情報D15を生成するために使用されるプロセス生成情報DМ15を有するプロセスマスタノードDМ10を複数含み、当該複数のプロセスマスタノードDМ10によって生成されるプロセスノードD10同士の間の関係を表現したプロセスネットワークモデルDМ1から、プロセス定義情報D15を有するプロセスノードD10を複数含むプロセスネットワークD1を生成するプロセスネットワーク生成部150と、プロセスネットワークD1に含まれるプロセスノードD10の状態と、所定のプロセス状態遷移規則と、に基づいて、特定のプロセスノードD10を実行可能にするプロセスネットワーク状態管理部160と、プロセスネットワークD1に含まれる実行可能なプロセスノードD10が有するプロセス定義情報D15によって定義されたプロセスを実行するプロセスネットワーク実行部170と、を有し、プロセスネットワーク生成部150は、プロセスネットワークモデルDМ1の入力を受け付けるプロセスネットワークモデル入力部151を備え、当該プロセスネットワークモデル入力部151が入力を受け付けたプロセスネットワークモデルDМ1からプロセスネットワークD1を生成し、プロセス定義情報D15は、当該プロセス定義情報D15によって定義されたプロセスを実行するのに必要なアクションに関する情報D153を含み、プロセスネットワーク実行部170は、要求に応じて所定のアクションを実行するアクション実行システム50に対して、実行可能なプロセスノードD10のプロセス定義情報D15が含むアクションに関する情報D153に基づいて当該アクションの実行要求を送信することによって、当該プロセス定義情報D15によって定義されたプロセスを実行する。
 これにより、本実施形態に係るプロセス実行システム100は、プロセスネットワークモデルDМ1の実行環境として機能し、プロセスネットワークモデルDМ1を変更することによって実行結果も変化させることができるため、業務内容の変更等に柔軟に対応できる。
 また、プロセスの実行に必要なアクションは、プロセス実行システム100から独立したアクション実行システム50によって実行される。これにより、プロセスの実行に必要なアクションの実体的な内容は、アクション実行システム50側に定義すればよく、プロセスネットワークモデルDМ1には、アクション実行システム50に対するアクションの実行要求の方法を定義すればよい。そのため、業務担当者自らがプロセスネットワークモデルDМ1の作成や修正等を行い易くなるから、より柔軟に業務内容の変更等に対応できる。
 また、プロセスの実行に必要なアクションの実体的な内容をアクション実行システム50側に定義することで、異なる業務間で類似するアクションを再利用し易くなる。すなわち、一の業務を表現するプロセスネットワークモデルで使用するアクションを再利用することで、類似する他の業務をプロセスネットワークモデルによって素早く表現して実行することができる。そのため、本実施形態に係るプロセス実行システム100によれば、多様な業務に対して素早く適応することが容易になる。
 さらに、業務を構成するビジネスプロセスが、プロセスネットワークモデルDМ1として表現されるため、プロセス同士の関係が把握し易い。これにより、一部のプロセスの実行結果や変更内容が他のプロセスに予期しない影響を与えることを未然に防ぎ易くなる。また、プロセスネットワークモデルDМ1がその実行環境(プロセス実行システム100)から分離しているため、プロセスネットワークモデルDМ1を参照することによって、プロセスネットワークモデルDМ1に基づいて実行される業務の内容を評価し易くなる。その結果、安定した業務運営をし易くなる。
 以上のことから、本実施形態に係るプロセス実行システム100によれば、可塑性と安定性とを両立させることによって変化の速度が速いビジネス環境への適応度が高いプロセス実行システム100を提供できる。
 また、本実施形態に係るプロセス実行システム100において、プロセスネットワークモデル入力部151は、複数のプロセスマスタノードDМ10によって生成されるプロセスノードD10同士の間の関係を階層的に表現した階層型のプロセスネットワークモデルDМ1の入力を受け付け、プロセスネットワーク生成部150は、プロセスネットワークモデル入力部151が受け付けた階層型のプロセスネットワークモデルDМ1に対応する階層型のプロセスネットワークD1を生成する。
 本実施形態に係るプロセス実行システム100によれば、プロセスネットワークモデルDМ1は階層的に表現される。これにより、プロセスネットワークモデルDМ1の一部の変更による影響が局所化され、プロセスネットワークモデルDМ1の他の部分に与える影響を小さくできる。そのため、安定性を確保しつつ、プロセスネットワークモデルDМ1を変更することがより容易になる。また、プロセスネットワークモデルDМ1が階層的に表現されることにより、プロセス同士の間の関係をより容易に把握できるため、安定した業務運営がさらに容易になる。以上のことから、本実施形態によれば、可塑性と安定性とを両立させることによって変化の速度が速いビジネス環境への適応度が高いプロセス実行システム100を提供することがより容易になる。
 (第2の実施形態)
 第2実施形態に係るプロセス実行システム200は、概説すれば、プロセスネットワーク状態管理部が特定のプロセスノードの状態を変更するプロセス状態変更要求を受け付ける点、プロセスマスタノードが非同期フラグマスタおよび自動起動フラグマスタ、並びにプロセスノードが非同期フラグおよび自動起動フラグを有する点で、第1実施形態に係るプロセス実行システム100とは異なる。第2実施形態に係るプロセス実行システム200によれば、非同期処理を含むビジネスプロセスの実行が容易になる。
 非同期処理とは、例えば、顧客に対して何らかの問い合わせをし、問い合わせに対する返答があったときに特定の処理を実行するような処理である。顧客に対して何らかの問い合わせをしてから返信を受信するまでの間は待ち時間が発生するが、待ち時間の間も、プロセス実行システム200は別の実行可能なプロセスノードを実行できるように構成しておくことが好ましい。第2実施形態に係るプロセス実行システム200によれば、そうした非同期処理を含むビジネスプロセスの実行が容易になる。なお、第2実施形態に係るプロセス実行システム200は、以下で特に説明する構成を除いて、第1実施形態に係るプロセス実行システム100と同様に構成できる。
 図18は、本実施形態に係るプロセス実行システム200と、プロセス実行システム200と通信するアクション実行システム50の構成を示す図である。図19は、プロセス実行システム200のブロック図である。図20は、プロセス実行システム200の制御部210の機能ブロック図である。図21は、プロセス実行システム200のプロセスネットワーク状態管理部260の機能ブロック図である。図22は、プロセス実行システム200のプロセスネットワークモデル入力部151が入力を受け付けるプロセスネットワークモデルDM2のデータ構造を例示する模式図である。図23は、プロセス実行システム200のプロセスネットワーク生成部250によって生成されるプロセスネットワークD2のデータ構造を例示する模式図である。図24は、プロセス実行システム200のプロセスネットワークモデル入力部151が入力を受け付けるプロセスネットワークモデルDM2のプロセスマスタノードDM20のデータ構造を例示する模式図である。図25は、プロセス実行システム200のプロセスネットワーク生成部250によって生成されるプロセスネットワークD2のプロセスノードD20のデータ構造を例示する模式図である。以下、第2実施形態に係るプロセス実行システム200について説明する。
 図18に示すように、本実施形態に係るプロセス実行システム200は、アクション実行システム50との間で通信手段90を介して情報を送受信する。アクション実行システム50は、第1実施形態において説明したアクション実行システム50と同様に構成される。通信手段90は、第1実施形態において説明した通信手段90と同様に構成される。
 図19に示すように、本実施形態に係るプロセス実行システム200は、制御部210、記憶部220および通信部230を備える。これらの構成要素は、バス240を介して互いに接続される。記憶部220は、第1実施形態に係るプロセス実行システム100の記憶部120と同様に構成される。通信部230は、第1実施形態に係るプロセス実行システム100の通信部130と同様に構成される。バス240は、第1実施形態に係るプロセス実行システム100のバス140と同様に構成される。
 図20に示すように、制御部210は、プロセスネットワーク生成部250、プロセスネットワーク状態管理部260、プロセスネットワーク実行部270として機能する。プロセスネットワーク生成部250は、第1実施形態に係るプロセス実行システム100のプロセスネットワーク生成部150と同様に構成される。プロセスネットワーク実行部270は、第1実施形態に係るプロセス実行システム100のプロセスネットワーク実行部170と同様に構成される。
 図21に示すように、プロセスネットワーク状態管理部260は、プロセス状態変更要求受付部261を有する。
 プロセス状態変更要求受付部261は、特定のプロセスノードD20の状態を変更するプロセス状態変更要求を受け付ける。プロセスネットワーク状態管理部260は、プロセス状態変更要求受付部261が受け付けたプロセス状態変更要求に基づいてプロセスネットワークD1に含まれる当該特定のプロセスノードD20の状態を変更する。プロセス状態変更要求受付部261がプロセス状態変更要求を受け付ける対象のプロセスノードD20は、プロセス状態変更要求の送信側によってランダムに選択可能である。「ランダムに選択可能」における「ランダム」とは、プロセス実行システム200の内部状態とは因果関係を特定できないことを意味する。すなわち、「ランダムに選択可能」とは、プロセス状態変更要求受付部261から見たときに、プロセス状態変更要求が行われるタイミングや、プロセス状態変更要求が行われるプロセスノードD20を予測できないということを意味する。プロセス状態変更要求受付部261がプロセス状態変更要求を受け付ける対象のプロセスノードD20は、実行可能な状態に状態遷移したことのないプロセスノードD20であり得る。
 プロセス状態変更要求受付部261は、プロセス実行システム200の外部のシステムからプロセス状態変更要求を受け付け可能に構成される。プロセス状態変更要求受付部261は、プロセス状態変更要求を受け付けるAPIを有するように構成してもよいし、プロセス状態変更要求を受け付けるGUIを有するように構成してもよい。プロセス状態変更要求を受け付けるAPIは、例えば、HTTPを使用した通信によってプロセス状態変更要求を受け付けるように構成できる。また、プロセス状態変更要求を受け付けるGUIは、例えば、ブラウザからの操作によってプロセス状態変更要求を受け付けるように構成できる。
 図22に示すように、本実施形態に係るプロセスネットワークモデルDM2は、プロセスマスタノードDM20を複数含み、プロセスマスタノードDM20同士の間の関係を表現している。好ましくは、プロセスネットワークモデルDM2は、複数のプロセスマスタノードDM20同士の間の関係を階層的に表現した階層型のプロセスネットワークモデルDМ1である。プロセスネットワークモデルDM2は、以下に特に説明する点を除いて、第1実施形態に係るプロセスネットワークモデルDМ1と同様に構成される。
 図23に示すように、本実施形態に係るプロセスネットワークD2は、プロセスノードD20を複数含み、プロセスノードD20同士の間の関係を表現している。好ましくは、プロセスネットワークD2は、複数のプロセスノードD20同士の間の関係を階層的に表現した階層型のプロセスネットワークD1である。プロセスネットワークD2は、以下に特に説明する点を除いて、第1実施形態に係るプロセスネットワークD1と同様に構成される。
 図24を参照して、プロセスマスタノードDM20は、プロセスマスタノード識別子DM21と、親プロセスマスタノード識別子DM22と、プロセス生成情報DM25と、を有する。プロセスマスタノード識別子DM21は、第1実施形態に係るプロセスマスタノード識別子DM11と同様に構成できる。親プロセスマスタノード識別子DM22は、第1実施形態に係る親プロセスマスタノード識別子DM12と同様に構成できる。
 図25を参照して、プロセスノードD20は、プロセスノード識別子D21と、親プロセスノード識別子D22と、プロセス状態D23と、プロセス定義情報D25と、を有する。プロセスノード識別子D21は、第1実施形態に係るプロセスノード識別子D11と同様に構成できる。親プロセスノード識別子D22は、第1実施形態に係る親プロセスノード識別子D12と同様に構成できる。
 プロセス生成情報DM25は、プロセス番号マスタDM251と、プロセス名マスタDM252と、アクション情報マスタDM253と、非同期フラグマスタDM254と、自動起動フラグマスタDM255と、を含む。プロセス番号マスタDM251は、第1実施形態に係るプロセス番号マスタDM151と同様に構成できる。プロセス名マスタDM252は、第1実施形態に係るプロセス名マスタDM152と同様に構成できる。アクション情報マスタDM253は、第1実施形態に係るアクション情報マスタDM153と同様に構成できる。
 プロセス定義情報D25は、プロセス番号D251と、プロセス名D252と、アクション情報D253と、非同期フラグD254と、自動起動フラグD255と、を含む。プロセス番号D251は、第1実施形態に係るプロセス番号D151と同様に構成できる。プロセス名D252は、第1実施形態に係るプロセス名D152と同様に構成できる。アクション情報D253は、第1実施形態に係るアクション情報D153と同様に構成できる。
 非同期フラグマスタDM254の値および非同期フラグD254の値は、例えば真理値である。プロセスネットワーク生成部250は、非同期フラグマスタDM254の値がB(真理値TrueまたはFalse)の場合に、プロセスネットワーク生成部250において生成されるプロセスノードD20の非同期フラグの値がBになるように構成できる。
 自動起動フラグマスタDM255の値および自動起動フラグD255の値は、例えば真理値である。プロセスネットワーク生成部250は、自動起動フラグマスタDM255の値がB(真理値TrueまたはFalse)の場合に、プロセスネットワーク生成部250において生成されるプロセスノードD20の自動起動フラグD255の値がBになるように構成できる。
 次に図26および図27を参照し、本実施形態に係るプロセス実行システム200の動作を説明する。図26は、プロセス実行システム200において実行される処理の手順を表すフローチャートである。図27は、プロセス実行システム200において実行される実行可能なプロセスノードD20の実行処理の手順を表すフローチャートである。図26および図27のフローチャートに示す処理は、プログラムに従い、プロセス実行システム200の制御部210により実行される。
 図26に示すように、プロセス実行システム200の制御部210により実行されるプログラムは、プロセスネットワークモデルDМ2の入力を受け付けるステップS21と、プロセスネットワークD2を生成するステップS22と、プロセスノードD20の状態遷移処理を行うステップS23と、実行可能なプロセスノードD20の実行処理を行うステップS24と、プロセスネットワークD2に含まれる全てのプロセスノードD20が完了状態になっているか判断するステップS25と、を有する。プロセスネットワークモデルDМ2の入力を受け付けるステップS21は、第1実施形態に係るプロセスネットワークモデルDМ1の入力を受け付けるステップS11と同様に構成できる。プロセスネットワークD1を生成するステップS22は、第1実施形態に係るプロセスネットワークD1を生成するステップS12と同様に構成できる。プロセスネットワークD2に含まれる全てのプロセスノードD20が完了状態になっているか判断するステップS25は、第1実施形態に係るプロセスネットワークD1に含まれる全てのプロセスノードD10が完了状態になっているか判断するステップS15と同様に構成できる。
 (ステップS23)
 プロセスノードD20の状態遷移処理を行うステップS23は、第1実施形態に係るプロセス実行システム100のプロセスノードD10の状態遷移処理を行うステップS13と次の点を除いて同様に構成される。すなわち、プロセスネットワーク状態管理部260は、プロセスノードD20を実行可能状態にするステップS1326(図13参照)およびステップS13245(図14参照)において、プロセスノードD20が自動起動プロセスである場合には当該プロセスノードD20のプロセス状態D23を実行可能状態にし、プロセスノードD20が自動起動プロセスでない場合には当該プロセスノードD20のプロセス状態D23は変化させない。プロセスノードD20が自動起動プロセスであるか否かの判断は、当該プロセスノードD20の自動起動フラグD255の値に基づいて判断する。例えば、プロセスネットワーク状態管理部260は、当該プロセスノードD20の自動起動フラグの値がTrueの場合には自動起動プロセスであると判断し、自動起動フラグの値がFalseの場合には自動起動プロセスではないと判断する。
 (ステップS24)
 図27に示すように、ステップS24において行われる実行可能なプロセスノードD20の実行処理は、実行可能なプロセスノードD20が存在するか否か判断するステップS241と、実行可能なプロセスノードD20を実行するステップS242と、実行を完了したプロセスノードD20が非同期プロセスか否か判断するステップS243と、実行を完了したプロセスノードD20の状態を完了状態にするステップS244と、を有する。実行可能なプロセスノードD20が存在するか否か判断するステップS241は、第1実施形態に係る実行可能なプロセスノードD10が存在するか否か判断するステップS141と同様に構成できる。実行可能なプロセスノードD20を実行するステップS242は、第1実施形態に係る実行可能なプロセスノードD10を実行するステップS142と同様に構成できる。
 (ステップS243)
 プロセスネットワーク実行部270は、実行を完了したプロセスノードD20が非同期プロセスか否か判断する。実行を完了したプロセスノードD20が非同期プロセスであると判断した場合には処理を終了する。実行を完了したプロセスノードD20が非同期プロセスでないと判断した場合にはステップS244に進む。プロセスネットワーク実行部270は、実行を完了したプロセスノードD20の非同期フラグの値に基づいて、実行を完了したプロセスノードD20が非同期プロセスか否か判断する。具体的には、プロセスネットワーク実行部270は、実行を完了したプロセスノードD20の非同期フラグの値がTrueの場合に非同期プロセスと判断し、実行を完了したプロセスノードD20の非同期フラグの値がFalseの場合に非同期プロセスではない判断する。プロセスネットワーク実行部270は、実行を完了したプロセスノードD20が非同期プロセスである場合には、プロセス状態D23を待機中状態に変更するように構成してもよい。
 (ステップS244)
 プロセスネットワーク実行部270は、実行を完了したプロセスノードD20のプロセス状態D23を完了状態にする。プロセス状態D23を完了状態にする方法は特に限定されないが、例えば、第1実施形態のステップS143の説明で上述した記憶部220に対して要求を送信する方法であってよい。また、プロセスネットワーク実行部270は、実行を完了したプロセスノードD20のプロセス状態D23を完了状態にするプロセス状態変更要求をプロセスネットワーク状態管理部260に行ってもよい。
 (作用効果)
 本実施形態に係るプロセス実行システム200において、プロセスネットワーク状態管理部260は、特定のプロセスノードD20の状態を変更するプロセス状態変更要求を受け付けるプロセス状態変更要求受付部261を備え、当該プロセス状態変更要求受付部261が受け付けたプロセス状態変更要求に基づいてプロセスネットワークD1に含まれる当該特定のプロセスノードD20の状態を変更する。
 これにより、本実施形態に係るプロセス実行システム200によって実行されるプロセスネットワークモデルDМ2は、非同期処理を含むビジネスプロセスを表現し易くなる。そのため、業務内容の変更等に伴ってプロセスネットワークモデルDМ2を変更するのがより容易になるとともに、プロセスネットワークモデルDМ2のメンテナンス性も向上する。以上のことから、本実施形態によれば、可塑性と安定性とを両立させることによって変化の速度が速いビジネス環境への適応度が高いプロセス実行システム200を提供することがさらに容易になる。
 (第3の実施形態)
 第3実施形態に係るプロセス実行システム300は、概説すれば、制御部310が転写部380をさらに有する点において第2実施形態に係るプロセス実行システム200とは異なる。第3実施形態に係るプロセス実行システム300によれば、環境Eの変化に応じて実行されるプロセスの内容を変化させることができるため、変化の速度が速いビジネス環境への適応度をより向上させることができる。なお、第3実施形態に係るプロセス実行システム300は、以下で特に説明する構成を除いて、第2実施形態に係るプロセス実行システム200と同様に構成できる。
 図28は、本実施形態に係るプロセス実行システム300の制御部310の機能ブロック図である。図29は、本実施形態に係るプロセス実行システム300の転写部380の機能ブロック図である。図30は、本実施形態に係るプロセス実行システム300のプロセス生成情報DM35を示す概念図である。図31は、本実施形態に係るプロセス実行システム300と環境Eとの間の相互作用を示す概念図である。図32は、本実施形態に係るプロセス実行システム300が参照するケースデータテーブルCDTのデータ構造を例示する模式図である。図33は、本実施形態に係るプロセス実行システム300のプロセスネットワークモデル入力部351が保存するコンテキストデータCxDのデータ構造を例示する模式図である。図34は、本実施形態に係るプロセス実行システム300の転写プロセスタグPTの構文を例示する図である。図35は、本実施形態に係るプロセス実行システム300の選択プロセスタグPTsの構文を例示する図である。図36は、本実施形態に係るプロセス実行システムの反復プロセスタグPTiの構文を例示する図である。図37は、本実施形態に係るプロセス実行システム300の置換プロセスタグPTrの構文を例示する図である。図38は、本実施形態に係るプロセス実行システム300の転写因子モデルタグMTの構文を例示する図である。図39は、本発明の第3実施形態に係るプロセス実行システム300の転写因子モデルMの出力データDoutを例示する図である。以下、第3実施形態に係るプロセス実行システム300について説明する。
 図28から図31を参照して、本実施形態に係るプロセス実行システム300は、一のプロセスマスタノードDM30が有するプロセス生成情報DM35を、当該一のプロセスマスタノードDM30に対応する一のプロセスノードD30にプロセス定義情報D35として転写する転写プロセスを実行する転写部380をさらに有する。
 プロセス生成情報DM35は、転写プロセスを定義した一または複数の転写プロセス定義情報PDinfoを含む。具体的には、プロセス生成情報DM35は、当該プロセス生成情報DM35を、当該プロセス生成情報DM35を有するプロセスマスタノードDM30に対応するプロセスノードD30にプロセス定義情報D35として転写する転写プロセスを定義した一または複数の転写プロセス定義情報PDinfoを含む。転写プロセス定義情報PDinfoは、プロセス実行システム300が通信可能な環境Eが転写プロセスに与える影響をモデル化した転写因子モデルMを定義した一または複数の転写因子モデル定義情報MDinfoを含む。
 転写部380は、転写プロセスの実行要求を受け付ける転写要求受付部381と、転写因子モデル定義情報MDinfoによって定義された転写因子モデルMを評価する転写因子モデル評価部382と、転写プロセス定義情報PDinfoによって定義された転写プロセスを実行する転写プロセス実行部383と、を有する。
 プロセス実行システム300が通信可能な環境Eは、プロセス実行システム300が排他的に通信可能な内部環境Einと、プロセス実行システム300から見た外部のシステムSysOutが通信可能な外部環境Eoutと、を含む。
 外部のシステムSysOutは、アクション実行システム50を含む。外部のシステムSysOutは、アクション実行システム50以外のシステムであってプロセス実行システム300と通信するシステムS1を含む。外部のシステムSysOutは、プロセス実行システム300と直接的に通信しないシステムS2を含む。プロセス実行システム300と直接的に通信しないシステムとは、プロセス実行システム300から発信される信号を原因とする因果関係を特定できないシステムを意味する。
 内部環境Einは、プロセス実行システム300の記憶部220を含む。内部環境Einは、データベースサーバーとして機能する記憶部220を含む。内部環境Einは、プロセス実行システム300がサーバーマシン上で動作するWebアプリとして構成されている場合、当該Webアプリが管理するデータベースサーバーを含む。
 外部環境Eoutは、プロセス実行システム300と通信する外部のシステムSysOutそのものを含む。
 転写因子モデル評価部382は、プロセス実行システム300が通信可能な環境Eから取得できる情報を入力データDinとして転写因子モデルMを評価する。転写因子モデル評価部382が転写因子モデルMを評価するのに使用する入力データDinは、プロセス実行システム300が通信できる環境Eから取得できる情報である限りにおいて特に限定されない。
 入力データDinは、プロセス実行システム300の記憶部220(内部環境Ein)から取得したデータを含む。
 入力データDinは、外部のシステムSysOutが通信する外部データベースサーバー(外部環境Eout)から取得したデータを含む。
 外部のシステムSysOutが通信する外部データベースサーバー(外部環境Eout)からのデータの取得は、当該外部のシステムSysOutを介して行ってもよい。例えば、外部のシステムSysOutがDjangoなどのWebアプリ作成用のフレームワークを使用して構築されたWebアプリの場合、当該Webアプリが通信する外部データベース(外部環境Eout)からのデータ取得は、当該WebアプリのAPIを介して行うことができる。また、外部のシステムSysOutがMicrosoft365のPower Automate、外部データベースサーバー(外部環境Eout)がMicrosoft Dataverse、SharePoint OnlineまたはExcel Onlineなどの場合、外部データベースサーバーからのデータの取得は、Power Automateのフローで構成したAPI(HTTPのPOSTで起動する)を介して行うことができる。
 また、外部のシステムSysOutが通信する外部データベースサーバー(外部環境Eout)からのデータの取得は、当該外部データベースサーバーから直接的に行ってもよい。例えば、外部のシステムSysOutがMicrosoft365のPower Automate、外部データベースサーバー(外部環境Eout)がMicrosoft Dataverseの場合、Microsoft Dataverseからのデータの取得は、Microsoft Dataverse Web APIを介して行うことができる。
 外部のシステムSysOutは、Ethereumなどのブロックチェーンを使用したWeb3.0(Web3)関連システムを含む。外部のシステムSysOutは、ブロックチェーン上に構成されたDAppやスマートコントラクトを処理するアプリを含む。
 入力データDinは、プロセス実行システム300が通信可能な外部のシステムSysOut(外部環境Eout)が生成した情報であってもよい。プロセス実行システム300が通信可能な外部のシステムSysOut(外部環境Eout)が生成した情報は、例えば、プロセス実行システム300からの要求に応じて、学習済の生成モデルによって生成されたテキストや画像、音声などのデータを含む。クライアントからの要求に応じて、学習済の生成モデルを使用してテキストを生成するサービスとして、例えば、ChatGPTなどがある。
 プロセスネットワークモデル入力部351は、第2実施形態に係るプロセス実行システム200のプロセスネットワークモデル入力部251と次の点を除いて同様に構成される。すなわち、プロセスネットワークモデル入力部351は、プロセスネットワークモデルDM3の入力を受け付ける際に、当該プロセスネットワークモデルDM3から生成される一のプロセスネットワークD3に関連付けられるコンテキストデータCxDの入力を受け付ける。入力データDinは、プロセスネットワークモデル入力部351が入力を受け付けたコンテキストデータCxDを含む。
 プロセスネットワークモデル入力部351は、プロセスネットワークモデルDM3の入力を受け付ける際に入力を受け付けたコンテキストデータCxDを、記憶部220として機能するデータベースサーバーに保存する。
 図32を参照して、プロセスネットワークモデルDМ3が表現する業務において処理するケースに関するケースデータCDは、記憶部220として機能するデータベースサーバー(内部環境Ein)の一または複数のケースデータテーブルCDTにケース毎に保存されている。ケースデータテーブルCDTは、外部のシステムSysOutが通信する外部データベースサーバー(外部環境Eout)に保存されていてもよい。
 図33を参照して、プロセスネットワークモデル入力部351は、プロセスネットワークモデルDM3の入力を受け付ける際に入力を受け付けたコンテキストデータCxDを、記憶部220として機能するデータベースサーバーのコンテキストテーブルCxTに保存する。コンテキストデータCxDは、プロセスネットワークモデルDМ3が表現する業務において処理するケースのケースID(CID)を含む。ケースID(CID)は、ケースデータテーブルCDTを管理するアプリケーション名CID1、ケースデータテーブルCDTのテーブル名CID2、およびケースデータテーブルCDTにおける該当ケースのケースデータが保存されているレコードのレコードID(CID3)の組み合わせで表現される。
 プロセスネットワークモデル入力部351は、記憶部220として機能するデータベースサーバーにコンテキストデータCxDを保存する際に、当該コンテキストデータCxDが関連付けられているプロセスネットワークD3に含まれるプロセスノードD30のプロセスノード識別子D31と対応付けて保存する。
 転写因子モデルMは、入力データDinに応じて出力結果が定まるモデルであれば特に限定されない。転写因子モデルMは、決定論的モデルおよび確率論的モデルのいずれであってもよい。転写因子モデルMとして使用される決定論的モデルは、関数によって表現されたモデル、好ましくは関数を引数に取る高階関数によって表現されたモデルを含む。転写因子モデルMとして使用される決定論的モデルは、決定論的な深層学習モデルなどの機械学習モデルを含む。転写因子モデルMとして使用される確率論的モデルは、確率論的な深層学習モデル(生成モデル)やディープボルツマンマシンなどの機械学習モデルを含む。
 転写プロセス実行部383は、転写因子モデル評価部382が評価した一または複数の転写因子モデルMの評価結果Rに基づいて転写プロセスを制御する。
 転写プロセス実行部383が制御する転写プロセスは、転写因子モデルMの評価結果Rを条件にしてプロセス生成情報DM35の一部を選択する選択プロセス、転写因子モデルMの評価結果Rを条件にしてプロセス生成情報DM35の一部を反復する反復プロセス、および転写因子モデルMの評価結果Rによってプロセス生成情報DM35の一部を置換する置換プロセスを含む。
 転写プロセス実行部383は、選択プロセス、反復プロセスおよび置換プロセス以外にも、Webアプリ作成用のフレームワークが備えているテンプレートエンジンと同等の機能を実現するように構成できる。例えば、転写プロセス実行部383は、Webアプリ作成用のフレームワークであるDjangoで使用されているDjango Template Language(DTL)が提供するテンプレートタグやフィルタなどを用いた機能と同等の機能を実現するように構成できる。
 転写プロセス実行部383は、Webアプリ作成用のフレームワークが備えているテンプレートエンジンを拡張して構成できる。具体的には、転写プロセス実行部383は、プロセス生成情報DM35をテンプレートとしてテンプレートエンジンに入力するととともに、転写因子モデルMの評価結果Rをコンテキストデータとして入力することによって、置換プロセス、選択プロセスおよび反復プロセスを含む様々な操作をテンプレートエンジンに実行させることができる。転写プロセス実行部383は、プロセス生成情報DM35をテンプレートとしてテンプレートエンジンに入力する際に、プロセス生成情報DM35に含まれる転写プロセスタグPTおよび転写因子モデルタグMTを、テンプレートエンジンの仕様で定められている構文に基づいて書き換える。
 転写プロセス定義情報PDinfoは、所定の構文で記述された転写プロセスタグPTによって表現される。転写プロセスタグPTを記述する構文は特に限定されない。図34から図37に、転写プロセスタグPTの構文の定義を拡張バッカス・ナウア記法(Extended Backus-Naur Form)によって例示する。
 図34を参照して、転写プロセスタグPTは、選択プロセスを表現する選択プロセスタグPTs、反復プロセスを表現する反復プロセスタグPTiまたは置換プロセスを表現する置換プロセスタグPTrである。
 図35を参照して、選択プロセスタグPTsは、<主選択ブロック>と、選択的に<副選択ブロック>を繰り返し並べたデータと、選択的に<デフォルト選択ブロック>と、<選択プロセスタグ終端記号>と、を順に並べたデータである。
 <主選択ブロック>は、<主選択ブロック開始記号>と、<選択条件>と、<転写プロセスタグ終端記号>と、<選択ブロック>と、を順に並べたデータである。
 <主選択ブロック開始記号>は、主選択ブロックの開始位置を表現する。<主選択ブロック開始記号>は、<転写プロセスタグ開始記号>と「if」とを並べたものを例示しているが、主選択ブロックの開始位置を特定できる限りにおいて特に限定されない。<転写プロセスタグ開始記号>は、転写プロセスタグPTの開始位置を表現する。<転写プロセスタグ開始記号>は「{%」である場合を例示しているが、転写プロセスタグPTの開始位置を特定できる限りにおいて特に限定されない。
 <選択条件>は、<論理式>と、選択的に<論理演算子>および<論理式>を順に並べたデータと、を順に並べたデータである。<論理式>は、<式>と、<論理演算子>と、<式>と、を順に並べたデータである。<式>は、<値>、<転写因子モデルタグ>、または<論理式>を括弧で括ったデータである。<式>に<転写因子モデルタグ>を指定できることによって、<転写因子モデルタグ>で表現される転写因子モデルMの評価結果Rを<選択条件>に用いることができる。また、<式>に<論理式>を指定できることによって、<論理式>の中で<論理式>を使うことができる。<論理式>の評価は、最も内側の括弧で括られている論理式の評価が優先される。<値>は、文字列型のデータである。
 <転写プロセスタグ終端記号>は、転写プロセスタグPTの終端位置を表現する。<転写プロセスタグ終端記号>は「%}」である場合を例示しているが、転写プロセスタグPTの終端位置を特定できる限りにおいて特に限定されない。
 <副選択ブロック>は、<副選択ブロック開始記号>と、<選択条件>と、<転写プロセスタグ終端記号>と、<選択ブロック>と、を順に並べたデータである。<副選択ブロック開始記号>は、副選択ブロックの開始位置を表現する。<副選択ブロック開始記号>は、<転写プロセスタグ開始記号>と「elif」とを並べたものを例示しているが、副選択ブロックの開始位置を特定できる限りにおいて特に限定されない。
 <デフォルト選択ブロック>は、<デフォルト選択ブロック開始記号>と、<転写プロセスタグ終端記号>と、<選択ブロック>と、を順に並べたデータである。<デフォルト選択ブロック開始記号>は、デフォルト選択ブロックの開始位置を表現する。<デフォルト選択ブロック開始記号>は、<転写プロセスタグ開始記号>と「else」とを並べたものを例示しているが、デフォルト選択ブロックの開始位置を特定できる限りにおいて特に限定されない。
 <選択ブロック>は、選択的に<文字列>と、選択的に<転写プロセスタグ>とを並べたデータをゼロ回以上並べたデータである。例えば、<選択ブロック>は、<文字列>、<文字列>、<転写プロセスタグ>、<文字列>、<転写プロセスタグ>を順に並べたデータであり得る。<選択ブロック>は、空であってもよい。
 <選択プロセスタグ終端記号>は、選択プロセスタグPTsの終端位置を表現する。<選択プロセスタグ終端記号>は、<転写プロセスタグ開始記号>と「endif」と<転写プロセスタグ終端記号>を並べたものを例示しているが、選択プロセスタグPTsの終端位置を特定できる限りにおいて特に限定されない。
 図36を参照して、反復プロセスタグPTiは、<反復条件ブロック>と、<反復ブロック>と、<反復プロセスタグ終端記号>と、を順に並べたデータである。
 <反復条件ブロック>は、<反復条件ブロック開始記号>と、<反復条件>と、<転写プロセスタグ終端記号>と、を順に並べたデータである。
 <反復条件ブロック開始記号>は、反復条件ブロックの開始位置を表現する。<反復条件ブロック開始記号>は、<転写プロセスタグ開始記号>と「for」とを並べたものを例示しているが反復条件ブロックの開始位置を特定できる限りにおいて特に限定されない。
 <反復条件>は、<ループ変数>と、「in」と、<ループ変数配列>と、を順に並べたデータである。<ループ変数>は文字列型のデータである。<ループ変数配列>は、<ループ変数配列定数>または<転写因子モデルタグ>である。<ループ変数配列>として<転写因子モデルタグ>を指定可能であることによって、転写因子モデルMの評価結果Rをループ変数配列として使用できる。<ループ変数配列定数>は、文字列型のデータを「,」区切りで並べたものを括弧で括ったデータである。
 <反復ブロック>は、選択的に<文字列>と、選択的に<ループ変数>を二重括弧(「{{」、「}}」)で括ったデータと、選択的に<転写プロセスタグ>と、を順に並べたデータをゼロ回以上並べたデータである。例えば、<反復ブロック>は、{{<ループ変数>}}、<文字列>、<文字列>、<転写プロセスタグ>、{{<ループ変数>}}、<文字列>を順に並べたデータであり得る。<反復ブロック>は空であってもよい。
 <反復プロセスタグ終端記号>は、反復プロセスタグPTiの終端位置を表現する。<反復プロセスタグ終端記号>は、<転写プロセスタグ開始記号>と「endfor」と<転写プロセスタグ終端記号>を順に並べたものを例示しているが、反復プロセスタグPTiの終端位置を特定できる限りにおいて特に限定されない。
 図37を参照して、置換プロセスタグPTrは、<転写因子モデルタグ>そのものである。
 転写因子モデル定義情報MDinfoは、所定の構文で記述された転写因子モデルタグMTによって表現される。転写因子モデルタグMTを記述する構文は特に限定されない。図38に、転写因子モデルタグMTの構文の定義を拡張バッカス・ナウア記法(Extended Backus-Naur Form)によって例示する。
 転写因子モデルタグMTは、<転写因子モデルタグ開始記号>と、<転写因子モデル>と、選択的に<評価結果セレクタ群>と、<転写因子モデルタグ終端記号>と、を順に並べたデータである。
 <転写因子モデルタグ開始記号>は、転写因子モデルタグMTの開始位置を表現する。<転写因子モデル>は、転写因子モデルMを表現する。<評価結果セレクタ群>は、転写因子モデルMの出力データDoutの中から転写因子モデルMの評価結果Rとして使用するデータを表現する。<転写因子モデルタグ終端記号>は、転写因子モデルタグMTの終端位置を表現する。
 図38では、<転写因子モデルタグ開始記号>が「<<<」である場合を例示しているが、<転写因子モデルタグ開始記号>は転写因子モデルタグMTの開始位置を特定できる限りにおいて特に限定されない。
 <転写因子モデル>は、<モデルID>と、選択的に<入力データ群>と、を順に並べて構成される。<モデルID>は、転写因子モデルMを一意に識別するための識別子である。<入力データ群>は、転写因子モデルMを評価するのに使用する一または複数の入力データDinを表現する。
 <モデルID>の表現方法は特に限定されない。本実施形態において、<モデルID>は階層構造を有する。具体的には、<モデルID>は、一または複数の<モデルグループ名>を「.」で区切って並べたデータと、<モデル名>と、を順に並べたデータである。<モデルグループ名>は、左側から右側に向かって上位の階層から下位の階層になるように並べられる。<モデルグループ名>および<モデル名>は、文字列型のデータである。
 <入力データ群>は、<入力データ>を括弧で括ったデータである。<入力データ>は、一または複数の<入力変数>を「,」で区切って並べたデータである。
 <入力変数>は、<入力変数名>と<入力変数の値>を「=」で連結したデータである。<入力変数名>は文字列型のデータである。<入力変数の値>は、<文字列>または<転写因子モデルタグ>である。転写因子モデルMは、<入力変数の値>に<転写因子モデルタグ>を設定可能であることによって、一の転写因子モデルMの評価結果Rを他の転写因子モデルMの入力データDinとして取る高階関数の構造を有する。
 <評価結果セレクタ群>は、<評価結果セレクタ>を「.」で区切って並べたデータである。<評価結果セレクタ>は、転写因子モデルMの出力データDoutの中から転写因子モデルMの評価結果Rとして使用するデータを識別する識別子を表現する。転写因子モデルMの出力データDoutに含まれるデータ全てを転写因子モデルMの評価結果Rとして使用する場合には、<評価結果セレクタ群>はなくてもよい。
 転写因子モデルMの出力データDoutは、複数のデータを含み得る。具体的には、転写因子モデルMの出力データDoutは、リスト、配列、連想配列、およびそれらが入れ子になった構造化されたデータであり得る。図39は、転写因子モデルMの出力データDoutがJSON形式である場合を例示している。転写因子モデルMの出力データDoutが構造化されたデータである場合、<評価結果セレクタ群>には、当該構造化されたデータの上位の階層から下位の階層へと左側から右側に向かって各階層におけるデータを特定する識別子が<評価結果セレクタ>として順に並べられる。例えば、図39に例示する出力データDoutにおいて「値31B」を指定する<評価結果セレクタ群>は、「1.キー12.0.キー22.キー31」であり得る。
 転写因子モデルMが確率論的モデルの場合、出力データDoutは確率分布であり得る。出力データDoutが確率分布である場合、<評価結果セレクタ群>は、例えば、当該確率分布において最大確率をとる確率変数の値を表現するデータであり得る。
 図38では、<転写因子モデルタグ終端記号>が「>>>」である場合を例示しているが、<転写因子モデルタグ終端記号>は転写因子モデルタグMTの終端位置を特定できる限りにおいて特に限定されない。
 次に、図40および図41を参照し、プロセス実行システム300の動作を説明する。図40は、本実施形態に係るプロセス実行システム300において実行される処理の手順を表すフローチャートである。図41は、本実施形態に係るプロセス実行システム300において実行される実行可能なプロセスノードD30の実行処理の手順を表すフローチャートである。図41および図42のフローチャートに示す処理は、プログラムに従い、プロセス実行システム300の制御部310により実行される。
 図40に示すように、プロセス実行システム300の制御部310により実行されるプログラムは、プロセスネットワークモデルDМ3の入力を受け付けるステップS31と、プロセスネットワークD3を生成するステップS32と、プロセスノードD30の状態遷移処理を行うステップS33と、実行可能なプロセスノードD30の実行処理を行うステップS34と、プロセスネットワークD3に含まれる全てのプロセスノードD30が完了状態になっているか判断するステップS35と、を有する。
 プロセスネットワークD3を生成するステップS32は、第2実施形態に係るプロセスネットワークD2を生成するステップS22と同様に構成できる。プロセスノードD30の状態遷移処理を行うステップS33は、第2実施形態に係るプロセスノードD20の状態遷移処理を行うステップS23と同様に構成できる。プロセスネットワークD3に含まれる全てのプロセスノードD30が完了状態になっているか判断するステップS35は、第2実施形態に係るプロセスネットワークD2に含まれる全てのプロセスノードD20が完了状態になっているか判断するステップS25と同様に構成できる。
 (ステップS31)
 プロセスネットワークモデルDМ3の入力を受け付けるステップS31は、第2実施形態に係るプロセス実行システム200のプロセスネットワークモデルDМ2の入力を受け付けるステップS21と次の点を除いて同様に構成される。すなわち、プロセスネットワークモデル入力部351は、プロセスネットワークモデルDM3の入力を受け付ける際に、プロセスネットワークモデルDM3から生成される一のプロセスネットワークD3に関連付けられるコンテキストデータCxDの入力を受け付ける。プロセスネットワークモデル入力部351は、プロセスネットワークモデルDM3の入力を受け付ける際に入力を受け付けたコンテキストデータCxDを、記憶部220として機能するデータベースサーバーのコンテキストテーブルCxTに保存する。
 (ステップS34)
 図41に示すように、ステップS34において行われる実行可能なプロセスノードD30の実行処理は、実行可能なプロセスノードD30が存在するか否か判断するステップS341と、転写プロセスの実行要求を送信するステップS342と、実行可能なプロセスノードD30を実行するステップS343と、実行を完了したプロセスノードD30が非同期プロセスか否か判断するステップS344と、実行を完了したプロセスノードD30の状態を完了状態にするステップS345と、を有する。
 実行可能なプロセスノードD30が存在するか否か判断するステップS341は、第2実施形態に係る実行可能なプロセスノードD20が存在するか否か判断するステップS241と同様に構成できる。実行可能なプロセスノードD30を実行するステップS343は、第2実施形態に係る実行可能なプロセスノードD20を実行するステップS242と同様に構成できる。実行を完了したプロセスノードD30が非同期プロセスか否か判断するステップS344は、第2実施形態に係る実行を完了したプロセスノードD20が非同期プロセスか否か判断するステップS243と同様に構成できる。実行を完了したプロセスノードD30の状態を完了状態にするステップS345は、第2実施形態に係る実行を完了したプロセスノードD20の状態を完了状態にするステップS244と同様に構成できる。
 (ステップS342)
 プロセスネットワーク実行部370は、実行可能なプロセスノードD30に対応するプロセスマスタノードDM30が有するプロセス生成情報DM35を当該実行可能なプロセスノードD30にプロセス定義情報D35として転写する転写プロセスの実行要求を送信する。転写部380は、転写要求受付部381が転写プロセスの実行要求を受け付けたプロセス生成情報DM35を、当該プロセス生成情報DM35を有するプロセスマスタノードDM30に対応するプロセスノードにプロセス定義情報D35として転写する。プロセス定義情報D35は、転写部380が転写することによって更新される。
 (ステップS343)
 プロセスネットワーク実行部370は、ステップS342において転写部380が転写することによって更新されたプロセス定義情報D35に基づいてプロセスを実行する。
 図42から図44を参照し、プロセス実行システム300の転写部380により実行されるプログラムの動作を説明する。図42は、本実施形態に係るプロセス実行システム300の転写部380において実行される処理の手順を表すフローチャートである。図43は、本実施形態に係るプロセス実行システム300の転写部380において実行される評価対象転写因子モデルMeの評価処理の手順を表すフローチャートである。図44は、本実施形態に係るプロセス実行システム300の転写部380において実行される原評価対象転写因子モデルMoの評価処理の手順を表すフローチャートである。図42から図44のフローチャートに示す処理は、プログラムに従い、プロセス実行システム300の制御部310により実行される。
 プロセス実行システム300の転写部380により実行されるプログラムは、転写プロセスの実行要求を受け付けるステップS381と、プロセス生成情報DM35を転写情報Tinfoに設定するステップS382と、転写情報Tinfoから転写プロセス定義情報PDinfoを抽出するステップS383と、転写プロセス定義情報PDinfoが抽出されたか否か判断するステップS384と、評価対象転写因子モデルMeを設定するステップS385と、評価対象転写因子モデルMeの評価処理を行うステップS386と、転写情報Tinfoを加工するステップS387と、全ての転写プロセス定義情報PDinfoが処理されたか否か判断するステップS388と、転写プロセス定義情報PDinfoによって定義された転写プロセスを実行するステップS389と、を有する。
 (ステップS381)
 転写要求受付部381は、一のプロセスマスタノードDM30が有するプロセス生成情報DM35を転写する転写プロセスの実行要求を受け付ける。
 (ステップS382)
 転写プロセス実行部383は、ステップS381において転写プロセスの実行要求を受け付けたプロセス生成情報DM35を転写情報Tinfoに設定する。
 (ステップS383)
 転写プロセス実行部383は、転写情報Tinfoから転写プロセス定義情報PDinfoを抽出する。具体的には、転写プロセス実行部383は、転写情報Tinfoから転写プロセス定義情報PDinfoを表現する転写プロセスタグPTを抽出する。
 (ステップS384)
 転写プロセス実行部383は、ステップS383において転写プロセス定義情報PDinfoが抽出されたか否か判断する。具体的には、転写プロセス実行部383は、ステップS383において転写プロセス定義情報PDinfoを表現する転写プロセスタグPTが抽出されたか否か判断する。転写プロセス定義情報PDinfoが抽出されたと判断したらステップS385に進む。転写プロセス定義情報PDinfoが抽出されなかったと判断したらステップS389に進む。
 (ステップS385)
 転写因子モデル評価部382は、転写プロセス定義情報PDinfoに含まれる転写因子モデル定義情報MDinfoによって定義された転写因子モデルMを評価対象転写因子モデルMeに設定する。
 具体的には、転写因子モデル評価部382は、転写プロセス定義情報PDinfoを表現する転写プロセスタグPTが選択プロセスタグPTsである場合、選択プロセスタグPTsの選択条件に含まれている転写因子モデルタグMTによって表現された転写因子モデルMを評価対象転写因子モデルMeに設定する。転写因子モデル評価部382は、転写プロセス定義情報PDinfoを表現する転写プロセスタグPTが反復プロセスタグPTiである場合、反復プロセスタグPTiの反復条件に含まれている転写因子モデルタグMTによって表現された転写因子モデルMを評価対象転写因子モデルMeに設定する。転写因子モデル評価部382は、転写プロセス定義情報PDinfoを表現する転写プロセスタグPTが置換プロセスタグPTrである場合、置換プロセスタグPTrをなす転写因子モデルタグMTによって表現された転写因子モデルMを評価対象転写因子モデルMeに設定する。
 (ステップS386)
 転写因子モデル評価部382は、ステップS385において設定された評価対象転写因子モデルMeの評価処理を行う。転写因子モデル評価部382は、評価対象転写因子モデルMeの評価処理を行う際に、プロセス実行システム300が通信可能な環境Eから取得できる情報を入力データDinとして評価対象転写因子モデルMeを評価する。
 (ステップS387)
 転写プロセス実行部383は、ステップS386において評価した転写因子モデルMの評価結果Rに基づいて転写情報Tinfoを加工する。
 転写プロセス実行部383は、転写プロセス定義情報PDinfoを表現する転写プロセスタグPTが選択プロセスタグPTsである場合、選択プロセスタグPTsの選択条件に含まれる転写因子モデルタグMTが表現する転写因子モデルMの評価結果Rに基づいて選択条件を評価し、選択条件が真になる選択ブロックによって選択プロセスタグPTsを置換する。
 転写プロセス実行部383は、転写プロセス定義情報PDinfoを表現する転写プロセスタグPTが反復プロセスタグPTiである場合、<ループ変数配列>に含まれる要素の各々をループ変数の値として反復ブロックを反復して生成した反復情報によって反復プロセスタグPTiを置換する。転写プロセス実行部383は、反復情報を生成する際に、反復ブロック内に「{{<ループ変数>}}」が含まれる場合にはループ変数の値によって「{{<ループ変数>}}」を置換する。転写プロセス実行部383は、<ループ変数配列>に転写因子モデルタグMTが設定されている場合には、当該転写因子モデルタグMTが表現する転写因子モデルMの評価結果Rを<ループ変数配列>として扱う。
 転写プロセス実行部383は、転写プロセス定義情報PDinfoを表現する転写プロセスタグPTが置換プロセスタグPTrである場合、置換プロセスタグPTrをなす転写因子モデルタグMTが表現する転写因子モデルMの評価結果Rによって置換プロセスタグPTrを置換する。
 (ステップS388)
 転写プロセス実行部383は、ステップS383において抽出された転写プロセス定義情報PDinfoが全て処理されたか判断する。転写プロセス定義情報PDinfoが全て処理されたと判断したらステップS383に戻る。処理されていない転写プロセス定義情報PDinfoが存在する場合には、ステップS385に戻る。
 (ステップS389)
 転写プロセス実行部383は、ステップS381において転写プロセスの実行要求を受け付けたプロセスマスタノードDM30に対応するプロセスノードD30に転写情報Tinfoをプロセス定義情報D35として転写する。
 図43を参照して、評価対象転写因子モデルMeの評価処理を行うステップS386は、評価対象転写因子モデルMeを原評価対象転写因子モデルMoに設定するステップS3861と、入力データDinに設定されている転写因子モデルMを抽出するステップS3862と、転写因子モデルMが抽出されたか否か判断するステップS3863と、抽出された転写因子モデルMを評価対象転写因子モデルMeに設定するステップS3864と、評価対象転写因子モデルMeの評価処理を行うステップS3865と、抽出された転写因子モデルMを全て評価したか否か判断するステップS3866と、原評価対象転写因子モデルMoの評価処理を行うステップS3867と、を有する。
 (ステップS3861)
 転写因子モデル評価部382は、評価対象転写因子モデルMeを原評価対象転写因子モデルMoに設定する。
 (ステップS3862)
 転写因子モデル評価部382は、原評価対象転写因子モデルMoの入力データDinに設定されている転写因子モデルMを抽出する。具体的には、転写因子モデル評価部382は、原評価対象転写因子モデルMoを表現する転写因子モデルタグMTの<入力変数の値>に設定されている転写因子モデルタグMTが表現する転写因子モデルMを抽出する。
 (ステップS3863)
 転写因子モデル評価部382は、ステップS3862において転写因子モデルMが抽出されたか否か判断する。転写因子モデルMが抽出されたと判断した場合には、ステップS3864に進む。転写因子モデルMが抽出されていないと判断した場合には、ステップS3867に進む。
 (ステップS3864)
 転写因子モデル評価部382は、ステップS3862において抽出された転写因子モデルMを評価対象転写因子モデルMeに設定する。
 (ステップS3865)
 転写因子モデル評価部382は、評価対象転写因子モデルMeの評価処理を行う。
 (ステップS3866)
 転写因子モデル評価部382は、ステップS3862において抽出された転写因子モデルMが全て評価されたか否か判断する。ステップS3862において抽出された転写因子モデルMが全て評価されたと判断した場合には、ステップS3867に進む。ステップS3862において抽出された転写因子モデルMのうち、評価されていない転写因子モデルMがあると判断した場合には、ステップS3864に戻る。
 (ステップS3867)
 転写因子モデル評価部382は、原評価対象転写因子モデルMoの評価処理を行う。
 図44を参照して、原評価対象転写因子モデルMoの評価処理を行うステップS3867は、原評価対象転写因子モデルMoのモデルタイプを特定するステップS38671と、原評価対象転写因子モデルMoの出力データDoutを取得するステップS38672と、原評価対象転写因子モデルMoの評価結果Rを決定するステップS38673と、を有する。
 (ステップS38671)
 転写因子モデル評価部382は、原評価対象転写因子モデルMoのモデルタイプを特定する。具体的には、転写因子モデル評価部382は、原評価対象転写因子モデルMoを表現する転写因子モデルタグMTに基づいて原評価対象転写因子モデルMoのモデルタイプを特定する。より具体的には、転写因子モデル評価部382は、原評価対象転写因子モデルMoを表現する転写因子モデルタグMTに含まれる<モデルID>に基づいて原評価対象転写因子モデルMoのモデルタイプを特定する。
 さらに具体的には、転写因子モデル評価部382は、原評価対象転写因子モデルMoを表現する転写因子モデルタグMTに含まれる<モデルID>において、<モデルグループ名>がなく、かつ、モデル名が「自プロセス」の場合には、原評価対象転写因子モデルMoのモデルタイプを自プロセス参照タイプと特定する。
 転写因子モデル評価部382は、原評価対象転写因子モデルMoを表現する転写因子モデルタグMTに含まれる<モデルID>において、<モデルグループ名>がアプリ名、かつ、<モデル名>がテーブル名の場合には、原評価対象転写因子モデルMoのモデルタイプをテーブル参照タイプと特定する。
 転写因子モデル評価部382は、原評価対象転写因子モデルMoを表現する転写因子モデルタグMTに含まれる<モデルID>において、<モデルグループ名>がなく、かつ、<モデル名>が「スクリプト」の場合には、原評価対象転写因子モデルMoのモデルタイプをスクリプトタイプと特定する。
 転写因子モデル評価部382は、原評価対象転写因子モデルMoを表現する転写因子モデルタグMTに含まれる<モデルID>において、<モデルグループ名>がなく、かつ、<モデル名>が「機械学習モデル」の場合には、原評価対象転写因子モデルMoのモデルタイプを機械学習モデルタイプと特定する。
 転写因子モデル評価部382は、原評価対象転写因子モデルMoを表現する転写因子モデルタグに含まれる<モデルID>において、<モデルグループ名>がなく、かつ、モデル名が「API」の場合には、原評価対象転写因子モデルMoのモデルタイプをAPIタイプと特定する。
 (ステップS38672)
 転写因子モデル評価部382は、プロセス実行システム300が通信可能な環境Eから取得できる情報を入力データDinとして原評価対象転写因子モデルMoを評価して出力データDoutを取得する。具体的には、転写因子モデル評価部382は、ステップS38671において特定した原評価対象転写因子モデルMoのモデルタイプに基づいて原評価対象転写因子モデルMoを評価して出力データDoutを取得する。
 より具体的には、転写因子モデル評価部382は、ステップS38671において特定した原評価対象転写因子モデルMoのモデルタイプが自プロセス参照タイプの場合には、自プロセスノードD30の情報を出力データDoutとして取得する。
 転写因子モデル評価部382は、ステップS38671において特定した原評価対象転写因子モデルMoのモデルタイプがテーブル参照タイプの場合には、原評価対象転写因子モデルMoを表現する転写因子モデルタグMTの<モデルグループ名>(テーブルを管理するアプリ名を表現)および<モデル名>(テーブル名を表現)によって特定されるテーブルから、当該転写因子モデルタグMTの入力データDinに基づいて検索した情報を出力データDoutとして取得する。原評価対象転写因子モデルMoの出力データDoutとして情報を取得するテーブルは、内部環境Einまたは外部環境Eoutのいずれにあってもよい。
 転写因子モデル評価部382は、ステップS38671において特定した原評価対象転写因子モデルMoのモデルタイプがスクリプトタイプの場合には、原評価対象転写因子モデルMoを表現する転写因子モデルタグMTの入力データDinに基づいて実行したスクリプトの実行結果を出力データDoutとして取得する。
 転写因子モデル評価部382は、ステップS38671において特定した原評価対象転写因子モデルMoのモデルタイプが機械学習モデルタイプの場合には、原評価対象転写因子モデルMoを表現する転写因子モデルタグMTの入力データDinに基づいて実行した機械学習モデルを用いた推論結果を出力データDoutとして取得する。
 転写因子モデル評価部382は、ステップS38671において特定した原評価対象転写因子モデルMoのモデルタイプがAPIタイプの場合には、原評価対象転写因子モデルMoを表現する転写因子モデルタグMTの入力データDinに基づいて実行したAPIの実行結果を出力データDoutとして取得する。
 (ステップS38673)
 転写因子モデル評価部382は、ステップS38672において取得した原評価対象転写因子モデルMoの出力データDoutから、原評価対象転写因子モデルMoの評価結果Rとして返却するデータを決定する。具体的には、転写因子モデル評価部382は、原評価対象転写因子モデルMoを表現する転写因子モデルタグMTに基づいて原評価対象転写因子モデルMoの出力データDoutから評価結果Rとして返却するデータを決定する。より具体的には、転写因子モデル評価部382は、原評価対象転写因子モデルMoを表現する転写因子モデルタグMTの<評価結果セレクタ群>に基づいて原評価対象転写因子モデルMoの出力データDoutから評価結果Rとして返却するデータを決定する。
 図45から図47を参照して、図42を用いて説明した転写部380において実行される転写プロセスの実行処理の動作例を説明する。図45は、本実施形態に係るプロセス実行システム300の転写部380の動作例について説明するために使用するプロセス生成情報DM35を例示する模式図である。図46は、本実施形態に係るプロセス実行システム300の転写部380の動作例について説明するために使用する転写情報Tinfoを例示する模式図である。図47は、本実施形態に係るプロセス実行システム300の転写部380の動作例について説明するために使用する転写情報Tinfoを例示する模式図である。図45に示すように、動作例の説明で使用するプロセス生成情報DM35は転写プロセス定義情報PDinfoを表現する複数の転写プロセスタグPT(PTs1、PTs2、PTs3、PTiおよびPTr)を含む。
 転写プロセス実行部383は、転写プロセスの実行要求を転写要求受付部381が受け付けると(ステップS381)、プロセス生成情報DM35を転写情報Tinfoに設定する(ステップS382)。
 ステップS383において、転写プロセス実行部383は、転写情報Tinfoから選択プロセスタグPTs1および置換プロセスタグPTrを抽出する。ステップS383において転写プロセスタグPT(PTs1およびPTr)が抽出されるので、ステップS384の判断はYesになる。
 ステップS385からステップS387の処理は、選択プロセスタグPTs1および置換プロセスタグPTrの各々に対して行われる。ここでは、選択プロセスタグPTs1、置換プロセスタグPTrの順に処理されることとする。
 ステップS385において、転写因子モデル評価部382は、選択プロセスタグPTs1の選択条件に含まれる<転写因子モデルタグ11>が表現する転写因子モデルMを評価対象転写因子モデルMeに設定する。ステップS386において、転写因子モデル評価部382は、評価対象転写因子モデルMeの評価処理を行う。ここでは、評価対象転写因子モデルMeの評価結果Rが「値m」であるとする。
 ステップS387において、転写プロセス実行部383は、ステップS386における転写因子モデルMの評価結果Rに応じて転写情報Tinfoを加工する。具体的には、転写プロセス実行部383は、真になる選択条件「<転写因子モデルタグ11> == “値m”」に対応する選択ブロック(反復プロセスタグPTiが含まれるブロック)によって転写情報Tinfoに含まれる選択プロセスタグPTs1を置換する。
 置換プロセスタグPTrの処理が完了していないので、ステップS388における判断はNoとなり、ステップS385に戻る。
 ステップS385において、転写因子モデル評価部382は、置換プロセスタグPTrをなす<転写因子モデルタグ01>が表現する転写因子モデルMを評価対象転写因子モデルMeに設定する。ステップS386において、転写因子モデル評価部382は、評価対象転写因子モデルMeの評価処理を行う。ここでは、評価対象転写因子モデルMeの評価結果Rが「評価結果01」であるとする。
 ステップS387において、転写プロセス実行部383は、ステップS386における評価対象転写因子モデルMeの評価結果Rによって転写情報Tinfoに含まれる置換プロセスタグPTrを置換する。
 ステップS383において抽出された転写プロセスタグPT(PTs1およびPTr)が処理されたので、ステップS388における判断はYesとなり、ステップS383に戻る。ここまでの処理によって、転写情報Tinfoは図46のようになる。
 ステップS383において、転写プロセス実行部383は、転写情報Tinfoから反復プロセスタグPTiを抽出する。反復プロセスタグPTiが抽出されたので、ステップS384の判断はYesになる。
 ステップS385において、転写因子モデル評価部382は、反復プロセスタグPTiの反復条件に含まれる<転写因子モデルタグ22>が表現する転写因子モデルMを評価対象転写因子モデルMeに設定する。ステップS386において、転写因子モデル評価部382は、評価対象転写因子モデルMeの評価処理を行う。ここでは、評価対象転写因子モデルMeの評価結果Rが「評価結果221」、「評価結果222」、および「評価結果223の」3つのデータを含むとする。
 ステップS387において、転写プロセス実行部383は、ステップS386における評価対象転写因子モデルMeの評価結果Rに含まれる3つのデータの各々をループ変数の値として反復プロセスタグPTiに含まれる<反復ブロック>を反復して反復情報を生成する。反復情報に含まれる「{{ループ変数}}」は、評価対象転写因子モデルMeの評価結果Rの3つのデータの各々によって置換される。転写プロセス実行部383は、生成した反復情報によって転写情報Tinfoに含まれる反復プロセスタグPTiを置換する。
 ステップS383において抽出された反復プロセスタグPTiが処理されたので、ステップS388における判断はYesとなり、ステップS383に戻る。ここまでの処理によって、転写情報Tinfoは図47のようになる。
 ステップS383において転写情報Tinfoから抽出される転写プロセス定義情報PDinfoは存在しないため、ステップS384の判断はNoとなり、ステップS389に進む。
 ステップS389において、転写プロセス実行部383は、ステップS381において転写プロセスの実行要求を受け付けたプロセスマスタノードDM30に対応するプロセスノードD30に転写情報Tinfoをプロセス定義情報D35として転写する。以上で、転写部380による転写プロセスの実行処理が終了する。
 図48から図53を参照して、図43および図44を用いて説明した転写部380において実行される評価対象転写因子モデルMeの評価処理の動作例を説明する。図48は、本実施形態に係るプロセス実行システム300の転写部380における評価対象転写因子モデルMeの評価処理の動作例について説明するために使用する転写プロセスタグPTを例示する模式図である。図49は、本実施形態に係るプロセス実行システム300の転写部380における評価対象転写因子モデルMeの評価処理の動作例について説明するために使用する転写プロセスタグPTを例示する模式図である。図50は、本実施形態に係るプロセス実行システム300の転写部380における評価対象転写因子モデルMeの評価処理の動作例について説明するために使用する転写プロセスタグPTを例示する模式図である。図51は、本実施形態に係るプロセス実行システム300の転写部380における評価対象転写因子モデルMeの評価処理の動作例について説明するために使用する転写プロセスタグPTを例示する模式図である。図52は、本実施形態に係るプロセス実行システム300の転写部380における評価対象転写因子モデルMeの評価処理の動作例について説明するために使用する転写プロセスタグPTを例示する模式図である。図53は、本実施形態に係るプロセス実行システム300の転写部380における評価対象転写因子モデルMeの評価処理の動作例について説明するために使用する転写プロセスタグPTを例示する模式図である。
 まず、評価対象転写因子モデルMeが図48に例示する転写因子モデルタグMTが表現する転写因子モデルMである場合について説明する。
 図43を参照して、ステップS3861では、評価対象転写因子モデルMeを原評価対象転写因子モデルMoに設定する。ステップS3862では、入力データDinに設定されている転写因子モデルMが抽出されないため、ステップS3863の判断はNoになり、ステップS3867に進む。ステップS3867では、原評価対象転写因子モデルMoの評価処理が行われる。
 図44を参照して、ステップS38671では、原評価対象転写因子モデルMoを表現する転写因子モデルタグMTの<モデルID>が「自プロセス」であるため、原評価対象転写因子モデルMoのモデルタイプを自プロセス参照タイプと特定する。ステップS38672では、原評価対象転写因子モデルMoのモデルタイプが自プロセス参照タイプであるため、自プロセスノードD30の情報を記憶部220から出力データDoutとして取得する。ステップS38673では、原評価対象転写因子モデルMoを表現する転写因子モデルタグMTの<評価結果セレクタ群>が「プロセスノード識別子」であるため、出力データDoutのうちプロセスノード識別子D31のデータが原評価対象転写因子モデルMoの評価結果Rとして決定される。
 次に、評価対象転写因子モデルMeが図49に例示する転写因子モデルタグMTが表現する転写因子モデルMである場合について説明する。
 図43を参照して、ステップS3861では、評価対象転写因子モデルMeを原評価対象転写因子モデルMoに設定する。ステップS3862では、<入力変数名>「プロセスノード識別子」に対応する<入力変数の値>に設定されている転写因子モデルMを抽出する。ステップS3862において転写因子モデルMが抽出されるため、ステップS3863の判断はYesになり、ステップS3864に進む。ステップS3864において、<入力変数名>「プロセスノード識別子」に対応する<入力変数の値>に設定されている転写因子モデルMが評価対象転写因子モデルMeに設定される。ステップS3865では、評価対象転写因子モデルMeの評価処理が行われる。評価対象転写因子モデルMeは、図48に例示する転写因子モデルタグMTが表現する転写因子モデルMと同じであるため、図48に例示する転写因子モデルタグMTについて上述した評価処理と同様の処理が行われる。ステップS3862において抽出された転写因子モデルMが全て評価されたため、ステップS3866の判断はYesになり、ステップS3867に進む。ステップS3867では、原評価対象転写因子モデルMoの評価処理が行われる。
 図44を参照して、ステップS38671では、原評価対象転写因子モデルMoを表現する転写因子モデルタグMTの<モデルID>が「アプリVa.コンテキストテーブル」であるため、原評価対象転写因子モデルMoのモデルタイプをテーブル参照タイプと特定する。ステップS38672では、原評価対象転写因子モデルMoのモデルタイプがテーブル参照タイプであるため、アプリVaが管理するコンテキストテーブルから、入力データDinに基づいて検索した情報を出力データDoutとして取得する。ここでは、アプリVaが管理するコンテキストテーブルから、プロセスノード識別子D31が自プロセスノードD30のプロセスノード識別子D31であるレコードの情報が出力データDoutとして取得される。ステップS38673では、原評価対象転写因子モデルMoを表現する転写因子モデルタグMTの<評価結果セレクタ群>が「ケースID」であるため、出力データDoutのうちケースIDのデータが原評価対象転写因子モデルMoの評価結果Rとして決定される。
 次に、評価対象転写因子モデルMeが図50に例示する転写因子モデルタグMTが表現する転写因子モデルMである場合について説明する。
 図43を参照して、ステップS3861では、評価対象転写因子モデルMeを原評価対象転写因子モデルMoに設定する。ステップS3862では、<入力変数名>「列Cp1」に対応する<入力変数の値>に設定されている転写因子モデルMを抽出する。ステップS3862において転写因子モデルMが抽出されるため、ステップS3863の判断はYesになり、ステップS3864に進む。ステップS3864において、<入力変数名>「列Cp1」に対応する<入力変数の値>に設定されている転写因子モデルMが評価対象転写因子モデルMeに設定される。ステップS3865では、評価対象転写因子モデルMeの評価処理が行われる。評価対象転写因子モデルMeは、図49に例示する転写因子モデルタグMTが表現する転写因子モデルMと同じであるため、図49に例示する転写因子モデルタグMTについて上述した評価処理と同様の処理が行われる。ステップS3862において抽出された転写因子モデルMが全て評価されたため、ステップS3866の判断はYesになり、ステップS3867に進む。ステップS3867では、原評価対象転写因子モデルMoの評価処理が行われる。
 図44を参照して、ステップS38671では、原評価対象転写因子モデルMoを表現する転写因子モデルタグMTの<モデルID>が「アプリWa.テーブルWt」であるため、原評価対象転写因子モデルMoのモデルタイプをテーブル参照タイプと特定する。ステップS38672では、原評価対象転写因子モデルMoのモデルタイプがテーブル参照タイプであるため、アプリWaが管理するテーブルWtから、入力データDinに基づいて検索した情報を出力データDoutとして取得する。ここでは、アプリWaが管理するテーブルWtから、列Cp1が自プロセスノードD30に関連付けられたコンテキストデータCxDのケースID、かつ、列Cp2が「列Cp2値」であるレコードの情報が出力データDoutとして取得される。ステップS38673では、原評価対象転写因子モデルMoを表現する転写因子モデルタグMTの<評価結果セレクタ群>が「列Ws」であるため、出力データDoutのうち列Wsのデータが原評価対象転写因子モデルMoの評価結果Rとして決定される。
 次に、評価対象転写因子モデルMeが図51に例示する転写因子モデルタグMTが表現する転写因子モデルMである場合について説明する。
 図43を参照して、ステップS3861では、評価対象転写因子モデルMeを原評価対象転写因子モデルMoに設定する。ステップS3862では、<入力変数名>「スクリプトコード」に対応する<入力変数の値>に設定されている転写因子モデルMおよび<入力変数名>「入力変数Dp1」に対応する<入力変数の値>に設定されている転写因子モデルMを抽出する。ステップS3862において転写因子モデルMが抽出されるため、ステップS3863の判断はYesになり、ステップS3864に進む。ステップS3864およびステップS3865を経て、ステップS3862において抽出された転写因子モデルMの評価処理が行われる。
 <入力変数名>「スクリプトコード」に対応する<入力変数の値>に設定されている転写因子モデルMはテーブル参照タイプであるため、その評価処理は図48および図49に例示する転写因子モデルタグMTについて上述した評価処理と同様である。具体的には、アプリXaが管理するスクリプトテーブルから、スクリプトIDが「スクリプトID値」であるレコードを出力データDoutとして取得し、当該出力データDoutからスクリプトコードのデータが評価結果Rとして決定される。
 <入力変数名>「入力変数Dp1」に対応する<入力変数の値>に設定されている転写因子モデルMは、図49に例示する転写因子モデルタグMTが表現する転写因子モデルMと同じであるため、図49に例示する転写因子モデルタグMTについて上述した評価処理と同様の処理が行われる。
 ステップS3862において抽出された転写因子モデルMが全て評価されたため、ステップS3866の判断はYesになり、ステップS3867に進む。ステップS3867では、原評価対象転写因子モデルMoの評価処理が行われる。
 図44を参照して、ステップS38671では、原評価対象転写因子モデルMoを表現する転写因子モデルタグMTの<モデルID>が「スクリプト」であるため、原評価対象転写因子モデルMoのモデルタイプをスクリプトタイプと特定する。ステップS38672では、原評価対象転写因子モデルMoのモデルタイプがスクリプトタイプであるため、入力データDinに基づいて実行したスクリプトの実行結果を出力データDoutとして取得する。ここでは、<入力変数名>「スクリプトコード」に対応する<入力変数の値>に設定されている転写因子モデルMの評価結果Rをスクリプトコードとし、スクリプトタイプを「Python」としてスクリプトを実行する。スクリプトを実行する際に、スクリプトの入力変数Dp1の値は、<入力変数名>「入力変数Dp1」に対応する<入力変数の値>に設定されている転写因子モデルMの評価結果Rとし、入力変数Dp2の値は「入力変数Dp2値」とする。ステップS38673では、<評価結果セレクタ群>「評価結果セレクタDs1.評価結果セレクタDs2」に基づいて出力データDoutから評価結果Rとして返却するデータが決定される。
 次に、評価対象転写因子モデルMeが図52に例示する転写因子モデルタグが表現する転写因子モデルである場合について説明する。
 図43を参照して、ステップS3861では、評価対象転写因子モデルMeを原評価対象転写因子モデルMoに設定する。ステップS3862では、<入力変数名>「機械学習モデルデータ」に対応する<入力変数の値>に設定されている転写因子モデルMおよび<入力変数名>「入力変数Ep1」に対応する<入力変数の値>に設定されている転写因子モデルMを抽出する。ステップS3862において転写因子モデルMが抽出されるため、ステップS3863の判断はYesになり、ステップS3864に進む。ステップS3864およびステップS3865を経て、ステップS3862において抽出された転写因子モデルMの評価処理が行われる。
 <入力変数名>「機械学習モデルデータ」に対応する<入力変数の値>に設定されている転写因子モデルMはテーブル参照タイプであるため、その評価処理は図48および図49に例示する転写因子モデルタグMTについて上述した評価処理と同様である。具体的には、アプリYaが管理する機械学習モデルテーブルから、機械学習モデルIDが「機械学習モデルID値」であるレコードを出力データDoutとして取得し、当該出力データDoutからモデルデータが評価結果Rとして決定される。
 <入力変数名>「入力変数Ep1」に対応する<入力変数の値>に設定されている転写因子モデルMは、図49に例示する転写因子モデルタグMTが表現する転写因子モデルMと同じであるため、図49に例示する転写因子モデルタグMTについて上述した評価処理と同様の処理が行われる。
 ステップS3862において抽出された転写因子モデルMが全て評価されたため、ステップS3866の判断はYesになり、ステップS3867に進む。ステップS3867では、原評価対象転写因子モデルMoの評価処理が行われる。
 図44を参照して、ステップS38671では、原評価対象転写因子モデルMoを表現する転写因子モデルタグMTの<モデルID>が「機械学習モデル」であるため、原評価対象転写因子モデルMoのモデルタイプを機械学習モデルタイプと特定する。ステップS38672では、原評価対象転写因子モデルMoのモデルタイプが機械学習モデルタイプであるため、入力データDinに基づいて実行した機械学習モデルの推論結果を出力データDoutとして取得する。ここでは、<入力変数名>「機械学習モデルデータ」に対応する<入力変数の値>に設定されている転写因子モデルMの評価結果Rを機械学習モデルデータとし、モデルフレームワークを「PyTorch」として機械学習モデルを用いた推論処理を実行する。機械学習モデルを用いた推論処理を実行する際に、機械学習モデルの入力変数Ep1の値は、<入力変数名>「入力変数Ep1」に対応する<入力変数の値>に設定されている転写因子モデルMの評価結果Rとし、機械学習モデルの入力変数Ep2の値は「入力変数Ep2値」とする。ステップS38673では、<評価結果セレクタ群>「評価結果セレクタEs1」に基づいて出力データDoutから評価結果Rとして返却するデータが決定される。
 次に、評価対象転写因子モデルMeが図53に例示する転写因子モデルタグMTが表現する転写因子モデルMである場合について説明する。
 図43を参照して、ステップS3861では、評価対象転写因子モデルMeを原評価対象転写因子モデルMoに設定する。ステップS3862では、<入力変数名>「APIアドレス」に対応する<入力変数の値>に設定されている転写因子モデルMおよび<入力変数名>「キーGp1」に対応する<入力変数の値>に設定されている転写因子モデルMを抽出する。ステップS3862において転写因子モデルMが抽出されるため、ステップS3863の判断はYesになり、ステップS3864に進む。ステップS3864およびステップS3865を経て、ステップS3862において抽出された転写因子モデルMの評価処理が行われる。
 <入力変数名>「APIアドレス」に対応する<入力変数の値>に設定されている転写因子モデルMはテーブル参照タイプであるため、その評価処理は図48および図49に例示する転写因子モデルタグMTについて上述した評価処理と同様である。具体的には、アプリZaが管理するAPIテーブルから、APIIDが「APIID値」であるレコードを出力データDoutとして取得し、当該出力データDoutからAPIアドレスが評価結果Rとして決定される。
 <入力変数名>「キーGp1」に対応する<入力変数の値>に設定されている転写因子モデルMは、図49に例示する転写因子モデルタグMTが表現する転写因子モデルMと同じであるため、図49に例示する転写因子モデルタグMTについて上述した評価処理と同様の処理が行われる。
 ステップS3862において抽出された転写因子モデルMが全て評価されたため、ステップS3866の判断はYesになり、ステップS3867に進む。ステップS3867では、原評価対象転写因子モデルMoの評価処理が行われる。
 図44を参照して、ステップS38671では、原評価対象転写因子モデルMoを表現する転写因子モデルタグMTの<モデルID>が「API」であるため、原評価対象転写因子モデルMoのモデルタイプをAPIタイプと特定する。ステップS38672では、原評価対象転写因子モデルMoのモデルタイプがAPIタイプであるため、入力データDinに基づいて実行したAPIの実行結果を出力データDoutとして取得する。ここでは、<入力変数名>「APIアドレス」に対応する<入力変数の値>に設定されている転写因子モデルMの評価結果RをAPIアドレスとしてAPIを実行する。APIを実行する際に、キーGp1の値は、<入力変数名>「キーGp1」に対応する<入力変数の値>に設定されている転写因子モデルMの評価結果Rとし、キーGp2の値は「キーGp2値」とする。ステップS38673では、<評価結果セレクタ群>「評価結果セレクタGs1.評価結果セレクタGs2.評価結果セレクタGs3」に基づいて出力データDoutから評価結果Rとして返却するデータが決定される。
 図54から図57を参照して、転写プロセス定義情報PDinfoを含むプロセス生成情報DM35に対する転写部380の動作例を説明する。図54は、本実施形態に係るプロセス実行システム300の転写部380の動作例について説明するために使用するアクション情報マスタDM353を例示する模式図である。図55は、本実施形態に係るプロセス実行システム300の転写部380の動作例について説明するために使用するアクション情報D353を例示する模式図である。図56は、本実施形態に係るプロセス実行システム300の転写部380の動作例について説明するために使用するアクション情報マスタDM353を例示する模式図である。図57は、本実施形態に係るプロセス実行システム300の転写部380の動作例について説明するために使用するアクション情報D353を例示する模式図である。
 図54は選択プロセスタグPTsを含むアクション情報マスタDM353を例示している。図54のアクション情報マスタDM353は、置換プロセスタグPTrをなす<転写因子モデルタグB>、<転写因子モデルタグC>、および<転写因子モデルタグD>をさらに含む。ここでは、図54に例示する選択プロセスタグPTsの選択条件に含まれる<転写因子モデルタグA>の評価結果Rが「値1」ではないとする。また、<転写因子モデルタグB>の評価結果Rは<評価結果B>であり、<転写因子モデルタグC>の評価結果Rは<評価結果C>であり、<転写因子モデルタグD>の評価結果Rは<評価結果D>であるとする。この場合、アクション情報マスタDM353を転写したアクション情報D353は、図55のようになる。
 図56は、反復プロセスタグPTiを含むアクション情報マスタDM353を例示している。図56のアクション情報マスタDM353は、置換プロセスタグPTrをなす<転写因子モデルタグB>をさらに含む。ここでは、反復プロセスタグPTiの反復条件に含まれる<転写因子モデルタグA>の評価結果Rは<評価結果A1>と<評価結果A2>の2つのデータを含むものとする。また、<転写因子モデルタグB>の評価結果Rは<評価結果B>であるとする。この場合、アクション情報マスタDM353を転写したアクション情報D353は、図57のようになる。
 図54から図57を用いて上述した説明では、転写プロセス定義情報PDinfoが、プロセス生成情報DM35のうちアクション情報マスタDM353に含まれる場合を例に説明したが、転写プロセス定義情報PDinfoがアクション情報マスタDM353以外のプロセス生成情報DM35に含まれている場合についても本動作例によって理解できる。例えば、プロセス生成情報DM35のうち、転写プロセス定義情報PDinfoがプロセス番号マスタDM351に含まれていてもよい。具体的には、プロセス番号マスタDM351は、転写因子モデル定義情報MDinfoによって定義される転写因子モデルMの評価結果Rに応じてプロセス番号D351が定まるように構成された転写プロセス定義情報PDinfoを含んでいてもよい。これにより、プロセス実行システム300が通信可能な環境Eに応じてプロセス番号D351を変化させることができる。そのため、プロセスネットワーク状態管理部360の状態遷移処理が図12から図14を参照して上述した状態遷移処理のようにプロセス番号D351に応じて定まる場合、プロセス実行システム300が通信可能な環境Eに応じて、実行されるプロセスノードD30の順番を変化させることができる。
 (作用効果)
 本実施形態に係るプロセス実行システム300は、一のプロセスマスタノードDM30が有するプロセス生成情報DM35を、当該一のプロセスマスタノードDM30に対応する一のプロセスノードにプロセス定義情報D35として転写する転写プロセスを実行する転写部380をさらに有する。プロセス生成情報DM35は、転写プロセスを定義した一または複数の転写プロセス定義情報PDinfoを含む。転写プロセス定義情報PDinfoは、プロセス実行システム300が通信可能な環境Eが転写プロセスに与える影響をモデル化した転写因子モデルMを定義した一または複数の転写因子モデル定義情報MDinfoを含む。転写部380は、転写プロセスの実行要求を受け付ける転写要求受付部381と、転写因子モデル定義情報MDinfoによって定義された転写因子モデルMを評価する転写因子モデル評価部382と、転写プロセス定義情報PDinfoによって定義された転写プロセスを実行する転写プロセス実行部383と、を備える。転写プロセス実行部383は、転写因子モデル評価部382が評価した一または複数の転写因子モデルMの評価結果Rに基づいて転写プロセスを制御する。
 本実施形態に係るプロセス実行システム300によれば、プロセス実行システム300が通信可能な環境Eが転写プロセスに与える影響をモデル化した転写因子モデルMによって、プロセスの内容を定義したプロセス定義情報D35を変化させることができる。すなわち、プロセス実行システム300が通信可能な環境Eに応じて、プロセスネットワーク実行部370が実行するプロセスの内容を変化させることができる。そのため、本実施形態に係るプロセス実行システム300によれば、可塑性と安定性とを両立させることによって変化の速度が速いビジネス環境への適応度がより高いプロセス実行システム300を提供できる。
 本実施形態に係るプロセス実行システム300のプロセスネットワーク実行部370は、プロセス定義情報D35によって定義されたプロセスを実行する際に、転写プロセスの実行要求を転写要求受付部381に送信することによって、当該プロセス定義情報D35を生成するために使用されたプロセス生成情報DM35を転写部380が転写することによって更新されたプロセス定義情報D35に基づいてプロセスを実行する。
 これにより、プロセス定義情報D35によって定義されたプロセスをプロセスネットワーク実行部370が実行する際に、プロセス実行システム300が通信可能な環境Eに応じて自動的に更新されたプロセス定義情報D35に基づいてプロセスを実行できる。そのため、本実施形態に係るプロセス実行システム300によれば、可塑性と安定性とを両立させることによって変化の速度が速いビジネス環境への適応度がさらに高いプロセス実行システム300を提供できる。
 本実施形態に係るプロセス実行システム300の転写因子モデル評価部382は、一の転写因子モデルMを評価する際に、他の転写因子モデルMの評価結果Rを当該一の転写因子モデルMの入力データDinとして使用する。
 これにより、転写因子モデル評価部382は、関数を引数に取る高階関数のような構造を有する転写因子モデルMを評価できる。そのため、プロセス実行システム300が通信可能な環境Eが転写プロセスに与える複雑な影響をモデル化できる。従って、本実施形態に係るプロセス実行システム300によれば、可塑性と安定性とを両立させることによって変化の速度が速いビジネス環境への適応度がさらに高いプロセス実行システム300を提供できる。
 (改変例)
 上述した実施形態3の構成を改変すると、プロセス実行システム300が通信可能な環境Eに応じてプロセスネットワークD3の構造を変化させることが可能である。
 図58は、本改変例に係るプロセス実行システム300のプロセスネットワーク生成部350によって生成されるプロセスネットワークD3のデータ構造を例示する模式図である。図59は、本改変例に係るプロセス実行システム300のプロセスネットワークモデル入力部351が入力を受け付けるプロセスネットワークモデルDM3のデータ構造を例示する模式図である。図60は、本改変例に係るプロセス実行システム300のプロセスネットワークモデル入力部351が入力を受け付けるプロセスネットワークモデルDM3のプロセスマスタノードDM30のデータ構造を例示する模式図である。図61は、本改変例に係るプロセス実行システム300のプロセスネットワーク生成部350によって生成されるプロセスネットワークD3のプロセスノードD30のデータ構造を例示する模式図である。以下、本改変例に係るプロセス実行システム300について説明する。
 図58に示すように、本改変例に係るプロセス実行システム300のプロセス定義情報D35は、当該プロセス定義情報D35を有するプロセスノードD30が活性であるか非活性であるかを表現する活性フラグD356を含む。
 図59に示すように、本改変例に係るプロセス実行システム300のプロセス生成情報DM35は、活性フラグD356を生成するために使用される活性フラグマスタDM356を含む。
 図60および図61を参照して、活性フラグマスタDM356は、転写因子モデル定義情報MDinfoによって定義される転写因子モデルMの評価結果Rに応じて活性フラグD356が定まるように構成された転写プロセス定義情報PDinfoを含む。
 プロセスネットワーク状態管理部360は、プロセスノードD30が有するプロセス定義情報D35に含まれる活性フラグD356が非活性であることを表現している場合には、当該プロセスノードD30を存在しないものとして扱う。具体的には、プロセスネットワーク状態管理部360は、プロセスノードD30を抽出する際(例えば、図13のステップS1321など)に、プロセスノードD30が有するプロセス定義情報D35に含まれる活性フラグD356が非活性であることを表現している場合には、当該プロセスノードD30は抽出結果に含まれないようにする。これにより、プロセスノードD30が有するプロセス定義情報D35に含まれる活性フラグD356が非活性であることを表現している場合には、当該プロセスノードD30は実行可能状態になることはなく、実質的に存在しないものとして扱われるようになる。そのため、プロセスネットワークD3の生成時に、プロセス実行システム300が通信可能な環境Eに応じてプロセスネットワークD3の構造が変化することになる。
 プロセスネットワーク生成部350は、プロセスネットワークD3を生成する際に、転写プロセスの実行要求を転写要求受付部381に送信することによって、プロセスネットワークモデル入力部351が入力を受け付けたプロセスネットワークモデルDM3に含まれる複数のプロセスマスタノードDM30のうちの一のプロセスマスタノードDM30が有するプロセス生成情報DM35を、当該一のプロセスマスタノードDM30に対応するプロセスノードD30にプロセス定義情報D35として転写する。
 (作用効果)
 本改変例に係るプロセス実行システム300のプロセス定義情報D35は、当該プロセス定義情報D35を有するプロセスが活性であるか非活性であるかを表現する活性フラグD356を含む。本改変例に係るプロセス実行システム300のプロセス生成情報DM35は、活性フラグD356を生成するために使用される活性フラグマスタDM356を含む。活性フラグマスタDM356は、転写因子モデルMの評価結果Rに応じて活性フラグD356が定まるように構成された転写プロセス定義情報TDinfoを含む。プロセスネットワーク状態管理部360は、プロセスノードD30が有するプロセス定義情報D35に含まれる活性フラグD356が非活性であることを表現している場合には、当該プロセスノードD30を存在しないものとして扱う。
 これにより、プロセス実行システム300が通信可能な環境Eに応じてプロセスネットワークD3の構造を変化させることができる。そのため、本改変例に係るプロセス実行システム300によれば、可塑性と安定性とを両立させることによって変化の速度が速いビジネス環境への適応度がさらに高いプロセス実行システム300を提供できる。
 また、本改変例に係るプロセス実行システム300のプロセスネットワーク生成部350は、プロセスネットワークD3を生成する際に、転写プロセスの実行要求を転写要求受付部381に送信することによって、プロセスネットワークモデル入力部351が入力を受け付けたプロセスネットワークモデルDM3に含まれる複数のプロセスマスタノードDM30のうちの一のプロセスマスタノードDM30が有するプロセス生成情報DM35を、当該一のプロセスマスタノードDM30に対応するプロセスノードD30にプロセス定義情報D35として転写する。
 これにより、プロセスネットワークD3の生成時に、プロセス実行システム300が通信可能な環境Eに応じてプロセスネットワークD3の構造を変化させることができる。そのため、本改変例に係るプロセス実行システム300によれば、可塑性と安定性とを両立させることによって変化の速度が速いビジネス環境への適応度がさらに高いプロセス実行システム300を提供できる。
 (第4の実施形態)
 上述した実施形態1、実施形態2および実施形態3に係るプロセス実行システムのプロセスネットワークモデル入力部が入力を受け付けるプロセスネットワークモデル(Executable Process Network)は、ビジネスプロセスを表現するために一般に使用されているBPMN(Business Process Modeling Notation)とは異なる種々の顕著な特徴を有する。
 例えば、BPMNでは、アクティビティとアクティビティとの間に、制御フロー(AND分割、XOR分割など)を表現するゲートが配置される。一方で、上述した実施形態1、実施形態2および実施形態3に係るプロセス実行システムのプロセスネットワークモデル入力部が入力を受け付けるプロセスネットワークモデルでは、プロセスとプロセスとの間に制御フローを表現するゲートを配置する必要がない。
 これは、プロセスとプロセスとの間の相互作用によって複雑な制御フローを実現できるためである。例えば、一のプロセスノードまたは他のプロセスノードのいずれか一方を、それらよりも前に実行されるプロセスノード(以下、条件分岐プロセスノード)の実行結果に応じて選択的に実行したい場合(XOR分割に相当する)には、次のようにすればよい。すなわち、条件分岐プロセスノードにおいて定義されたアクションの実行によって、一のプロセスノードまたは他のプロセスノードのいずれか一方の状態を完了状態に変更するプロセス状態変更要求をプロセス状態変更要求受付部に送信する。一のプロセスノードまたは他のプロセスノードのどちらを完了状態にするかは、条件分岐プロセスノードにおいて定義されたアクションの実行結果に応じて条件付けしておく。これにより、一のプロセスノードまたは他のプロセスノードのうち、条件分岐プロセスノードにおいて定義されたアクションの実行結果に応じて、完了状態に変更されなかったプロセスノードが実行される。なお。複雑な制御フローを必要としない逐次的なプロセスノードの実行の場合には、プロセス状態変更要求受付部は設けなくてもよい。
 近年、Networks as Things(モノとしてのネットワーク)からNetworks as Processes(プロセスとしてのネットワーク)へと視点を転換し、プロセスとプロセスとの間の相互作用を中心に世界を捉えることによって、物理系や、量子コンピューティング、知能システム、生物システム、情報システム、社会システムなどのあらゆるシステムを統合的に扱える可能性が示唆されている(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.)。プロセス同士の相互作用を表現するネットワークに着目し、実行可能なプロセスネットワーク(Executable Process Network)を用いた本発明の実施形態に係るプロセス実行システムは、Networks as Processesへの視点の転換によって、他のあらゆるシステムとの相互接続を容易にし得る。そのため、本発明の実施形態に係るプロセス実行システムは、可塑性と安定性とを両立させることによって変化の速度が速いビジネス環境への適応度を容易に高め得る。
 以下に説明する実施形態4および実施形態5は、プロセスネットワークモデルにおいてプロセスとプロセスとの間に制御フローを表現するゲートを配置する必要がないという顕著な特徴によって有利な効果を発揮する構成を有する。
 第4実施形態に係るプロセス実行システム400は、概説すれば、プロセスネットワーク生成部450がプロセスネットワークモデルDM4をシリアライズして出力するプロセスネットワークモデル出力部452を有する点、およびプロセスネットワークモデル入力部451がシリアライズされたプロセスネットワークモデルDM4の入力を受け付ける点において第2実施形態に係るプロセス実行システム200とは異なる。第4実施形態に係るプロセス実行システム400によれば、一のプロセス実行システム400において使用されているプロセスネットワークモデルDM4を他のプロセス実行システム400で使用することが容易になり、相互運用性が向上する。なお、第4実施形態に係るプロセス実行システム400は、以下で特に説明する構成を除いて、第2実施形態に係るプロセス実行システム200と同様に構成できる。
 図62は、本実施形態に係るプロセス実行システム400のプロセスネットワーク生成部450の機能ブロック図である。図63は、本実施形態に係るプロセス実行システム400のプロセスネットワークモデル出力部452がプロセスネットワークモデルDM4をシリアライズしたデータを例示する模式図である。以下、第4実施形態に係るプロセス実行システム400について説明する。
 図62を参照して、本実施形態に係るプロセスネットワーク生成部450は、プロセスネットワークモデルDM4を出力するプロセスネットワークモデル出力部452をさらに有する。プロセスネットワークモデル出力部452は、プロセスネットワークモデルDM4をシリアライズしたデータMDoutを出力する。
 本実施形態に係るプロセスネットワークモデル入力部451は、プロセスネットワークモデルDM4をシリアライズしたデータの入力を受け付ける。プロセスネットワーク生成部450は、プロセスネットワークモデル入力部451が入力を受け付けたプロセスネットワークモデルDM4をシリアライズしたデータをデシリアライズすることによって得られたプロセスネットワークモデルDM4を用いてプロセスネットワークD4を生成する。
 プロセスネットワークモデル出力部452は、プロセスネットワークモデルDM4をシリアライズする際に、プロセスネットワークモデルDM4と、当該プロセスネットワークモデルDM4をシリアライズしたデータMDoutが一対一に対応する規則に基づいてシリアライズする。
 プロセスネットワークモデルDM4と、当該プロセスネットワークモデルDM4をシリアライズしたデータMDoutが一対一に対応するとは、プロセスネットワークモデルDM4が同一であればシリアライズしたデータMDoutが同一となり、プロセスネットワークモデルDM4が異なればシリアライズしたデータMDoutが異なることを意味する。逆に、シリアライズしたデータMDoutが同一であればプロセスネットワークモデルDM4が同一となり、シリアライズしたデータMDoutが異なればプロセスネットワークモデルDM4が異なるということでもある。
 プロセスネットワークモデルDM4と、当該プロセスネットワークモデルDM4をシリアライズしたデータMDoutが一対一に対応する規則は、例えば、プロセス番号マスタDM451の値を基準にプロセスマスタノードを昇順または降順に配列する規則とすることができる。また、階層型のプロセスネットワークモデルDM4の場合には、プロセスネットワークモデルDM4と、当該プロセスネットワークモデルDM4をシリアライズして出力されるデータMDoutが一対一に対応する規則は、深さ優先、かつ、同一階層においてはプロセス番号マスタDM451の値を基準に昇順または降順で配列する規則とすることができる。
 プロセスネットワークモデル出力部452がプロセスネットワークモデルDM4をシリアライズしたデータMDoutを出力する際に使用するデータ形式は、当該シリアライズしたデータMDoutをデシリアライズすることによって、シリアライズする対象となったプロセスネットワークモデルDM4を復元できる限りにおいて限定されない。
 プロセスネットワークモデル出力部452がプロセスネットワークモデルDM4をシリアライズしたデータMDoutを出力する際に使用するデータ形式は、例えば、JSON、XML(Extensible Markup Language)、YAMLまたはCSVであり得る。好ましくは、プロセスネットワークモデル出力部452がプロセスネットワークモデルDM4をシリアライズしたデータMDoutを出力する際に使用するデータ形式は、キーと値の組を配列したデータ形式である。さらに好ましくは、プロセスネットワークモデル出力部452がプロセスネットワークモデルDM4をシリアライズして出力する際に使用するデータ形式は、JSON(JavaScript Object Notation)である。
 プロセスネットワークモデル出力部452がプロセスネットワークモデルDM4をシリアライズしたデータMDoutを出力する際に使用するデータ形式がキーと値の組を配列したデータ形式である場合、値は、文字列型、数値型、論理型、日付型、リスト型などの種々の型付きでデータを表現できるように構成できる。また、値は、キーと値の組を配列したデータを要素とするリストであるように構成できる。
 図63は、プロセスネットワークモデル出力部452がプロセスネットワークモデルDM4をシリアライズしたデータMDoutを例示する模式図である。図63は、プロセスネットワークモデル出力部452がプロセスネットワークモデルDM4をシリアライズしたデータMDoutを出力する際に使用するデータ形式がJSONである場合を例示している。図63は、プロセスマスタノードが実施形態1に係る図7に例示したデータ構造である場合を例示している。プロセスマスタノードが実施形態2に係る図24に例示したデータ構造である場合にも同様にシリアライズできる。
 図63を参照して、一のプロセスマスタノードDM40のデータは、「プロセス生成情報」と「子プロセスマスタノード群」をキーに有する。キーである「プロセス生成情報」に対応する値は、一のプロセスマスタノードDM40に含まれるプロセス生成情報をキーと値の組によって配列したデータである。キーである「子プロセスマスタノード群」に対応する値は、一のプロセスマスタノードDM40の直属の子のプロセスマスタノード群に含まれる各々のプロセスマスタノードDM40のデータを配列したリストである。一のプロセスマスタノードDM40に直属の子のプロセスマスタノードDM40が存在しない場合には、キーである「子プロセスマスタノード群」に対応する値に格納されるリストは空である。
 (作用効果)
 本実施形態に係るプロセス実行システム400のプロセスネットワーク生成部450は、プロセスネットワークモデルDM4を出力するプロセスネットワークモデル出力部452を有する。プロセスネットワークモデル出力部452は、プロセスネットワークモデルDM4をシリアライズして出力する。
 これにより、一のプロセス実行システム400において使用されているプロセスネットワークモデルDM4を他のプロセス実行システム400で使用することが容易になり、相互運用性が向上する。そのため、本実施形態に係るプロセス実行システム400によれば、可塑性と安定性とを両立させることによって変化の速度が速いビジネス環境への適応度がより高いプロセス実行システム400を提供できる。
 なお、本実施形態に係るプロセス実行システム400によれば、プロセスネットワークモデルDM4においてプロセスとプロセスとの間に制御フローを表現するゲートを配置する必要がない。そのため、BPMNなどのゲートを有する表記法で表現したモデルと比較して、プロセスネットワークモデルDM4のシリアライズが容易である。
 本実施形態に係るプロセス実行システム400のプロセスネットワークモデル入力部451は、プロセスネットワークモデルDM4をシリアライズしたデータの入力を受け付ける。プロセスネットワーク生成部450は、プロセスネットワークモデル入力部451が入力を受け付けたプロセスネットワークモデルDM4をシリアライズしたデータをデシリアライズすることによって得られたプロセスネットワークモデルDM4を用いてプロセスネットワークD4を生成する。
 これにより、一のプロセス実行システム400において使用されているプロセスネットワークモデルDM4を他のプロセス実行システム400に直接的に入力して使用できるようになり、相互運用性がより向上する。そのため、本実施形態に係るプロセス実行システム400によれば、可塑性と安定性とを両立させることによって変化の速度が速いビジネス環境への適応度がさらに高いプロセス実行システム400を提供できる。
 プロセス実行システム400を運用する上で、一のプロセスネットワークモデルDM4と他のプロセスネットワークモデルDM4との違いを容易に確認できるようにしておくことは非常に重要である。例えば、ビジネスプロセスが変更されたことに伴ってプロセスネットワークモデルDM4も変更されるため、プロセスネットワークモデルDM4はバージョン管理されるのが好ましい。その際に、バージョンアップ前とバージョンアップ後のプロセスネットワークモデルDM4の違いを容易に確認できるようにしておくことは、プロセス実行システム400を使用した業務の品質を確保する上で非常に重要である。
 本実施形態に係るプロセス実行システム400のプロセスネットワークモデル出力部452は、プロセスネットワークモデルDM4をシリアライズする際に、プロセスネットワークモデルDM4と、当該プロセスネットワークモデルDM4をシリアライズしたデータが一対一に対応する規則に基づいてシリアライズする。
 これにより、プロセスネットワークモデルDM4の違いを確認するのが非常に容易になる。例えば、バージョンアップ前後のプロセスネットワークモデルDM4をシリアライズしたデータを汎用のテキストデータ比較ソフトなどを使用して比較すれば変更箇所を容易に確認できる。そのため、本実施形態に係るプロセス実行システム400によれば、可塑性と安定性とを両立させることによって変化の速度が速いビジネス環境への適応度がさらに高いプロセス実行システム400を提供できる。
 一方で、BPMNなどのゲートを有する表記法の場合、特にゲートを追加・削除すると、モデルをシリアライズしたデータが大きく変わってしまうことが多く、変更箇所を確認することが困難なことが多い。
 本実施形態に係るプロセス実行システム400において、プロセスネットワークモデル出力部452がプロセスネットワークモデルDM4をシリアライズしたデータMDoutを出力する際に使用するデータ形式は、キーと値の組を配列したデータ形式である。
 これにより、プロセスネットワークモデルDM4をシリアライズしたデータの容量が小さくなるとともに可読性が向上する。そのため、本実施形態に係るプロセス実行システム400によれば、可塑性と安定性とを両立させることによって変化の速度が速いビジネス環境への適応度がさらに高いプロセス実行システム400を提供できる。
 一方で、BPMNなどのゲートを有する表記法の場合、キーと値の組を配列したデータ形式では、アクティビティとゲートとの間の関係性を表現するのが難しい。そのため、BPMNなどのゲートを有する表記法の場合、モデルをシリアライズしたデータが、XMLのように所定のタグで文字列を囲んで記述するデータ形式であることが多い。その結果、BPMNなどのゲートを有する表記法の場合、モデルをシリアライズしたデータの容量が大きい上に、モデルをシリアライズしたデータを人間が読んで理解するには困難なことが多い。
 本実施形態に係るプロセス実行システム400において、プロセスネットワークモデル出力部452がプロセスネットワークモデルDM4をシリアライズしたデータMDoutを出力する際に使用するデータ形式は、JSONである。
 JSONは、異なるシステム間、特に、インターネットなどのネットワークを介して接続された異なるシステム間においてデータを交換する際に現在広く使用されているデータ形式である。プロセスネットワークモデル出力部452がプロセスネットワークモデルDM4をシリアライズしたデータを出力する際に使用するデータ形式がJSONであることによって、一のプロセス実行システム400において使用されているプロセスネットワークモデルDM4を他のプロセス実行システム400で使用することがさらに容易になり、相互運用性がさらに向上する。そのため、本実施形態に係るプロセス実行システム400によれば、可塑性と安定性とを両立させることによって変化の速度が速いビジネス環境への適応度がさらに高いプロセス実行システム400を提供できる。
 (第5の実施形態)
 第5実施形態に係るプロセス実行システム500は、概説すれば、制御部510が、プロセスネットワークモデル表示部590と、プロセスネットワークD5を表示するプロセスネットワーク表示部595と、をさらに有する点において第2実施形態に係るプロセス実行システム200とは異なる。第5実施形態に係るプロセス実行システム500によれば、プロセスネットワークモデルDM5やプロセスネットワークD5を可視化できるため、プロセスネットワークモデルDM5やプロセスネットワークD5の複雑性が増しても業務の品質を確保するのがより容易になる。なお、第5実施形態に係るプロセス実行システム500は、以下で特に説明する構成を除いて、第2実施形態に係るプロセス実行システム200と同様に構成できる。
 図64は、本実施形態に係るプロセス実行システム500の制御部510の機能ブロック図である。図65は、本実施形態に係るプロセス実行システム500のプロセスネットワークモデル表示部590の機能ブロック図である。図66は、本実施形態に係るプロセス実行システム500のプロセスネットワーク表示部595の機能ブロック図である。図67は、本実施形態に係るプロセス実行システム500のプロセスネットワークモデル表示部590がプロセスネットワークモデルDM5を表示した様子を示す図である。図68は、本実施形態に係るプロセス実行システム500のプロセスネットワーク表示部595がプロセスネットワークD5を表示した様子を示す図である。以下、第5実施形態に係るプロセス実行システム500について説明する。
 図64を参照して、本実施形態に係るプロセス実行システム500の制御部510は、プロセスネットワークモデルDM5を表示するプロセスネットワークモデル表示部590と、プロセスネットワークD5を表示するプロセスネットワーク表示部595と、をさらに有する。
 図65を参照して、プロセスネットワークモデル表示部590は、プロセスネットワークモデルDM5の表示要求を受け付けるプロセスネットワークモデル表示要求受付部591と、当該表示要求の要求元においてプロセスネットワークモデルDM5を表示するためのプロセスネットワークモデル表示データを生成するプロセスネットワークモデル表示データ生成部592と、を有する。
 プロセスネットワークモデル表示部590は、プロセスネットワークモデル表示要求受付部591が表示要求を受け付けると、プロセスネットワークモデル表示データ生成部592においてプロセスネットワークモデル表示データを生成して、当該表示要求の要求元にプロセスネットワークモデル表示データを返信する。
 プロセスネットワークモデル表示要求受付部591が表示要求を受け付ける方法は特に限定されない。例えば、HTTPを使用した通信によってプロセスネットワークモデルDM5の表示要求を受け付けることができる。
 プロセスネットワークモデル表示データ生成部592は、プロセスネットワークモデルDM5の表示要求の要求元においてプロセスネットワークモデルDM5を3次元表示するためのプロセスネットワークモデル3次元表示データを生成する。
 プロセスネットワークモデル3次元表示データは、プロセスネットワークモデルDM5に含まれるプロセスマスタノードDM50をノードとし、プロセスマスタノードDM50同士の関係をエッジとする3次元のネットワーク構造によってプロセスネットワークモデルDM5を表現する。階層型のプロセスネットワークモデルDM5の場合、プロセスネットワークモデル3次元表示データは、プロセスネットワークモデルDM5に含まれるプロセスマスタノードDM50をノードとし、プロセスマスタノードDM50同士の親子関係をエッジとする3次元のネットワーク構造によってプロセスネットワークモデルDM5を表現する。
 プロセスネットワークモデル3次元表示データを生成する方法は特に限定されない。例えば、プログラミング言語Pythonから使用可能なNetworkXなどのライブラリを用いて、プロセスマスタノードDM50に3次元座標を割り当てることによって、プロセスネットワークモデル3次元表示データを生成できる。
 プロセスネットワークモデルDM5の表示要求には、プロセスネットワークモデルDM5の表示要求の要求元におけるプロセスネットワークモデルDM5の表示形態を制御するプロセスネットワークモデル表示制御情報が含まれる。
 プロセスネットワークモデル表示データ生成部592は、プロセスネットワークモデルDM5の表示要求の要求元におけるプロセスネットワークモデルDM5の表示形態がプロセスネットワークモデル表示制御情報に応じて変化するように、プロセスネットワークモデル表示データを生成する。
 プロセスネットワークモデル表示制御情報に応じたプロセスネットワークモデルDM5の表示形態の変化は、例えば、プロセスネットワークモデルDM5の回転、拡大、縮小および平行移動からなる群から選択される少なくとも1つ以上の表示形態の変化の組み合わせである。プロセスネットワークモデル表示制御情報に応じたプロセスネットワークモデルDM5の表示形態の変化は、プロセスネットワークモデルDM5に含まれるプロセスマスタノードDM50に関する情報の表示および非表示であってもよい。
 プロセスネットワークモデル表示要求受付部591がプロセスネットワークモデル表示制御情報を含むプロセスネットワークモデルDM5の表示要求を受け付ける方法は特に限定されない。例えば、プログラミング言語Pythonから使用可能なPlotlyなどのライブラリを用いることによって、プロセスネットワークモデル表示要求受付部591がプロセスネットワークモデル表示制御情報を含むプロセスネットワークモデルDM5の表示要求を受け付けることができる。
 プロセスネットワークモデル表示部590がプロセスネットワークモデルDM5の表示要求の要求元にプロセスネットワークモデル表示データを返信する方法は特に限定されない。例えば、HTTPを使用した通信によってプロセスネットワークモデル表示データを返信するように構成できる。
 プロセスネットワークモデル表示部590は、プロセスネットワークモデルDM5に含まれるプロセスマスタノードDM50に関する情報をプロセスマスタノードDM50ごとに表示してもよい。プロセスネットワークモデル表示部590は、プロセスネットワークモデルDM5に含まれるプロセスマスタノードDM50に関する情報をノードの色や形で表現してもよい。例えば、プロセスネットワークモデル表示部590は、プロセスマスタノードDM50のプロセス生成情報に含まれる非同期フラグマスタDM554や自動起動フラグマスタDM555の値に応じて、ノードの色や形を変更してもよい。
 図66を参照して、プロセスネットワーク表示部595は、プロセスネットワークD5の表示要求を受け付けるプロセスネットワーク表示要求受付部596と、当該表示要求の要求元においてプロセスネットワークD5を表示するためのプロセスネットワーク表示データを生成するプロセスネットワーク表示データ生成部597と、を有する。
 プロセスネットワーク表示部595は、プロセスネットワーク表示要求受付部596がプロセスネットワークD5の表示要求を受け付けると、プロセスネットワーク表示データ生成部597においてプロセスネットワーク表示データを生成して、当該表示要求の要求元にプロセスネットワーク表示データを返信する。
 プロセスネットワーク表示要求受付部596がプロセスネットワークD5の表示要求を受け付ける方法は特に限定されず、プロセスネットワークモデル表示要求受付部591と同様に構成できる。
 プロセスネットワーク表示データ生成部597は、プロセスネットワークD5の表示要求の要求元においてプロセスネットワークD5を3次元表示するためのプロセスネットワーク3次元表示データを生成する。
 プロセスネットワーク3次元表示データは、プロセスネットワークD5に含まれるプロセスノードD50をノードとし、プロセスノードD50同士の関係をエッジとする3次元のネットワーク構造によってプロセスネットワークD5を表現するデータである。階層型のプロセスネットワークD5の場合、プロセスネットワーク3次元表示データは、プロセスネットワークD5に含まれるプロセスノードD50をノードとし、プロセスノードD50同士の親子関係をエッジとする3次元のネットワーク構造によってプロセスネットワークD5を表現するデータである。
 プロセスネットワーク3次元表示データを生成する方法は特に限定されず、プロセスネットワークモデル3次元表示データを生成する方法と同様に構成できる。
 プロセスネットワークD5の表示要求には、プロセスネットワークD5の表示要求の要求元におけるプロセスネットワークD5の表示形態を制御するプロセスネットワーク表示制御情報が含まれる。
 プロセスネットワーク表示データ生成部597は、プロセスネットワークD5の表示要求の要求元におけるプロセスネットワークD5の表示形態がプロセスネットワーク表示制御情報に応じて変化するように、プロセスネットワーク表示データを生成する。
 プロセスネットワーク表示制御情報に応じたプロセスネットワークD5の表示形態の変化は、例えば、プロセスネットワークD5の回転、拡大、縮小および平行移動からなる群から選択される少なくとも1つ以上の表示形態の変化の組み合わせである。プロセスネットワーク表示制御情報に応じたプロセスネットワークD5の表示形態の変化は、プロセスネットワークD5に含まれるプロセスノードD50に関する情報の表示および非表示であってもよい。
 プロセスネットワーク表示要求受付部596がプロセスネットワーク表示制御情報を含むプロセスネットワークD5の表示要求を受け付ける方法は特に限定されず、プロセスネットワークモデル表示要求受付部591と同様に構成できる。
 プロセスネットワーク表示部595がプロセスネットワークD5の表示要求の要求元にプロセスネットワーク表示データを返信する方法は特に限定されず、プロセスネットワークモデル表示部590と同様に構成できる。
 プロセスネットワーク表示部595は、プロセスネットワークD5に含まれるプロセスノードD50に関する情報をプロセスノードD50ごとに表示してもよい。プロセスネットワーク表示部595は、プロセスネットワークD5に含まれるプロセスノードD50に関する情報をノードの色や形で表現してもよい。例えば、プロセスネットワーク表示部595は、プロセスノードD50のプロセス状態D53に応じて、ノードの色や形を変更してもよい。
 図67は、ブラウザからHTTP通信によってプロセスネットワークモデル表示部590にプロセスネットワークモデルDM5の表示要求を行って、プロセスネットワークモデル表示部590から返信されたプロセスネットワークモデル3次元表示データによって表現されるプロセスネットワークモデルDM5をブラウザに3次元表示した様子を示す図である。ブラウザに表示したプロセスネットワークモデルDM5は、ブラウザ上のマウス操作によって、回転、拡大、縮小および平行移動させることが可能である。また、ブラウザに表示したプロセスネットワークモデルDM5に含まれるプロセスマスタノードDM50にマウスを合わせると、当該プロセスマスタノードDM50のプロセス生成情報をポップアップによって表示することもできる。
 図68は、ブラウザからHTTP通信によってプロセスネットワーク表示部595にプロセスネットワークD5の表示要求を行って、プロセスネットワーク表示部595から返信されたプロセスネットワーク3次元表示データによって表現されるプロセスネットワークD5をブラウザに3次元表示した様子を示す図である。ブラウザに表示したプロセスネットワークD5は、ブラウザ上のマウス操作によって、回転、拡大、縮小および平行移動させることが可能である。また、ブラウザに表示したプロセスネットワークD5に含まれるプロセスノードD50にマウスを合わせると、当該プロセスノードD50のプロセス定義情報をポップアップによって表示することもできる。
 (作用効果)
 プロセスネットワークモデルDM5の可視化は、プロセス実行システム500を使用した業務の品質を確保する上で非常に重要である。特に、プロセスネットワークモデルDM5に含まれるプロセスマスタノードDM50の数が増えてモデルの複雑性が増した際に、プロセスネットワークモデルDM5の可視化は、プロセス実行システム500を使用した業務の品質を確保する上で非常に重要な役割を果たす。
 本実施形態に係るプロセス実行システム500は、プロセスネットワークモデルDM5を表示するプロセスネットワークモデル表示部590をさらに有する。
 これにより、プロセスネットワークモデルDM5に含まれるプロセスマスタノードDM50の数が増えてモデルの複雑性が増しても、プロセス実行システム500を使用した業務の品質を確保するのがより容易になる。そのため、本実施形態に係るプロセス実行システム500によれば、可塑性と安定性とを両立させることによって変化の速度が速いビジネス環境への適応度がさらに高いプロセス実行システム500を提供できる。
 一方で、BPMNなどのゲートを有する表記法の場合、モデルを可視化した際にゲートとアクティビティが混在して表示されるため、モデルの検証を行うのが容易ではないことが多い。特に、階層化されたモデルや多くのアクティビティやゲートを含む複雑なモデルを可視化しても視認性が悪く、モデルの検証が難しいことが多い。
 また、本実施形態に係るプロセス実行システム500のプロセスネットワークモデル表示部590は、プロセスネットワークモデルDM5の表示要求を受け付けるプロセスネットワークモデル表示要求受付部591と、当該表示要求の要求元においてプロセスネットワークモデルDM5を表示するためのプロセスネットワークモデル表示データを生成するプロセスネットワークモデル表示データ生成部592と、を有する。プロセスネットワークモデル表示データ生成部592は、プロセスネットワークモデルDM5の表示要求の要求元においてプロセスネットワークモデルDM5を3次元表示するためのプロセスネットワークモデル3次元表示データを生成する。
 これにより、プロセスネットワークモデルDM5に含まれるプロセスマスタノードDM50の数が増えてモデルの複雑性が増しても、プロセス実行システム500を使用した業務の品質を確保するのがさらに容易になる。そのため、本実施形態に係るプロセス実行システム500によれば、可塑性と安定性とを両立させることによって変化の速度が速いビジネス環境への適応度がさらに高いプロセス実行システム500を提供できる。
 また、本実施形態に係るプロセス実行システム500のプロセスネットワークモデル表示部590は、プロセスネットワークモデルDM5に含まれるプロセスマスタノードDM50に関する情報をプロセスマスタノードDM50ごとに表示する。
 これにより、プロセスネットワークモデルDM5に含まれるプロセスマスタノードDM50の数が増えてモデルの複雑性が増しても、プロセスモデルを容易に検証できる。そのため、本実施形態に係るプロセス実行システム500によれば、可塑性と安定性とを両立させることによって変化の速度が速いビジネス環境への適応度がさらに高いプロセス実行システム300を提供できる。
 プロセスネットワークD5の可視化は、プロセス実行システム500を使用した業務の品質を確保する上で非常に重要である。特に、プロセスネットワークD5に含まれるプロセスノードD50の数が増えてモデルの複雑性が増した際に、プロセスネットワークD5の可視化は、プロセス実行システム500を使用した業務の品質を確保する上で非常に重要な役割を果たす。
 本実施形態に係るプロセス実行システム500は、プロセスネットワークD5を表示するプロセスネットワーク表示部595をさらに有する。
 これにより、プロセスネットワークD5に含まれるプロセスノードD50の数が増えてモデルの複雑性が増しても、プロセス実行システム500を使用した業務の品質を確保するのがさらに容易になる。そのため、本実施形態に係るプロセス実行システム500によれば、可塑性と安定性とを両立させることによって変化の速度が速いビジネス環境への適応度がさらに高いプロセス実行システム500を提供できる。
 また、本実施形態に係るプロセス実行システム500のプロセスネットワーク表示部595は、プロセスネットワークD5の表示要求を受け付けるプロセスネットワーク表示要求受付部596と、当該表示要求の要求元においてプロセスネットワークD5を表示するためのプロセスネットワーク表示データを生成するプロセスネットワーク表示データ生成部597と、を有する。プロセスネットワーク表示データ生成部597は、プロセスネットワークD5の表示要求の要求元においてプロセスネットワークD5を3次元表示するためのプロセスネットワーク3次元表示データを生成する。
 これにより、プロセスネットワークD5に含まれるプロセスノードD50の数が増えてモデルの複雑性が増しても、プロセス実行システム500を使用した業務の品質を確保するのがさらに容易になる。そのため、本実施形態に係るプロセス実行システム500によれば、可塑性と安定性とを両立させることによって変化の速度が速いビジネス環境への適応度がさらに高いプロセス実行システム500を提供できる。
 また、本実施形態に係るプロセス実行システム500のプロセスネットワーク表示部595は、プロセスネットワークD5に含まれるプロセスノードD50に関する情報をプロセスノードD50ごとに表示する。
 これにより、プロセスネットワークD5に含まれるプロセスノードD50の数が増えてモデルの複雑性が増しても、プロセスの実行状況のモニタリングが容易になる。そのため、本実施形態に係るプロセス実行システム500によれば、可塑性と安定性とを両立させることによって変化の速度が速いビジネス環境への適応度がさらに高いプロセス実行システム300を提供できる。
 (実施例)
 本発明の作用効果を、実施例を用いてさらに具体的に説明する。ただし、本発明の技術的範囲が本実施例のみに制限されるわけではない。本実施例は、上述した第2実施形態に係るプロセス実行システム200の構成をもとに説明するが、上述した第1実施形態に係るプロセス実行システム100、実施形態3に係るプロセス実行システム300、実施形態4に係るプロセス実行システム400、および実施形態5に係るプロセス実行システム500の作用効果についても本実施例をもとに理解できる。
 本実施例に係るプロセス実行システム200は、オンプレミスサーバー上で動作する。本実施例に係るプロセス実行システム200の制御部210は、オンプレミスサーバーが有するCPU(Central Processing Unit)、およびRAM(Random Access Memory)、ROM(Read Only Memory)等のメモリにより構成される。本実施例に係るプロセス実行システム200の記憶部220は、オンプレミスサーバーが有するSSD(Solid State Drive)等により構成される。本実施例に係るプロセス実行システム200の通信部230は、オンプレミスサーバーが有するインターフェース回路(LANカード等)で構成される。
 本実施例において使用するアクション実行システム50は、Microsoft CorporationのクラウドサービスであるMICROSOFT 365(登録商標)のPower AutomateおよびPower Automate for desktopによって構成される。
 本実施例に係るプロセス実行システム200の制御部210は、プロセスネットワーク生成部250、プロセスネットワーク状態管理部260、プロセスネットワーク実行部270として機能する。プロセスネットワーク生成部250、プロセスネットワーク状態管理部260およびプロセスネットワーク実行部270は、Webアプリ作成用のフレームワークであるDjangoを使用して構築されたWebアプリの機能として実装される。
 本実施例に係るプロセス実行システム200の記憶部220は、データベースサーバーとして機能する。データベースサーバーは、PostgreSQLを使用して構成される。プロセスネットワークモデルDМ1およびプロセスネットワークD1はデータベースサーバーとして機能する記憶部220に保存される。
 本実施例に係るプロセス実行システム200の通信部230は、クラウドサービスとの通信を実行するゲートウェーサーバーとして機能する。これにより、オンプレミスサーバーとクラウドサービスとの間で通信を行うことができる。本実施例では、Microsoft Corporationが提供するon-premises data gatewayを使用して、通信部130をゲートウェーサーバーとして機能させる。on-premises data gatewayを使用することによって、アクション実行システム50として機能するPower Automateからプロセス実行システム200に対してAPI経由でアクセスできる。
 プロセスネットワーク生成部250のプロセスネットワークモデル入力部151は、WebブラウザからアクセスすることによってプロセスネットワークモデルDМ2の登録や操作を行うことが可能なGUI(Graphical User Interface)を有する。
 プロセスネットワーク状態管理部260は、Webアプリを構成するライブラリの一部として構成されている。プロセスネットワーク状態管理部260を構成するライブラリは、Microsoft CorporationのオペレーティングシステムWindows(登録商標)のタスクスケジューラによって定期的に起動するタスクから実行される。これにより、プロセスネットワーク状態管理部260は、プロセスネットワークD2に含まれるプロセスノードD20の状態遷移処理を定期的に実行することができる。また、プロセスネットワーク状態管理部260は、プロセスの状態を変更する状態変更要求を受け付けるAPIを有する。当該APIを使用することによって、アクション実行システム50から特定のプロセスノードD20の状態を変更することができる。
 プロセスネットワーク実行部270は、Webアプリを構成するライブラリの一部として構成されている。プロセスネットワーク実行部270を構成するライブラリは、Microsoft CorporationのオペレーティングシステムWindows(登録商標)のタスクスケジューラによって定期的に起動するタスクから実行できる。これにより、プロセスネットワーク実行部270は、実行可能なプロセスノードD20の実行処理を定期的に実行できる。
 本実施例では、プロセスネットワーク実行部270は、実行可能なプロセスノードD20の実行処理を開始する際に、プロセスノードD20のプロセス状態D23を実行中状態にする。また、プロセスネットワーク実行部270は、非同期フラグD254がTrueのプロセスノードD20の実行処理を完了した際に、プロセスノードD20のプロセス状態D23を待機中状態にする。また、プロセスネットワーク状態管理部260は、プロセスノードD20を実行可能状態にするステップS1326(図13参照)およびステップS13245(図14参照)において、プロセスノードD20のプロセス状態D23が実行中状態または待機中状態であった場合には、当該プロセスノードD20のプロセス状態D23は変化させない。
 本実施例では、プロセス実行システム200を使用して、特許庁に対して特許年金を納付する業務に係るビジネスプロセスを処理する。
 特許年金を納付する対象の案件のコンテキストデータは、データベースサーバーとして機能する記憶部220に保存されている。特許年金を納付する対象の案件のコンテキストデータは、出願番号や出願人、請求項の数、出願人毎の持ち分の割合、および特許料金の軽減有無などの情報を含む。特許年金を納付する対象の案件のコンテキストデータは、案件毎に一意に設定された案件番号を主キーにしてデータベースサーバーとして機能する記憶部220から取得することができる。
 データベースサーバーとして機能する記憶部220には、アクション実行システム50として機能するPower AutomateやPower Automate for desktopから、ゲートウェーサーバーとして機能する通信部230を介してアクセス可能である。Power AutomateやPower Automate for desktopのSQLクエリを送信するアクション等を使用することで、案件番号をキーにして特定の案件のコンテキストデータをデータベースサーバーとして機能する記憶部220から通信部230を介して取得できる。
 案件番号等のコンテキストデータは、プロセスネットワーク生成部250がプロセスネットワークモデルDМ1からコンテキストデータを使用してプロセスネットワークD1を生成する際に、アクションアイテムのAPIデータに埋め込む。APIデータに対する埋め込みは、Djangoのテンプレートエンジンで使用されるDjango Template Languageと同様の仕組みで行う。すなわち、APIデータに対する埋め込みは、プロセスネットワークモデルDМ1のアクションアイテムマスタDМ1531のAPIデータマスタに埋め込まれたタグをコンテキストデータに基づいて置換することで行う。
 図69から図73を参照して、本実施例で使用するプロセスネットワークモデルDМ2およびプロセスネットワークD2について説明する。図69から図73は、本実施例に係るプロセス実行システムにおいて実行される処理について説明するために使用するプロセスネットワークモデルおよびプロセスネットワークの一部のデータ構造を示す模式図である。プロセスネットワーク生成部250は、プロセスネットワークモデルDМ2に含まれるプロセスマスタノードと一対一に対応するプロセスノードを含むプロセスネットワークD2を生成する。
 図69を参照して、本実施例で使用するプロセスネットワークモデルDМ2は、ルートプロセスマスタノードМL01を有する。ルートプロセスマスタノードМL01は、ルートプロセスノードL01を生成するのに使用される。
 ルートプロセスマスタノードМL01は、プロセスマスタノードМL11、МL12、МL13およびМL14を有する。プロセスマスタノードМL11は、問い合わせプロセスノードL11を生成するのに使用される。プロセスマスタノードМL12は、指示受領プロセスノードL12を生成するのに使用される。プロセスマスタノードМL13は、庁手続プロセスノードL13を生成するのに使用される。プロセスマスタノードМL14は、請求プロセスノードL14を生成するのに使用される。
 図70を参照して、プロセスマスタノードМL11は、プロセスマスタノードМL21、МL22およびМL23を有する。プロセスマスタノードМL21は、問い合わせメール生成プロセスノードL21を生成するのに使用される。プロセスマスタノードМL22は、問い合わせメール送信プロセスノードL22を生成するのに使用される。プロセスマスタノードМL13は、ドキュメント生成プロセス起動プロセスノードL13を生成するのに使用される。
 図71を参照して、プロセスマスタノードМL12は、プロセスマスタノードМL24およびМL25を有する。プロセスマスタノードМL24は、指示確認プロセスノードL24を生成するのに使用される。プロセスマスタノードМL25は、ドキュメント送信プロセス起動プロセスノードL25を生成するのに使用される。
 図72を参照して、プロセスマスタノードМL13は、プロセスマスタノードМL26およびМL27を有する。プロセスマスタノードМL26は、庁書類生成プロセスノードL26を生成するのに使用される。プロセスマスタノードМL27は、庁書類提出プロセスノードL27を生成するのに使用される。
 図73を参照して、プロセスマスタノードМL14は、プロセスマスタノードМL28およびМL29を有する。プロセスマスタノードМL28は、請求書生成プロセスノードL28を生成するのに使用される。プロセスマスタノードМL29は、請求書送付プロセスノードL29を生成するのに使用される。
 以下、各プロセスノードについて詳説する。
 図70を参照して、問い合わせプロセスノードL11は、問い合わせメール生成プロセスノードL21、問い合わせメール送信プロセスノードL22およびドキュメント生成プロセス起動プロセスノードL23を子として有する。
 プロセスノードL21は、問い合わせメール生成プロセスを表現する。問い合わせメール生成プロセスでは、特許年金を納付する意思があるか否かを出願人に問い合わせるためのメールを生成する。問い合わせメールの生成は、Power Automateに登録した問い合わせメール生成用のフローを実行することによって行う。当該問い合わせメール生成用のフローの実行は、Power AutomateのAPIに当該フローの実行要求を送信することによって行う。問い合わせメール生成用のフローは、問い合わせメールの件名や本文の生成、宛先の設定、必要に応じて添付ファイルの添付等を行う。
 プロセスノードL21のアクション情報D253は、Power Automateに登録した問い合わせメール生成用のフローを実行するためのAPIアドレスを含む。また、プロセスノードL21のアクション情報D253は、案件番号等のコンテキストデータをAPIデータとして含む。プロセスネットワーク実行部270は、プロセスノードL21のアクション情報D253に含まれるAPIアドレスに対して、問い合わせメール生成用のフローの実行要求を送信するとともに、当該アクション情報D253に含まれるAPIデータを送信する。問い合わせメール生成用のフローは、送信されたAPIデータに含まれるコンテキストデータを使用して、データベースサーバーとして機能する記憶部220から必要な情報を取得し、メールの宛先、件名、本文の内容および添付ファイルの内容等を動的に変化させる。
 プロセスノードL22は、問い合わせメール送信プロセスを表現する。問い合わせメール送信プロセスでは、問い合わせメールの送信依頼を業務担当者に行う。問い合わせメールの送信依頼は、Power Automateに登録した問い合わせメール送信依頼用のフローを実行することによって行う。当該問い合わせメール送信依頼用のフローの実行は、Power AutomateのAPIに当該フローの実行要求を送信することによって行う。問い合わせメール送信依頼用のフローは、MICROSOFT 365(登録商標)のタスク管理サービスであるPlannerに、問い合わせメール送信タスクを登録し、当該登録したタスクに業務担当者を割り当てる。業務担当者にタスクが割り当てられると、業務担当者に通知される。
 プロセスノードL22のアクション情報D253は、Power Automateに登録した問い合わせメール送信依頼用のフローを実行するためのAPIアドレスを含む。また、プロセスノードL22のアクション情報D253は、案件番号等のコンテキストデータをAPIデータとして含む。プロセスネットワーク実行部270は、プロセスノードL22のアクション情報D253に含まれるAPIアドレスに対して、問い合わせメール送信依頼用のフローの実行要求を送信するとともに、当該アクション情報D253に含まれるAPIデータを送信する。問い合わせメール送信依頼用のフローは、送信されたAPIデータに含まれるコンテキストデータを使用して、データベースサーバーとして機能する記憶部220から必要な情報を取得し、問い合わせメール送信タスクに設定するメッセージの内容や、当該タスクを割り振る業務担当者を動的に変化させる。
 問い合わせメール送信タスクが業務担当者に割り当てられると、当該業務担当者に通知される。通知を受信した業務担当者は、問い合わせメール送信タスクに設定された内容に基づいて、上述した問い合わせメール生成用のフローが生成した問い合わせメールを送信する。業務担当者は、問い合わせメールの送信を完了すると、Plannerに登録された問い合わせメール送信タスクを完了する。問い合わせメール送信タスクが完了すると、当該タスクの完了をトリガとしてPower Automateに登録した問い合わせメール送信プロセスノード完了処理用のフローが起動する。問い合わせメール送信プロセスノード完了処理用のフローは、プロセスネットワーク状態管理部260のAPIにプロセスノードL22のプロセス状態D23を完了状態に変更するプロセス状態変更要求を送信する。
 プロセスノードL23は、ドキュメント生成プロセスを起動するプロセスを表現する。ドキュメント生成プロセスを起動するプロセスでは、庁書類生成プロセスを表現するプロセスノードL26のプロセス状態D23を実行可能状態にするとともに、請求書生成プロセスを表現するプロセスノードL28のプロセス状態D23を実行可能状態にする。ドキュメント生成プロセスの起動は、Power Automateに登録したドキュメント生成プロセス起動用のフローを実行することによって行う。当該ドキュメント生成プロセス起動用のフローの実行は、Power AutomateのAPIに当該フローの実行要求を送信することによって行う。ドキュメント生成プロセス起動用のフローは、プロセスネットワーク状態管理部260のAPIにプロセスノードL26のプロセス状態D23を実行可能状態に変更するプロセス状態変更要求を送信するとともに、プロセスノードL28のプロセス状態D23を実行可能状態に変更するプロセス状態変更要求を送信する。
 プロセスノードL23のアクション情報D253は、Power Automateに登録したドキュメント生成プロセス起動用のフローを実行するためのAPIアドレスを含む。また、プロセスノードL23のアクション情報D253は、案件番号等のコンテキストデータをAPIデータとして含む。プロセスネットワーク実行部270は、プロセスノードL23のアクション情報D253に含まれるAPIアドレスに対して、ドキュメント生成プロセス起動用のフローの実行要求を送信するとともに、当該アクション情報D253に含まれるAPIデータを送信する。ドキュメント生成プロセス起動用のフローは、送信されたAPIデータに含まれるコンテキストデータを使用して、データベースサーバーとして機能する記憶部220から、実行可能状態にするプロセスノードL26およびL28を特定するのに必要な情報(プロセスノード識別子D21等)を取得する。
 図71を参照して、指示受領プロセスノードL12は、指示確認プロセスノードL24およびドキュメント送信プロセス起動プロセスノードL25を子として有する。
 プロセスノードL24は、指示確認プロセスを表現する。指示確認プロセスでは、指示メールの確認依頼を業務担当者に行う。指示メールの確認依頼は、Power Automateに登録した指示メール確認依頼用のフローを実行することによって行う。当該指示メール確認依頼用のフローの実行は、Power AutomateのAPIに当該フローの実行要求を送信することによって行う。指示メール確認依頼用のフローは、MICROSOFT 365(登録商標)の承認依頼サービスを使用して、指示メール確認依頼のための承認依頼を業務担当者に対して送信する。
 プロセスノードL24のアクション情報D253は、Power Automateに登録した指示メール確認依頼用のフローを実行するためのAPIアドレスを含む。また、プロセスノードL24のアクション情報D253は、案件番号等のコンテキストデータをAPIデータとして含む。プロセスネットワーク実行部270は、プロセスノードL24のアクション情報D253に含まれるAPIアドレスに対して、指示メール確認依頼用のフローの実行要求を送信するとともに、当該アクション情報D253に含まれるAPIデータを送信する。指示メール送信依頼用のフローは、送信されたAPIデータに含まれるコンテキストデータを使用して、データベースサーバーとして機能する記憶部220から必要な情報を取得し、指示メール確認依頼のための承認依頼に設定するメッセージの内容や、当該承認依頼を送信する業務担当者を動的に変化させる。
 指示確認プロセスを表現するプロセスノードL24は、プロセスノードL22において送信した問い合わせメールに対する出願人からの指示メールを受信することによって実行可能状態になる。具体的には、問い合わせメールに対する出願人からの指示メールを受信すると、当該メールの受信をトリガとしてPower Automateに登録した指示確認プロセス起動処理用のフローが起動する。指示確認プロセス起動処理用のフローは、プロセスネットワーク状態管理部260のAPIにプロセスノードL24のプロセス状態D23を実行可能状態に変更するプロセス状態変更要求を送信する。
 上述したように、指示確認プロセスを表現するプロセスノードL24が実行されると、指示メール確認依頼のための承認依頼が業務担当者に送信される。指示メール確認依頼のための承認依頼を受け取った業務担当者は、当該承認依頼に設定された内容に基づいて、上述した問い合わせメール生成用のフローが生成した問い合わせメールに対する出願人からの指示メールを確認する。業務担当者は、指示メールを確認したら、指示メール確認依頼のための承認依頼を完了する。指示メール確認依頼のための承認依頼が完了すると、承認依頼の完了をトリガとしてPower Automateに登録した指示確認プロセスノード完了処理用のフローが起動する。指示確認プロセスノード完了処理用のフローは、プロセスネットワーク状態管理部160のAPIにプロセスノードL24のプロセス状態D23を完了状態に変更するプロセス状態変更要求を送信する。
 プロセスノードL25は、ドキュメント送信プロセスを起動するプロセスを表現する。ドキュメント送信プロセスを起動するプロセスでは、庁書類提出プロセスを表現するプロセスノードL27のプロセス状態D23を実行可能状態にするとともに、請求書送付プロセスを表現するプロセスノードL29のプロセス状態D23を実行可能状態にする。ドキュメント提出プロセスの起動は、Power Automateに登録したドキュメント提出プロセス起動用のフローを実行することによって行う。当該ドキュメント提出プロセス起動用のフローの実行は、Power AutomateのAPIに当該フローの実行要求を送信することによって行う。ドキュメント提出プロセス起動用のフローは、プロセスネットワーク状態管理部260のAPIにプロセスノードL27のプロセス状態D23を実行可能状態に変更するプロセス状態変更要求を送信するとともに、プロセスノードL29のプロセス状態D23を実行可能状態に変更するプロセス状態変更要求を送信する。
 プロセスノードL25のアクション情報D253は、Power Automateに登録したドキュメント提出プロセス起動用のフローを実行するためのAPIアドレスを含む。また、プロセスノードL25のアクション情報D253は、案件番号等のコンテキストデータをAPIデータとして含む。プロセスネットワーク実行部270は、プロセスノードL25のアクション情報D253に含まれるAPIアドレスに対して、問い合わせメール送信依頼用のフローの実行要求を送信するとともに、当該アクション情報D253に含まれるAPIデータを送信する。ドキュメント提出プロセス起動用のフローは、送信されたAPIデータに含まれるコンテキストデータを使用して、データベースサーバーとして機能する記憶部220から、実行可能状態にするプロセスノードL27およびL29を特定するのに必要な情報(プロセスノード識別子D21等)を取得する。
 図72を参照して、庁手続プロセスノードL13は、庁書類生成プロセスノードL26および庁書類提出プロセスノードL27を子として有する。
 プロセスノードL26は、庁書類生成プロセスを表現する。庁書類生成プロセスでは、特許庁に提出する年金納付書を生成する。年金納付書の生成は、Power Automateに登録した年金納付書生成用のフローを実行することによって行う。当該年金納付書生成用のフローの実行は、Power AutomateのAPIに当該フローの実行要求を送信することによって行う。年金納付書生成用のフローは、年金納付書のフォーマットに基づいて各欄の情報をHTMLファイルに出力することによって年金納付書を生成する。
 プロセスノードL26のアクション情報D253は、Power Automateに登録した年金納付書生成用のフローを実行するためのAPIアドレスを含む。また、プロセスノードL26のアクション情報D253は、案件番号等のコンテキストデータをAPIデータとして含む。プロセスネットワーク実行部270は、プロセスノードL26のアクション情報D253に含まれるAPIアドレスに対して、年金納付書生成用のフローの実行要求を送信するとともに、当該アクション情報D253に含まれるAPIデータも送信する。年金納付書生成用のフローは、送信されたAPIデータに含まれるコンテキストデータを使用して、データベースサーバーとして機能する記憶部220から必要な情報を取得し、年金納付書の各欄(出願番号、特許出願人、請求項の数、納付年度、特許料など)の情報等を動的に変化させる。
 プロセスノードL27は、庁書類提出プロセスを表現する。庁書類提出プロセスでは、庁書類提出依頼を業務担当者に行う。庁書類提出依頼は、Power Automateに登録した庁書類提出依頼用のフローを実行することによって行う。当該庁書類提出依頼用のフローの実行は、Power AutomateのAPIに当該フローの実行要求を送信することによって行う。庁書類提出依頼用のフローは、MICROSOFT 365(登録商標)のタスク管理サービスであるPlannerに、庁書類提出タスクを登録し、当該登録したタスクに業務担当者を割り当てる。業務担当者にタスクが割り当てられると、業務担当者に通知される。
 プロセスノードL27のアクション情報D253は、Power Automateに登録した庁書類提出依頼用のフローを実行するためのAPIアドレスを含む。また、プロセスノードL27のアクション情報D253は、案件番号等のコンテキストデータをAPIデータとして含む。プロセスネットワーク実行部270は、プロセスノードL27のアクション情報D253に含まれるAPIアドレスに対して、庁書類提出依頼用のフローの実行要求を送信するとともに、当該アクション情報D253に含まれるAPIデータも送信する。庁書類提出依頼用のフローは、送信されたAPIデータに含まれるコンテキストデータを使用して、データベースサーバーとして機能する記憶部220から必要な情報を取得し、庁書類提出タスクに設定するメッセージの内容や、当該タスクを割り当てる業務担当者を動的に変化させる。
 庁書類提出タスクが業務担当者に割り当てられると、当該業務担当者に通知される。通知を受信した業務担当者は、庁書類提出タスクに設定された内容に基づいて、上述した庁書類生成用のフローが生成した年金納付書を特許庁に提出する。業務担当者は、庁書類の提出を完了すると、庁書類提出タスクを完了する。庁書類提出タスクが完了すると、当該タスクの完了をトリガとしてPower Automateに登録した庁書類提出プロセスノード完了処理用のフローが起動する。庁書類提出プロセスノード完了処理用のフローは、プロセスネットワーク状態管理部260のAPIにプロセスノードL27のプロセス状態D23を完了状態に変更するプロセス状態変更要求を送信する。
 図73を参照して、請求プロセスノードL14は、請求書生成プロセスノードL28および請求書送付プロセスノードL29を子として有する。
 プロセスノードL28は、請求書生成プロセスを表現する。請求書生成プロセスでは、年金納付業務に対する対価の請求を出願人に対して行うための請求書を生成する。請求書の生成は、Power Automateに登録した請求書生成用のフローを実行することによって行う。当該請求書生成用のフローの実行は、Power AutomateのAPIに当該フローの実行要求を送信することによって行う。請求書生成用のフローは、Power Automate for desktopの請求内容入力用フローを起動する。Power Automate for desktopは、クライアントPC上で動作する。Power Automate for desktopの請求内容入力用フローは、オンプレミスの会計システムに請求内容を入力する。
 プロセスノードL28のアクション情報D253は、Power Automateに登録した請求書生成用のフローを実行するためのAPIアドレスを含む。また、プロセスノードL28のアクション情報D253は、案件番号等のコンテキストデータをAPIデータとして含む。プロセスネットワーク実行部270は、プロセスノードL28のアクション情報D253に含まれるAPIアドレスに対して、請求書生成用のフローの実行要求を送信するとともに、当該アクション情報D253に含まれるAPIデータも送信する。請求書生成用のフローは、送信されたAPIデータに含まれるコンテキストデータを使用して、データベースサーバーとして機能する記憶部220から必要な情報を取得し、請求内容を動的に変化させる。
 プロセスノードL29は、請求書送付プロセスを表現する。請求書送付プロセスでは、請求書送付依頼を業務担当者に行う。請求書送付依頼は、Power Automateに登録した請求書送付依頼用のフローを実行することによって行う。当該請求書送付依頼用のフローの実行は、Power AutomateのAPIに当該フローの実行要求を送信することによって行う。請求書送付依頼用のフローは、MICROSOFT 365(登録商標)のタスク管理サービスであるPlannerに、請求書送付タスクを登録し、当該登録したタスクに業務担当者を割り当てる。業務担当者にタスクが割り当てられると、業務担当者に通知される。
 プロセスノードL29のアクション情報D253は、Power Automateに登録した請求書送付依頼用のフローを実行するためのAPIアドレスを含む。また、プロセスノードL29のアクション情報D253は、案件番号等のコンテキストデータをAPIデータとして含む。プロセスネットワーク実行部270は、プロセスノードL29のアクション情報D253に含まれるAPIアドレスに対して、請求書送付依頼用のフローの実行要求を送信するとともに、当該アクション情報D253に含まれるAPIデータも送信する。請求書送付依頼用のフローは、送信されたAPIデータに含まれるコンテキストデータを使用して、データベースサーバーとして機能する記憶部220から必要な情報を取得し、請求書送付タスクに設定するメッセージの内容や、当該タスクを割り振る業務担当者を動的に変化させる。
 請求書送付タスクが業務担当者に割り当てられると、当該業務担当者に通知される。通知を受信した業務担当者は、請求書送付タスクに設定された内容に基づいて、上述した請求書生成用のフローが生成した請求書を出願人に送付する。業務担当者は、請求書の送付を完了すると、請求書送付タスクを完了する。請求書送付タスクが完了すると、当該タスクの完了をトリガとしてPower Automateに登録した請求書送付プロセスノード完了処理用のフローが起動する。請求書送付プロセスノード完了処理用のフローは、プロセスネットワーク状態管理部260のAPIにプロセスノードL29のプロセス状態D23を完了状態に変更するプロセス状態変更要求を送信する。
 上述したプロセスマスタノード(プロセスノード)のうち、星印が付されているプロセスマスタノードМL22、МL24、МL27およびМL29(プロセスノードL22、L24、L27およびL29)の非同期フラグマスタ(非同期フラグ)の値はTrueであり、星印が付されていないプロセスマスタノード(プロセスノード)の非同期フラグマスタ(非同期フラグ)の値はFalseである。上述したプロセスマスタノード(プロセスノード)のうち、四角印が付されているプロセスマスタノードМL24、МL27およびМL29(プロセスノードL24、L27およびL29)の自動起動フラグマスタDM255(自動起動フラグD255)の値はFalseであり、星印が付されていないプロセスマスタノード(プロセスノード)の自動起動フラグマスタDM255(自動起動フラグD255)の値はTrueである。
 図74から図78を参照して、本実施例の動作を説明する。図74から図78は、実施例に係るプロセス実行システムにおいて実行される処理の一部を表すシーケンス図である。
 図74を参照して、プロセスネットワーク生成部250は、プロセスネットワークモデルDМ2の入力を受け付けると、対応するプロセスネットワークD2を生成する。プロセスネットワーク生成部250のプロセスネットワークモデル入力部151は、コンテキストデータとして案件番号等を受け付ける。プロセスネットワーク生成部250は、プロセスネットワークモデル入力部151が受け付けたプロセスネットワークモデルDМ2からプロセスネットワークD2を生成する際に、コンテキストデータを使用することによって、生成するプロセスネットワークD2のアクション情報D253に含まれるAPIデータに案件番号等のコンテキストデータを埋め込む。プロセスネットワーク生成部250は、生成したプロセスネットワークD2を記憶部220に記憶する。プロセスネットワーク生成部250は、生成したプロセスネットワークD2を記憶部220に記憶する際に、プロセスネットワークモデル入力部151が受け付けたコンテキストデータを当該プロセスネットワークD2と関連付けて記憶部220に保存する。
 プロセスネットワーク状態管理部260は、プロセスノードの状態遷移処理を実行して、問い合わせメール生成プロセスノードL21を実行可能状態にする。生成された直後のプロセスネットワークD2に状態遷移処理を適用すると、問い合わせメール生成のプロセスノードL21が最初に実行可能状態になる。
 図75を参照して、プロセスネットワーク実行部270は、実行可能状態になった問い合わせメール生成プロセスノードL21を実行する。プロセスネットワーク実行部270は、Power AutomateのAPIに問い合わせメール生成用フローの実行要求を送信する。Power Automateの問い合わせメール生成用フローは、問い合わせメールを生成する。プロセスネットワーク実行部270は、問い合わせメール生成プロセスノードL21を実行した後に、問い合わせメール生成プロセスノードL21のプロセス状態D23を完了状態にするプロセス状態変更要求をプロセスネットワーク状態管理部260のAPIに送信する。プロセスネットワーク状態管理部260は、問い合わせメール生成プロセスノードL21のプロセス状態D23を完了状態にする。
 プロセスネットワーク状態管理部260は、プロセスノードD20の状態遷移処理を実行して、問い合わせメール送信プロセスノードL22を実行可能状態にする。
 プロセスネットワーク実行部270は、実行可能状態になった問い合わせメール送信プロセスノードL22を実行する。プロセスネットワーク実行部270は、Power AutomateのAPIに問い合わせメール送信依頼用フローの実行要求を送信する。Power Automateの問い合わせメール送信依頼用フローは、Plannerに、問い合わせメール送信タスクを登録し、当該登録したタスクに業務担当者を割り当てる。
 問い合わせメール送信プロセスノードL22の非同期フラグの値はTrueである。そのため、プロセスネットワーク実行部270は、問い合わせメール送信プロセスノードL22の実行後に当該プロセスノードL22のプロセス状態D23を完了状態にしない(図27参照)。
 Plannerに登録した問い合わせメール送信タスクが完了すると、Power Automateの問い合わせメール送信プロセスノード完了処理用のフローが起動する。問い合わせメール送信プロセスノード完了処理用のフローは、問い合わせメール送信プロセスノードL22のプロセス状態D23を完了状態に変更するプロセス状態変更要求をプロセスネットワーク状態管理部260のAPIに送信する。プロセスネットワーク状態管理部260は、問い合わせメール送信プロセスノードL22のプロセス状態D23を完了状態にする。
 プロセスネットワーク状態管理部260は、プロセスノードの状態遷移処理を実行し、ドキュメント生成プロセス起動プロセスノードL23を実行可能状態にする。
 図76を参照して、プロセスネットワーク実行部270は、実行可能状態になったドキュメント生成プロセス起動プロセスノードL23を実行する。プロセスネットワーク実行部270は、Power AutomateのAPIにドキュメント生成プロセス起動用のフローの実行要求を送信する。当該ドキュメント生成プロセス起動用のフローは、庁書類生成プロセスノードL26のプロセス状態D23を実行可能状態にするプロセス状態変更要求をプロセスネットワーク状態管理部260のAPIに送信する。プロセスネットワーク状態管理部260は、庁書類生成プロセスノードL26のプロセス状態D23を実行可能状態にする。また、ドキュメント生成プロセス起動用のフローは、請求書生成プロセスノードL28のプロセス状態D23を実行可能状態にするプロセス状態変更要求をプロセスネットワーク状態管理部260のAPIに送信する。プロセスネットワーク状態管理部260は、請求書生成プロセスノードL28のプロセス状態D23を実行可能状態にする。
 プロセスネットワーク実行部270は、ドキュメント生成プロセス起動プロセスノードL23を実行した後に、ドキュメント生成プロセス起動プロセスノードL23のプロセス状態D23を完了状態にするプロセス状態変更要求をプロセスネットワーク状態管理部260のAPIに送信する。プロセスネットワーク状態管理部260は、ドキュメント生成プロセス起動プロセスノードL23のプロセス状態D23を完了状態にする。ドキュメント生成プロセス起動プロセスノードL23のプロセス状態D23が完了状態になると、問い合わせプロセスノードL11配下のプロセスノードL21、L22およびL23全てが完了状態になるので、プロセスネットワーク状態管理部260は、プロセスノードの状態遷移処理を実行して、問い合わせプロセスノードL11のプロセス状態D23を完了状態にする。
 プロセスネットワーク実行部270は、実行可能状態になった庁書類生成プロセスノードL26を実行する。プロセスネットワーク実行部270は、Power AutomateのAPIに庁書類生成用フローの実行要求を送信する。Power Automateの庁書類生成用フローは、年金納付書を生成する。プロセスネットワーク実行部270は、庁書類生成プロセスノードL26を実行した後に、庁書類生成プロセスノードL26のプロセス状態D23を完了状態にするプロセス状態変更要求をプロセスネットワーク状態管理部260のAPIに送信する。プロセスネットワーク状態管理部260は、庁書類生成プロセスノードL26のプロセス状態D23を完了状態にする。
 プロセスネットワーク実行部270は、実行可能状態になった請求書生成プロセスノードL28を実行する。プロセスネットワーク実行部270は、Power AutomateのAPIに請求書生成用フローの実行要求を送信する。Power Automateの請求書生成用フローは、請求書を生成する。プロセスネットワーク実行部270は、請求書生成プロセスノードL28を実行した後に、請求書生成プロセスノードL28のプロセス状態D23を完了状態にするプロセス状態変更要求をプロセスネットワーク状態管理部260のAPIに送信する。プロセスネットワーク状態管理部260は、請求書生成プロセスノードL28のプロセス状態D23を完了状態にする。
 ここまでのプロセスノードの実行によって、問い合わせプロセスノードL11(および当該プロセスノードL11配下のプロセスノードL21、L22およびL23)、庁書類生成プロセスノードL26および請求書生成プロセスノードL28が完了状態になる。
 問い合わせプロセスノードL11が完了状態になることによって、プロセスネットワーク状態管理部260による状態遷移処理によって次に実行可能状態になる可能性があるプロセスノードは指示確認プロセスノードL24である。しかしながら、指示確認プロセスノードL24の自動起動フラグはFalseであるため、問い合わせプロセスノードL11が完了状態になっても、プロセスネットワーク状態管理部260による状態遷移処理では指示確認プロセスノードL24は実行可能状態にならない。
 同様に、庁書類提出プロセスノードL27の自動起動フラグもFalseであるため、庁書類生成プロセスノードL26が完了状態になっても、プロセスネットワーク状態管理部260による状態遷移処理では庁書類提出プロセスノードL27は実行可能状態にならない。さらに同様に、請求書送付プロセスノードL29の自動起動フラグもFalseであるため、請求書生成プロセスノードL28が完了状態になっても、プロセスネットワーク状態管理部260による状態遷移処理では請求書送付プロセスノードL29は実行可能状態にならない。
 図77を参照して、問い合わせメール送信プロセスノードL22によって表現されるプロセスにおいて送信された問い合わせメールに対する出願人からの指示メールを受信すると、Power Automate(登録)の指示確認プロセス起動処理用のフローが起動する。指示確認プロセス起動処理用のフローは、指示確認プロセスノードL24のプロセス状態D23を実行可能状態にするプロセス状態変更要求をプロセスネットワーク状態管理部260のAPIに送信する。
 プロセスネットワーク実行部270は、実行可能状態になった指示確認プロセスノードL24を実行する。プロセスネットワーク実行部270は、Power AutomateのAPIに指示確認依頼用フローの実行要求を送信する。Power Automateは、指示確認依頼用フローを実行して、MICROSOFT 365(登録商標)の承認依頼を業務担当者に対して送信する。指示確認プロセスノードL24の非同期フラグはTrueである。そのため、プロセスネットワーク実行部270は、指示確認プロセスノードL24の実行後に当該プロセスノードL24を完了状態にしない(図27参照)。
 指示確認プロセスノードL24において送信した指示確認の承認依頼が承認されると、Power Automate(登録)の指示確認プロセスノード完了処理用のフローが起動する。指示確認プロセスノード完了処理用のフローは、指示確認プロセスノードL24のプロセス状態D23を完了状態にするプロセス状態変更要求をプロセスネットワーク状態管理部260のAPIに送信する。プロセスネットワーク状態管理部260は、指示確認プロセスノードL24のプロセス状態D23を完了状態にする。
 プロセスネットワーク状態管理部260は、プロセスノードの状態遷移処理を実行して、ドキュメント送信プロセス起動プロセスノードL25のプロセス状態D23を実行可能状態にする。
 プロセスネットワーク実行部270は、実行可能状態になったドキュメント送信プロセス起動プロセスノードL25を実行する。プロセスネットワーク実行部270は、Power AutomateのAPIにドキュメント提出プロセス起動用のフローの実行要求を送信する。当該ドキュメント提出プロセス起動用のフローは、庁書類提出プロセスノードL27のプロセス状態D23を実行可能状態にするプロセス状態変更要求をプロセスネットワーク状態管理部260のAPIに送信する。プロセスネットワーク状態管理部260は、庁書類提出プロセスノードL27のプロセス状態D23を実行可能状態にする。また、ドキュメント提出プロセス起動用のフローは、請求書送付プロセスノードL29のプロセス状態D23を実行可能状態にするプロセス状態変更要求をプロセスネットワーク状態管理部260のAPIに送信する。プロセスネットワーク状態管理部260は、請求書送付プロセスノードL29のプロセス状態D23を実行可能状態にする。
 プロセスネットワーク実行部270は、ドキュメント送信プロセス起動プロセスノードL25を実行した後に、ドキュメント送信プロセス起動プロセスノードL25のプロセス状態D23を完了状態にするプロセス状態変更要求をプロセスネットワーク状態管理部260のAPIに送信する。プロセスネットワーク状態管理部260は、ドキュメント送信プロセス起動プロセスノードL25のプロセス状態D23を完了状態にする。ドキュメント送信プロセス起動プロセスノードL25が完了状態になると、指示受領プロセスノードL12配下のプロセスノードL24およびL25全てが完了状態になるので、プロセスネットワーク状態管理部260は、プロセスノードの状態遷移処理を実行して、指示受領プロセスノードL12のプロセス状態D23を完了状態にする。
 図78を参照して、プロセスネットワーク実行部270は、実行可能状態になった庁書類提出プロセスノードL27を実行する。プロセスネットワーク実行部270は、Power AutomateのAPIに庁書類提出依頼用フローの実行要求を送信する。Power Automateは、庁書類提出依頼用フローを実行して、Plannerに庁書類提出タスクを登録し、当該登録したタスクに業務担当者を割り当てる。庁書類提出プロセスノードL27の非同期フラグはTrueである。そのため、プロセスネットワーク実行部270は、庁書類提出プロセスノードL27の実行後に当該プロセスノードL27を完了状態にしない。
 プロセスネットワーク実行部270は、実行可能状態になった請求書送付プロセスノードL29を実行する。プロセスネットワーク実行部270は、Power AutomateのAPIに請求書送付依頼用フローの実行要求を送信する。Power Automateは、請求書送付依頼用フローを実行して、Plannerに請求書送付タスクを登録し、当該登録したタスクに業務担当者を割り当てる。請求書送付プロセスノードL29の非同期フラグはTrueである。そのため、プロセスネットワーク実行部270は、請求書送付プロセスノードL29の実行後に当該プロセスノードL29を完了状態にしない。
 Plannerに登録した庁書類提出タスクが完了すると、Power Automateの庁書類提出プロセスノード完了処理用のフローが起動する。庁書類提出プロセスノード完了処理用のフローは、庁書類提出プロセスノードL27のプロセス状態D23を完了状態にするプロセス状態変更要求をプロセスネットワーク状態管理部260のAPIに送信する。プロセスネットワーク状態管理部260は、庁書類提出プロセスノードL27のプロセス状態D23を完了状態にする。庁書類提出プロセスノードL27が完了状態になると、庁手続プロセスノードL13の配下のプロセスノードL26およびL27全てが完了状態になるので、プロセスネットワーク状態管理部260は、プロセスノードを状態遷移させる処理を実行して、庁手続プロセスノードL13のプロセス状態D23を完了状態にする。
 Plannerに登録した請求書送付タスクが完了すると、Power Automateの請求書送付プロセスノード完了処理用のフローが起動する。請求書送付プロセスノード完了処理用のフローは、請求書送付プロセスノードL29のプロセス状態D23を完了状態にするプロセス状態変更要求をプロセスネットワーク状態管理部260のAPIに送信する。プロセスネットワーク状態管理部260は、請求書送付プロセスノードL29のプロセス状態D23を完了状態にする。請求書送付プロセスノードL29が完了状態になると、請求書送付プロセスノードL14の配下のプロセスノードL28およびL29全てが完了状態になるので、プロセスネットワーク状態管理部260は、プロセスノードを状態遷移させる処理を実行して、請求プロセスノードL14のプロセス状態D23を完了状態にする。
 以上の処理で、ルートプロセスノードL01の配下のプロセスノードL11、L12、L13およびL14全てが完了状態になるので、プロセスネットワーク状態管理部260は、プロセスノードを状態遷移させる処理を実行して、ルートプロセスノードL01のプロセス状態D23を完了状態にする。
 上述したように、本実施例に係るプロセス実行システム200によれば、複雑なビジネスプロセス、特に非同期処理を含むような複雑なビジネスプロセスであっても実行可能である。特に、階層型のプロセスネットワークモデルは、階層を深くすることでプロセスを細分化していくことができるため表現力が高く、階層型のプロセスネットワークモデルを受け付け可能に構成されたプロセス実行システム200は、複雑なビジネスプロセスであっても実行可能である。業務内容の変更には、プロセスネットワークモデルを変更することで対応可能であり、プロセスネットワーク生成部の構成、プロセスネットワーク状態管理部の構成およびプロセスネットワーク実行部の構成などは変更する必要がない。そのため、プロセス実行システム200は、シンプルな構成でありながら可塑性と安定性に優れており、変化の速度が速いビジネス環境への適応度が高いシステムである。
 以上に説明したプロセス実行システムの構成は、上述の実施形態の特徴を説明するにあたって主要構成を説明したのであって、上述の構成に限られず、特許請求の範囲内において、種種改変することができる。また、一般的なプロセス実行システムが備える構成を排除するものではない。
 上述した実施形態では、プロセス実行システムは、サーバーマシン上で動作するWebアプリとして構成されたが、PC上で動作するネイティブアプリとして構成されてもよい。
 上述した実施形態はビジネスプロセスに対して本発明を適用した場合を説明したが、本発明はビジネスプロセスに限らず、例えば、CPS(Cyber-Physical Systems)におけるプロセスのように、現実世界との相互作用を含むプロセスにも適用可能である。
100、200、300、400、500 プロセス実行システム
 110、210、310、410、510 制御部
  150、250、350、450 プロセスネットワーク生成部
   151、351、451 プロセスネットワークモデル入力部
   452 プロセスネットワークモデル出力部
  160、260、360 プロセスネットワーク状態管理部
   261 プロセス状態変更要求受付部
  170、270、370 プロセスネットワーク実行部
  380 転写部
   381 転写要求受付部
   382 転写因子モデル評価部
   383 転写プロセス実行部
  590 プロセスネットワークモデル表示部
   591 プロセスネットワークモデル表示要求受付部
   592 プロセスネットワークモデル表示データ生成部
  595 プロセスネットワーク表示部
   596 プロセスネットワーク表示要求受付部
   597 プロセスネットワーク表示データ生成部
 120、220 記憶部
 130、230 通信部
 140、240 バス
DM1、DM2、DM3、DM4、DM5  プロセスネットワークモデル
 DM10、DM20、DM30、DM40、DM50 プロセスマスタノード
  DM11、DM21、DM31 プロセスマスタノード識別子
  DM12、DM22、DM32 親プロセスマスタノード識別子
  DM15、DM25、DM35 プロセス生成情報
   DM151、DM251、DM351、DM451 プロセス番号マスタ
   DM152、DM252、DM352 プロセス名マスタ
   DM153、DM253、DM353 アクション情報マスタ
    DM1531、DM2531 アクションアイテムマスタ
   DM254、DM354、DM554 非同期フラグマスタ
   DM255、DM355、DM555 自動起動フラグマスタ
   DM356 活性フラグマスタ
   PDinfo 転写プロセス定義情報
    PT 転写プロセスタグ
     PTs 選択プロセスタグ
     PTi 反復プロセスタグ
     PTr 置換プロセスタグ
   MDinfo 転写因子モデル定義情報
    MT 転写因子モデルタグD1、D2、D3、D4、D5  プロセスネットワーク
 D10、D20、D30、D40、D50 プロセスノード
  D11、D21、D31 プロセスノード識別子
  D12、D22、D32 親プロセスノード識別子
  D13、D23、D33、D53 プロセス状態
  D15、D25、D35 プロセス定義情報
   D151、D251、D351 プロセス番号
   D152、D252、D352 プロセス名
   D153、D153、D353 アクション情報
    D1531、D2531 アクションアイテム
   D254、D354 非同期フラグ
   D255、D355 自動起動フラグ
   D356 活性フラグ
CID ケースID
 CID1 アプリケーション名
 CID2 テーブル名
 CID3 レコードID
CxD コンテキストデータ
CxT コンテキストテーブル
E  環境
 Ein 内部環境
 Eout 外部環境
M 転写因子モデル
 Din 入力データ
 Dout 出力データ
 R 評価結果
 Me 評価対象転写因子モデル
 Mo 原評価対象転写因子モデル
シリアライズしたデータ MDout
SysOut  外部システム
 S1、S2 システム
Tinfo 転写情報
50  アクション実行システム
90  通信手段CD ケースデータ
CDT ケースデータテーブル
 

Claims (35)

  1.  プロセスの内容を定義したプロセス定義情報を生成するために使用されるプロセス生成情報を有するプロセスマスタノードを複数含み、当該複数のプロセスマスタノードによって生成されるプロセスノード同士の間の関係を表現したプロセスネットワークモデルから、前記プロセス定義情報を有するプロセスノードを複数含むプロセスネットワークを生成するプロセスネットワーク生成部と、
     前記プロセスネットワークに含まれるプロセスノードの状態と、所定のプロセス状態遷移規則と、に基づいて、特定のプロセスノードを実行可能にするプロセスネットワーク状態管理部と、
     前記プロセスネットワークに含まれる実行可能な前記プロセスノードが有する前記プロセス定義情報によって定義されたプロセスを実行するプロセスネットワーク実行部と、を有し、
     前記プロセスネットワーク生成部は、前記プロセスネットワークモデルの入力を受け付けるプロセスネットワークモデル入力部を備え、当該プロセスネットワークモデル入力部が入力を受け付けた前記プロセスネットワークモデルから前記プロセスネットワークを生成し、
     前記プロセス定義情報は、当該プロセス定義情報によって定義されたプロセスを実行するのに必要なアクションに関する情報を含み、
     前記プロセスネットワーク実行部は、要求に応じて所定のアクションを実行するアクション実行システムに対して、実行可能な前記プロセスノードの前記プロセス定義情報が含む前記アクションに関する情報に基づいて当該アクションの実行要求を送信することによって、当該プロセス定義情報によって定義されたプロセスを実行する、プロセス実行システム。
  2.  前記プロセスネットワークモデル入力部は、前記複数のプロセスマスタノードによって生成される前記プロセスノード同士の間の関係を階層的に表現した階層型のプロセスネットワークモデルの入力を受け付け、
     前記プロセスネットワーク生成部は、前記プロセスネットワークモデル入力部が入力を受け付けた前記階層型のプロセスネットワークモデルに対応する階層型のプロセスネットワークを生成する、請求項1に記載のプロセス実行システム。
  3.  前記プロセスネットワーク状態管理部は、特定のプロセスノードの状態を変更するプロセス状態変更要求を受け付けるプロセス状態変更要求受付部を備え、当該プロセス状態変更要求受付部が受け付けた前記プロセス状態変更要求に基づいて前記プロセスネットワークに含まれる当該特定のプロセスノードの状態を変更する、請求項2に記載のプロセス実行システム。
  4.  一の前記プロセスマスタノードが有する前記プロセス生成情報を、当該一の前記プロセスマスタノードに対応する一の前記プロセスノードに前記プロセス定義情報として転写する転写プロセスを実行する転写部をさらに有し、
     前記プロセス生成情報は、前記転写プロセスを定義した一または複数の転写プロセス定義情報を含み、
     前記転写プロセス定義情報は、プロセス実行システムが通信可能な環境が前記転写プロセスに与える影響をモデル化した転写因子モデルを定義した一または複数の転写因子モデル定義情報を含み、
     前記転写部は、前記転写プロセスの実行要求を受け付ける転写要求受付部と、前記転写因子モデル定義情報によって定義された前記転写因子モデルを評価する転写因子モデル評価部と、前記転写プロセス定義情報によって定義された前記転写プロセスを実行する転写プロセス実行部と、を備え、
     前記転写プロセス実行部は、前記転写因子モデル評価部が評価した一または複数の前記転写因子モデルの評価結果に基づいて前記転写プロセスを制御する、請求項3に記載のプロセス実行システム。
  5.  前記プロセスネットワーク実行部は、前記プロセス定義情報によって定義されたプロセスを実行する際に、前記転写プロセスの実行要求を前記転写要求受付部に送信することによって、当該プロセス定義情報を生成するために使用される前記プロセス生成情報を前記転写部が転写することによって更新された前記プロセス定義情報に基づいて当該プロセスを実行する、請求項4に記載のプロセス実行システム。
  6.  前記転写因子モデル評価部は、一の前記転写因子モデルを評価する際に、他の前記転写因子モデルの評価結果を当該一の前記転写因子モデルの入力データとして使用する、請求項5に記載のプロセス実行システム。
  7.  前記プロセス定義情報は、当該プロセス定義情報を有するプロセスが活性であるか非活性であるかを表現する活性フラグを含み、
     前記プロセス生成情報は、前記活性フラグを生成するために使用される活性フラグマスタを含み、
     前記活性フラグマスタは、前記転写因子モデルの評価結果に応じて前記活性フラグが定まるように構成された前記転写プロセス定義情報を含み、
     前記プロセスネットワーク状態管理部は、前記プロセスノードが有する前記プロセス定義情報に含まれる前記活性フラグが非活性であることを表現している場合には、当該プロセスノードを存在しないものとして扱う、請求項6に記載のプロセス実行システム。
  8.  前記プロセスネットワーク生成部は、前記プロセスネットワークモデルを出力するプロセスネットワークモデル出力部を有し、
     前記プロセスネットワークモデル出力部は、前記プロセスネットワークモデルをシリアライズしたデータを出力する、請求項7に記載のプロセス実行システム。
  9.  前記プロセスネットワークモデル入力部は、前記プロセスネットワークモデルをシリアライズしたデータの入力を受け付け、
     前記プロセスネットワーク生成部は、前記プロセスネットワークモデル入力部が入力を受け付けた前記プロセスネットワークモデルをシリアライズしたデータをデシリアライズすることによって得られた前記プロセスネットワークモデルを用いて前記プロセスネットワークを生成する、請求項8に記載のプロセス実行システム。
  10.  前記プロセスネットワークモデル出力部は、前記プロセスネットワークモデルをシリアライズする際に、前記プロセスネットワークモデルと、当該プロセスネットワークモデルをシリアライズしたデータとが一対一に対応する規則に基づいてシリアライズする、請求項9に記載のプロセス実行システム。
  11.  前記プロセスネットワークモデル出力部が前記プロセスネットワークモデルをシリアライズしたデータを出力する際に使用するデータ形式は、キーと値の組を配列したデータ形式である、請求項10に記載のプロセス実行システム。
  12.  前記プロセスネットワークモデル出力部が前記プロセスネットワークモデルをシリアライズしたデータを出力する際に使用するデータ形式は、JSONである、請求項11に記載のプロセス実行システム。
  13.  前記プロセスネットワークモデルを表示するプロセスネットワークモデル表示部をさらに有する、請求項4から12のいずれか1項に記載のプロセス実行システム。
  14.  前記プロセスネットワークを表示するプロセスネットワーク表示部をさらに有する、請求項4から12のいずれか1項に記載のプロセス実行システム。
  15.  プロセス実行システムに用いられるデータ構造であって、
     プロセスの内容を定義したプロセス定義情報を有するプロセスノードを複数含むプロセスネットワークを生成するために使用されるプロセスネットワークモデルを含み、
     前記プロセスネットワークモデルは、前記プロセス定義情報を生成するために使用されるプロセス生成情報を有するプロセスマスタノードを複数含み、当該複数のプロセスマスタノードによって生成されるプロセスノード同士の間の関係を表現し、
     前記プロセス定義情報は、当該プロセス定義情報によって定義されたプロセスを実行するのに必要なアクションに関する情報を含む、データ構造。
  16.  前記プロセスネットワークモデルは、前記複数のプロセスマスタノードによって生成される前記プロセスノード同士の間の関係を階層的に表現した階層型のプロセスネットワークモデルであり、当該階層型のプロセスネットワークモデルに対応する階層型のプロセスネットワークを生成するために使用される、請求項15に記載のデータ構造。
  17.  前記プロセス生成情報は、当該プロセス生成情報を、当該プロセス生成情報を有する前記プロセスマスタノードに対応する前記プロセスノードに前記プロセス定義情報として転写する転写プロセスを定義した一または複数の転写プロセス定義情報を含み、
     前記転写プロセス定義情報は、前記プロセス実行システムが通信可能な環境が前記転写プロセスに与える影響をモデル化した転写因子モデルを定義した一または複数の転写因子モデル定義情報を含む、請求項16に記載のデータ構造。
  18.  一の前記転写因子モデルが他の前記転写因子モデルの評価結果を入力データとして設定可能に表現される、請求項17に記載のデータ構造。
  19.  前記プロセス定義情報は、当該プロセス定義情報を有するプロセスが活性であるか非活性であるかを表現する活性フラグを含み、
     前記プロセス生成情報は、前記活性フラグを生成するために使用される活性フラグマスタを含み、
     前記活性フラグマスタは、前記転写因子モデルの評価結果に応じて前記活性フラグが定まるように構成された前記転写プロセス定義情報を含む、請求項18に記載のデータ構造。
  20.  キーと値の組を配列したデータ形式によって表現される、請求項19に記載のデータ構造。
  21.  JSONのデータ形式によって表現される、請求項20に記載のデータ構造。
  22.  プロセスの内容を定義したプロセス定義情報を生成するために使用されるプロセス生成情報を有するプロセスマスタノードを複数含み、当該複数のプロセスマスタノードによって生成されるプロセスノード同士の間の関係を表現したプロセスネットワークモデルの入力を受け付けるステップと、
     前記プロセスネットワークモデルの入力を受け付けるステップにおいて入力を受け付けた前記プロセスネットワークモデルから、前記プロセス定義情報を有する前記プロセスノードを複数含むプロセスネットワークを生成するステップと、
     前記プロセスネットワークに含まれる前記プロセスノードの状態と、所定のプロセス状態遷移規則と、に基づいて前記プロセスノードの状態遷移処理を行うステップと、
     前記プロセスネットワークに含まれる実行可能な前記プロセスノードの実行処理を行うステップと、
     を含む処理を、コンピュータに実行させるためのプロセス実行プログラム。
  23.  前記プロセスネットワークモデルの入力を受け付けるステップにおいて、前記複数のプロセスマスタノードによって生成される前記プロセスノード同士の間の関係を階層的に表現した階層型のプロセスネットワークモデルの入力を受け付け、
     前記プロセスネットワークを生成するステップにおいて、前記プロセスネットワークモデルの入力を受け付けるステップにおいて入力を受け付けた前記階層型のプロセスネットワークモデルに対応する階層型のプロセスネットワークを生成する、請求項22に記載のプロセス実行プログラム。
  24.  前記プロセスノードの状態遷移処理を行うステップは、特定のプロセスノードの状態を変更するプロセス状態変更要求を受け付けるステップと、当該プロセス状態変更要求を受け付けるステップにおいて受け付けた前記プロセス状態変更要求に基づいて前記プロセスネットワークに含まれる当該特定のプロセスノードの状態を変更する、請求項23に記載のプロセス実行プログラム。
  25.  前記プロセス生成情報は、当該プロセス生成情報を、当該プロセス生成情報を有する前記プロセスマスタノードに対応する前記プロセスノードに前記プロセス定義情報として転写する転写プロセスを定義した一または複数の転写プロセス定義情報を含み、
     前記転写プロセス定義情報は、プロセス実行システムが通信可能な環境が前記転写プロセスに与える影響をモデル化した転写因子モデルを定義した一または複数の転写因子モデル定義情報を含み、
     前記転写プロセスの実行要求を受け付けるステップと、
     前記転写因子モデル定義情報によって定義された前記転写因子モデルを評価するステップと、
     前記転写プロセス定義情報によって定義された前記転写プロセスを実行するステップと、をさらに有し、
     前記転写プロセスを実行するステップは、前記転写因子モデルを評価するステップにおける一または複数の前記転写因子モデルの評価結果に基づいて前記転写プロセスを制御する、請求項24に記載のプロセス実行プログラム。
  26.  前記プロセスノードの実行処理を行うステップは、前記転写プロセスの実行要求を送信することによって、当該プロセス定義情報を生成するために使用される前記プロセス生成情報を転写することによって更新された前記プロセス定義情報に基づいて当該プロセスを実行する、請求項25に記載のプロセス実行プログラム。
  27.  前記転写因子モデルを評価するステップにおいて、一の前記転写因子モデルを評価する際に、他の前記転写因子モデルの評価結果を当該一の前記転写因子モデルの入力データとして使用する、請求項26に記載のプロセス実行プログラム。
  28.  前記プロセス定義情報は、当該プロセス定義情報を有するプロセスが活性であるか非活性であるかを表現する活性フラグを含み、
     前記プロセス生成情報は、前記活性フラグを生成するために使用される活性フラグマスタを含み、
     前記活性フラグマスタは、前記転写因子モデルの評価結果に応じて前記活性フラグが定まるように構成された前記転写プロセス定義情報を含み、
     前記プロセスノードの状態遷移処理を行うステップにおいて、前記プロセスノードが有する前記プロセス定義情報に含まれる前記活性フラグが非活性であることを表現している場合には、当該プロセスノードを存在しないものとして扱う、請求項27に記載のプロセス実行プログラム。
  29.  前記プロセスネットワークモデルを出力するステップをさらに有し、
     当該プロセスネットワークモデルを出力するステップにおいて、前記プロセスネットワークモデルをシリアライズしたデータを出力する、請求項28に記載のプロセス実行プログラム。
  30.  前記プロセスネットワークモデルの入力を受け付けるステップにおいて、前記プロセスネットワークモデルをシリアライズしたデータの入力を受け付け、
     前記プロセスネットワークを生成するステップにおいて、前記プロセスネットワークモデルの入力を受け付けるステップにおいて入力を受け付けた前記プロセスネットワークモデルをシリアライズしたデータをデシリアライズすることによって得られた前記プロセスネットワークモデルを用いて前記プロセスネットワークを生成する、請求項29に記載のプロセス実行プログラム。
  31.  前記プロセスネットワークモデルを出力するステップにおいて、前記プロセスネットワークモデルをシリアライズする際に、前記プロセスネットワークモデルと、当該プロセスネットワークモデルをシリアライズしたデータとが一対一に対応する規則に基づいてシリアライズする、請求項30に記載のプロセス実行プログラム。
  32.  前記プロセスネットワークモデルを出力するステップにおいて、前記プロセスネットワークモデルをシリアライズしたデータを、キーと値の組を配列したデータ形式によって出力する、請求項31に記載のプロセス実行プログラム。
  33.  前記プロセスネットワークモデルを出力するステップにおいて、前記プロセスネットワークモデルをシリアライズしたデータを、JSONのデータ形式によって出力する、請求項32に記載のプロセス実行プログラム。
  34.  前記プロセスネットワークモデルを表示するステップをさらに有する、請求項25から請求項33のいずれか1項に記載のプロセス実行プログラム。
  35.  前記プロセスネットワークを表示するステップをさらに有する、請求項25から請求項33のいずれか1項に記載のプロセス実行プログラム。
     
PCT/JP2023/004459 2022-02-10 2023-02-09 プロセス実行システム、データ構造、およびプロセス実行プログラム WO2023153491A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
AU2023218154A AU2023218154A1 (en) 2022-02-10 2023-02-09 Process execution system, data structure, and process execution program
EP23752953.2A EP4435588A1 (en) 2022-02-10 2023-02-09 Process execution system, data structure, and process execution program
CN202380016969.5A CN118556225A (zh) 2022-02-10 2023-02-09 流程执行系统、数据结构、流程执行程序
JP2023530183A JP7429941B2 (ja) 2022-02-10 2023-02-09 プロセス実行システムおよびプロセス実行プログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022019673 2022-02-10
JP2022-019673 2022-02-10

Publications (1)

Publication Number Publication Date
WO2023153491A1 true WO2023153491A1 (ja) 2023-08-17

Family

ID=87564479

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/004459 WO2023153491A1 (ja) 2022-02-10 2023-02-09 プロセス実行システム、データ構造、およびプロセス実行プログラム

Country Status (5)

Country Link
EP (1) EP4435588A1 (ja)
JP (1) JP7429941B2 (ja)
CN (1) CN118556225A (ja)
AU (1) AU2023218154A1 (ja)
WO (1) WO2023153491A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009532759A (ja) * 2006-03-30 2009-09-10 マイクロソフト コーポレーション プロセス中心プログラムの取り消しをモデル化するフレームワーク
JP2010026695A (ja) * 2008-07-17 2010-02-04 Hitachi Ltd ビジネスプロセス実行方法、ビジネスプロセス実行装置及びビジネスプロセス実行プログラム
JP2012203702A (ja) 2011-03-25 2012-10-22 Nec Corp 業務システム変更支援システム、業務システム変更支援プログラム、および業務システム変更支援方法
US20210200758A1 (en) * 2019-12-27 2021-07-01 UiPath, Inc. Edge table representation of processes

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009532759A (ja) * 2006-03-30 2009-09-10 マイクロソフト コーポレーション プロセス中心プログラムの取り消しをモデル化するフレームワーク
JP2010026695A (ja) * 2008-07-17 2010-02-04 Hitachi Ltd ビジネスプロセス実行方法、ビジネスプロセス実行装置及びビジネスプロセス実行プログラム
JP2012203702A (ja) 2011-03-25 2012-10-22 Nec Corp 業務システム変更支援システム、業務システム変更支援プログラム、および業務システム変更支援方法
US20210200758A1 (en) * 2019-12-27 2021-07-01 UiPath, Inc. Edge table representation of processes

Non-Patent Citations (14)

* Cited by examiner, † Cited by third party
Title
AKIFUMI TANAKAAKIO TOMIYAYUKIO HASHIMOTO: "An Introduction to Systems Biology: Design Principles of Biological Circuits", 2019, UNIVERSITY OF TOKYO PRESS
BERND RUECKER: "Practical Process Automation: Orchestration and Integration in Microservices and Cloud Native Architectures", O'REILLY MEDIA, 2021
BRUCE ALBERTS ET AL.: "Garland Science", 2014, article "Molecular Biology of the Cell"
BRUCE SILVER: "BPMN Method and Style, Second Edition, with BPMN Implementer's Guide", 2017, CODY-CASSIDY PRESS
BRUNO LATOUR: "Reassembling the Social: An Introduction to Actor-network-theory", 2007, OXFORD UNIV PR
CLAUDIO STAMILEALDO MARZULLOENRICO DEUSEBIO: "Graph Machine Learning: Take graph data to the next level by applying machine learning techniques and algorithms", 2021, CAMBRIDGE UNIVERSITY PRESS
DAVID W. ENSTROM: "iUniverse", 2016, article "A Simplified Approach to IT Architecture with BPMN: A Coherent Methodology for Modeling Every Level of the Enterprise"
HERBERT A. SIMON: "At Home in the Universe: The Search for Laws of Self-Organization and Complexity", 1996, OXFORD UNIV PR
HOWARD SMITHPETER FINGAR: "Business Process Management: The Third Wave", 2002, MEGHAN-KIFFER PRESS
JAKOB FREUNDBERND RUCKER: "Real-Life BPMN (4th edition): Includes an introduction to DMN", CAMUNDA, 2019
KUNIHIKO KANEKO: "Modern Business Process Automation: YAWL and its Support Environment", 2009, UNIVERSITY OF TOKYO PRESS
KUNIHIKO KANEKOSATOSHI SAWAITAKUMI TAKAGICHIKARA FURUSAWA: "Theoretical Biology of Cells: From the Perspective of Dynamics", 2020, UNIVERSITY OF TOKYO PRESS
STOLTERMAN EFORS A.C: "Information Systems Research. IFIP International Federation for Information Processing", vol. 143, 2004, SPRINGER, article "Information Technology and the Good Life"
WIL M.P. VAN DER AALST: "Process Mining: Data Science in Action", 2016, SPRINGER

Also Published As

Publication number Publication date
EP4435588A1 (en) 2024-09-25
CN118556225A (zh) 2024-08-27
JP7429941B2 (ja) 2024-02-09
JPWO2023153491A1 (ja) 2023-08-17
AU2023218154A1 (en) 2024-07-11

Similar Documents

Publication Publication Date Title
Lin et al. A genetic programming hyper-heuristic approach for the multi-skill resource constrained project scheduling problem
US11327726B2 (en) Workflow engine tool
Wang et al. An effective adaptive adjustment method for service composition exception handling in cloud manufacturing
Zhang et al. Nested coloured timed Petri nets for production configuration of product families
Kosicki et al. Big Data and Cloud Computing for the Built Environment
WO2023153491A1 (ja) プロセス実行システム、データ構造、およびプロセス実行プログラム
CN111937075A (zh) 用于规划和执行高通量基因组制造操作的装置无关系统
WO2024068571A1 (en) Supply chain optimization with reinforcement learning
Nguyen et al. A genetic programming approach for evolving variable selectors in constraint programming
Völker et al. Adding decision management to robotic process automation
EP4134880A1 (en) A computer-based system using neuron-like representation graphs to create knowledge models for computing semantics and abstracts in an interactive and automatic mode
TWI746063B (zh) 用於人機介導動作跟踪和管理的標籤方法和系統
Tan et al. General modeling and simulation for enterprise operational decision-making problem: A policy-combination perspective
Hussain et al. Knowledge management and sustainable firms growth: an evidence from SMEs sector of Pakistan
Weber et al. Forms-based service composition
Wu et al. An Improved Genetic‐Shuffled Frog‐Leaping Algorithm for Permutation Flowshop Scheduling
Lin et al. Cloud readiness planning tool (CRPT): An AI-based framework to automate migration planning
Ng Business process optimization using the ant colony system
Weigert et al. Modelling and optimisation of assembly processes
Stoitsev et al. Enabling end-user driven business process composition through programming by example in a collaborative task management system
Saeheaw et al. Integration of geographical information systems, meta-heuristics and optimization models for the employee transportation problem
Mates et al. Modelling of Context-Adaptable Business Processes and their Implementation as Service-Oriented Architecture
Chen et al. Research on the inventory scheduling model based on agent‐oriented Petri net in supply chain
Quargnali Hyperautomation–Intelligent automation
Zhou et al. Automated Microservice Identification from Design Model

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 2023530183

Country of ref document: JP

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

Ref document number: 23752953

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2023752953

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 18724179

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2023218154

Country of ref document: AU

Ref document number: AU2023218154

Country of ref document: AU

ENP Entry into the national phase

Ref document number: 2023752953

Country of ref document: EP

Effective date: 20240620

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 11202404357T

Country of ref document: SG