Workflow simulation with environment simulation

The host platform addresses inaccuracies in conventional workflow simulations by predicting changing input variables from external systems using AI and ML models, enhancing simulation accuracy and quality.

JP2025529690APending Publication Date: 2025-09-09INTERNATIONAL BUSINESS MACHINE CORPORATION
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2025506135
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-08-23
Filing Date
2023-05-12
Publication Date
2025-09-09

AI Technical Summary

Technical Problem

Conventional workflow simulation software fails to account for dynamic changes in input variables from external systems due to interdependencies between the workflow and these systems, leading to inaccurate simulations.

Method used

A host platform that generates simulators for external systems to predict changing input variables based on interdependencies, using machine learning and artificial intelligence models to enhance simulation accuracy.

Benefits of technology

The platform provides more accurate workflow automation by considering dynamic changes, resulting in higher quality simulation outcomes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025529690000001_ABST
    Figure 2025529690000001_ABST
Patent Text Reader

Abstract

Example operations may include one or more of identifying external systems that pass input attributes to a process based on a workflow representation of the process; building a simulator of the external system based on the attributes of the external system identified from the workflow representation; simulating future values ​​of the input attributes passed by the external system to the process based on the simulator of the external system and a previous simulation run of the process run via a workflow software application; and running a new simulation of the process via the workflow software application based on the simulated future values ​​of the input attributes.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] A business process may include a set or sequence of related tasks and activities that lead to a specific outcome. Before implementing a business process, organizations may simulate it to understand how it will function. For example, simulation software applications may be used to try out various scenarios and solutions, allowing developers to figure out which solution best meets their current needs without impacting production. Furthermore, simulation may also be an effective mechanism for improving existing business processes. For example, simulation may be a cost-effective and low-intrusive mechanism for discovering ways to improve the operation and production of existing workflows.

[0002] Business workflows are often integrated with external systems, such as databases, websites, application programming interfaces (APIs), and the like, which pass input values ​​to the simulator. Furthermore, outputs from the business workflows may be sent back to the external systems for further processing. Because of this interconnection, decisions / actions made by the workflows may further affect future inputs received from external systems. That is, input values ​​fed into the system may change over time as a result of interactions between the model and external systems. However, existing simulation software only considers static information about input variables fed from external systems to the simulator based on historical data. However, in reality, input variables often change over time due to interactions between business processes and external systems. As a result, workflow simulations may be inaccurate due to the inability of traditional workflow simulations to take such changing input variables into account. Summary of the Invention

[0003] One exemplary embodiment provides an apparatus comprising: a memory configured to store a workflow software application; and a processor configured to do one or more of the following: identify external systems that pass input attributes to a process based on a workflow representation of the process; construct a simulator for the external system based on attributes of the external system identified from the workflow representation; simulate future values ​​of the input attributes passed by the external system to the process based on the simulator of the external system and a previous workflow simulation of the process run via the workflow software application; and run a new workflow simulation of the process via the workflow software application based on the simulated future values ​​of the input attributes.

[0004] Another exemplary embodiment provides a method including one or more of: identifying external systems that pass input attributes to a process based on a workflow representation of the process; building a simulator of the external system based on the attributes of the external system identified from the workflow representation; simulating future values ​​of the input attributes passed by the external system to the process based on the simulator of the external system and a previous simulation run of the process run via a workflow software application; and running a new simulation of the process via the workflow software application based on the simulated future values ​​of the input attributes.

[0005] A further exemplary embodiment provides a computer-readable medium comprising instructions that, when read by a processor, cause the processor to perform one or more of the following steps: identify external systems that pass input attributes to a process based on a workflow representation of the process; build a simulator of the external system based on the attributes of the external system identified from the workflow representation; simulate future values ​​of the input attributes passed by the external system to the process based on the simulator of the external system and a previous simulation run of the process run via a workflow software application; and run a new simulation of the process via the workflow software application based on the simulated future values ​​of the input attributes. [Brief explanation of the drawings]

[0006] The patent or application file contains at least one drawing executed in color. Copies of this patent or patent application publication with color drawing(s) will be provided by the Office upon request and payment of the necessary fee.

[0007] [Figure 1] FIG. 1 illustrates a cloud computing environment interacting with various devices in accordance with an illustrative embodiment.

[0008] [Figure 2A] FIG. 1 is a diagram illustrating abstraction model layers of a cloud computing environment in accordance with an example embodiment.

[0009] [Figure 2B] FIG. 10 is an illustration of a process for simulating a future environment for a process and simulating a workflow for the process based on the simulated future environment in accordance with an illustrative embodiment;

[0010] [Figure 3A]FIG. 1 illustrates an example of a permissioned network, according to an example embodiment. [Figure 3B] FIG. 1 illustrates an example of a permissioned network, according to an example embodiment. [Figure 3C] FIG. 1 illustrates an example of a permissioned network, according to an example embodiment.

[0011] [Figure 3D] FIG. 1 illustrates a machine learning process via a cloud computing platform, in accordance with an example embodiment.

[0012] [Figure 3E] FIG. 1 illustrates a quantum computing environment associated with a cloud computing platform, in accordance with an example embodiment.

[0013] [Figure 4A] FIG. 10 illustrates a process for building an external system simulation model in accordance with an illustrative embodiment.

[0014] [Figure 4B] FIG. 10 is a diagram illustrating a process for identifying hops between attributes and workflow simulation using a graphical model in accordance with an illustrative embodiment;

[0015] [Figure 4C] FIG. 1 is an illustration of a process for simulating a workflow for a process in accordance with an illustrative embodiment;

[0016] [Figure 5] FIG. 1 illustrates a method for simulating a workflow based on a simulated workflow environment in accordance with an illustrative embodiment.

[0017] [Figure 6]FIG. 1 illustrates an example of a computing system that supports one or more of the example embodiments. DETAILED DESCRIPTION OF THE INVENTION

[0018] Although this disclosure includes a detailed description of cloud computing, it should be understood that implementation of the teachings described herein is not limited to cloud computing environments. Rather, embodiments of the present invention may be implemented in conjunction with any other type of computing environment now known or later developed.

[0019] Conventional automation software configured to simulate the workflow of a business process may rely on static information being input to the business process. For example, inputs from external systems may be determined in advance based on historical data fed into the simulation model. The result is a static distribution of input variables from the external systems over time. However, in reality, such distributions typically change over time. The causes of such changes may come from the process itself being simulated. This interdependence between the workflow and the external systems is not taken into account by conventional workflow automation software.

[0020] According to various embodiments, provided herein is a host platform for workflow automation that takes into account "dynamic" changes to input variables from external systems over time by leveraging interdependencies between external systems (and the input variables they provide) and values ​​resulting from / output from a simulation of a business process. The process may be embodied in a simulation model. Meanwhile, the host platform may generate a simulator for the external system (or multiple simulators for multiple external systems) configured to generate "simulated" input values ​​for the business process under simulation. The simulator for the external system may predict input variables for the process under simulation based on changing distributions of the input variables, as opposed to static distributions of the input variables in the related art. Because the simulation's own influence / interdependencies on external systems are taken into account by the simulation platform described herein, the simulated results of the process may be more accurate, providing a higher quality workflow automation software application compared to the related art.

[0021] For example, a host platform may host software implementing a framework for generating an environment in which multiple business workflows will be executed. The host platform may generate predictions of future snapshots of a process's environment by predicting attributes affecting a simulation model of the process, and vice versa. Interdependencies between a simulated process and an external system (environment) providing input variables to the simulated process may be realized based on k-hop distances between the external system (values ​​provided by the external system) and the simulation workflow in the graphical model. For example, to predict the future value of an external attribute when a workflow is simulated, the host platform may use k-hop distances between the attribute and the simulation results.

[0022] Cloud computing is a service delivery model that enables convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, network bandwidth, servers, processing, memory, storage, applications, virtual machines, services) that can be rapidly provisioned and released with minimal administrative effort or interaction with the service provider. This cloud model may include at least five characteristics, at least three service models, and at least four deployment models.

[0023] Examples of cloud computing characteristics that may be associated with exemplary embodiments include the following:

[0024] On-Demand Self-Service: Cloud consumers can unilaterally provision computing capacity, such as server time and network storage, automatically as needed, without requiring human interaction with the provider of the service.

[0025] Broad Network Access: Capabilities are available over the network and are accessed through standard mechanisms that facilitate use by heterogeneous thin or thick client platforms (eg, cell phones, laptops, and PDAs).

[0026] Resource Pooling: A provider's computing resources are pooled to serve multiple consumers using a multi-tenant model, with various physical and virtual resources dynamically allocated and reallocated according to demand. Consumers generally have no control over or knowledge of the exact location of the resources provided, although there is some location independence in that the location can be specified at a higher level of abstraction (e.g., country, state, or data center).

[0027] Rapid Elasticity: Capacity is provisioned quickly and elastically, sometimes automatically, and can be quickly scaled out or quickly released and quickly scaled in. To the consumer, the capacity available for provisioning often appears unlimited, and can be purchased at any time in any quantity.

[0028] Metering Services: Cloud systems automatically control and optimize resource usage by leveraging metering capabilities appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts) at a certain level of abstraction. Resource utilization can be monitored, controlled, and reported, providing transparency to both providers and consumers of the services used.

[0029] Examples of service models that may be associated with exemplary embodiments include the following:

[0030] Software as a Service (SaaS): The consumer is offered the ability to use a provider's applications running on a cloud infrastructure. The applications are accessible from a variety of client devices through thin-client interfaces such as web browsers (e.g., web-based email). The consumer does not manage or control the underlying cloud infrastructure, including networks, servers, operating systems, storage, or even individual application capabilities, with the possible exception of limited user-specific application configuration settings.

[0031] Platform as a Service (PaaS): The ability offered to consumers is to deploy applications they create or acquire, written using programming languages ​​and tools supported by the provider, onto a cloud infrastructure. The consumer does not manage or control the underlying cloud infrastructure, including the network, servers, operating systems, or storage, but does have control over the deployed applications and, in some cases, the application's hosting environment configuration.

[0032] Infrastructure as a Service (IaaS): The ability provided to consumers is to provision processing, storage, network, and other basic computing resources onto which they can deploy and run any software, which may include operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure, but rather controls the operating systems, storage, deployed applications, and possibly limited control over selected networking components (e.g., host firewalls).

[0033] Examples of deployment models that may be associated with exemplary embodiments include the following:

[0034] Private Cloud: Cloud infrastructure is operated exclusively for an organization. It may be managed by that organization or a third party and may reside on-premise or off-premise.

[0035] Community Cloud: Cloud infrastructure is shared by multiple organizations to support a specific community with shared interests (e.g., roles, security requirements, policies, and compliance considerations). It may be managed by the organizations or a third party and may reside on-premises or off-premises.

[0036] Public Cloud: Cloud infrastructure is available to the general public or large industry entities and is owned by organizations that sell cloud services.

[0037] Hybrid cloud: A cloud infrastructure is a composite of two or more clouds (private, community, or public) that are unique entities but are tied together by standardized or proprietary technologies that allow for data and application portability (e.g., cloud bursting for load balancing between clouds).

[0038] A cloud computing environment is a service-oriented environment that emphasizes statelessness, loose coupling, modularity, and semantic interoperability. At the heart of cloud computing is an infrastructure that includes a network of interconnected nodes.

[0039] Referring now to FIG. 1 , an exemplary cloud computing environment 50 is depicted. As shown, the cloud computing environment 50 comprises one or more cloud computing nodes 10, with which local computing devices used by cloud consumers (e.g., personal digital assistants (PDAs) or cellular phones 54A, desktop computers 54B, laptop computers 54C, and / or automobile computer systems 54N, etc.) can communicate. The cloud computing nodes 10 may communicate with each other. They may be physically or virtually grouped (not shown) into one or more networks, such as a private cloud, community cloud, public cloud, or hybrid cloud, or combinations thereof, as described hereinabove. This enables the cloud computing environment 50 to provide infrastructure, platform, and / or software as a service for which cloud consumers are not required to maintain resources on their local computing devices. It should be understood that the types of computing devices 54A-N shown in FIG. 1 are intended to be exemplary only, and that the cloud computing node 10 and cloud computing environment 50 can communicate with any type of computerized device over any type of network and / or network-addressable connection (e.g., using a web browser).

[0040] Referring now to FIG. 2A , a set of functional abstraction layers provided by cloud computing environment 50 ( FIG. 1 ) is shown. It should be understood in advance that the components, layers, and functions illustrated in FIG. 2A are intended to be illustrative only, and that embodiments of the present invention are not limited thereto. As depicted, the following layers and corresponding functions are provided: hardware and software layer 60 includes hardware and software components. Examples of hardware components include mainframe 61; RISC (reduced instruction set computer) architecture-based server 62; server 63; blade server 64; storage device 65; and network and networking components 66. In some embodiments, software components include network application server software 67 and database software 68. virtualization layer 70 provides an abstraction layer over which the following examples of virtual entities can be provided: virtual servers 71; virtual storage 72; virtual networks 73, including virtual private networks; virtual applications and operating systems 74; and virtual clients 75. In one example, management layer 80 may provide the functions described below.

[0041] Resource provisioning 81 provides dynamic procurement of computing and other resources utilized to execute tasks within the cloud computing environment. Metering and pricing 82 provides cost tracking as resources are utilized within the cloud computing environment and billing or invoicing for the consumption of these resources. In one example, these resources may include application software licenses. Security provides identity verification for cloud consumers and tasks, as well as protection of data and other resources. User portal 83 provides consumers and system administrators with access to the cloud computing environment. Service level management 84 provides cloud computing resource allocation and management to ensure required service levels are met. Service level agreement (SLA) planning and fulfillment 85 provides pre-organization and acquisition of cloud computing resources for anticipated future needs in accordance with SLAs.

[0042] The workload tier 90 provides examples of functions for which a cloud computing environment can be utilized. Examples of workloads and functions that can be provided from this tier include mapping and navigation 91, software development and lifecycle management 92, virtual classroom instruction delivery 93, data analytics processing 94, transaction processing 95, and workflow simulation 96.

[0043] FIG. 2B illustrates an example of a process 200 corresponding to the workflow simulation 96 in FIG. 2A , according to an exemplary embodiment. The process 200 may be executed by a host platform such as a web server, a cloud platform, a distributed group of computing systems, a database, and the like. Referring to FIG. 2B , the host platform may receive a workflow specification 210 as input. For example, the workflow specification 210 may include a Business Process Modeling Notation (BPMN) model of the process to be simulated. The BPMN model may include a structured format (e.g., JavaScript Objection Notation) that identifies each activity performed by the process and the inputs / outputs of each process.

[0044] By way of example, processes that may be embodied in the workflow specification 210 may include, but are not limited to, a credit lending workflow, a contingent labor procurement workflow, an automotive production workflow, and many others, examples of which are described further below.

[0045] When the workflow specification 210 is received by the system, the workflow parser 220 may parse the workflow specification 210 to identify a list of external systems (e.g., services) that provide input data to the business process and attributes of the external systems (e.g., inputs, outputs, functions, etc.). For example, the workflow parser 220 may identify which activities in the workflow depend on external services, the name of the service, the value / type of input data to the service, the value / type of output data from the service, and the like. In the credit lending workflow example, the external system may be a credit bureau that provides the credit lending process with a credit score that helps the process determine whether to approve a loan. Here, the external system (i.e., the credit bureau), the input to the external system (e.g., the user's Social Security number, etc.), and the output from the external system (e.g., the user's credit score, etc.) may be identified by the workflow parser 220. The attributes obtained by the workflow parser 220 may be forwarded to the profiler 226 and the simulator builder 228.

[0046] The parsed attributes may be delivered to a data modeler 221 that identifies data to simulate the process, a data generator 222 that generates data for the simulation, a user profiler 223 that identifies user attributes for users of the process, a digital twin modeler 224 that may generate digital twins of any assets, people, objects, etc. used in the simulation of the process, and a KPI modeler 225 that identifies key performance indicators (KPIs) for the process. The data, user attributes, digital twins, and KPIs for simulating the process may be fed to a process model builder 227, which may build a simulation model 242 to simulate the process based on information fed from other components of the system.

[0047] Additionally, and according to various embodiments, the host system also implements a "dynamic" simulation system for business workflows that can simulate the ever-changing environment of a business process based on the results resulting from simulating the main business workflow. For example, in a credit lending use case, an external environment is simulated that dynamically changes a customer's credit score based on the customer's repayment patterns. Thus, drawbacks present in static simulations, where credit scores are sampled from a static distribution, can be mitigated through dynamic simulation of the environment.

[0048] In this example, the parsed attributes from workflow parser 220 may also be forwarded to profiler 226 and simulator builder 228, which may be newly provided by the illustrative embodiments and used to implement dynamic simulations. For example, profiler 226 may receive parsed information from the BPMN process flow identified by workflow parser 220 and identify each activity associated with an external system. For example, profiler 226 may capture inputs and output parameters related to the external environment. The captured information may be passed both to process model builder 227 for building simulation model 242, and similarly to simulator builder 228.

[0049] In this example, simulator builder 228 may consume information from process model builder 227 and build a model (e.g., external system simulator 244) that simulates output values ​​from an external system that are input to the process (simulation model 242). For example, simulator builder 228 may build one or more machine learning (ML) models, one or more artificial intelligence (AI) models, a combination thereof, etc., that embody external system simulator 244 and predict what values ​​will be fed from the external system (e.g., the credit bureau in the example above) to the process (e.g., the loan approval process in the example above) based on historical actions between the external system and the process stored in database 230.

[0050] To generate a simulation of the workflow of a process, the host platform may execute the process simulation model 242 and the external system simulator 244 in the simulation runtime 240 to generate simulated workflow outputs / results. The simulation process may include running both the simulation model 242 and the external system simulator 244 in parallel, which simulates outputs from external systems that are inputs to the process. Thus, predicted input values ​​created by the external system simulator 244 may be passed as input variables to the process simulation model 242, which can be used in place of actual values ​​from the external systems that are often unavailable. Outputs of the simulation may be displayed on a user interface (not shown) and / or stored in the host platform's storage and accessible to users of the system.

[0051] The outputs obtained from the simulation of external systems help to examine and understand how the external environment is changing and affecting the simulation of key business workflows. Such insights help to take appropriate actions in advance to make the business workflows more robust to changes in the external environment, while achieving the specified goals / KPIs in the future.

[0052] 3A-3E provide various examples of additional features that may be used in connection with the cloud computing environments described herein, which should be considered as further extensions or additional examples of the embodiments described herein.

[0053] FIG. 3A illustrates an example of a permissioned blockchain network 300 featuring a distributed, decentralized, peer-to-peer architecture. The blockchain network may interact with a cloud computing environment 50, enabling additional functionality such as peer-to-peer authentication for data written to the distributed ledger. In this example, a blockchain user 302 may initiate transactions against the permissioned blockchain 304. In this example, transactions may be deployed, invoked, or queried and may be issued directly through an API or through a client-side application leveraging an SDK. The network may provide access to regulators 306, such as auditors. A blockchain network operator 308 manages member permissions, such as registering regulators 306 as “auditors” and blockchain users 302 as “clients.” Auditors may be limited to only querying the ledger, while clients may be authorized to deploy, invoke, and query specific types of chaincode.

[0054] A blockchain developer 310 can write chaincode and client-side applications. The blockchain developer 310 can deploy the chaincode directly to the network through an interface. To include credentials from a traditional data source 312 in the chaincode, the developer 310 can access the data using an out-of-band connection. In this example, a blockchain user 302 connects to the permissioned blockchain 304 through a peer node 314. Before proceeding with any transaction, the peer node 314 obtains the user's registration and transaction certificate from a certificate authority 316, which manages user roles and permissions. In some cases, a blockchain user must possess these digital certificates to transact on the permissioned blockchain 304. Meanwhile, a user attempting to utilize the chaincode may need to verify their credentials on the traditional data source 312. To confirm the user's authorization, the chaincode can use an out-of-band connection to this data through a traditional processing platform 318.

[0055] 3B illustrates another example of a permissioned blockchain network 320 featuring a distributed, decentralized, peer-to-peer architecture. In this example, blockchain users 322 may submit transactions to a permissioned blockchain 324. In this example, transactions may be deployed, invoked, or queried and may be issued directly through an API, or through a client-side application leveraging an SDK. The network may provide access to regulators 326, such as auditors. A blockchain network operator 328 manages member permissions, such as registering regulators 326 as "auditors" and blockchain users 322 as "clients." Auditors may be limited to only querying the ledger, while clients may be authorized to deploy, invoke, and query specific types of chaincode.

[0056] A blockchain developer 330 may write chaincode and client-side applications. The blockchain developer 330 can deploy the chaincode directly to the network through an interface. To include credentials from a traditional data source 332 in the chaincode, the developer 330 can access the data using an out-of-band connection. In this example, a blockchain user 322 connects to the network through a peer node 334. Before proceeding with any transaction, the peer node 334 obtains user registration and transaction certificates from a certificate authority 336. In some cases, a blockchain user must possess these digital certificates to transact on the permissioned blockchain 324. Alternatively, a user attempting to utilize the chaincode may need to verify their credentials on the traditional data source 332. To verify the user's authorization, the chaincode can use an out-of-band connection to this data through a traditional processing platform 338.

[0057] In some embodiments, a blockchain herein may be a permissioned blockchain. In contrast to a permissioned blockchain, which requires permission to participate, anyone can participate in a permissioned blockchain. For example, to participate in a permissioned blockchain, a user may begin interacting with the network by creating a personal address and submitting transactions, thus adding entries to the ledger. Additionally, all parties have the option to run a node on the system and adopt a mining protocol that helps verify transactions.

[0058] 3C illustrates a transaction process 350 processed by an open-ended blockchain 352 including multiple nodes 354. A sender 356 wishes to send a payment or some other form of value (e.g., a certificate, medical records, a contract, goods, services, or any other asset that can be encapsulated in a digital record) to a recipient 358 via the open-ended blockchain 352. In one embodiment, the sender device 356 and the recipient device 358 may each have a digital wallet (associated with the blockchain 352) that provides user interface controls and display of transaction parameters. In response, the transaction is broadcast throughout the blockchain 352 to the nodes 354. Depending on the network parameters of the blockchain 352, the nodes validate 360 ​​the transaction based on rules (which may be predefined or dynamically assigned) established by the creator of the open-ended blockchain 352. For example, this may include verifying the identities of the parties involved, etc. The transaction may be verified immediately or it may be queued with other transactions and node 354 determines whether the transaction is valid based on a set of network rules.

[0059] In structure 362, valid transactions are formed into blocks and sealed with a lock (hash). This process may be performed by mining nodes among nodes 354. Mining nodes may utilize additional software specifically for mining and creating blocks for the open-ended blockchain 352. Each block may be identified by a hash (e.g., a 256-bit number) created using an algorithm agreed upon by the network. Each block may include a header, a pointer or reference to the hash of the header of the previous block in the chain, and a group of valid transactions. The reference to the hash of the previous block is associated with the creation of a secure and independent chain of blocks.

[0060] Before a block can be added to the blockchain, it must be validated. Validation in a permissionless blockchain 352 may involve proof of work (PoW), which is the solution to a puzzle derived from the block's header. Another process for validating a block, not shown in the example of FIG. 3C, is proof of stake. Unlike proof of work, in which an algorithm rewards miners for solving a mathematical problem, in proof of stake, the creator of a new block is selected in a deterministic manner depending on their wealth, also defined as "stake." Similar proofs are then performed by selected / elected nodes.

[0061] In mining 364, nodes attempt to solve a block by making incremental changes to one variable until the solution meets a network-wide target. This creates a proof of work, which guarantees a correct answer. In other words, potential solutions must prove that they have exhausted the computing resources required to solve the problem. In some types of permissionless blockchains, miners may be rewarded with value (e.g., coins) for successfully mining a block.

[0062] Here, the PoW process chains blocks together, making it extremely difficult for an attacker to modify the blockchain by requiring all subsequent blocks to be modified in order for a modification to one block to be accepted. Furthermore, as new blocks are mined, the difficulty of modifying the block increases, and the number of subsequent blocks increases. Using distribution, successfully validated blocks are distributed across the open-source blockchain 352, and all nodes 354 add the block to the majority chain, which is an auditable ledger of the open-source blockchain 352. Furthermore, the value of the transaction submitted by the sender 356 is deposited or otherwise transferred to a digital wallet on the recipient device 358.

[0063] 3D and 3E illustrate additional example use cases related to cloud computing that can be incorporated and used herein. FIG. 3D illustrates an example cloud computing environment 50 370 that stores machine learning (artificial intelligence) data. Machine learning relies on vast amounts of historical data (or training data) to build predictive models for accurate predictions on new data. Machine learning software (e.g., neural networks, etc.) can often sift through millions of records to discover non-intuitive patterns.

[0064] 3D , host platform 376 builds and deploys machine learning models for predictive monitoring of assets 378, where host platform 366 may be a cloud platform, an industrial server, a web server, a personal computer, a user device, and the like. Asset 378 may be any type of asset (e.g., machinery or equipment), such as an aircraft, a locomotive, a turbine, medical machinery and equipment, oil and gas equipment, a boat, a watercraft, a vehicle, and the like. As another example, asset 378 may be an intangible asset, such as a stock, currency, a digital coin, insurance, or the like.

[0065] The cloud computing environment 50 can be used to significantly improve both the machine learning model training process 372 and the prediction process 374 based on the trained machine learning model. For example, at 372, historical data can be stored on the cloud computing environment 50 by the asset 378 itself (or through an intermediary, not shown), rather than requiring a data scientist / engineer or another user to collect the data. This can significantly reduce the collection time required by the host platform 376 when performing predictive model training. For example, data can be transferred directly and reliably from its source straight to the cloud computing environment 50. By using the cloud computing environment 50 to ensure security and ownership of the collected data, a smart contract can send data directly from the asset to the individual who uses the data to build the machine learning model. This enables data to be shared among assets 378.

[0066] Further, training the machine learning model on the collected data may take rounds of refinement and testing by the host platform 376. Each round may be based on additional data or data not previously considered useful for expanding the machine learning model's knowledge. At 372, the various training and testing stages (and their associated data) may be stored by the host platform 376 on the cloud computing environment 50. Each refinement of the machine learning model (e.g., changes in variables, weights, etc.) may be stored on the cloud computing environment 50 to provide verifiable evidence of how the model was trained and what data was used to train the model. For example, the machine learning model may be stored on a blockchain to provide verifiable evidence. Further, when the host platform 376 achieves a trained model, the resulting model may be stored on the cloud computing environment 50.

[0067] After the model is trained, it can be deployed to a live environment where it can make predictions / decisions based on the execution of the final trained machine learning model. For example, at 374, the machine learning model may be used for condition-based maintenance (CBM) of assets such as aircraft, wind turbines, medical machines, and the like. In this example, data fed back from the asset 378 can be input into the machine learning model and used to make event predictions such as failure events, error codes, and the like. Decisions made by the execution of the machine learning model on the host platform 376 may be stored on the cloud computing environment 50 to provide auditable / verifiable evidence. As one non-limiting example, the machine learning model may predict a future outage / failure for a portion of the asset 378 and create an alert or notification to replace the portion. The data behind this decision may be stored by the host platform 376 and / or on the cloud computing environment 50. In one embodiment, the features and / or actions described and / or depicted herein may be performed on or in relation to the cloud computing environment 50.

[0068] 3E illustrates an example 380 of a quantum-secure cloud computing environment 382 that implements quantum key distribution (QKD) to protect against quantum computing attacks. In this example, cloud computing users may verify each other's identities using QKD, which transmits information using quantum particles, such as photons, that an eavesdropper cannot copy without corrupting it. In this way, senders and receivers through the cloud computing environment may confirm each other's identities.

[0069] In the example of Figure 3E, there are four users (384, 386, 388, and 390). Each pair of users may share a secret key 392 (i.e., QKD) between them. Since there are four nodes in this example, there are six pairs of nodes, and therefore QKDAB , QKD AC , QKD AD , QKD BC , QKD BD , and QKD CD Six different secret keys 392 are used, including the PIN and the PIN. Each pair can create QKD by transmitting information using quantum particles, such as photons, that cannot be copied by an eavesdropper without being corrupted. In this way, pairs of users can verify each other's identities.

[0070] The operation of the cloud computing environment 382 is based on two procedures: (i) transaction generation and (ii) the structuring of blocks that aggregate new transactions. New transactions can be created similarly to traditional networks, such as blockchain networks. Each transaction may contain information about the sender, recipient, time of creation, the amount (or value) being transferred, a list of reference transactions that validate the sender's funds for the operation, and the like. This transaction record is then sent to all other nodes, where it is placed in a pool of unconfirmed transactions. Here, two parties (i.e., a pair of users from among 384-390) authenticate the transaction by providing their shared secret key 392 (QKD). This quantum signature is attached to every transaction, making it extremely difficult to tamper with. Each node checks its entry against its local copy in the cloud computing environment 382 to verify that the transaction has sufficient funds.

[0071] 4A-4C are diagrams illustrating various examples of simulating an environment in which a simulated workflow takes place and feeding values ​​from the simulated environment to the process being simulated. For simulation, it is essential to build an environment that will affect the actual simulation. However, in many cases, data regarding attributes of the environment is not possible to obtain in a timely manner and / or needs to be obtained at high cost. Therefore, exemplary embodiments may predict values ​​of such external variables within the simulator builder.

[0072] The profiler illustrated in FIG. 2B can identify which external systems are actually affected by the simulation outputs. For example, there may be multiple external systems that feed data into a process under simulation. However, not all external systems may be affected by the simulation outputs. For example, in the case of a loan application approval process, a user's credit score may change over time as a result of changes to the user's credit history. These changes to the credit score may be affected by the outcome of the loan approval process, which may approve / deny the loan and result in additional changes to the credit score. Thus, there is an interdependency between the credit score (input variable) fed into the process by the external system and the output (loan approval / denial) that may cause the credit score to increase or decrease. As another example, an external system providing account history information (spending history) is not subject to an interdependency with the loan approval process because it is not directly or indirectly affected by loan approval.

[0073] Therefore, when analyzing external systems and the attributes / input values ​​they provide to the simulated process, external systems can be divided into two types: a first type that periodically provides / passes attributes to the simulated process for workflow simulation, but these attributes are not affected by the output of the simulated process; and a second type of external system that provides / passes attributes to the simulated process, and these attributes are affected by / are interdependent with the output of the simulation. These attributes may be passed to the process directly or indirectly (e.g., via another external system). The profiler can use external APIs identified from the workflow specification (e.g., a BPMN model) to collect data regarding these attributes, and such APIs can be triggered periodically by the workflow simulation or through a third-party application to the simulation as defined. For these interdependent external systems, the host platform can generate a simulator (predictive model) configured to predict future values ​​of the attributes passed to the simulation. One of the advantages of such a simulator is that input values ​​can be generated using predictive means even when such input values ​​are not provided by the external system.

[0074] It should also be appreciated that there may be multiple attributes that affect a workflow simulation, and vice versa. However, the effects of such attributes may not be the same. As described further below, the host platform may generate a graphical model that can be passed to the simulation to capture the effects of the attributes. In particular, the graphical model may provide the hops / distances between the attributes (provided by the external system) and the process being simulated.

[0075] FIG. 4A illustrates a process 400 for building an external system simulation model 410 according to an example embodiment. Referring to FIG. 4A, the profiler 226 may transfer attributes of the external system (e.g., input model, output model, type of service, etc.) to the simulator builder 228. Additionally, previous actions performed by the external service may be retrieved from the database 230 and used to train a model such as the external system simulation model 410 (also referred to herein as a simulator). The host platform may repeatedly run predictive models (e.g., machine learning models, artificial intelligence models, combinations thereof, etc.) on historical data to generate the external system simulation model 410 that can predict actions / outputs by the external system. The output type may be based on the data attributes provided by the profiler 226.

[0076] As previously described, an external system may provide attribute values ​​to the workflow simulation. In a first scenario, actual values ​​of external attributes are available. In this scenario, a model (e.g., external system simulation model 410) may be created using a predetermined function (ML algorithm, AI algorithm, etc.). For example, the function may determine a final input value based on the attribute and the number of hops between the workflow simulation and the external system that outputs the attribute value. Here, the function may be monotonically non-increasing even as the number of hops increases. A prediction function may be embodied in the external system simulation model 410 and used to predict values ​​from the external system that will be input to the process / workflow being simulated.

[0077] In a second scenario, some of the actual values ​​of the external system are not fully available from historical data. In this case, a simulator (e.g., external system simulation model 410) can predict future values ​​of the external system input to the simulation based on historical data values / actions retrieved from database 230. The model can be trained to identify interdependencies between input values ​​from the external system and output results from the simulation. Furthermore, the number of hops between the external system outputting attribute values ​​and the workflow simulation can be incorporated into external system simulation model 410 and also used to predict output values ​​of the external system input to the workflow simulation.

[0078] In a third scenario, the values ​​output by an external system and input to the workflow simulation are influenced by both the output of the simulation and another external system / attribute passed to the workflow simulation, in which case the number of hops between the external system and the workflow simulation, and the number of hops between the other external system and the external system, are used to predict the output values ​​for the external system that are input to the workflow simulation.

[0079] In a fourth scenario, all of the values ​​of the external system are unavailable, in which case the host platform can still build a predictive model for the external system using the interdependencies between the attribute values ​​output by the external system and the attribute values ​​output by one or more other external systems, and the number of hops between the external system and the one or more other external systems.

[0080] FIG. 4B illustrates a process 420 for identifying hops between attributes and a workflow simulation using a graphical model 430, according to an example embodiment. Referring to the example of FIG. 4B, a host platform may build a graphical model 430 that represents the flow of attribute values ​​into a process being simulated. In this example, node 431 in graphical model 430 represents a workflow simulation of a process / business process. In some embodiments, node 431 may be positioned at or near the center of graphical model 430. Meanwhile, nodes 432, 433, 434, and 435 may be positioned around node 431 and may be used to represent external systems and the respective attributes (W1, W2, W3, and W4) that they provide to the simulated process in node 431. Thus, the workflow simulation, in this example, relies on input values ​​of four attributes W1, W2, W3, and W4. Graphical model 430 may be generated by a process that mines live instances of processes running on a host platform. As another example, the graphical model 430 may be generated from a workflow specification / BPMN model or the like that has been uploaded to a host platform.

[0081] According to various embodiments, the graphical model 430 can be used to identify the interdependencies and number of hops between various external systems and the workflow simulation itself. The graphical model 430 also provides the direction of the dependencies using arrows. In the example shown in FIG. 4B , a first external system generates an attribute value (W1) represented by node 432. This attribute value (W1) is input into the workflow during the simulation as depicted by arrow 436 between node 432 and central node 431. Similarly, the output of the workflow simulation 431 is input back into the external system as depicted by arrow 437. This bidirectional interdependency can be identified from the graphical model 430 and used to select an appropriate modeling scenario from FIG. 4A .

[0082] 2B may query the graphical model 430 for workflow stages that can be used to build a process simulation model 440 for simulating the workflow of the process (represented by node 431). Similarly, the simulator builder 228 may query the graphical model for hops between external systems and / or workflow simulations 431 and use these hops to build the external system simulation model 410 (which may be multiple models for multiple external systems, respectively). The number of hops may be determined based on the distance between the external system and the node 431 representing the workflow simulation. For example, the external system that creates the fourth attribute (W4), represented by node 435, is three hops away from the workflow simulation node 431, while the second attribute (W2), represented by node 433, is only one hop away from the workflow simulation node 431. Meanwhile, nodes 435 and 433 are two hops away from each other. Hops can be incorporated into a predictive model that embodies the simulator (external system simulation model 410) illustrated in the example of FIG. 4A.

[0083] FIG. 4C illustrates a process 450 for simulating a workflow for a process, according to an example embodiment. Referring to FIG. 4C, a host platform may deploy an instance of an external system simulation model 410 (or multiple models) within a simulation runtime environment. Additionally, the host platform may deploy an instance of a process simulation model 440. In some embodiments, although not required, the external system simulation model 410 and the process simulation model 440 may run together (concurrently, in parallel, etc.) and be able to interact with each other to allow values ​​to be passed between the two models. A simulated output 470 may be generated and output as a result of the simulation process, including the interaction between the external system simulation model 410 and the process simulation model 440.

[0084] 5 illustrates a method 500 for simulating a workflow based on a simulated workflow environment, according to an example embodiment. For example, method 500 may be performed by a computer system such as a cloud platform, a web server, a personal computer or other user device, and the like. Referring to FIG. 5, at 510, the method may include identifying an external system that provides input attributes to a process based on a workflow representation of the process.

[0085] At 520, the method may include constructing an input / output (I / O) model of the external system based on attributes of the external system identified from the workflow representation. At 530, the method may include simulating future values ​​of input attributes passed to the process by the external system based on the I / O model of the external system and a previous simulation run of the process executed through the workflow software application. At 540, the method may include running a new simulation of the process through the workflow software application based on the simulated future values ​​of the input attributes.

[0086] In some embodiments, identifying may include identifying inputs to, outputs from, and one or more services performed by the external system. In some embodiments, building an I / O model may include building at least one of an artificial intelligence (AI) model and a machine learning (ML) model to predict future values ​​of input attributes based on the attributes of the external system identified from the workflow representation.

[0087] In some embodiments, the method may further include constructing a graphical model for the process including a central node representing a workflow simulation of the process, a plurality of external nodes representing input attributes to the workflow simulation, and edges between the central node and a plurality of nodes representing hops from the plurality of input attributes to the workflow simulation. In some embodiments, simulating future values ​​of input attributes passed to the process by an external system may be performed based on a number of hops between the nodes representing the input attributes in the graphical model and the central node in the graphical model.

[0088] In some embodiments, identifying may include identifying the external system based on interdependencies in the graphical model between inputs of the external system and outputs of the workflow simulation. In some embodiments, identifying may include parsing a Business Process Model Notation (BPMN) model of the workflow representation to identify the external system, identify inputs to the external system, and identify outputs from the external system. In some embodiments, running a new simulation of the process through the workflow software application may be based on available future values ​​of other input attributes from other external systems of the process.

[0089] The above embodiments may be implemented in hardware, in a computer program executed by a processor, in firmware, or in a combination thereof. The computer program may be embodied on a computer-readable medium, such as a storage medium. For example, the computer program may reside in random access memory ("RAM"), flash memory, read-only memory ("ROM"), erasable programmable read-only memory ("EPROM"), electrically erasable programmable read-only memory ("EEPROM"), registers, a hard disk, a removable disk, a compact disk read-only memory ("CD-ROM"), or any other form of storage medium known in the art.

[0090] An exemplary storage medium may be coupled to the processor such that the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside in an application-specific integrated circuit ("ASIC"). In the alternative, the processor and the storage medium may reside as discrete components. For example, FIG. 6 illustrates an exemplary computer system architecture 600, which may represent or be integrated within any of the components described above, etc.

[0091] 6 illustrates an exemplary system 600 that supports one or more of the exemplary embodiments described and / or depicted herein. System 600 comprises a computer system / server 602 that is operational with numerous other general-purpose or special-purpose computing system environments or configurations. Examples of well-known computing systems, environments, and / or configurations that may be suitable for use with computer system / server 602 include, but are not limited to, personal computer systems, server computer systems, thin clients, thick clients, handheld or laptop devices, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable consumer electronics, network PCs, minicomputer systems, mainframe computer systems, and distributed cloud computing environments that include any of the above systems or devices and the like.

[0092] Computer system / server 602 may be described in the general context of computer system-executable instructions, such as program modules, being executed by a computer system. Generally, program modules may include routines, programs, objects, components, logic, data structures, etc. that perform particular tasks or implement particular abstract data types. Computer system / server 602 may be practiced in distributed cloud computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed cloud computing environment, program modules may be located in both local and remote computer system storage media, including memory storage devices.

[0093] 6, computer system / server 602 in cloud computing node 600 is shown in the form of a general-purpose computing device. Components of computer system / server 602 may include, but are not limited to, one or more processors or processing units 604, a system memory 606, and a bus coupling various system components including system memory 606 to processor 604.

[0094] A bus represents one or more of any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor or local bus using any of a variety of bus architectures. By way of example, and without limitation, such architectures include an Industry Standard Architecture (ISA) bus, a MicroChannel Architecture (MCA) bus, an Enhanced ISA (EISA) bus, a Video Electronics Standards Association (VESA) local bus, and a Peripheral Component Interconnect (PCI) bus.

[0095] Computer system / server 602 typically includes a variety of computer system-readable media. Such media may be any available media accessible by computer system / server 602, including both volatile and nonvolatile media, removable and non-removable media. System memory 606, in one embodiment, implements the flow diagrams of other figures. System memory 606 may include computer system-readable media in the form of volatile memory, such as random access memory (RAM) 610 and / or cache memory 612. Computer system / server 602 may further include other removable / non-removable, volatile / non-volatile computer system storage media. By way of example only, storage system 614 may be provided for reading from and writing to non-removable, non-volatile magnetic media (not shown, typically referred to as a "hard drive"). Although not shown, a magnetic disk drive for reading from and writing to a removable non-volatile magnetic disk (e.g., a "floppy disk") and an optical disk drive for reading from or writing to a removable non-volatile optical disk, such as a CD-ROM, DVD-ROM, or other optical media, may be provided. In such cases, each may be connected to the bus by one or more data medium interfaces. As further depicted and explained below, memory 606 may include at least one program product having a set (e.g., at least one) program module configured to perform the functions of various embodiments of the application.

[0096] A program / utility 616 having a set (at least one) of program modules 618 may be stored in memory 606, by way of example and not limitation, as well as an operating system, one or more application programs, other program modules, and program data. Each of the operating system, one or more application programs, other program modules, and program data, or any combination thereof, may comprise an implementation of a networking environment. The program modules 618 generally perform the functions and / or methodologies of various embodiments of the applications as described herein.

[0097] As will be appreciated by one skilled in the art, aspects of the present application may be embodied as a system, method, or computer program product. Accordingly, aspects of the present application may take the form of an entirely hardware embodiment, an entirely software (including firmware, resident software, microcode, etc.) embodiment, or an embodiment combining software and hardware aspects, all of which may be referred to generally herein as a "circuit," "module," or "system." Furthermore, aspects of the present application may take the form of a computer program product embodied in one or more computer-readable medium(s) having computer-readable program code embodied therein.

[0098] The computer system / server 602 may communicate with one or more external devices 620, such as a keyboard, pointing device, display 622, etc.; one or more devices that allow a user to interact with the computer system / server 602; and / or any device (e.g., a network card, modem, etc.) that allows the computer system / server 602 to communicate with one or more other computing devices. Such communication may occur via an I / O interface 624. Furthermore, the computer system / server 602 may communicate with one or more networks, such as a local area network (LAN), a general wide area network (WAN), and / or a public network (e.g., the Internet), via a network adapter 626. As depicted, the network adapter 626 communicates with the other components of the computer system / server 602 via a bus. It should be understood that, although not shown, other hardware and / or software components may be used in conjunction with the computer system / server 602. Examples include, but are not limited to, microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, data archive storage systems, and the like.

[0099] At least one exemplary embodiment of the system, method, and non-transitory computer-readable medium is illustrated in the accompanying drawings and described in the foregoing detailed description, but it will be understood that the present application is not limited to the disclosed embodiments and is susceptible to numerous rearrangements, modifications, and substitutions as set forth and defined in the following claims. For example, the functionality of the various illustrated systems may be performed by one or more of the modules or components described herein, or in a distributed architecture, and may include pairs of transmitters, receivers, or both. For example, all or part of the functionality performed by individual modules may be performed by one or more of those modules. Furthermore, the functionality described herein may be performed at various times in relation to various events internal or external to the modules or components. Furthermore, information transmitted between the various modules may be transmitted between the modules via at least one of a data network, the Internet, a voice network, an Internet Protocol network, a wireless device, a wired device, and / or via multiple protocols. Furthermore, messages sent or received by any of the modules may be transmitted or received directly and / or via one or more of the other modules.

[0100] Those skilled in the art will appreciate that a "system" may be embodied as a personal computer, a server, a console, a personal digital assistant (PDA), a mobile phone, a tablet computing device, a smartphone, or any other suitable computing device or combination of devices. Presenting the above-described functions as being performed by a "system" is not intended to limit the scope of the present application in any way, but rather to provide one example of many embodiments. Indeed, the methods, systems, and apparatuses disclosed herein may be implemented in both local and distributed fashions consistent with computing technology.

[0101] It should be noted that some of the system functions described herein are presented as modules to more specifically emphasize their implementation independence. For example, a module may be implemented as a hardware circuit comprising custom very large scale integrated (VLSI) circuits or gate arrays, off-the-shelf semiconductors such as logic chips, transistors, or other discrete components. A module may also be implemented in programmable hardware devices such as field programmable gate arrays, programmable array logic, programmable logic devices, graphics processing units, or the like.

[0102] Modules may also be implemented at least partially in software for execution by various types of processors. For example, an identified unit of executable code may comprise one or more physical or logical blocks of computer instructions, which may be organized, for example, as an object, procedure, or function. Nevertheless, the executable files of an identified module need not be physically located together, but may comprise heterogeneous instructions stored in different locations, which, when logically combined together, comprise a module and achieve the module's specified purpose. Furthermore, a module may be stored on a computer-readable medium, which may be, for example, a hard disk drive, a flash device, a random access memory (RAM), a tape, or any other such medium used to store data.

[0103] Indeed, a module of executable code may be a single instruction, or many instructions, and may even be distributed across several different code segments, among different programs, and even across multiple memory devices. Similarly, operational data may be identified and depicted herein within modules and may be embodied in any suitable form and organized within any suitable type of data structure. Operational data may be collected as a single data set or may be distributed across different locations, including different storage devices, and may exist, at least in part, solely as electronic signals on a system or network.

[0104] It will be readily understood that the components of the present application, as generally described herein and illustrated in the Figures, could be arranged and designed in a wide variety of different configurations. Thus, the detailed description of the embodiments is not intended to limit the scope of the present application as claimed, but is merely representative of selected embodiments of the present application.

[0105] Those skilled in the art will readily appreciate that the above may be practiced in a different order of steps and / or with hardware elements in different configurations than those disclosed. Thus, while the present application has been described based on these preferred embodiments, certain modifications, variations, and alternative constructions will be apparent to those skilled in the art.

[0106] While preferred embodiments of the present application have been described, it will be understood that the described embodiments are merely exemplary, and that the scope of the present application is defined solely by the appended claims when considering the full scope of equivalents and modifications to the claims (e.g., protocols, hardware, devices, software platforms, etc.).

Claims

1. memory configured to store a workflow software application; and Identifying external systems that provide input attributes to a process based on a workflow representation of the process; constructing a simulator of the external system based on attributes of the external system identified from the workflow representation; simulating future values ​​of the input attributes passed to the process by the external system based on the simulator of the external system and a previous workflow simulation of the process executed via a workflow software application; Running a new workflow simulation of the process through the workflow software application based on the simulated future values ​​of the input attributes. Processors configured to An apparatus comprising:

2. The apparatus of claim 1 , wherein the processor is configured to identify inputs to the external system, outputs from the external system, and one or more services performed by the external system.

3. 2. The apparatus of claim 1, wherein the simulator includes at least one of an artificial intelligence (AI) model and a machine learning (ML) model generated based on the attributes of the external system identified from the workflow representation, and wherein the processor is configured to simulate the future values ​​of the input attributes based on the at least one of the AI ​​model and the ML model.

4. 2. The apparatus of claim 1, wherein the processor is configured to construct a graphical model for the process, the graphical model including a central node representing a workflow simulation of the process, a plurality of external nodes representing a plurality of input attributes to the workflow simulation, and edges between the plurality of external nodes and the central node representing hops from the plurality of input attributes to the workflow simulation.

5. 5. The apparatus of claim 4, wherein the processor is further configured to simulate the future values ​​of the input attributes passed to the process by the external system via the simulator based on a number of hops between a node representing the input attribute in the graphical model and the central node in the graphical model.

6. The apparatus of claim 4 , wherein the processor is configured to identify the external system based on interdependencies in the graphical model between inputs of the external system and outputs of the workflow simulation.

7. 2. The apparatus of claim 1, wherein the processor is configured to parse a Business Process Model Notation (BPMN) model of the workflow representation to identify the external systems, inputs to the external systems, and outputs from the external systems.

8. 10. The apparatus of claim 1, wherein the processor is further configured to perform the new simulation of the process through the workflow software application based on available future values ​​of another input attribute from another external system of the process.

9. identifying external systems that provide input attributes to a process based on a workflow representation of the process; constructing a simulator of the external system based on attributes of the external system identified from the workflow representation; simulating future values ​​of the input attributes passed to the process by the external system based on the simulator of the external system and a previous workflow simulation run of the process executed via a workflow software application; and performing a new simulation of the process through the workflow software application based on the simulated future values ​​of the input attributes. A method comprising:

10. The method of claim 9 , wherein the identifying step comprises identifying inputs to the external system, outputs from the external system, and one or more services performed by the external system.

11. 10. The method of claim 9, wherein the simulator includes at least one of an artificial intelligence (AI) model and a machine learning (ML) model generated based on the attributes of the external system identified from the workflow representation, and wherein simulating comprises simulating the future values ​​of the input attributes based on the at least one of the AI ​​model and the ML model.

12. 10. The method of claim 9, further comprising constructing a graphical model for the process, the graphical model including a central node representing a workflow simulation of the process, a plurality of external nodes representing a plurality of input attributes to the workflow simulation, and edges between the plurality of external nodes and the central node representing hops from the plurality of input attributes to the workflow simulation.

13. 13. The method of claim 12, wherein simulating the future values ​​of the input attributes passed to the process by the external system is performed based on a number of hops between a node representing the input attribute in the graphical model and the central node in the graphical model.

14. The method of claim 12 , wherein the identifying step comprises identifying the external system based on interdependencies in the graphical model between inputs of the external system and outputs of the workflow simulation.

15. 10. The method of claim 9, wherein the identifying step comprises parsing a Business Process Model Notation (BPMN) model of the workflow representation to identify the external system, to identify inputs to the external system, and to identify outputs from the external system.

16. 10. The method of claim 9, wherein the step of executing the new simulation of the process via the workflow software application is further based on available future values ​​of another input attribute from another external system of the process.

17. When read by a processor, the processor: identifying external systems that provide input attributes to a process based on a workflow representation of the process; constructing a simulator of the external system based on attributes of the external system identified from the workflow representation; simulating future values ​​of the input attributes passed to the process by the external system based on the simulator of the external system and a previous simulated run of the process executed via a workflow software application; and performing a new simulation of the process through the workflow software application based on the simulated future values ​​of the input attributes.

1. A computer-readable storage medium comprising instructions for performing a method having:

18. 20. The computer-readable storage medium of claim 17, wherein the identifying step comprises identifying inputs to the external system, outputs from the external system, and one or more services performed by the external system.

19. 20. The computer-readable storage medium of claim 17, wherein the simulator includes at least one of an artificial intelligence (AI) model and a machine learning (ML) model generated based on the attributes of the external system identified from the workflow representation, and wherein simulating comprises simulating the future values ​​of the input attributes based on the at least one of the AI ​​model and the ML model.

20. 20. The computer-readable storage medium of claim 17, wherein the step of executing the new simulation of the process via the workflow software application is further based on available future values ​​of another input attribute from another external system of the process.