AMS : An Integrated Simulator for Open Systems Atika COHEN and Radouane MRABET
Bd du Triomphe, CP 230 Brussels, Belgium
cohen@helios.iihe.rtt.be and mrabet@helios.iihe.rtt.be
C=be; ADMD=rtt; PRMD=iihe; O=helios; S=cohen or S=mrabet
ABSTRACT The main objective of the OSISIM
Network Analysis Package 2) and GSS4 [8]
project (Open System Integrated Simulator) is to set up
(Graphical Support System 4)1 are the main
an atelier for the modelization of communication
software packages that will be used to operate the
networks and the analysis of their performances. The atelier gives the end-user powerful tools to edit a communication system in a graphical environment. The
One component of this atelier is a library of basic
representation of a system to be simulated is based on
models including most of the standard networks
models of several standard networks available in the
such as LANs (Ethernet, Token Ring, FDDI, etc),
library which is the kernel of the atelier.Each model implements uniform and well-defined sets
networks. It is obvious that the usefulness of the
of functions, while having clearly specified interfaces. This article describes the architecture of the atelier,
atelier heavily depends on the number of
and focuses on the internal structure of basic models. Introduction
The end-user of the AMS is not expected to be a
The main objective of the OSISIM project is to
specialist in modeling or performance analysis;
set up an atelier for the modelization of
however, he or she should be a communication
communication networks and the analysis of their
system designer. He or she will use the AMS to
performances. In the literature, we find the
build and validate an architectural choice, or to
description of different toolkits dedicated to this
compare several possible ways of solving a
field, as TOPNET [1], which is based on PROT
net, a class of Petri nets; NETMOD [2], which is
Models have to be constructed in a very modular
based on simple analytical models; BONeS [3],
fashion. That is why we have to build basic
which is based on block-oriented modeling
models, which will make up other models of more
paradigm. On the other hand, our approach is
complex systems. Each basic model implements
uniform and well-defined sets of functions, while
Modelization and Simulation), has to integrate the
This paper describes, in the first section, the
facilities and the tools in such a way as to be easy
architecture of the AMS [4]. The second section
to use by the end-user. It gives the end-user some
focuses on the internal structure of a basic model
[5], and the ways to reduce the code related to its
• basic library that includes the models of
several standard networks studied separately;
I. Description of AMS
• tools for editing communication systems and
I.1. AMS architecture
• tools for visualizing simulation results;
Figure 1 shows the architecture of AMS. The
components of this architecture are arranged in
The AMS will be based on the latest techniques
three principal groups : the objects that can be
in software engineering such as : graphics,
windowing, pop-up menus and the object-oriented
programming paradigm. QNAP2 [6,7] (Queueing
These packages are trademarks of SIMULOG, a
French company specialized in the field of simulation.
manipulated by end-users (i.e. basic models) in
b) Scenario_Def : This process helps the end-user
order to describe the communication system to be
simulated, the processes for editing and
c) Result_View : This process allows the end-
generating code, and the set of files containing the
user to choose the types of simulation results he
internal representation of the system under study.
Scenario_Element
d) Code_Generator : This process generates the Draw_Element
code that describes the modelization of the global
system by means of the elements edited by the
Arch_Draw Scenario_Def
end-user. This code is mainly written in the
Scenario
QNAP2 language. The efficiency of this code
Result_Element
depends upon the internal structure of the basic
models. Before the code is generated, the validity
Result_View Basic Models
e) Processor : This process compiles and
executes the generated code. It requires the
description of the simulation experiment which
includes a number of data for simulation control
Code_Generator I.1.3 Files containing the description of the system Data + Simulation Processor
a) Arch_Descrip : A file which contains the
description of the system edited. This file is
b) Scenario_Descrip : This file contains the figure 1 : The architecture of the AMS
functional description of the simulation steps. It is
Hereafter follows a description of these
c) Result_Descrip : This file contains the
description of the results. It is generated by the
I.1.1 Objects manipulated by the user
a) Basic Models : The core of the AMS is the
d) Simul_Descrip : This file contains code that
library of basic models. A basic model is mainly a
describes the modelization of the whole system. It
communication entity such as a standard network,
is generated by the Code_Generator process.
protocol, gateway, etc. Each basic model is
e) Results : This file corresponds to simulation
characterized by a definite number of parameters
results The results are presented under the form
and an exhaustive list of measurements; in fact,
In order to facilitate the use of these models, their
I.2. Functional description of AMS
interconnection and their maintenance, a unified
The AMS is composed of four processes which
internal architecture for basic models is defined
are Arch_Draw, Scenario_Def, Result_View and
(see the following section) and used to structure
Code_Generator. These processes, except the last
one, execute their codes in parallel. They
b) Draw_Elements : Design objects for basic
c) Scenario_Elements : These objects define the
scenario which will be followed during the
Let us describe how an end-user works with the
AMS. First of all, he executes the Arch_Draw
d) Result_Elements : These objects define the
type and the form of results the end-user wants to
Draw_Element, he prepares the system to be
modeled. For each basic model, he can modify the
predefined values of parameters while taking into
account the variation limits of the parameters.
a) Arch_Draw : It is the process that allows the
With regard to measurements, the end-user can
end-user to edit his system graphically. It
generates the description of the edited system.
measurements, or, for specific measurements he
The validity of the system is checked during the
edition such as the connectivity between basic
When the description of the system is complete,
he executes the Scenario_Def process, and uses
Scenario_Element to elaborate different scenarios
based on the parameters of the basic models. He
also executes the Result_View process in order to
determine the results he wants in accordance with
The end-user can call these processes in any
order. The process Code_Generator can be called
only if all the elements required to generate the
figure 2 : Internal structure of a DBM code
A DBM can have several interfaces, N in figure 2.
Calling the Code_Generator process blocks up the
That number N can either be a fixed value known
three other processes. It is going to validate the
during the modelization phase (for instance, an
different editions done by the end-user. If the
optical fiber cable can connect two workstations
process detects some contradiction or omission, it
and therefore N=2); or N can vary so that the
signals to the end-user what the problem is, stops
modeler can specify only the minimal and the
its execution, and releases the three other
maximal values (for instance, an Ethernet cable
processes, in order to allow the end-user to
The validity of the interconnection between
To launch the simulation the end-user has to
themselves but with tools belonging to the AMS.
II. Basic Models
Figure 3 shows how an interface, using messages,
reacts with its BE and with the outside world (i.e.
another interface belonging to another DBM).
II.1 Internal structure of basic models Each basic model is to be detailed so as to reflect
its exact behavior. Hence, we have to specify the
functions performed by the basic model as exactly
as possible. Hereafter, basic models will be called
Detailed Basic Models (DBMs). The primary
advantage of this approach is to have accurate
measurements and to highlight the largest
possible number of parameters to characterize the
As a rule, a DBM can't be used alone, it must be
figure 3 : A DBM with its BE and one Interface
connected with one or several other DBMs, in
Figure 4 represents a standard interface with its
order to make up a complex system. That's why
two internal queues. Qio receives messages from
each DBM needs one or more interfaces so as to
the outside, to be sent later to the BE. Qii receives
messages from the BE to be sent later to another
Figure 2 shows the structure of a DBM code.
There are three blocks : Behavior Engine (BE),
Interfaces (Int) and Measurement Block (MB).
In the BE block, we find a modelization of the
behavior of the DBM. The behavior is controlled
by a set of parameters so that the end-user can
choose the values he wants to allocate to each
Seen from the outside, all the interfaces are
similar but they differ in the way they interact
with their BEs. An interface doesn't play any
active role, its main function is to convey
messages from a BE to the outside and vice versa.
Each DBM has an identifier on which we find the
exhaustive list of parameters and their default
values, the measurement list, and a few text lines,
summarizing the main functions of the DBM.
• Unless deleting a part of the behavior entails
deleting the measurements associated with that
II. 2 Reduced Basic Models (RBM)
part, the end-user is not aware of the existence
Each basic model is to be detailed so as to reflect
of RBMs and DBMs, all that he knows, is that
its exact behavior. Namely, the functions
performed by the basic model are to be specified
• The same DBM code can be broken down into
as exactly as possible. The reasons why we have
several RBMs, depending on which part is to
be deleted. That is why the DBM code has to
• to have a model behavior close to a real
• to derive accurate measurements from the
For the deletion to be efficient, the DBM code
must be written in such a way as to facilitate this
However, this approach has some drawbacks
task. In other words, the different parts of the
because of the large size of the code resulting
• the compilation is very time consuming;
II.2.2 Logical y reducing the size of the code
• the simulation is also very time consuming;
With this method, no part of the DBM's code is
• the code describing a system is, of course, very
deleted physically but some parts of it will not be
executed when the simulation is running.
several DBMs, each of them having a long
The model builder (modeler) adds a set of
• during the simulation run, a large-sized
predicates in the DBM's code. Each predicate
governs a part of the code and when this predicate
• the end-user will be submerged with details, so
is true, the code associated with it will be
that his work for editing will be difficult.
executed, whereas if this predicate is false the
In order to soften the effects of these drawbacks,
Each predicate is a combination of elementary
eliminating, for example less significant details.
conditions : let C=(c1, c2,.,cn) be the elementary
The code so obtained will be called RBM for
conditions vector, with ci equal to 1 or 0, and
Reduced Basic Model. To do this, we are faced
P=(p1, p2,., pm) the predicate vector with
pi=f(C), i=1, 2,., m, fi is a logical function using
• how can less significant details be chosen ?
operators such as AND, OR, NOT, etc. We can
• during the construction of the system code, the
have 2n different vectors C and k vectors P with
question that arises is : for which component is
k≤ 2min(n,m). We can have k different versions of
the DBM required ? and for which one is the
RBM sufficient ?; the choice may be made
II.2.3. Using assumptions to simplify the DBM
even more difficult, because each DBM can
The third method consists of simplifying the
The primary drawback of reducing DBMs is that
DBM's code by making assumptions aimed at
the simulation measurements are less accurate,
reducing the complexity of some algorithms
because the RBMs do not reflect the whole
which describe the behavior. This can be done by
behavior of the real system. An RBM has the
physically replacing the complex algorithms with
There are several methods to reduce a DBM code,
II.2.4. The problems which arise when we want to II.2.1. Physical y reducing the size of the code
The following choices have to be made by a
competent modeler who has to decide which part
In order to reduce the size of a code, each DBM
of code is to be deleted, which algorithm is to be
will have several parts of its code deleted
replaced, etc. Besides, he has to determine which
physically. These parts may represent more or
parts of the DBM's code significantly influence
less significant parts of the whole behavior, yet,
deleting them does not significantly change the
behavior, in so far as the remaining code is still
To achieve this, the modeler can be helped in
three ways : either by experts in the field of
network communications; or by researchers'
Conclusion
theoretical and experimental studies; or he can
The paper describes briefly the atelier AMS,
make a simulation, called local simulation, for a
designed to evaluate the performance of open
specific DBM, possibly interconnecting it to the
systems. It comprises a library of basic models.
minimum number of DBMs required to have a
An internal structure is proposed for these
models. The description of a basic model have to
The modeler will often use the hybrid method
be reduced, in order to diminish the impact of
(when several methods are used to reduced one
DBM) because it gives him much flexibility, but
memory size. These drawbacks appear when the
this flexibility involves building several RBMs
system under study is more or less complex.
from the same DBM. This proliferation of RBMs
entails several problems which are fairly hard to
References
resolve. The first problem can be phrased as
[1] M. A. Marsan, G. Balbo, G. Bruno, F. Neri,
follows : "Given a DBM to be reduced, which
"TOPNET : A Tool for the Visual Simulation of
Communication Networks". IEEE Journal on Selected
Areas in Comm., Vol. 8, no 9, 1735-1747, Dec. 90.
II.3. Generic Models (GeMs)
[2] D. W. Bachmann, M. E. Segal, M. M. Srinivasan,
and T. J. Teorey, "NetMod: A Design Tool for Large-
In order to classify basic models, we define what
Scale Heterogeneous Campus Networks", IEEE Journal
we call the Generic Models (GeMs), which are
on Selected Areas in Comm., Vol. 9, no 1, 1735-1747,
model classes. Each Basic model belongs to one
or several GeMs according to the functionalities
[3] K. S. Shanmugan, V. S. Frost, W. LaRue, "A block-
which it handles. This classification will allow us
Oriented Network Simulator", Simulation, 83-94,
to use a tool to verify the validity of a system
[4] A. Cohen and R. Mrabet, "AMS : Atelier for
The classification of the basic models will be
done on the basis of several criteria, for instance,
[5] A. Cohen and R. Mrabet, "AMS : Internal structure
the largest possible number of links between one
for Basic Models", Internal Report, IIHE/HELIOS-B-
basic model and the other ones; the OSI stack
[6] "QNAP2 User's Manual", Simulog S.A. 1992.
layer a basic model belongs to; the fact that a
[7] "QNAP2 Reference Manual", Simulog S.A. 1992.
basic model is terminal or not, namely generating
[8] "GSS4 User's Guide", Simulog S.A. 1992.
Acknowledgments II.4. Local and Global Measurements
We wish to express our gratitude to SAIT
Electronics with whom we are colaborating on the
OSISIM project. We also gratefully acknowledge
measurements, called local measurements (LMs).
A default list is also defined for each basic model.
In general, the defaults lists are defined in the
same manner for all basic models and contain
typical measurements which are related to the
information handled by basic models or to the use
Although typical measurements are defined in the
same way, they are processed differently because
basic models behave in different manners.
The end-user is not only interested in LMs, but
also in measurements related to the whole system
which (s)he has edited. These measurements are
called the global measurements (GMs). The AMS
gives the end-user the means to define a GM in
function of LMs, but the semantic of the GMs has
to be defined by the end-user, except for some
verifications which are done by the AMS in
Infectious Diseases Society of America Guidelinesfor the Diagnosis and Treatment of AsymptomaticBacteriuria in Adults Lindsay E. Nicolle,1 Suzanne Bradley,2 Richard Colgan,3 James C. Rice,4 Anthony Schaeffer,5 and Thomas M. Hooton6 1University of Manitoba, Winnipeg, Canada; 2University of Michigan, Ann Arbor; 3University of Maryland, Baltimore; 4University of Texas,Galveston; 5Northwestern Univ
Há línguas que são pátrias. O ladino é casa. Em vias de extinção como uma língua quotidiana, há quem continue a querer fazer do ladino casa. Não é preciso falar. Pode-se cantar. Como Yasmin Levy. O ladino está a morrer; o de Yasmin Levy é feita de acasos e é israelita de ascendêndia marroquina, por isso que não acredita neles. Sonhos sonhou ser veterinária. E depois de ser r