Business Process Simulator

    Once, bored at work awaiting the decision of a distant European leadership about choosing software for managing business processes, it occurred to me to create a Script. The script should, on the basis of a business process model, animate its state at different points in time and collect the resulting data, based on which decisions can be made about the effectiveness of planned changes in the organization’s activities. Since the IDE in my workstation was at hand only in the form of Notepad, and the corporate runtime was IE, I had to write a Script on jQuery recently released. So the Service was born .

    Business Process Simulation Service

    BP Simulator

    The service is designed to search for bottlenecks of developed business processes or to check the effectiveness of options for making changes to existing processes. The software similar in functionality is a part of IBM, Oracle, AG Software, etc. BPM systems, but is not available for training and commercial use outside the corporate segment. The main mission of the service is the availability of simulation for potential users, and then I will describe how this goal is achieved. The simulator is implemented as a web service with the ability to work offline. Simulation includes the following steps:
    1. Business process modeling
    2. Model simulation
    3. Analysis of simulation results


    Modeling is an important and difficult stage; the correctness of the results substantially depends on its quality. Therefore, instead of complex notations for describing business processes, a task-oriented approach was used. Models can have only two types of objects: sources of tasks and functions that sequentially lead to the fulfillment of these tasks. There are also, of course, links between input / output objects, resources, and conditional transition operators. Each object has a set of properties traditional for simulators, such as name, frequency of tasks or duration of execution of a function by an executor, which can be filled as necessary. Models are stored either locally at the user, or in the services Yandex.Disk, Dropbox or Google Drive.


    Simulation consists in sequentially calculating the state of a business process at various points in time. For example, from 9:00 to 9:10, the secretary will receive an envelope with a signing agreement, at 10:00 she will finish the coffee and take it to lawyers who, after three hours, will return it for revision, and so on, until the signed copy of the agreement is sent to the client . The simulation is controlled by the Start, Accelerate, Pause, Next and Stop buttons - which allows you to go through any process cycle along and reproach. Depending on the state at the estimated time, the graphical objects of the model display their status for visual control. A detailed transition log is also kept, where you can track the details of the occurrence of congestion in the process.


    At the end of the simulation, you can see the collected statistics of the simulation, which is distributed by the following sections:
    • Process - gives an idea of ​​the effectiveness of the process as a whole, from the beginning to the end of the simulation period
    • Functions - in terms of executable functions, you can determine where bottlenecks arise
    • Resources - displays all involved artists and their load
    • Tasks - you can trace how the total duration of the same tasks depends on the time of their appointment

    And what's under the hood?

    I specialize in creating centers of competence for process management, and not in programming, so it’s not a lot with technical twists. It was not planned to use server resources, but I had to create a couple of proxy requests for php scripts to integrate with some cloud storage services.
    Interface: jQuery, jQuery UI, globalize and modernizr. From HTML5, localstorage, canvas, and tags are used. Since my main partners are “modern high-tech dynamic leader banks”, I have to support old versions of IE. Apache Ant in Eclipse is used to build and publish the service, site, and reference manual.


    As part of the fact-finding topic, it’s difficult to tell at once everything that you want to tell about the service. If interest is shown, we will analyze specific cases of what and how was done using this tool. In the meantime, you can see the detailed reference manual for the simulator at .

    Also popular now: