Currently available network
simulators are complex and focus on packet level issues. In order to use
such simulators for a simulation verifying a simple concept, one has to
learn the complex underlying system that the simulator is based on. This is
time consuming and counterproductive in many cases.
The aim of this project is to
create a simple yet powerful cellular network simulator that focuses on the
simulation of concepts and comparative performance studies rather than
absolute performance studies that are dependent on the underlying system
specifics. The aim is also to create the simulator to be extremely modular,
such that swapping of existing components is trivial to the point of not
requiring any code modifications, and creation of new components that easily
fit into the simulator is a simple and well defined process.
There are a number of
academic as well as commercial simulators or simulation packages available
for various uses. None of these however lends itself easily to the
simulation of cellular networks from a high level perspective as opposed to
a packet level perspective. It has been noted by many members of our group
that it would often be useful to be able to abstract from packet level
detail when attempting to verify concepts in initial stages. It has also
been identified that system specific details such as MAC layer protocol
etc., are often not important in the initial stages of design when dealing
with such issues as admission control algorithms and mobility prediction.
These problems require a higher level view of the cellular network in order
to speedily verify their relative performance.
A simulator that abstracts
from packet level traffic was proposed, where the basic entities would be
mobile terminals and cells. Each mobile terminal can create traffic flows,
however these are considered only as a resource use, not as actual traffic
flowing through the network. It is then possible to perform various
admission control schemes as well as generate various mobility traces using
such a model, without having to delve deep into the network specifics.
There are a number of major
goals in designing such a simulator:
The design and the implementation of this simulator should be such that
each part of the simulator is a module that can be replaced with ease by a
module of the same type but a different implementation. What this means is
that an admission control module should be easily replaced by any other
admission control module without any need to modify the rest of the
simulator. This allows for quick testing of any new admission control
scheme in this example. By creating the entire simulator out of such
modules, any part of the simulator can be replaced to achieve whatever
desired behavior. This can include handoff schemes, mobility models,
admission control schemes etc.
Ease of use
If the modules that the user wishes to simulate with have already been
created, then it should be easy for the user to run simulations with these
modules. Easy in this case means no code modifications and a small
learning curve as to simulator specific information. We aim to achieve a
simulator that can be run using a web front end where a user can enter
some parameters, run the simulation and be presented with some results.
This simulator should be able to simulate many different scenarios, past
the ones envisioned by the authors. The event driven core of the simulator
should allow for a great degree of generality such that the simulator is
useful to a wide range of researchers as opposed to a few members of our
With these goals in mind, the
software design process in currently underway and we hope to have a working
simulator very soon.