Integrating Business Processes Into GIS-based Simulations
Integrating Business Processes Into GIS-based Simulations
1. Introduction
In the Geographical Information Systems (GIS) field, a considerable amount of research
has been devoted to developing dynamic models of man-driven and earth phenomena,
such as physical processes, land use cover change, traffic control and socio-economic
dynamics, among others. Many formalisms were developed to express these dynamic
models. Among the most popular, we may quote cellular automata [von Neumann
1966], system dynamics [Forrester 1961] and multi-agent systems [Michel et al. 2009].
These models are used to predict the outcome of given scenarios and can be used to
help planning, for example, urban activity, logistics, emergency response or marketing
strategies.
Organizations have also worked out ways to formally express their activities.
The adoption of the so-called Business Process Management (BPM) systems has grown
significantly over the last few years [Weske 2007]. The most common practice of BPM
tools is to express business processes as workflows. However, most BPM solutions
focus on analyzing, publishing and monitoring business processes. There has been little
research on simulating these processes, which help verifying and improving them.
Sometimes it is relevant to consider interaction between external processes, such
as physical simulations, with organizations business processes, such as technical
procedures. One example occurs during an emergency situation, such as an oil leak
accident on the sea, where the behavior of the oil spill is influenced by the response
team actions and the way the command of the emergency handle the situation depends
on how big the oil spill is. In order to simulate such situations and obtain more realistic
results, this type of interference must be considered.
Based on this idea, a simulation engine has been developed to provide such
mechanism to deal with different processes that can interact with each other. In a
previous work [Metello et al. 2008], it was presented an earlier version of this engine,
which could simulate some kinds of processes in a GIS environment, such as physical
dispersion of leaked products and transportation of equipment. Even though this engine
could simulate a large variety of processes commonly modeled in GIS, it could not
simulate workflows based processes. This paper addresses a newer version of the
simulation engine, which can simulate business processes described as workflows. The
paper has two main objectives. First, it describes a method for mapping a workflow into
a simulation process to be executed in the engine. Second, it identifies the information
required to be added to the workflow description that enable it to be simulated.
This paper is organized as follows. Section 2 illustrates in more detail the
motivating example of handling emergency situations. Section 3 describes a formal base
for integrating processes of different nature together in a simulation environment.
Finally, section 4 describes how a process described by a workflow can be simulated in
that environment.
3. Process Simulation
3.1 Motivation
In the long-lived field of simulation, many different formalisms were developed to
model processes in time [Eker et al. 2003, Vangheluwe 2000, Zeigler et al. 2000]. Each
formalism suits better some specific class of processes. For instance, the dispersion of
some leaked product into the environment can be modeled as a cellular automata (CA),
while the corresponding contingency action plan can be modeled as a workflow. These
two types of processes are depicted respectively in Fig. 1 (a) and (b). The first process
defines a sequence of states over time while the second represents a set of actions from
a workflow being executed in time, where each individual action has a defined start and
end time instants. The problem of simulating these two processes independently of each
other is obvious. Each of them only represents a partial view of the problem. The
physical dispersion simulation would not take into consideration the effects of
contingency actions. Likewise, the elaboration of plans as mere workflows does not
guarantee that the actions will have their preconditions for execution met and, even if
executed, that they will produce the desired results. Again, one illustrative example
would be a plan that contains one action for placing contention barriers for oil leaked
into the sea without considering whether the teams will have the necessary time to do
so. These processes represent partial views precisely because they only consider a
subset of all the elements involved.
Figure 1. (a) A cellular automaton process represented by a succession of
states over time. (b) A workflow process represented by a set of actions in
time.
Our approach for dealing with this problem is to integrate these isolated
processes into a single simulation execution environment, even if they are expressed in
different formalisms. Naturally, the simulation must consider all the interferences
between them. In order to achieve this, it is necessary to provide a common high-level
formalism capable of representing different kinds of processes, such as plans and
physical simulations. Also, the simulation environment must be capable of executing
interfering processes in parallel.
The most straightforward way to integrate a number of different processes in a
simulation environment probably is to run all of them in parallel, propagating causality
every time a process generates an event that will possibly affect another process. Fig. 2
depicts two interfering processes being simulated in parallel. The sinuous arrows
indicate causality being propagated between those processes.
Now that the processes to simulate a workflow are defined, we can combine
them with processes of a different nature and consider how they interfere with each
other. It is worth noting that the workflow variables could be updated by events sent by
some process other than the action processes. This is actually a way for a process of a
different nature to interfere with a workflow process. Likewise, an action process may
send events to processes other than the workflow process, therefore interfering with
them.
With the definitions presented in this section, it is possible to identify all the
requirements of a workflow representation necessary to simulate a workflow together
with other interfering processes. The requirements are summarized in the following list:
• Provide all actions with typing information so that they can be associated
with simulation processes. Some human-readable workflow representations
define the information about what an action does textually. In order to allow
automatic simulation, actions must be more strongly typed. Besides, some
additional information may be needed providing more detail for enabling
simulation. For example, describing the weather conditions as “low tide with
south wind” may not be precise enough for a physical simulation.
• Provide functions to specify the start time of actions and condition
evaluation. As seen before, this is essential to simulate the situation correctly.
• Provide a way to receive the end times of the actions. Specific events may be
created for providing the workflow process with information about when its
executed actions have finished their execution.
• Provide the workflow process with all necessary information so that it can
keep its variables up to date. By sending events to it, other processes may
provide the workflow process with information it needs for correct simulation.
References
Bigley, G.A., Roberts, K.H. (2001) ”The Incident Command System: High-Reliability
Organizing for Complex and Volatile Task Environments“, The Academy of
Management Journal, 44(6), pp. 1281-1299.
Carvalho, M.T., Freire, J., Casanova, M.A. (2001) “The Architecture of an Emergency
Plan Deployment System”, In: Proc. III Brazilian Symposium on Geoinformatics,
Rio de Janeiro, Brazil.
Casanova, M.A., Coelho, T.A.S., Carvalho, M.T.M., Corseuil, E.T.L., Nóbrega, H.,
Dias, F.M., Levy, C.H. (2002) “The Design of XPAE – An Emergency Plan
Definition Language”, In: Proc. IV Brazilian Symposium on GeoInformatics,
Caxambu, MG, Brazil.
Eker J., Janneck J.W., Lee E.A., Liu J., Liu X., Ludvig J., Neuendorffer S., Sachs S.,
Xiong Y. (2003) “Taming heterogeneity - the Ptolemy approach”, In Proceedings of
the IEEE, 91(2).
Forrester, J. (1961) “Industrial Dynamics”, Cambridge, MA: MIT Press
Metello, M., Casanova, M.A., Carvalho, M.T.M (2008) “Using Serious Game
Techniques to Simulate Emergency Situations”, In: Proc. X Brazilian Symposium on
GeoInformatics, Rio de Janeiro, Brazil.
Michel, F., Ferber, J., Drogoul, A. (2009) “Multi-Agent Systems and Simulation: A
Survey from the Agent Community’s Perspective”, In A. Uhrmacher and D. Weyns
(Eds.), Multi-Agent Systems: Simulation and Applications, Taylor and Francis, pp 3-
51
van der Aalst, W.M.P., der Hofstede. A.H.M., Kiepuszewski, B., Barros, A.P. (2003)
”Workflow Patterns”, Distributed and Parallel Databases, 14(1): 5–51(47).
Vangheluwe, H.L. (2000) “DEVS as a common denominator for multi-formalism
hybrid systems modeling”, IEEE International Symposium on Computer-Aided
Control System Design, pp 129-134, Anchorage, Alaska.
von Neumann, J. (1966) “Theory of self-reproducing automata”, Illinois: A.W. Burks.
Weske, M. (2007) “Business Process Management - Concepts, Languages,
Architectures”, Springer.
Zeigler, B.P., Praehofer, H., Kim, T.G. (2000) “Theory of Modeling and Simulation”,
Academic Press, San Diego, CA.