US20040102940A1 - Integration of a discrete event simulation with a configurable software application - Google Patents

Integration of a discrete event simulation with a configurable software application Download PDF

Info

Publication number
US20040102940A1
US20040102940A1 US10/301,788 US30178802A US2004102940A1 US 20040102940 A1 US20040102940 A1 US 20040102940A1 US 30178802 A US30178802 A US 30178802A US 2004102940 A1 US2004102940 A1 US 2004102940A1
Authority
US
United States
Prior art keywords
software application
simulation
demand
operations
real
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US10/301,788
Inventor
Peter Lendermann
Nirupam Julka
Lai Chan
Boon Gan
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Agency for Science Technology and Research Singapore
Singapore Institute of Manufacturing Technology
Original Assignee
Singapore Institute of Manufacturing Technology
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 Singapore Institute of Manufacturing Technology filed Critical Singapore Institute of Manufacturing Technology
Priority to US10/301,788 priority Critical patent/US20040102940A1/en
Assigned to SINGAPORE INSTITUTE OF MANUFACTURING reassignment SINGAPORE INSTITUTE OF MANUFACTURING ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: CHAN, LAI PENG, GAN, BOON PING, JULKA, NIRUPAM, LENDERMANN, PETER
Assigned to AGENCY FOR SCIENCE, TECHNOLOGY AND RESEARCH reassignment AGENCY FOR SCIENCE, TECHNOLOGY AND RESEARCH RE-SUBMISSION OF ASSIGNMENT TO INDICATE CORRECT NAME AND ADDRESS OF ASSIGNEE. PREVIOUSLY RECORDED ON REEL 013523 FRAME 0067. Assignors: CHAN, LAI PENG, GAN, BOON PING, JULKA, NIRUPAM, LENDERMANN, PETER
Publication of US20040102940A1 publication Critical patent/US20040102940A1/en
Priority to US12/034,091 priority patent/US8180623B2/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation

Definitions

  • the present invention relates to a method and apparatus for modeling, simulating, and enhancing planning and operations.
  • the invention relates to the integration of discrete event simulation with a framework-based software application for enhancing the performance of underlying policies and execution-rules.
  • ERP Enterprise Resource Planning
  • One of the major shortcomings of traditional ERP packages is that they are very inflexible and unable to handle very complex business processes.
  • Such business applications are initially created using specific business model templates. These templates are customized by manually changing settings and parameters in the software package. Changes in the business processes are always constrained by such templates in these packages.
  • framework-based business application technology a so-called “framework-based” business application technology.
  • the underlying principle of the framework is to create a meta-model of the business processes and then use this model to directly generate the application.
  • the meta-model is created using very simple elements. Subsequent changes of any kind can then be made without any constraints imposed by any template because the new application is not just a variation of the old application with changed settings and parameters but it is generated directly from the updated meta-model and actually replaces the old application.
  • a framework-based implementation allows easy configuration of application components to create dynamic applications. This allows dramatic reduction of the overall time for the creation of a business application from a business model and reduction of the effort for reconfiguration of the application every time the business model changes.
  • the available commercial technologies based on the “framework-based” technique, use a combination of object-oriented and software agent technology.
  • the various business documents and the operations that can be performed over these documents are modeled as objects.
  • the meta-model is prepared by using those documents and operations objects and linking them together using a visual interface.
  • the business application is generated by the creation of software agents, which execute the operations over the documents.
  • the connections between different agents are created based on the processes defined in the meta-model.
  • This agent framework is essentially the backend of the application.
  • Discrete event simulation concerns the modeling of an operational system as it evolves over time by a computer representation in which state variables change instantaneously at discrete points. In time at which events occur. An event is defined as an instantaneous occurrence that may change the state of the system. In this way an artificial history of the system can be generated by operation of a computer model of the system. This kind of rapid experience acquisition is normally infeasible with the real system because experimentation with real system is often disruptive, seldom cost-effective and sometimes impossible. The capability of discrete event simulation to portray random effects and the dynamic behavior of an operational system makes it a very powerful technology for operational performance analysis.
  • the High Level Architecture is a general-purpose architecture for simulation reuse and interoperability.
  • the HLA was developed under the leadership of the Defense Modeling and Simulation Office (DMSO) to support reuse and interoperability across the large numbers of different types of simulations developed and maintained by the Department of Defense.
  • the Object Management Group (OMG) adopted the HLA as the Facility for Distributed Simulation Systems 1.0 In November 1998.
  • the HLA was approved as an open standard through the Institute of Electrical and Electronic Engineers (IEEE)— IEEE Standard 1516—in September 2000.
  • IEEE Institute of Electrical and Electronic Engineers
  • the HLA MOA was signed and approved in November 2000.
  • the HLA-compliant simulation termed as a federation is a collection of simulation models, termed as federates.
  • Programs that emulate the real situation with some probability distribution (i.e. simulation models) and data files having scenario-specific data to emulate the databases introduce randomness in a scenario.
  • the programs are Java programs which emulate the externals (e.g. a customer coming onto a web site and placing an order).
  • the data files are “XML scenario files”. They represent a particular state of the corporation and can be used to define scenarios. They emulate the databases of the corporation.
  • the scenarios are a set of chosen policies with a particular configuration of the system. They define a situation corresponding to a real life situation that could occur.
  • the scenarios include a sequence of events following a certain configuration and initialization of the system. As an example of a particular scenario, one could choose to have all the machines in an operations model super loaded with orders and then add more orders. First there is a warm-up in which orders are fed into the system to fill the queues.
  • Statistics collected are for an individual agent and for each scenario. Statistics collected over multiple replications are used for analysis. Here, running a simulation of the same scenario a number of times is called replicating the simulation.
  • the statistics include the various different values associated with the particular scenario study. For example, the statistics can describe the number of transactions between the database and the system, the load (transactions) per agent in the system, etc. These values, or statistics, are indication of the performance of the system in relation to various scenarios.
  • the agent here is represented as a piece of software with an objective, process for achieving the objective and set of resources to use to reach the objective. In the present case, the agents run the system and execute the various business processes.
  • this kind of simulation which is not discrete event simulation (DES)—is not sufficiently able to provide direct and obvious information on the impact of changes in the business model upon the operational and business performance.
  • DES discrete event simulation
  • the present invention allows framework-based applications to perform discrete event simulations and to combine these applications with discrete event simulation model components. In this way it is possible to “kill two birds with one stone”, i.e., to address the shortcomings when applying framework-based business applications or discrete event simulation systems individually.
  • Simulation models and business application software are both representations of the actual operations of an enterprise.
  • the present invention is a unified, and optionally distributed, simulation and implementation technology where the entire performance process can be represented along a supply chain in a unified business model. It improves the performance of business; operations with discrete event simulation technology, and then generates and implements the corresponding business application software from the same unified business model, based on a framework-based implementation technology which, unlike conventional applications such as ERP systems, allows the adaptation of operations to permanently changing business environments with the required flexibility and minimal human effort. This allows a company to optimize both operational and business processes through simulation of the entire performance, process along the value-added chain (including planning and customer order management) rather than just the manufacturing process. By using framework-based business application software, optimized business rules/policies can then be implemented into real life systems with minimal effort and time.
  • the invention can be described as a computer system for enhancing the performance of underlying policies and execution-rules of real-world activities.
  • the computer system includes a demand input section for providing demand information to drive the system.
  • a real-time software application has a series of discrete steps for implementing the underlying policies and execution-rules of the activities and converts the demand information into instructions.
  • a simulation-time operations-simulation model implements the underlying policies and execution-rules of the activities and receives the instructions.
  • a control section includes a synchronization clock which synchronizes the discrete steps of the software application with the operations-simulation model by delaying the execution of some of the discrete steps and which communicates the instructions from the software application to the operations-simulation model.
  • An output section outputs data to enhance the performance of the underlying policies and the execution-rules of the activities.
  • FIG. 1 illustrates a simulation in a framework-based implementation of the prior art.
  • FIG. 2 illustrates a general implementation of the invention.
  • FIG. 3 represents the overall architecture of the system including the synchronization of the software applications with the simulation models through a distributed simulation synchronization mechanism utilizing proxy models.
  • FIGS. 4 - 7 show the process for simulating a software application together with operations models of real world activities in order to enhance the performance of underlying policies and execution-rules.
  • FIGS. 8 and 9 illustrate “customer order processing” and “production execution”, respectively.
  • FIG. 10 provides an example explaining the synchronization problem solved by the present invention.
  • FIG. 11 shows an application that advances in time through state-changes.
  • FIG. 12( a ) demonstrates synchronizing applications that advance in time through state changes by having each agent in the application perform two extra functions, federate-sent and federate-receive.
  • FIG. 12( b ) demonstrates synchronizing applications that advance in time through state changes utilizing a federate agent which changes the state of an object O,′ which is a clone of object O, based on the synchronization with external.
  • FIG. 13 demonstrates synchronizing applications that advance in time through message-based communication.
  • FIGS. 14 ( a ) and 14 ( b ) illustrate interfaces between the High-Level Architecture (HLA) using a direct connection with the agents and implemented using an already available adapter, respectively.
  • HLA High-Level Architecture
  • FIG. 2 shows a general implementation of the invention.
  • the business 201 of the enterprise includes an operations model 203 and a business process model 205 .
  • the business or software application 209 is created using a framework-based implementation. This application is usually an abstraction of the business process model 205 .
  • the operational simulation 211 is the abstraction of the operations model 203 .
  • the operational simulation 211 is used to optimize the operations model 213 .
  • the present invention uses the operational simulation 211 with the framework-based business; application 209 to perform an integrated business simulation 215 . This allows for improvements to be made over both the business and the operations model at the same time.
  • FIG. 3 represents the overall architecture of the system.
  • the software application 209 of FIG. 2 may be lumped as one or divided into separate software applications such as a planning software application 301 and a order management software application 303 as illustrated in FIG. 3.
  • the software applications 301 and 303 can be serviced by different proxy models, 305 and 307 , respectively, or if a single software application 209 is used, then a single proxy model can be used.
  • the software applications 301 and 303 are synchronized with simulation models 311 , 313 and 315 through proxy models 305 and 307 and through a distributed simulation synchronization mechanism 309 .
  • the simulated synchronization mechanism 309 can be the HLA-RTI software implementation of the High Level Architecture (HLA).
  • HLA High Level Architecture
  • the software applications 301 and 303 are generally used to represent systems performing automated operations in FIG. 9.
  • the simulation models 311 , 313 and 315 on the other hand, generally represent steps which are executed by humans and production machine.
  • FIGS. 4 - 7 describe how a DES-compliant business application is improved using simulation and how the transition between an old business application and a new business application is carded out.
  • the “real world” software application 209 and a connected real world database 401 are shown.
  • the software application 209 runs the business and interacts with the operational execution 404 to plan and manage operations.
  • the databases store all information regarding the transactions being carried out by the application, the state of all the orders, etc.
  • the application then operates on the information in the database.
  • An operational execution simulation model 405 is created providing a DES simulation of the “real world” operational execution 403 .
  • a software application 407 is also created which is a DES-compliant substantially-exact replica of the software application 209 .
  • a connected database 409 is created which is a duplicate of the database 401 .
  • the DES-compliant software application 407 interacts with the operation execution simulation model 405 using data from the database 409 for simulation in a distributed environment.
  • the updated software application 601 can then replace the disguarded application 209 .
  • the original database 401 is used to upload the information of the various active objects into the updated software application 601 .
  • a new DES-compatible software application 701 a substantial copy of 601 , is generated is along with a database 703 (a snapshot of the database 401 ).
  • the application 701 and the database 703 are then used for simulation purposes resulting in the application 701 being updated.
  • FIGS. 4 - 7 In improving the business application through simulation as described with respect to FIGS. 4 - 7 above, all the relevant manufacturing, logistics and decision-making events, as far as they are not triggered by the business application itself, are emulated.
  • the simulation of FIGS. 4 - 7 also configures various scenarios on the fly and performs multiple simulations to analyze the performance of the business operations and changes made in it.
  • FIGS. 8 and 9 illustrate “customer order processing” and “production execution, respectively. These processes are related to operational execution and therefore have to be included in the operational execution simulation. Customer order processing is very critical in an environment where the available-to-promise procedure stretches across several IT systems.
  • the process for regeneration of an execution plan/schedule is another example process related to operational execution (the “production planning system” of FIG. 8 generates this plan/schedule).
  • the software application 209 is used to represent the systems in FIG. 8 and the systems performing automated operations in FIG. 9. These systems performing automated operations (executed by a software system) are the ones without the accompanying distribution curves in FIG. 9.
  • the simulation model 309 simulates all the steps with the distribution curves (for example the “lead time” distribution curve 903 ) in FIG. 9. All the steps with the distribution curves are executed by humans and production machines.
  • the distribution cures can represent a lead-time distribution, thus emphasizing that the activity involved has some stochastic behavior.
  • the simulation model can be one comprehensive model or may be a collection of smaller models representing individual production workstations, decision making points, and machines.
  • FIG. 8 shows a step “send enquiry message” 807 wherein the Order Management System sends an enquiry message to Check capacity, status and reserve. This step can be changed to “Inventory changes are reported to order management”, for example. Also, the system can change the elements and/or the sequence of queries in the available-to-promise process, change the dispatching rules in the production scheduling/control, temporarily change the resource structure, or outsource parts of the value-added process.
  • the software application 209 is made DES-compliant (the DES-compliant software application 407 ).
  • a discrete event simulation comprises a number of events occurring over instances of time in an orderly fashion. Each event takes place at a particular simulation time.
  • the application and its internal components are synchronized with the external models.
  • the software application is originally created to run in real time based on inputs it gets.
  • the messages from the external models arrive in time sequence but the processing is done faster. For example, the application receives an order at day 0 (simulation time) and then in 1 sec (real-time) it receives an order at day 1.
  • the business application just processes the orders in sequence (of course any activities that need to be performed between the two orders are performed accordingly). So the order on day 0 can immediately be followed by the order on day 1.
  • the processing (CPU time the application takes to process the information) of the order still takes the same time as in the original application.
  • FIG. 10 provides an example explaining the synchronization problem solved by the present invention.
  • Agent 1 1001 receives event A at real time RTA and simulation time STA 1003 .
  • Agent 2 1005 receives event B at real time RTB and simulation time STB 1007 .
  • Agent 1 1001 processes event A to generate event C 1009 .
  • the processing of event A takes p seconds (real-time).
  • Event C has to be processed by Agent 2 before event B at simulation time STC. In this case, since the application advances in real-time, Agent 2 may end up processing event B before event C. Equations 1 and 2 illustrate this situation.
  • Event C has to be processed before event B but the time it takes to be generated (RTA+p) is past the time event B is generated and sent to Agent 2.
  • a two-level solution solves the synchronization problems mentioned above and contributes to achieving the objectives of this invention.
  • the two levels are as follows:
  • One prerequisite step is the discretization of the processes.
  • the process maps are broken down into discrete subprocesses.
  • the smallest sub-process is then represented by one operation over an object.
  • an object can be an order placed by a customer and operation capacity check performed as a result of the order.
  • the application federate performs two functions. The first is to interact with the other federates and represent the computer application 303 .
  • the application federate (see FIG. 3, reference numbers 305 , 307 for an example of the application federate in the system) is a proxy for the application in the distributed simulation of the entire organization.
  • the second function is to control the various operations inside the computer application 209 and synchronize it with the rest of the federation. This is performed in either of two different ways depending upon the nature of the software application 209 i.e. state-based or message-based.
  • the internal working of the software application 209 can be state-based or message-based.
  • a state based application is one that advances depending upon the states of different objects.
  • Each agent watches the state of some objects and a change in their state triggers off the agent to perform an action.
  • the agents send messages once a task is done, and then initiate tasks once they receive a message.
  • the agent 1109 which triggers off B 1103 waits for the change of state of object O 1107 .
  • the last operation in sub-process A 1101 is the changing of state of O 1107 .
  • Two solutions can be used to address this issue. They depend upon the choice of user and vary in the amount of changes that need to be made in the manner the software applications 301 are generated.
  • FIG. 12( a ) shows one synchronization solution for applications that advance in time through state changes.
  • Each agent (again represented by the stick figures in the FIGURE) in the application is capable of performing two extra functions (federate-sent and federate-receive). These functions are triggered depending upon the position of the agent in any sub-process. If the agent is the last in sub-process A (for example, the agent 1207 ) then it triggers federate-sent 1209 once it completes its designated task 1211 . The federate-sent function 1209 informs the application federate 1201 that the particular sub-process 1203 has been completed.
  • the agent 1213 calls the function federate-receive 1217 .
  • This function informs the application federate 1201 that a new sub-process 1205 has to be started.
  • the agent 1213 starts the new sub-process 1205 when it gets a call-back 1219 to this function.
  • the agent 1213 then performs the operation related to the latest change.
  • the agent 1213 triggers off the process B 1205 when the state of the object 1221 changes thus triggering 1215 .
  • FIG. 12( b ) shows another synchronization solution for applications that advance in time through state changes.
  • the last agent 1223 in sub-process A 1225 changes the state of object O 1227 .
  • There is a federate agent 1229 which is designed just like any other agent in the application apart from the fact that it can communicate with the application federate 1231 .
  • the federate agent 1229 changes the state of an object O′ 1233 (clone of object O) based on the synchronization with externals.
  • externals are the discrete element simulation components of the operational model.
  • This change in state of object: O′ 1233 triggers the first agent 1235 in the following sub-process B 1237 .
  • FIG. 13 shows a synchronization solution for applications that advance in time through message-based communication.
  • Arrival of a message 1301 triggers an agent 1303 to perform operations 1305 on various objects 1307 .
  • the agent can send a message 1311 anytime to another agent 1313 to start off other tasks 1315 .
  • This application already has a number of features of DES and requires very less amount of modifications.
  • the destination agent name/id is included in the attributes of a message. All messaging 1323 , 1325 between agents belonging to two different sub-processes A 1317 and B 1319 is routed through the application federate 1321 . This allows the application federate 1321 to control the flow of information inside the application and synchronize with the other federates.
  • the interfaces between the High-Level Architecture (HLA) and the application can be implemented using an already available adapter 1401 (FIG. 14( b )) or a direct connection with the agents (FIG. 14( a )).
  • a further layer of a translator can be used such as the communication language used on the application side which can be one of the available XML standards.
  • the HLA includes the federate 1403 .
  • the federate 1403 proxies for the software application in the HLA simulation. In the FIGS. 14 ( a ) and ( b ), everything within the small boxes 1405 is the DES-compliant software application 401
  • the present invention allows integrated and seamless optimization of both business processes and operations of an enterprise.
  • the usage of framework-based business application technology ensures that the changes suggested and tested in the simulation are seamlessly implemented in the real life system. It allows the industrial user to trace transitions from one business execution model to another and to analyze the effect of each small change on the operations.
  • the application should be made of modules and components which are linked to each other to represent a process (similar to FIG. 11).
  • the software components may be software agents and also encompass other ways of achieving such functionalities.

Abstract

In general terms, the invention can be described as a computer system for enhancing the performance of underlying policies and execution-rules of real-world activities. The computer system includes a demand input section for providing demand information to drive the system. A real-time software application has a series of discrete steps for implementing the underlying policies and execution-rules of the activities and converts the demand information into instructions. A simulation-time operations-simulation model implements the underlying policies and execution-rules of the activities and receivers, the instructions. A control section includes a synchronization clock which synchronizes the discrete steps of the software application with the operations-simulation model by delaying the execution of some of the discrete steps and which communicates the instructions from the software application to the operations-simulation model. An output section outputs data to enhance the performance of the underlying policies and the execution-rules of the activities.

Description

    FIELD OF THE INVENTION
  • The present invention relates to a method and apparatus for modeling, simulating, and enhancing planning and operations. In particular the invention relates to the integration of discrete event simulation with a framework-based software application for enhancing the performance of underlying policies and execution-rules. [0001]
  • 1. Background of the Invention [0002]
  • Enterprise Resource Planning (ERP) packages are business management systems that integrate all facets of a business, including planning, manufacturing, sales, and marketing. One of the major shortcomings of traditional ERP packages is that they are very inflexible and unable to handle very complex business processes. Such business applications are initially created using specific business model templates. These templates are customized by manually changing settings and parameters in the software package. Changes in the business processes are always constrained by such templates in these packages. [0003]
  • These shortcomings are addressed by a so-called “framework-based” business application technology. The underlying principle of the framework is to create a meta-model of the business processes and then use this model to directly generate the application. The meta-model is created using very simple elements. Subsequent changes of any kind can then be made without any constraints imposed by any template because the new application is not just a variation of the old application with changed settings and parameters but it is generated directly from the updated meta-model and actually replaces the old application. A framework-based implementation allows easy configuration of application components to create dynamic applications. This allows dramatic reduction of the overall time for the creation of a business application from a business model and reduction of the effort for reconfiguration of the application every time the business model changes. [0004]
  • The available commercial technologies, based on the “framework-based” technique, use a combination of object-oriented and software agent technology. The various business documents and the operations that can be performed over these documents are modeled as objects. The meta-model is prepared by using those documents and operations objects and linking them together using a visual interface. The business application is generated by the creation of software agents, which execute the operations over the documents. The connections between different agents are created based on the processes defined in the meta-model. This agent framework is essentially the backend of the application. [0005]
  • Discrete event simulation concerns the modeling of an operational system as it evolves over time by a computer representation in which state variables change instantaneously at discrete points. In time at which events occur. An event is defined as an instantaneous occurrence that may change the state of the system. In this way an artificial history of the system can be generated by operation of a computer model of the system. This kind of rapid experience acquisition is normally infeasible with the real system because experimentation with real system is often disruptive, seldom cost-effective and sometimes impossible. The capability of discrete event simulation to portray random effects and the dynamic behavior of an operational system makes it a very powerful technology for operational performance analysis. [0006]
  • The High Level Architecture (HLA) is a general-purpose architecture for simulation reuse and interoperability. The HLA was developed under the leadership of the Defense Modeling and Simulation Office (DMSO) to support reuse and interoperability across the large numbers of different types of simulations developed and maintained by the Department of Defense. The Object Management Group (OMG) adopted the HLA as the Facility for Distributed Simulation Systems 1.0 In November 1998. The HLA was approved as an open standard through the Institute of Electrical and Electronic Engineers (IEEE)— IEEE Standard 1516—in September 2000. The HLA MOA was signed and approved in November 2000. The HLA-compliant simulation, termed as a federation is a collection of simulation models, termed as federates. [0007]
  • In today's business environment “change” has emerged as the only constant. The speed, cost and efficiency at which these changes are executed has become an important competitive advantage for a corporation. However, improvements in operations and business are often discarded at the design table today as their implementation involves too much work and the advantage is lost by the time the changes are made. Further, the effects of business change on operations and vice-versa are investigated by either employing external consultants or by assigning internal resources but seldom involve validation of the findings through techniques like simulation. [0008]
  • Framework-based business application software systems have reduced the implementation time and the effort that is needed to reconfigure the is enterprise application to incorporate alternative policies and changes in the highly complex business processes of organizations. [0009]
  • Within prior art framework-based implementations of business applications, simulations have been used to increase the efficiency of the application and test for system integrity as illustrated in FIG. 1 (Prior Art). The business processes themselves are deterministic in nature. [0010]
  • Programs that emulate the real situation with some probability distribution (i.e. simulation models) and data files having scenario-specific data to emulate the databases introduce randomness in a scenario. In the example of FIG. 1, the programs are Java programs which emulate the externals (e.g. a customer coming onto a web site and placing an order). Also in the example of FIG. 1, the data files are “XML scenario files”. They represent a particular state of the corporation and can be used to define scenarios. They emulate the databases of the corporation. The scenarios are a set of chosen policies with a particular configuration of the system. They define a situation corresponding to a real life situation that could occur. The scenarios include a sequence of events following a certain configuration and initialization of the system. As an example of a particular scenario, one could choose to have all the machines in an operations model super loaded with orders and then add more orders. First there is a warm-up in which orders are fed into the system to fill the queues. [0011]
  • Statistics collected are for an individual agent and for each scenario. Statistics collected over multiple replications are used for analysis. Here, running a simulation of the same scenario a number of times is called replicating the simulation. The statistics include the various different values associated with the particular scenario study. For example, the statistics can describe the number of transactions between the database and the system, the load (transactions) per agent in the system, etc. These values, or statistics, are indication of the performance of the system in relation to various scenarios. The agent here is represented as a piece of software with an objective, process for achieving the objective and set of resources to use to reach the objective. In the present case, the agents run the system and execute the various business processes. However, this kind of simulation—which is not discrete event simulation (DES)—is not sufficiently able to provide direct and obvious information on the impact of changes in the business model upon the operational and business performance. [0012]
  • On the other hand, with conventional (discrete event) simulation approaches it is possible to analyze different business scenarios and to optimize the underlying models based on the results. But implementation/realization of these changes in the corresponding business applications remains cumbersome and in some cases impossible. [0013]
  • Also, today's business models are driven by customer demand (push), whereas conventional simulation models are input-release driven and represent only the operational execution. Input release, however, is the result of a complex translation from customer demand into material quantities to be released into and moved within the system at pre-specified times. Consequently, in a demand-driven business world, simulation models can be made much more realistic if the process of translating demand into input release (i.e. planning and order management) and the complex interdependencies between the business processes and the operational execution are incorporated in it. [0014]
  • In summary, some of the shortcomings when applying framework-based business applications or discrete event simulation systems individually are: [0015]
  • 1) Even with advanced framework-based applications the performance of business operations can only be addressed based on the real history of the system. Here the real history of the system is when a real event has occurred and been reported (e.g. the production profile of a month once the month is over). [0016]
  • 2) Operational models that are optimized using conventional discrete event simulation technology are difficult to implement. [0017]
  • 3) The scope of traditional simulation models does not sufficiently take into account the fact that the underlying business is typically customer-demand driven rather than input-release driven. [0018]
  • SUMMARY OF THE INVENTION
  • The present invention allows framework-based applications to perform discrete event simulations and to combine these applications with discrete event simulation model components. In this way it is possible to “kill two birds with one stone”, i.e., to address the shortcomings when applying framework-based business applications or discrete event simulation systems individually. [0019]
  • Simulation models and business application software are both representations of the actual operations of an enterprise. The present invention is a unified, and optionally distributed, simulation and implementation technology where the entire performance process can be represented along a supply chain in a unified business model. It improves the performance of business; operations with discrete event simulation technology, and then generates and implements the corresponding business application software from the same unified business model, based on a framework-based implementation technology which, unlike conventional applications such as ERP systems, allows the adaptation of operations to permanently changing business environments with the required flexibility and minimal human effort. This allows a company to optimize both operational and business processes through simulation of the entire performance, process along the value-added chain (including planning and customer order management) rather than just the manufacturing process. By using framework-based business application software, optimized business rules/policies can then be implemented into real life systems with minimal effort and time. [0020]
  • In general terms, the invention can be described as a computer system for enhancing the performance of underlying policies and execution-rules of real-world activities. The computer system includes a demand input section for providing demand information to drive the system. A real-time software application has a series of discrete steps for implementing the underlying policies and execution-rules of the activities and converts the demand information into instructions. A simulation-time operations-simulation model implements the underlying policies and execution-rules of the activities and receives the instructions. A control section includes a synchronization clock which synchronizes the discrete steps of the software application with the operations-simulation model by delaying the execution of some of the discrete steps and which communicates the instructions from the software application to the operations-simulation model. An output section outputs data to enhance the performance of the underlying policies and the execution-rules of the activities.[0021]
  • BRIEF DESCRIPTION OF THE FIGURES
  • Further preferred features of the invention will now be described for the sake of example only with reference to the following Figures, in which: [0022]
  • FIG. 1 illustrates a simulation in a framework-based implementation of the prior art. [0023]
  • FIG. 2 illustrates a general implementation of the invention. [0024]
  • FIG. 3 represents the overall architecture of the system including the synchronization of the software applications with the simulation models through a distributed simulation synchronization mechanism utilizing proxy models. [0025]
  • FIGS. [0026] 4-7 show the process for simulating a software application together with operations models of real world activities in order to enhance the performance of underlying policies and execution-rules.
  • FIGS. 8 and 9 illustrate “customer order processing” and “production execution”, respectively. [0027]
  • FIG. 10 provides an example explaining the synchronization problem solved by the present invention. [0028]
  • FIG. 11 shows an application that advances in time through state-changes. [0029]
  • FIG. 12([0030] a) demonstrates synchronizing applications that advance in time through state changes by having each agent in the application perform two extra functions, federate-sent and federate-receive.
  • FIG. 12([0031] b) demonstrates synchronizing applications that advance in time through state changes utilizing a federate agent which changes the state of an object O,′ which is a clone of object O, based on the synchronization with external.
  • FIG. 13 demonstrates synchronizing applications that advance in time through message-based communication. [0032]
  • FIGS. [0033] 14(a) and 14(b) illustrate interfaces between the High-Level Architecture (HLA) using a direct connection with the agents and implemented using an already available adapter, respectively.
  • DETAILED DESCRIPTION OF THE EMBODIMENTS
  • FIG. 2 shows a general implementation of the invention. The business [0034] 201 of the enterprise includes an operations model 203 and a business process model 205. The business or software application 209 is created using a framework-based implementation. This application is usually an abstraction of the business process model 205. On the other hand, the operational simulation 211 is the abstraction of the operations model 203. The operational simulation 211 is used to optimize the operations model 213. The present invention uses the operational simulation 211 with the framework-based business; application 209 to perform an integrated business simulation 215. This allows for improvements to be made over both the business and the operations model at the same time.
  • FIG. 3 represents the overall architecture of the system. The [0035] software application 209 of FIG. 2 may be lumped as one or divided into separate software applications such as a planning software application 301 and a order management software application 303 as illustrated in FIG. 3. The software applications 301 and 303 can be serviced by different proxy models, 305 and 307, respectively, or if a single software application 209 is used, then a single proxy model can be used. The software applications 301 and 303 are synchronized with simulation models 311, 313 and 315 through proxy models 305 and 307 and through a distributed simulation synchronization mechanism 309. The simulated synchronization mechanism 309 can be the HLA-RTI software implementation of the High Level Architecture (HLA). In an overall business and operations evaluation, the software applications 301 and 303 are generally used to represent systems performing automated operations in FIG. 9. The simulation models 311, 313 and 315, on the other hand, generally represent steps which are executed by humans and production machine.
  • FIGS. [0036] 4-7 describe how a DES-compliant business application is improved using simulation and how the transition between an old business application and a new business application is carded out. In FIG. 4 the “real world” software application 209 and a connected real world database 401 are shown. The software application 209 runs the business and interacts with the operational execution 404 to plan and manage operations. The databases store all information regarding the transactions being carried out by the application, the state of all the orders, etc. The application then operates on the information in the database. An operational execution simulation model 405 is created providing a DES simulation of the “real world” operational execution 403. A software application 407 is also created which is a DES-compliant substantially-exact replica of the software application 209. Additionally, a connected database 409 is created which is a duplicate of the database 401. The DES-compliant software application 407 interacts with the operation execution simulation model 405 using data from the database 409 for simulation in a distributed environment.
  • Based on the output of the operational [0037] execution simulation model 405, operational changes are suggested for the operational execution simulation model 319 as well as the actual “real world” operational execution 403, as illustrated in FIG. 5. An updated operation execution simulation model 501 is generated in place of the model 405. Also, based on the output of the operational execution simulation model 405, policy changes are suggested and a new DES-compatible software application 601 is generated or, in other words, the DES-compatible software application 407 is updated using the framework metamodel as illustrated in FIG. 6. At the point where the DES-compatible software application 601 seems to be the better application to work with, the application 209 is discarded, as illustrated by the “X” in FIG. 6. The updated software application 601 can then replace the disguarded application 209. The original database 401 is used to upload the information of the various active objects into the updated software application 601. A new DES-compatible software application 701, a substantial copy of 601, is generated is along with a database 703 (a snapshot of the database 401). The application 701 and the database 703 are then used for simulation purposes resulting in the application 701 being updated.
  • In improving the business application through simulation as described with respect to FIGS. [0038] 4-7 above, all the relevant manufacturing, logistics and decision-making events, as far as they are not triggered by the business application itself, are emulated. The simulation of FIGS. 4-7 also configures various scenarios on the fly and performs multiple simulations to analyze the performance of the business operations and changes made in it.
  • FIGS. 8 and 9 illustrate “customer order processing” and “production execution, respectively. These processes are related to operational execution and therefore have to be included in the operational execution simulation. Customer order processing is very critical in an environment where the available-to-promise procedure stretches across several IT systems. The process for regeneration of an execution plan/schedule is another example process related to operational execution (the “production planning system” of FIG. 8 generates this plan/schedule). [0039]
  • The [0040] software application 209 is used to represent the systems in FIG. 8 and the systems performing automated operations in FIG. 9. These systems performing automated operations (executed by a software system) are the ones without the accompanying distribution curves in FIG. 9.
  • The [0041] simulation model 309 simulates all the steps with the distribution curves (for example the “lead time” distribution curve 903) in FIG. 9. All the steps with the distribution curves are executed by humans and production machines. The distribution cures can represent a lead-time distribution, thus emphasizing that the activity involved has some stochastic behavior. The simulation model can be one comprehensive model or may be a collection of smaller models representing individual production workstations, decision making points, and machines.
  • Process steps that are irrelevant for operational performance (such as perform credit check” [0042] 801 or “update order book” 803 (see FIG. 8) can be skipped. Other supporting business processes such as monetary transactions, execution of equipment maintenance, and customer inquiries that do not lead to orders, do not have to be included into the simulation at all.
  • Assuming that it is fully automated, the entire customer order process as shown in FIG. 8 is simulated and executed on the framework-based [0043] software application 407. On the other hand, anything that is not included in the application is emulated, such as arrival of incoming customer orders 805, release of material (lot) into production systems 901 (FIG. 9—push environment), start of production order execution (pull environment), execution of a production step (for example an execute burn in step 907 (FIG. 9) and timely feedback to production control system 905 (FIG. 9).
  • Following are some examples of changes of the business processes that can be simulated, assessed and implemented with this technology. FIG. 8 shows a step “send enquiry message” [0044] 807 wherein the Order Management System sends an enquiry message to Check capacity, status and reserve. This step can be changed to “Inventory changes are reported to order management”, for example. Also, the system can change the elements and/or the sequence of queries in the available-to-promise process, change the dispatching rules in the production scheduling/control, temporarily change the resource structure, or outsource parts of the value-added process.
  • In order to use the business model in the overall simulation, the [0045] software application 209 is made DES-compliant (the DES-compliant software application 407). A discrete event simulation comprises a number of events occurring over instances of time in an orderly fashion. Each event takes place at a particular simulation time. To make the application DES-compliant, the application and its internal components are synchronized with the external models. The software application is originally created to run in real time based on inputs it gets. In making the software application DES compliant, the messages from the external models arrive in time sequence but the processing is done faster. For example, the application receives an order at day 0 (simulation time) and then in 1 sec (real-time) it receives an order at day 1. The business application just processes the orders in sequence (of course any activities that need to be performed between the two orders are performed accordingly). So the order on day 0 can immediately be followed by the order on day 1. The processing (CPU time the application takes to process the information) of the order still takes the same time as in the original application.
  • FIG. 10 provides an example explaining the synchronization problem solved by the present invention. [0046] Agent 1 1001 receives event A at real time RTA and simulation time STA 1003. Agent 2 1005 receives event B at real time RTB and simulation time STB 1007. Agent 1 1001 processes event A to generate event C 1009. The processing of event A takes p seconds (real-time). Event C has to be processed by Agent 2 before event B at simulation time STC. In this case, since the application advances in real-time, Agent 2 may end up processing event B before event C. Equations 1 and 2 illustrate this situation. Event C has to be processed before event B but the time it takes to be generated (RTA+p) is past the time event B is generated and sent to Agent 2.
  • RTA+p>RTB  (Eq. 1)
  • STC<STB  (Eq. 2)
  • Further complications can arise due to latency caused by network traffic, where a message from an agent's past arrives in the future. This causes a is paradox and thus the discrete event simulation may no longer be emulating the truth (Here, emulation can be defined as using a simulation to imitate a real system for testing/development of a real-time system, while simulation can be defined as representing the physical processes in a simulation model to perform studies on a future/present real system without actual execution on the real system). Thus a mechanism is needed to ensure that it is safe to advance the time of an entity to the next designated value. A mechanism for synchronization of simulation time with real time solves these problems. [0047]
  • A two-level solution solves the synchronization problems mentioned above and contributes to achieving the objectives of this invention. The two levels are as follows: [0048]
  • 1. Introduce a mechanism of synchronization for the software applications [0049] 209 (or 301 and 303) so that they advance in time using state changes or using message-based communication.
  • 2. Introduce a communication interface between the [0050] software application 209 and the HLA network by using adapters provided by the software application and also by using direct interaction with the agents.
  • Certain prerequisite steps are required in order to implement the synchronization mechanism. Events in an [0051] software application 209 may represent the changing of states of certain objects or the arrival of certain messages. The synchronization mechanism in both, although similar in nature, has a few differences. In using this approach, it is helpful if all the process maps are available and if additions/modifications to the software application 209 are permitted. These process maps can be the process map of the business, for example the business model. These process maps are also helpful in creating the original realtime software applications 209, 301, 303. This model shows in detail how orders come in, how they move in the system, etc. The “Customer Order Processing” of FIG. 8 is an example of such a process map. Irrespective of the type of application, there are two steps which are performed as a pre-requisite in the present invention.
  • One prerequisite step is the discretization of the processes. The process maps are broken down into discrete subprocesses. The smallest sub-process is then represented by one operation over an object. Here, for example, an object can be an order placed by a customer and operation capacity check performed as a result of the order. [0052]
  • Another prerequisite step is the development of the application federate. The application federate performs two functions. The first is to interact with the other federates and represent the [0053] computer application 303. In other words, the application federate (see FIG. 3, reference numbers 305, 307 for an example of the application federate in the system) is a proxy for the application in the distributed simulation of the entire organization. The second function is to control the various operations inside the computer application 209 and synchronize it with the rest of the federation. This is performed in either of two different ways depending upon the nature of the software application 209 i.e. state-based or message-based. The internal working of the software application 209 can be state-based or message-based. Here, a state based application is one that advances depending upon the states of different objects.
  • Each agent watches the state of some objects and a change in their state triggers off the agent to perform an action. In the case of message based applications, the agents send messages once a task is done, and then initiate tasks once they receive a message. [0054]
  • In applications that advance in time through state changes, the state changes; trigger agents to operate on various objects in a manner defined by the business processes which the [0055] software application 209 is based on. These operations on objects change their states further triggering off other agents and so on. The important point is the last operation/state change in any sum process. If left to continue on its own, it would trigger off a new sub-process. Take for example the case in FIG. 11. There are two sub-processes A 1101 and B 1103. Each one of them has some tasks to be performed. The sequence of tasks specifies that an external event E has to occur 1105 before sub-process B 1103 is started. Thus there is a need of synchronization. The agents are represented by the stick figures. The agent 1109 which triggers off B 1103 waits for the change of state of object O 1107. The last operation in sub-process A 1101 is the changing of state of O 1107. Two solutions can be used to address this issue. They depend upon the choice of user and vary in the amount of changes that need to be made in the manner the software applications 301 are generated.
  • FIG. 12([0056] a) shows one synchronization solution for applications that advance in time through state changes. Each agent (again represented by the stick figures in the FIGURE) in the application is capable of performing two extra functions (federate-sent and federate-receive). These functions are triggered depending upon the position of the agent in any sub-process. If the agent is the last in sub-process A (for example, the agent 1207) then it triggers federate-sent 1209 once it completes its designated task 1211. The federate-sent function 1209 informs the application federate 1201 that the particular sub-process 1203 has been completed. In case an agent 1213 is at the start of sub-process B 1205 and the state change occurs that triggers it 1215, then the agent 1213 calls the function federate-receive 1217. This function informs the application federate 1201 that a new sub-process 1205 has to be started. The agent 1213 starts the new sub-process 1205 when it gets a call-back 1219 to this function. In the case where, before a call-back 1219 is received, the state of the same object 1221 changes, the agent 1213 then performs the operation related to the latest change. The agent 1213 triggers off the process B 1205 when the state of the object 1221 changes thus triggering 1215. Note that if the callback, 1219 is not yet received by the agent 1213, but another change occurs in the object 1221, then the operation performed by the agent 1213 would correspond to this new change. The agent will not respond to the call-back associated with the old change.
  • FIG. 12([0057] b) shows another synchronization solution for applications that advance in time through state changes. The last agent 1223 in sub-process A 1225 changes the state of object O 1227. There is a federate agent 1229 which is designed just like any other agent in the application apart from the fact that it can communicate with the application federate 1231. The federate agent 1229 changes the state of an object O′ 1233 (clone of object O) based on the synchronization with externals. Here, externals are the discrete element simulation components of the operational model. This change in state of object: O′ 1233 triggers the first agent 1235 in the following sub-process B 1237.
  • FIG. 13 shows a synchronization solution for applications that advance in time through message-based communication. Arrival of a [0058] message 1301 triggers an agent 1303 to perform operations 1305 on various objects 1307. The agent can send a message 1311 anytime to another agent 1313 to start off other tasks 1315. This application already has a number of features of DES and requires very less amount of modifications. The destination agent name/id is included in the attributes of a message. All messaging 1323, 1325 between agents belonging to two different sub-processes A 1317 and B 1319 is routed through the application federate 1321. This allows the application federate 1321 to control the flow of information inside the application and synchronize with the other federates.
  • The interfaces between the High-Level Architecture (HLA) and the application can be implemented using an already available adapter [0059] 1401 (FIG. 14(b)) or a direct connection with the agents (FIG. 14(a)). A further layer of a translator can be used such as the communication language used on the application side which can be one of the available XML standards. The HLA includes the federate 1403. The federate 1403 proxies for the software application in the HLA simulation. In the FIGS. 14(a) and (b), everything within the small boxes 1405 is the DES-compliant software application 401
  • The present invention allows integrated and seamless optimization of both business processes and operations of an enterprise. The usage of framework-based business application technology ensures that the changes suggested and tested in the simulation are seamlessly implemented in the real life system. It allows the industrial user to trace transitions from one business execution model to another and to analyze the effect of each small change on the operations. [0060]
  • Although specific examples have been given above, there are three general conditions to be considered in making the software application DES-compliant. [0061]
  • The application should be made of modules and components which are linked to each other to represent a process (similar to FIG. 11). The software components may be software agents and also encompass other ways of achieving such functionalities. [0062]
  • The triggering of subsequent steps in any process should be able to be paused indefinitely through some control mechanism outside the application. This is done so as not to interfere with the processing of any other orders, documents, instructions, etc. In the application. In other words, the step between components can be controlled externally. [0063]
  • Also, the process flow should be exposed outside the application. For example, the process flow can be available as a separate document. although the invention has been described above using particular embodiments, many variations are possible within the scope of the claims, as will be clear to a skilled reader. [0064]

Claims (20)

We claim:
1. A computer system for enhancing the performance of underlying policies and execution-rules of real-world activities, comprising:
a demand input section for providing demand information to drive the system;
a real-time software application having a series of discrete steps for implementing the underlying policies and execution-rules of the activities and for converting the demand information into instructions;
a simulation-time operations-simulation model for implementing the underlying policies and execution-rules of the activities and which receives the instructions;
a control section comprising a synchronization clock for synchronizing the discrete steps of the software application with the operations-simulation model by delaying the execution of some of the discrete steps and for communicating the instructions from the software application to the operations-simulation model; and
an output section for outputting data for enhancing the performance of the underlying policies and the execution-rules of the activities.
2. The computer system of claim 1, wherein the software application comprises reconfigurable modules for reconfiguring based upon the underlying policies and execution-rules of the activities determined from the output section.
3. The computer system of claim 1, further comprising additional software applications and additional simulation-time operations-simulation models synchronized together through the control section.
4. The computer system of claim 1, wherein the control section utilizes the High Level Architecture enabling communications between the planning model and the operations simulation by synchronizing the real-time software application with the simulation-time operations simulation.
5. The computer system of claim 1, wherein the software application is a business application used in the running of a business.
6. The computer system of claim 1, wherein the operations simulation simulates physical operations.
7. The computer system of claim 1, wherein the demand information is based on emulated customer demand.
8. The computer system of claim 1, wherein at least some of the real-world activities are performed by a production facility and the demand information represents demand for a product produced by the production facility.
9. The computer system of claim 1, wherein at least some of the real-world activities are performed by a production facility and the demand information represents demand for a service produced by the production facility.
10. The computer system of claim 1, wherein the software application includes, software agents executing operations over software object representations.
11. The computer system of claim 10, wherein the software object representations include forms used in the running a production facility.
12. A method for enhancing the performance of underlying policies and execution-rules of real-world activities, comprising:
inputting demand information into a real-time software application;
translating the demand and passing the translated demand to a simulation-time operations simulation model via a control section;
synchronizing the software application with the simulation-time operations simulation utilizing the control section by delaying the execution of some discrete steps of the software application;
outputting results for the real-world activities;
changing elements of the software application to create a modified software application and again performing the steps of inputting demand information, translating the demand, passing the translated demand, synchronizing the software application, and outputting from the operations simulation; and
executing the real-world activities utilizing the modified software application.
13. The method of claim 12, further comprising the step of changing elements; of the operations simulation model in addition to changing the elements of the software application to create a modified operations simulation model and again performing the steps of inputting demand information, translating the demand, passing the translated demand, synchronizing the software application, and outputting from the operations simulation, and executing the real-world activities utilizing operations modified according to the modified operations simulation model.
14. The method of claim 12, wherein the translated demand is input-release information.
15. The method of claim 12, wherein the control section utilizes the High Level Architecture.
16. The method of claim 12, wherein the elements of the software application are changed by changing a metamodel in a framework-based application.
17. Means for enhancing the performance of underlying policies and execution-rules of real-world activities, comprising:
input means for inputting demand information into a real-time software application;
translation means for translating the demand and passing the translated demand to a simulation-time operations simulation model via a control section;
synchronization means for synchronizing the software application with the simulation-time operations simulation utilizing the control section by delaying the execution of some discrete steps of the software application;
output means outputting results for the real-world activities;
modification means for changing elements of the software application to create a modified software application and again performing the steps of inputting demand information, translating the demand, passing the translated demand, synchronizing the software application, and outputting from the operations simulation; and
execution means for executing the real-world activities utilizing the modified software application.
18. The means of claim 17, wherein the translated demand is input-release information.
19. The means of claim 17, wherein the control section utilizes the High Level Architecture.
20. The means of claim 17, wherein the elements of the software application are changed by changing a metamodel in a framework-based application.
US10/301,788 2002-11-22 2002-11-22 Integration of a discrete event simulation with a configurable software application Abandoned US20040102940A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US10/301,788 US20040102940A1 (en) 2002-11-22 2002-11-22 Integration of a discrete event simulation with a configurable software application
US12/034,091 US8180623B2 (en) 2002-11-22 2008-02-20 Integration of a discrete event simulation with a configurable software application

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/301,788 US20040102940A1 (en) 2002-11-22 2002-11-22 Integration of a discrete event simulation with a configurable software application

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US12/034,091 Continuation US8180623B2 (en) 2002-11-22 2008-02-20 Integration of a discrete event simulation with a configurable software application

Publications (1)

Publication Number Publication Date
US20040102940A1 true US20040102940A1 (en) 2004-05-27

Family

ID=32324596

Family Applications (2)

Application Number Title Priority Date Filing Date
US10/301,788 Abandoned US20040102940A1 (en) 2002-11-22 2002-11-22 Integration of a discrete event simulation with a configurable software application
US12/034,091 Active 2024-07-02 US8180623B2 (en) 2002-11-22 2008-02-20 Integration of a discrete event simulation with a configurable software application

Family Applications After (1)

Application Number Title Priority Date Filing Date
US12/034,091 Active 2024-07-02 US8180623B2 (en) 2002-11-22 2008-02-20 Integration of a discrete event simulation with a configurable software application

Country Status (1)

Country Link
US (2) US20040102940A1 (en)

Cited By (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060031048A1 (en) * 2004-06-22 2006-02-09 Gilpin Brian M Common component modeling
US20060074725A1 (en) * 2004-09-30 2006-04-06 International Business Machines Corporation Method and apparatus for simulating implementation models of business solutions
US20060190466A1 (en) * 2003-03-12 2006-08-24 Microsoft Corporation Customization of metadata describing objects in a computing environment
US20060195453A1 (en) * 2003-03-12 2006-08-31 Microsoft Corporation Customization of process logic in a software system
US20070156814A1 (en) * 2005-12-30 2007-07-05 Fred Cohen Method and/or system for providing and/or analyzing influence strategies
US20080077602A1 (en) * 2005-08-30 2008-03-27 Weatherwise Usa, Inc. Database access computer language
US20080091403A1 (en) * 2006-10-16 2008-04-17 Harrison Gregory A Large Training System Simulation Using Dynamic Network Entities
US20080147610A1 (en) * 2006-12-15 2008-06-19 Sap Ag Detection of procedural deficiency across multiple business applications
US20090006071A1 (en) * 2007-06-29 2009-01-01 Microsoft Corporation Methods for Definition and Scalable Execution of Performance Models for Distributed Applications
US20090089027A1 (en) * 2007-09-28 2009-04-02 Rockwell Automation Technologies, Inc. Simulation controls for model variablity and randomness
US20090089031A1 (en) * 2007-09-28 2009-04-02 Rockwell Automation Technologies, Inc. Integrated simulation of controllers and devices
US20090089234A1 (en) * 2007-09-28 2009-04-02 Rockwell Automation Technologies, Inc. Automated code generation for simulators
US20090089029A1 (en) * 2007-09-28 2009-04-02 Rockwell Automation Technologies, Inc. Enhanced execution speed to improve simulation performance
US20090089030A1 (en) * 2007-09-28 2009-04-02 Rockwell Automation Technologies, Inc. Distributed simulation and synchronization
US20090089227A1 (en) * 2007-09-28 2009-04-02 Rockwell Automation Technologies, Inc. Automated recommendations from simulation
US20090193050A1 (en) * 2008-01-25 2009-07-30 Avaya Inc. Report database dependency tracing through business intelligence metadata
US20100003652A1 (en) * 2006-11-09 2010-01-07 Israel Aerospace Industries Ltd. Mission training center instructor operator station apparatus and methods useful in conjunction therewith
US7650267B1 (en) * 2006-03-31 2010-01-19 Rockwell Automation Technologies, Inc. Distribution of DES replications in a simulation
US7809127B2 (en) 2005-05-26 2010-10-05 Avaya Inc. Method for discovering problem agent behaviors
US7822587B1 (en) * 2005-10-03 2010-10-26 Avaya Inc. Hybrid database architecture for both maintaining and relaxing type 2 data entity behavior
US20110010160A1 (en) * 2009-07-10 2011-01-13 Wolfgang Pree Simulating real-time software components based on logical execution time
US7936867B1 (en) 2006-08-15 2011-05-03 Avaya Inc. Multi-service request within a contact center
US7953859B1 (en) 2004-03-31 2011-05-31 Avaya Inc. Data model of participation in multi-channel and multi-party contacts
US8000989B1 (en) 2004-03-31 2011-08-16 Avaya Inc. Using true value in routing work items to resources
US8391463B1 (en) 2006-09-01 2013-03-05 Avaya Inc. Method and apparatus for identifying related contacts
US8504534B1 (en) 2007-09-26 2013-08-06 Avaya Inc. Database structures and administration techniques for generalized localization of database items
US8565386B2 (en) 2009-09-29 2013-10-22 Avaya Inc. Automatic configuration of soft phones that are usable in conjunction with special-purpose endpoints
US8578396B2 (en) 2005-08-08 2013-11-05 Avaya Inc. Deferred control of surrogate key generation in a distributed processing architecture
US8811597B1 (en) 2006-09-07 2014-08-19 Avaya Inc. Contact center performance prediction
US20140278818A1 (en) * 2013-03-15 2014-09-18 Bmc Software, Inc. Business development configuration
US8938063B1 (en) 2006-09-07 2015-01-20 Avaya Inc. Contact center service monitoring and correcting
US9516069B2 (en) 2009-11-17 2016-12-06 Avaya Inc. Packet headers as a trigger for automatic activation of special-purpose softphone applications
US20170025040A1 (en) * 2015-07-23 2017-01-26 Rockwell Automation Technologies, Inc. Snapshot management architecture for process control operator training system lifecycle
CN113569476A (en) * 2021-07-23 2021-10-29 西安中锐创联科技有限公司 Method for realizing mixed dimension joint simulation by using dynamic parameter mixing

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7721959B2 (en) * 2004-07-19 2010-05-25 I2 Technologies Us, Inc. Optimizing inventory in accordance with a constrained network
US8756049B2 (en) * 2010-07-13 2014-06-17 Red Hat, Inc. Simulation and test framework for a rule engine
US20140058798A1 (en) * 2012-08-24 2014-02-27 o9 Solutions, Inc. Distributed and synchronized network of plan models
US9633323B2 (en) * 2013-03-14 2017-04-25 Lockheed Martin Corporation Integrated modeling and analysis in a discrete event simulation
US10614400B2 (en) 2014-06-27 2020-04-07 o9 Solutions, Inc. Plan modeling and user feedback
US11216765B2 (en) 2014-06-27 2022-01-04 o9 Solutions, Inc. Plan modeling visualization
US11379781B2 (en) 2014-06-27 2022-07-05 o9 Solutions, Inc. Unstructured data processing in plan modeling
US9760591B2 (en) 2015-05-14 2017-09-12 Walleye Software, LLC Dynamic code loading
US11216478B2 (en) 2015-10-16 2022-01-04 o9 Solutions, Inc. Plan model searching
US10198469B1 (en) 2017-08-24 2019-02-05 Deephaven Data Labs Llc Computer data system data source refreshing using an update propagation graph having a merged join listener

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5544348A (en) * 1990-07-03 1996-08-06 International Business Machines Corporation Simulation method and apparatus
US5701439A (en) * 1992-03-30 1997-12-23 Boeing North American, Inc. Combined discrete-event and continuous model simulation and analysis tool
US5794005A (en) * 1992-01-21 1998-08-11 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Synchronous parallel emulation and discrete event simulation system with self-contained simulation objects and active event objects
US5999724A (en) * 1995-01-06 1999-12-07 Hitachi, Ltd. Business process simulation system
US6134514A (en) * 1998-06-25 2000-10-17 Itt Manufacturing Enterprises, Inc. Large-scale network simulation method and apparatus
US6256676B1 (en) * 1998-11-18 2001-07-03 Saga Software, Inc. Agent-adapter architecture for use in enterprise application integration systems
US6278963B1 (en) * 1997-07-01 2001-08-21 Opnet Technologies, Inc. System architecture for distribution of discrete-event simulations
US20010034628A1 (en) * 1995-10-03 2001-10-25 Eder Jeffrey Scott Detailed method of and system for modeling and analyzing business improvement programs
US20020026630A1 (en) * 2000-08-28 2002-02-28 John Schmidt Enterprise application integration methodology
US6425762B1 (en) * 1998-02-24 2002-07-30 Wind River Systems, Inc. System and method for cosimulation of heterogeneous systems
US6628287B1 (en) * 2000-01-12 2003-09-30 There, Inc. Method and apparatus for consistent, responsive, and secure distributed simulation in a computer network environment

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5544348A (en) * 1990-07-03 1996-08-06 International Business Machines Corporation Simulation method and apparatus
US5794005A (en) * 1992-01-21 1998-08-11 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Synchronous parallel emulation and discrete event simulation system with self-contained simulation objects and active event objects
US5701439A (en) * 1992-03-30 1997-12-23 Boeing North American, Inc. Combined discrete-event and continuous model simulation and analysis tool
US5999724A (en) * 1995-01-06 1999-12-07 Hitachi, Ltd. Business process simulation system
US20010034628A1 (en) * 1995-10-03 2001-10-25 Eder Jeffrey Scott Detailed method of and system for modeling and analyzing business improvement programs
US6278963B1 (en) * 1997-07-01 2001-08-21 Opnet Technologies, Inc. System architecture for distribution of discrete-event simulations
US6425762B1 (en) * 1998-02-24 2002-07-30 Wind River Systems, Inc. System and method for cosimulation of heterogeneous systems
US6134514A (en) * 1998-06-25 2000-10-17 Itt Manufacturing Enterprises, Inc. Large-scale network simulation method and apparatus
US6256676B1 (en) * 1998-11-18 2001-07-03 Saga Software, Inc. Agent-adapter architecture for use in enterprise application integration systems
US6628287B1 (en) * 2000-01-12 2003-09-30 There, Inc. Method and apparatus for consistent, responsive, and secure distributed simulation in a computer network environment
US20020026630A1 (en) * 2000-08-28 2002-02-28 John Schmidt Enterprise application integration methodology

Cited By (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7584207B2 (en) 2003-03-12 2009-09-01 Microsoft Corporation Customization of metadata describing objects in a computing environment
US20060190466A1 (en) * 2003-03-12 2006-08-24 Microsoft Corporation Customization of metadata describing objects in a computing environment
US20060195453A1 (en) * 2003-03-12 2006-08-31 Microsoft Corporation Customization of process logic in a software system
US7711688B2 (en) * 2003-03-12 2010-05-04 Microsoft Corporation Customization of process logic in a software system
US7953859B1 (en) 2004-03-31 2011-05-31 Avaya Inc. Data model of participation in multi-channel and multi-party contacts
US8731177B1 (en) 2004-03-31 2014-05-20 Avaya Inc. Data model of participation in multi-channel and multi-party contacts
US8000989B1 (en) 2004-03-31 2011-08-16 Avaya Inc. Using true value in routing work items to resources
US20060031048A1 (en) * 2004-06-22 2006-02-09 Gilpin Brian M Common component modeling
US7571082B2 (en) * 2004-06-22 2009-08-04 Wells Fargo Bank, N.A. Common component modeling
US20060074725A1 (en) * 2004-09-30 2006-04-06 International Business Machines Corporation Method and apparatus for simulating implementation models of business solutions
US7809127B2 (en) 2005-05-26 2010-10-05 Avaya Inc. Method for discovering problem agent behaviors
US8578396B2 (en) 2005-08-08 2013-11-05 Avaya Inc. Deferred control of surrogate key generation in a distributed processing architecture
US20080077602A1 (en) * 2005-08-30 2008-03-27 Weatherwise Usa, Inc. Database access computer language
US7822587B1 (en) * 2005-10-03 2010-10-26 Avaya Inc. Hybrid database architecture for both maintaining and relaxing type 2 data entity behavior
US8095492B2 (en) * 2005-12-30 2012-01-10 Frederick B. Cohen Method and/or system for providing and/or analyzing influence strategies
US20070156814A1 (en) * 2005-12-30 2007-07-05 Fred Cohen Method and/or system for providing and/or analyzing influence strategies
US7650267B1 (en) * 2006-03-31 2010-01-19 Rockwell Automation Technologies, Inc. Distribution of DES replications in a simulation
US7936867B1 (en) 2006-08-15 2011-05-03 Avaya Inc. Multi-service request within a contact center
US8391463B1 (en) 2006-09-01 2013-03-05 Avaya Inc. Method and apparatus for identifying related contacts
US8811597B1 (en) 2006-09-07 2014-08-19 Avaya Inc. Contact center performance prediction
US8938063B1 (en) 2006-09-07 2015-01-20 Avaya Inc. Contact center service monitoring and correcting
US20080091403A1 (en) * 2006-10-16 2008-04-17 Harrison Gregory A Large Training System Simulation Using Dynamic Network Entities
US20100003652A1 (en) * 2006-11-09 2010-01-07 Israel Aerospace Industries Ltd. Mission training center instructor operator station apparatus and methods useful in conjunction therewith
US7752562B2 (en) * 2006-12-15 2010-07-06 Sap Ag Detection of procedural deficiency across multiple business applications
US20100262448A1 (en) * 2006-12-15 2010-10-14 Sap Ag Detection of procedural deficiency across multiple business applications
US8713461B2 (en) * 2006-12-15 2014-04-29 Sap Ag Detection of procedural deficiency across multiple business applications
US20080147610A1 (en) * 2006-12-15 2008-06-19 Sap Ag Detection of procedural deficiency across multiple business applications
US20090006071A1 (en) * 2007-06-29 2009-01-01 Microsoft Corporation Methods for Definition and Scalable Execution of Performance Models for Distributed Applications
US8504534B1 (en) 2007-09-26 2013-08-06 Avaya Inc. Database structures and administration techniques for generalized localization of database items
US20100318339A1 (en) * 2007-09-28 2010-12-16 Rockwell Automation Technologies, Inc. Simulation controls for model variablity and randomness
US20090089030A1 (en) * 2007-09-28 2009-04-02 Rockwell Automation Technologies, Inc. Distributed simulation and synchronization
US20090089027A1 (en) * 2007-09-28 2009-04-02 Rockwell Automation Technologies, Inc. Simulation controls for model variablity and randomness
US8069021B2 (en) * 2007-09-28 2011-11-29 Rockwell Automation Technologies, Inc. Distributed simulation and synchronization
US7801710B2 (en) 2007-09-28 2010-09-21 Rockwell Automation Technologies, Inc. Simulation controls for model variability and randomness
US20090089031A1 (en) * 2007-09-28 2009-04-02 Rockwell Automation Technologies, Inc. Integrated simulation of controllers and devices
US8417506B2 (en) 2007-09-28 2013-04-09 Rockwell Automation Technologies, Inc. Simulation controls for model variablity and randomness
US20090089227A1 (en) * 2007-09-28 2009-04-02 Rockwell Automation Technologies, Inc. Automated recommendations from simulation
US20090089234A1 (en) * 2007-09-28 2009-04-02 Rockwell Automation Technologies, Inc. Automated code generation for simulators
US8548777B2 (en) 2007-09-28 2013-10-01 Rockwell Automation Technologies, Inc. Automated recommendations from simulation
US20090089029A1 (en) * 2007-09-28 2009-04-02 Rockwell Automation Technologies, Inc. Enhanced execution speed to improve simulation performance
US20090193050A1 (en) * 2008-01-25 2009-07-30 Avaya Inc. Report database dependency tracing through business intelligence metadata
US8856182B2 (en) 2008-01-25 2014-10-07 Avaya Inc. Report database dependency tracing through business intelligence metadata
EP2275931A1 (en) * 2009-07-10 2011-01-19 Wolfgang Pree GmbH Simulating real-time software components based on logical execution time
US8543366B2 (en) 2009-07-10 2013-09-24 Wolfgang Pree Gmbh Simulating real-time software components based on logical execution time
US20110010160A1 (en) * 2009-07-10 2011-01-13 Wolfgang Pree Simulating real-time software components based on logical execution time
US8565386B2 (en) 2009-09-29 2013-10-22 Avaya Inc. Automatic configuration of soft phones that are usable in conjunction with special-purpose endpoints
US9516069B2 (en) 2009-11-17 2016-12-06 Avaya Inc. Packet headers as a trigger for automatic activation of special-purpose softphone applications
US20140278818A1 (en) * 2013-03-15 2014-09-18 Bmc Software, Inc. Business development configuration
US9508051B2 (en) * 2013-03-15 2016-11-29 Bmc Software, Inc. Business development configuration
US20170025040A1 (en) * 2015-07-23 2017-01-26 Rockwell Automation Technologies, Inc. Snapshot management architecture for process control operator training system lifecycle
US11222551B2 (en) * 2015-07-23 2022-01-11 Rockwell Automation Technologies, Inc. Snapshot management architecture for process control operator training system lifecycle
CN113569476A (en) * 2021-07-23 2021-10-29 西安中锐创联科技有限公司 Method for realizing mixed dimension joint simulation by using dynamic parameter mixing

Also Published As

Publication number Publication date
US8180623B2 (en) 2012-05-15
US20080154570A1 (en) 2008-06-26

Similar Documents

Publication Publication Date Title
US8180623B2 (en) Integration of a discrete event simulation with a configurable software application
US6237020B1 (en) Task-oriented automatic distribution of software
CN104679488B (en) A kind of flow custom development platform and flow custom development approach
Bloomfield et al. Interoperability of manufacturing applications using the Core Manufacturing Simulation Data (CMSD) standard information model
Pufahl et al. Design of an extensible BPMN process simulator
Li et al. The object-oriented discrete event simulation modeling: a case study on aircraft spare part management
Bocciarelli et al. A language for enabling model-driven analysis of business processes
Vierhauser et al. A flexible framework for runtime monitoring of system-of-systems architectures
Low et al. Survey of languages and runtime libraries for parallel discrete-event simulation
He et al. ISA-95 tool for enterprise modeling
CN102375743B (en) SOA(Service-Oriented Architecture) system development method based on model and template
US8036871B1 (en) Generating and delaying function calls in a discrete event modeling environment
Barbierato et al. PerfBPEL: A graph-based approach for the performance analysis of BPEL SOA applications
CN107944743A (en) The operation and maintenance method, apparatus and system of a kind of large computer system
CN116862211A (en) Flexible reconstruction and collaborative optimization method for business process
Lendermann et al. Integration of discrete event simulation models with framework-based business applications
Schiefer et al. Simulating business process scenarios for event-based systems
CN114546670A (en) Coroutine-based functional asynchronous data distribution system and method
Linnenberg et al. Software engineering for agent based energy systems
CN110737441B (en) IMA configuration generation method based on micro-service architecture
Yoo et al. Combining JADE and repast for the complex simulation of enterprise value-adding networks
Taylor et al. The SISO CSPI PDG standard for commercial off-the-shelf simulation package interoperability reference models
Mertins et al. Integration of factory planning and ERP/MES systems: adaptive simulation models
Chan et al. Reusing a distributed object domain framework
Gimenes et al. A product line architecture for workflow management systems with component-based development

Legal Events

Date Code Title Description
AS Assignment

Owner name: SINGAPORE INSTITUTE OF MANUFACTURING, SINGAPORE

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:LENDERMANN, PETER;JULKA, NIRUPAM;CHAN, LAI PENG;AND OTHERS;REEL/FRAME:013523/0067

Effective date: 20021122

AS Assignment

Owner name: AGENCY FOR SCIENCE, TECHNOLOGY AND RESEARCH, SINGA

Free format text: RE-SUBMISSION OF ASSIGNMENT TO INDICATE CORRECT NAME AND ADDRESS OF ASSIGNEE. PREVIOUSLY RECORDED ON REEL 013523 FRAME 0067.;ASSIGNORS:LENDERMANN, PETER;JULKA, NIRUPAM;CHAN, LAI PENG;AND OTHERS;REEL/FRAME:013970/0581

Effective date: 20021217

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION