In this section, we summarize the basic steps that should be considered in doing a simulation study.
What are the various steps of testing?
The life cycle does not have to be interpreted as strictly sequential; it is iterative by
nature, and sometimes transitions in opposite directions can appear. Likewise, some of the steps can
be skipped, according to the complexity of the application. It is highly recommended to use a spiral
cycle with incremental development for steps 2–8, which can cause a revision to previous phases. Each
phase in the spiral cycle should end with a working prototype including more functionality than the
previous cycle:
1. Problem formulation: the simulation process begins with a practical problem that requires
solving or understanding. It might be the case of a cargo company trying to develop a
new strategy for truck dispatching or an astronomer trying to understand how a nebula is
formed. At this stage, we must understand the behavior of the system of interest (which
can be a natural or artificial system, existing or not), organizing the system’s operation as
objects and activities within the experimental framework of interest. Then we need to ana-
lyze different alternatives of solutions by investigating other previously existing results for
similar problems. The most acceptable solution should be chosen (omitting this stage could
cause the selection of an expensive. We also must identify the input/
output variables and classify them into decision variables (controllable) or parameters
(noncontrollable). If the problem involves performance analysis, this is the point at which
we can also define performance metrics (based on the output variables) and an objective
function (i.e., a combination of some of the metrics). At this stage, we can also do risk
analysis and whether to follow or discard the project.
2. The conceptual model must be defined. This step consists of building a high-level descrip-
tion of the structure and behavior of the system and identifying all the objects with their
attributes and interfaces. We also must define what the state variables are, how they are
related, and which ones are important for the study. In this step, key aspects of the require-
ments are expressed (if possible, using a formalism, which introduces a higher degree of
precision). During the definition of the conceptual model, we need to reveal features that
are of critical significance (e.g., possibility of instability, deadlock, or starvation). We must
also document nonfunctional information—for instance, possible future changes, non-
intuitive (or nonformal) behavior, and the relation with the environment.
3. In the collection and analysis of input/output data phase, we must study the system to
obtain input/output data. To do so, we must observe and collect the attributes chosen in
the previous phase. When the system entities are studied, we try to associate them with a
timing value. Another important issue during this phase is the selection of a sample size
that is statistically valid and a data format that can be processed with a computer. Finally,
we must decide which attributes are stochastic and which are deterministic. In some cases,
there are no data sources to collect (for instance, for nonexisting systems). In those cases,
we need to try to obtain data sets from similar systems (if available). Another option is to
use a stochastic approach to provide the data needed through random number generation.
4. In the modeling phase, we must build a detailed representation of the system based on
the conceptual model and the I/O data collected. The model is built by defining objects,
attributes, and methods using a chosen paradigm
10 Comments. Leave new
Good concept and well explained…!
Good effort!
Great job
Great effort.. well done!
good!
nice
Good Article 🙂
Must read for a techie 😀
The main process in every field is testing 😀
Good work Ravi for sharing you work and wriitng such an awesome article 😀
one sugestion 😀 make it bit more presentable 😀 the content was really good 😀 and the point had the perfect information loaded 😀
An important topic which is effectively summarized. Good job.
Good work