Anda di halaman 1dari 33

CanuMobiSim a framework for user mobility modeling

Copyright 2001-2005 Universitt Stuttgart


























Contact

Illya Stepanov

Universitt Stuttgart
Institute of Parallel and Distributed Systems
Universittsstr. 38
70569 Stuttgart
Germany

Phone: ++49-(0)711-7816 442
Fax: ++49-(0)711-7816 424
E-Mail: illya.stepanov@informatik.uni-stuttgart.de

1
Contents

1. Introduction............................................................................................................... 4
2. Installation................................................................................................................. 4
3. Format of Simulation Scenario................................................................................ 4
3.1 Specifying Simulation Area.............................................................................. 4
3.2 Adding a Global Extension to Simulation ...................................................... 5
3.3 Adding a Node to Simulation........................................................................... 5
3.3.1 Specifying the Nodes Initial Position ..................................................... 6
3.4 Adding a Group of Nodes to Simulation......................................................... 7
4. Globally Specified Extensions.................................................................................. 7
4.1 Spatial Environment......................................................................................... 7
4.2 Parser for GDF Data Sources .......................................................................... 8
4.3 Parser for AWML Data Sources ..................................................................... 8
4.4 Extract Points of Interest ................................................................................. 9
4.5 Graph Representation of Movement Area ................................................... 10
4.5.1 Specifying a Graphs Vertex.................................................................. 11
4.5.2 Specifying a Graphs Edge..................................................................... 12
4.6 Randomly Assigning Nodes Initial Positions .............................................. 12
4.7 Randomly Generating Nodes Trips ............................................................. 12
4.8 Generating Trips According to Automaton of Activity Sequences............ 14
4.8.1 Specifying an Automatons Activity...................................................... 16
4.8.1.1 Specifying a Location for the Activitys Execution.......................... 17
4.8.2 Specifying an Automatons Transition ................................................. 18
4.9 Tracking the Simulation Scenario Processing.............................................. 18
4.10 Tracking Debug Information......................................................................... 19
4.11 Producing Mobility Traces for NS-2 Simulation Environment.................. 19
4.12 Producing Mobility Traces for GloMoSim Simulation Environment ....... 19
4.13 Controlling the Simulations Time................................................................ 20
4.14 Visualizing the Simulation ............................................................................. 20
5. Node-Specific Extensions (Mobility Models)........................................................ 21
5.1 Simulating Nodes Movements as the Brownian Motion............................ 21
5.2 Simulating Nodes Movements as the Gauss-Markov Random Motion.... 21
5.3 Simulating Nodes Movements as the Incrementally Changed Random
Motion.......................................................................................................................... 22
5.4 Simulating Nodes Movements as the Random Waypoint Movement....... 23
5.5 Simulating Nodes Movements using the Graph-Based Mobility Model .. 24
5.6 Simulating Nodes Motion as the Constant Speed Motion ......................... 24
5.7 Simulating Nodes Motion using the Fluid Traffic Model .......................... 25
5.8 Simulating Nodes Motion using the Intelligent Driver Motion................. 26
5.9 Simulating Nodes Motion using the Smooth Motion.................................. 27
5.9.1 Specifying Nodes Preferred Speeds...................................................... 28
5.10 Simulating Static Nodes.................................................................................. 28
6. Deriving User Activity Sequences from User Position Traces............................ 29
6.1 Launching the Module.................................................................................... 29
6.2 Format of Scenario File for Deriving User Activity Sequences.................. 29
2
6.3 Format of a User Position Trace.................................................................... 29
7. References................................................................................................................ 31
8. Acknowledgements ................................................................................................. 33

3

1. Introduction

CanuMobiSim is a framework for user mobility modeling used by the CANU (Commu-
nication in Ad Hoc Networks for Ubiquitous Computing) Research Group [1], University
of Stuttgart. The framework includes a number of mobility models, as well as parsers for
geographic data sources in various formats, and a visualization module. The framework is
easily extensible. It is based on the concept of pluggable modules.


2. Installation

The frameworks binary files are compressed to a jar-archive. To start the application,
you need the J AVA Runtime Environment (v1.3 or later) [10] and the Xerces2 J ava
Parser library (v2.4 or later) [19]. If you work with geographic data in AWML or GDF
format, you also need the GeoTransform package [7].

To launch the framework, change to the directory with frameworks files and type:

java -jar CanuMobiSim.jar [scenario.xml]

The framework simulates user mobility according to a simulation scenario. On exit, it
returns one of the following codes:

0 successful execution,
1 simulation aborted, error message is written to System.err


3. Format of Simulation Scenario

The simulation scenario for CanuMobiSim is defined in XML format. In the notation be-
low, tags or attributes appearing in square brackets (e.g., [<sample/>]) are optional.


3.1 Specifying Simulation Area

A simulation area is specified using the <universe> tag.

<universe>
[<dimx>dimension</dimx>]
[<dimy>dimension</dimy>]
[<step>step</step>]
[<extension>extension_parameters</extension>]
[<node>node_parameters</node>]
[<nodegroup>nodegroup_parameters</nodegroup>]
</universe>

4
dimx specifies the x-dimension of simulation area (in meters). Only used in the
scenarios with rectangular-bounded simulation area
dimy specifies the y-dimension of simulation area (in meters). Only used in the
scenarios with rectangular-bounded simulation area
step specifies the duration of single simulation time-step (in s). If omitted, the
value of 1 ms is used
extension adds an instance of global extension to simulation
node adds a node to simulation
nodegroup adds a group of nodes to simulation

Example:

<universe>
<dimx>1000.0</dimx>
<dimy>1000.0</dimy>
<extension class="de.uni_stuttgart.informatik.canu.mobisim.extensions.NSOutput" />
<nodegroup n="50">
<extension class="de.uni_stuttgart.informatik.canu.uomm.ConstantSpeedMotion"
initposgenerator="PosGen" tripgenerator="TripGen">
<minspeed>0.56</minspeed>
<maxspeed>1.39</maxspeed>
</extension>
</nodegroup>
</universe>


3.2 Adding a Global Extension to Simulation

An instance of global extension is added using the <extension> tag.

<extension class=class_name [name=instance_name]>
[extension_parameters]
</extension>

class specifies the name of class to be instantiated. The class must be derived
from de.uni_stuttgart.informatik.canu.mobisim.core.ExtensionModule and be accessible by
J VM
name specifies the name of class instance. Used to uniquely identify and refer-
ence the instance in simulation. Most of extensions have their default name prede-
fined

Example:

<extension
class="de.uni_stuttgart.informatik.canu.mobisim.simulations.TimeSimulation"
param="3600.0" />


3.3 Adding a Node to Simulation

A node is added to simulation using the <node> tag.
5

<node [class=class_name] id=node_id>
[<position>position_parameters</position>]
[<extension>extension_parameters</extension>]
</node>

class specifies the nodes class name. The class must be derived from
de.uni_stuttgart.informatik.canu.mobisim.core.Node and be accessible by the J VM. If
omitted, de.uni_stuttgart.informatik.canu.mobisim.core.Node is used
id specifies the nodes id. Used to uniquely identify and reference the node in
simulation
position specifies the nodes initial position
extension adds an extension to the node (e.g., instance of mobility model)

Example:

<node id="#0">
<position random="true"/>
<extension
class="de.uni_stuttgart.informatik.canu.mobisim.mobilitymodels.RandomWaypointWalk">
<minspeed>0.56</minspeed>
<maxspeed>1.39</maxspeed>
<minstay>120.0</minstay>
<maxstay>600.0</maxstay>
</extension>
</node>


3.3.1 Specifying the Nodes Initial Position

The nodes initial position is specified using the <position> tag.

<position [graph=graph_instance_name] [random=is_random]>
[<x>x_value</x>]
[<y>y_value</y>]
</position>

graph if the position belongs to the graph, specifies the name of graph instance
(class de.uni_stuttgart.informatik.canu.mobisim.extensions.Graph). Used by the graph-
based mobility model
random specifies that the position must be chosen randomly. The value is of Boo-
lean type. If the position belongs to a graph, it will be chosen randomly from the
graph vertices
x specifies the positions x-coordinate (in m)
y specifies the positions y-coordinate (in m)

Example:

<position>
<x>12.0</x>
<y>25.0</y>
6
</position>


3.4 Adding a Group of Nodes to Simulation

Multiple nodes (a group of nodes) are added to the simulation using the <nodegroup> tag.

<nodegroup n=number_of_nodes [class=class_name] [id=group_id]>
[<position>position_parameters</position>]
[<extension>extension_parameters</extension>]
</nodegroup>

n specifies the number of nodes in the group
class specifies the nodes class name. The class must be derived from
de.uni_stuttgart.informatik.canu.mobisim.core.Node and be accessible by the J VM. If
omitted, de.uni_stuttgart.informatik.canu.mobisim.core.Node is used
id specifies the group id. Used for choosing nodes identifiers by concatenating
the group id with the nodes sequence number
position specifies the initial position for all nodes in the group
extension adds instances of extension to each node

Example:

<nodegroup n="50">
<extension class="de.uni_stuttgart.informatik.canu.uomm.ConstantSpeedMotion"
initposgenerator="PosGen" tripgenerator="TripGen">
<minspeed>0.56</minspeed>
<maxspeed>1.39</maxspeed>
</extension>
</nodegroup>


4. Globally Specified Extensions

The following extensions can be added globally to a simulation.


4.1 Spatial Environment

A spatial environment is added with an instance of de.uni_stuttgart.informatik.canu.spatialmodel.
core.SpatialModel extension. By default, the spatial environment is a rectangular-bounded
area. Later it can be initialized from an appropriate geographic data source.

<extension class=de.uni_stuttgart.informatik.canu.spatialmodel.core.SpatialModel
[name=instance_name] />

name specifies the name of class instance. Used to uniquely identify and refer-
ence the instance in simulation. The default name is SpatialModel. Changing the
default name is not recommended
7

Example:

<extension class="de.uni_stuttgart.informatik.canu.spatialmodel.core.SpatialModel" />


4.2 Parser for GDF Data Sources

A spatial environment is loaded from a GDF data source [6] by an instance of
de.uni_stuttgart.informatik.canu.gdfreader.GDFReader extension. The coordinates of created ele-
ments are relative to the sources minimal x- and y- coordinates.

<extension class=de.uni_stuttgart.informatik.canu.gdfreader.GDFReader
source=file_name [name=instance_name] [scale_x=value] [scale_y=value]
[min_x=value] [min_y=value] [max_x=value] [max_y=value] />

name specifies the name of class instance. Used to uniquely identify and refer-
ence the instance in simulation. The default name is GDFReader
source specifies the name of GDF file to parse. The name is relative to current di-
rectory
scale_x specifies the scale factor for x-coordinates. If omitted, the value of 0.01
is used
scale_y specifies the scale factor for y-coordinates. If omitted, the value of 0.01
is used
min_x specifies the leftmost x-coordinate of clipping window (in m). The co-
ordinate is relative to the sources minimal x-coordinate. Used to process a part of
geographic area
min_y specifies the lowermost y-coordinate of clipping window (in m). The
coordinate is relative to the sources minimal y-coordinate. Used to process a part
of geographic area
max_x specifies the rightmost x-coordinate of clipping window (in m). The
coordinate is relative to the sources maximal x-coordinate. Used to process a part
of geographic area
max_y specifies the uppermost y-coordinate of clipping window (in m). The
coordinate is relative to the sources maximal y-coordinate. Used to process a part
of geographic area

Example:

<extension
class="de.uni_stuttgart.informatik.canu.gdfreader.GDFReader"
source="GIS Data/Schwabch.gdf" min_x="4000" max_x="6000" min_y="3000" max_y="4000"
/>


4.3 Parser for AWML Data Sources

8
A spatial environment is loaded from an AWML data source (used by the Nexus project
[12]) by an instance of de.uni_stuttgart.informatik.canu.awmlreader.AWMLReader extension. The
coordinates of created elements are relative to the sources minimal x- and y- coordinates.

<extension class=de.uni_stuttgart.informatik.canu.awmlreader.AWMLReader source=file_name
[name=instance_name] [min_x=value] [min_y=value] [max_x=value] [max_y=value] />

name specifies the name of class instance. Used to uniquely identify and refer-
ence the instance in simulation. The default name is AWMLReader
source specifies the name of AWML file to parse. The name is related to current
directory
min_x specifies the leftmost x-coordinate of clipping window (in m). The co-
ordinate is relative to the sources minimal x-coordinate. Used to process a part of
geographic area
min_y specifies the lowermost y-coordinate of clipping window (in m). The
coordinate is relative to the sources minimal y-coordinate. Used to process a part
of geographic area
max_x specifies the rightmost x-coordinate of clipping window (in m). The
coordinate is relative to the sources maximal x-coordinate. Used to process a part
of geographic area
max_y specifies the uppermost y-coordinate of clipping window (in m). The
coordinate is relative to the sources maximal y-coordinate. Used to process a part
of geographic area

Example:

<extension
class="de.uni_stuttgart.informatik.canu.awmlreader.AWMLReader"
source="GIS Data/alles.awml" />


4.4 Extract Points of Interest

An instance of de.uni_stuttgart.informatik.canu.spatialmodel.extensions.ExtractPointsOfInterest exten-
sion extracts from the spatial environment coordinates of points of interest of given type.

<extension
class=de.uni_stuttgart.informatik.canu.spatialmodel.extensions.ExtractPointsOfInterest
[name=instance_name] [output=file_dest]>
<theme_code>code</theme_code>
</extension>

name specifies the name of class instance. Used to uniquely identify and refer-
ence the instance in simulation. The default name is ExtractPointsOfInterest
output specifies the file to which the output must be written. The name is related
to current directory. If omitted, System.err is used
theme_code specifies the theme code of elements to be extracted (as defined in
the GDF specification [6])
9

Example:

<extension
class="de.uni_stuttgart.informatik.canu.spatialmodel.extensions.ExtractPointsOfInterest"
output="banks.txt">
<theme_code>7328</theme_code>
</extension>


4.5 Graph Representation of Movement Area

A graph representation of movement area is added to simulation with an instance of
de.uni_stuttgart.informatik.canu.mobisim.extensions.Graph extension. It is used by the graph-based
mobility model.

<extension class=de.uni_stuttgart.informatik.canu.mobisim.extensions.Graph
[name=instance_name] [k=scale_coefficient]>
<vertex>vertex_parameters</vertex>
<edge>edge_parameters</edge>
</extension>

name specifies the name of class instance. Used to uniquely identify and refer-
ence the instance in simulation. The default name is Graph
k specifies the scale factor for vertices coordinates. If omitted, the value of 1.0
is used
vertex specifies a graphs vertex
edge specifies a graphs edge

Example:

<extension class="de.uni_stuttgart.informatik.canu.mobisim.extensions.Graph" name="g1">
<vertex>
<id>0</id>
<x>800</x>
<y>200</y>
</vertex>
<vertex>
<id>1</id>
<x>500</x>
<y>600</y>
</vertex>
<vertex>
<id>2</id>
<x>700</x>
<y>500</y>
</vertex>
<vertex>
<id>3</id>
<x>200</x>
<y>300</y>
</vertex>
<vertex>
<id>4</id>
<x>800</x>
10
<y>400</y>
</vertex>
<vertex>
<id>5</id>
<x>300</x>
<y>100</y>
</vertex>
<edge>
<v1>0</v1>
<v2>1</v2>
</edge>
<edge>
<v1>0</v1>
<v2>2</v2>
</edge>
<edge>
<v1>1</v1>
<v2>3</v2>
</edge>
<edge>
<v1>1</v1>
<v2>4</v2>
</edge>
<edge>
<v1>2</v1>
<v2>4</v2>
</edge>
<edge>
<v1>3</v1>
<v2>5</v2>
</edge>
<edge>
<v1>4</v1>
<v2>5</v2>
</edge>
</extension>


4.5.1 Specifying a Graphs Vertex

A graphs vertex is specified using the <vertex> tag.

<vertex>
<id>id</id>
<x>x_value</x>
<y>y_value</y>
</vertex>

id specifies the vertexs id. Used to uniquely identify and reference the vertex in
the graph
x specifies the vertexs x-coordinate (in m)
y specifies the vertexs y-coordinate (in m)

Example:

<vertex>
<id>0</id>
<x>800</x>
11
<y>200</y>
</vertex>


4.5.2 Specifying a Graphs Edge

A graphs edge is specified using the <edge> tag.

<edge>
<v1>v_id</v1>
<v2>v_id</v2>
</edge>

v1 specifies the id of first edges vertex
v2 specifies the id of second edges vertex

Example:

<edge>
<v1>0</v1>
<v2>1</v2>
</edge>


4.6 Randomly Assigning Nodes Initial Positions

To randomly assign nodes initial positions in specific mobility models (Constant Speed
Motion, Fluid Traffic Model, Intelligent Driver Motion, and Smooth Motion), an instance
of de.uni_stuttgart.informatik.canu.tripmodel.generators.RandomInitialPositionGenerator extension is
used. The positions are chosen from the points of movement area belonging to the spatial
environment.

<extension
class=de.uni_stuttgart.informatik.canu.tripmodel.generators.RandomInitialPositionGenerator
name=instance_name>
[<points>points_source</points>]
</extension>

name specifies the name of class instance. Used to uniquely identify and refer-
ence the instance in simulation
points specifies the name of file containing possible initial positions. The name is
related to current directory

<extension name="PosGen"
class="de.uni_stuttgart.informatik.canu.tripmodel.generators.RandomInitialPositionGenerator"
>
<points>points.txt</points>
</extension>


4.7 Randomly Generating Nodes Trips
12

To randomly generate nodes trips in specific mobility models (Constant Speed Motion,
Fluid Traffic Model, Intelligent Driver Motion, and Smooth Motion), an instance of
de.uni_stuttgart.informatik.canu.tripmodel.generators.RandomTripGenerator extension is used. The
trips are produced between the points of movement area belonging to spatial environ-
ment. For path searching, Dijkstra shortest-path algorithm [5] is used by default. As an
option, Dials STOCH algorithm [4] can be used. It is also possible to specify own path
searching algorithm.

<extension class=de.uni_stuttgart.informatik.canu.tripmodel.generators.RandomTripGenerator
name=instance_name path_algorithm=class_name [path_algorithm_parameters]>
[<reflect_directions>value</reflect_directions>]
[<points>points_source</points>]
<minstay>minstay_value</minstay>
<maxstay>maxstay_value</maxstay>
</extension>

name specifies the name of class instance. Used to uniquely identify and refer-
ence the instance in simulation
path_algorithm specifies the algorithm used for path searching. The corresponding
class must de derived from de.uni_stuttgart.informatik.canu.tripmodel.core.PathSearch-
ingAlgorithm and be accessible by J VM. If omitted, de.uni_stuttgart.informatik.canu.
tripmodel.pathalgorithms.Dijkstra is used
path_algorithm_parameters specify optional parameters of the path searching algo-
rithm. de.uni_stuttgart.informatik.canu.tripmodel.pathalgorithms.Dijkstra does not take any
parameters. de.uni_stuttgart.informatik.canu.tripmodel.pathalgorithms.PedestrianStochPathSe-
lection and de.uni_stuttgart.informatik.canu.tripmodel.pathalgorithms.VehicularStochPathSe-
lection require a parameter theta specifying an importance of path length on
users choice [14]. Upon calculating the weights of transportation links,
de.uni_stuttgart.informatik.canu.tripmodel.pathalgorithms.VehicularStochPathSelection
counts only the nodes moving according to the Fluid Traffic Model and the
Intelligent Driver Motion!
reflect_directions specifies if restrictions of movement area (e.g., one-way street)
must be considered during path searching (true or false). If omitted, the value
of false is used
points specifies the name of file containing possible destination points for trips.
The name is related to current directory
minstay specifies the minimal stay duration between two successive trips (in s)
maxstay specifies the maximal stay duration between two successive trips (in s)

Example:

<extension name="TripGen"
class="de.uni_stuttgart.informatik.canu.tripmodel.generators.RandomTripGenerator">
<points>points.txt</points>
<minstay>120.0</minstay>
<maxstay>600.0</maxstay>
</extension>

13
<extension name="TripGen"
class="de.uni_stuttgart.informatik.canu.tripmodel.generators.RandomTripGenerator"
path_algorithm=
"de.uni_stuttgart.informatik.canu.tripmodel.pathalgorithms.PedestrianStochPathSelection"
theta="0.3">
<minstay>120.0</minstay>
<maxstay>600.0</maxstay>
</extension>


4.8 Generating Trips According to Automaton of Activity Sequences

To place nodes initially and to produce trips according to automaton of activity sequences
in specific mobility models (Constant Speed Motion, Fluid Traffic Model, Intelligent
Driver Motion, and Smooth Motion), an instance of de.uni_stuttgart.informatik.canu.tripmodel.
generators.ActivityBasedTripGenerator extension is used. The trips are produced between
points of movement area belonging to spatial environment. For path searching, Dijkstra
shortest-path algorithm [5] is used by default. As an option, Dials STOCH algorithm [4]
can be used. It is also possible to specify own path searching algorithm.

<extension class=de.uni_stuttgart.informatik.canu.tripmodel.generators.ActivityBasedTripGenerator
name=instance_name path_algorithm=class_name [path_algorithm_parameters]>
[<reflect_directions>value</reflect_directions>]
<activity>activity_parameters</activity>
<transition>transition_parameters</transition>
</extension>

name specifies the name of class instance. Used to uniquely identify and refer-
ence the instance in simulation
path_algorithm specifies the algorithm used for path searching. The corresponding
class must de derived from de.uni_stuttgart.informatik.canu.tripmodel.core.PathSearch-
ingAlgorithm and be accessible by J VM. If omitted, de.uni_stuttgart.informatik.canu.
tripmodel.pathalgorithms.Dijkstra is used
path_algorithm_parameters specify optional parameters of the path searching algo-
rithm. de.uni_stuttgart.informatik.canu.tripmodel.pathalgorithms.Dijkstra does not take any
parameters. de.uni_stuttgart.informatik.canu.tripmodel.pathalgorithms.PedestrianStochPathSe-
lection and de.uni_stuttgart.informatik.canu.tripmodel.pathalgorithms.VehicularStochPathSelec-
tion require a parameter theta specifying an importance of path length on users
choice [14]. Upon calculating the weights of transportation links,
de.uni_stuttgart.informatik.canu.tripmodel.pathalgorithms.VehicularStochPathSelection
counts only the nodes moving according to the Fluid Traffic Model and the
Intelligent Driver Motion!
reflect_directions specifies if restrictions of movement area (e.g., one-way street)
must be considered during path searching (true or false). If omitted, the value
of false is used
activity specifies the automatons activity
transition specifies the automatons transition between activities

Example:

14
<extension name="Gen"
class="de.uni_stuttgart.informatik.canu.tripmodel.generators.ActivityBasedTripGenerator">
<activity id="initial">
<points>points.txt</points>
<minstay>0.0</minstay>
<maxstay>0.0</maxstay>
</activity>
<activity id="shopping">
<points>shopping.txt</points>
<minstay>1800.0</minstay>
<maxstay>2700.0</maxstay>
</activity>
<activity id="museum">
<points>museum.txt</points>
<minstay>1200.0</minstay>
<maxstay>3600.0</maxstay>
</activity>
<activity id="restaurant">
<points>restaurant.txt</points>
<minstay>1200.0</minstay>
<maxstay>3000.0</maxstay>
</activity>
<transition>
<src>initial</src>
<dest>shopping</dest>
<p>0.55</p>
</transition>
<transition>
<src>initial</src>
<dest>museum</dest>
<p>0.45</p>
</transition>
<transition>
<src>shopping</src>
<dest>museum</dest>
<p>0.80</p>
</transition>
<transition>
<src>shopping</src>
<dest>restaurant</dest>
<p>0.20</p>
</transition>
<transition>
<src>museum</src>
<dest>shopping</dest>
<p>0.40</p>
</transition>
<transition>
<src>museum</src>
<dest>restaurant</dest>
<p>0.60</p>
</transition>
<transition>
<src>restaurant</src>
<dest>initial</dest>
<p>1.0</p>
</transition>
</extension>

<extension name="Gen"
class="de.uni_stuttgart.informatik.canu.tripmodel.generators.ActivityBasedTripGenerator"
path_algorithm=
15
"de.uni_stuttgart.informatik.canu.tripmodel.pathalgorithms.PedestrianStochPathSelection"
theta="0.3">
<activity id="initial">
<points>points.txt</points>
<minstay>0.0</minstay>
<maxstay>0.0</maxstay>
</activity>
<activity id="shopping">
<points>shopping.txt</points>
<minstay>1800.0</minstay>
<maxstay>2700.0</maxstay>
</activity>
<activity id="museum">
<points>museum.txt</points>
<minstay>1200.0</minstay>
<maxstay>3600.0</maxstay>
</activity>
<activity id="restaurant">
<points>restaurant.txt</points>
<minstay>1200.0</minstay>
<maxstay>3000.0</maxstay>
</activity>
<transition>
<src>initial</src>
<dest>shopping</dest>
<p>0.55</p>
</transition>
<transition>
<src>initial</src>
<dest>museum</dest>
<p>0.45</p>
</transition>
<transition>
<src>shopping</src>
<dest>museum</dest>
<p>0.80</p>
</transition>
<transition>
<src>shopping</src>
<dest>restaurant</dest>
<p>0.20</p>
</transition>
<transition>
<src>museum</src>
<dest>shopping</dest>
<p>0.40</p>
</transition>
<transition>
<src>museum</src>
<dest>restaurant</dest>
<p>0.60</p>
</transition>
<transition>
<src>restaurant</src>
<dest>initial</dest>
<p>1.0</p>
</transition>
</extension>

4.8.1 Specifying an Automatons Activity

An activity is specified using the <activity> tag.
16

<activity id=state_id>
{<points>points_source</points><minstay>value</minstay><maxstay>value</maxvalue>}
{<location>location_parameters</location>}
</activity>

id specifies the activitys id. Used to uniquely identify and reference the corre-
sponding automatons state
points specifies the name of file containing points for the activitys execution
(mutually exclusive with the <location> tag). The name is related to current direc-
tory. Each of the points can be chosen with an equal probability
minstay specifies the minimal stay duration between two successive trips (in s)
maxstay specifies the maximal stay duration between two successive trips (in s)
location add a location for the activitys execution (mutually exclusive with the
<points> tag)

Examples:

<activity id="initial">
<points>points.txt</points>
<minstay>0.0</minstay>
<maxstay>0.0</maxstay>
</activity>

<activity id="museum">
<location>
<x>134.0</x>
<y>345.0</y>
<p>0.5</p>
<minstay>23.0</minstay>
<maxstay>60.0</maxstay>
<location>
</activity>


4.8.1.1 Specifying a Location for the Activitys Execution

A location for the activitys execution is specified using the <location> tag.

<location>
<x>x_value</x>
<y>y_value</y>
<p>p_value</p>
<minstay>value</minstay>
<maxstay>value</maxstay>
</location>

x specifies the locations x-coordinate (in m)
y specifies the locations y-coordinate (in m)
p specified the locations attractiveness (a float value between 0 and 1)
minstay specifies the minimal stay duration between two successive trips (in s)
maxstay specifies the maximal stay duration between two successive trips (in s)
17

Example:

<location>
<x>134.0</x>
<y>345.0</y>
<p>0.5</p>
<minstay>23.0</minstay>
<maxstay>60.0</maxstay>
<location>


4.8.2 Specifying an Automatons Transition

A transition is specified using the <transition> tag.

<transition>
<src>source_activity</src>
<dest>dest_activity</dest>
<p>value</p>
</transition>

src specifies the source activitys id
dest specifies the target activitys id
p specifies the transitions probability (a float value between 0 and 1)

Example:

<transition>
<src>museum</src>
<dest>restaurant</dest>
<p>0.60</p>
</transition>


4.9 Tracking the Simulation Scenario Processing

Processing of simulation scenario is tracked with an instance of de.uni_stuttgart.informatik.
canu.mobisim.extensions.LoaderOutput extension.

<extension class=de.uni_stuttgart.informatik.canu.mobisim.extensions.LoaderOutput
[name=instance_name] [output=file_dest]/>

name specifies the name of class instance. Used to uniquely identify and refer-
ence the instance in simulation. The default name is LoaderOutput
output specifies the file to which the output must be written. The name is related
to current directory. If omitted, System.err is used

Example:

<extension class="de.uni_stuttgart.informatik.canu.mobisim.extensions.LoaderOutput" />
18


4.10 Tracking Debug Information

Simulation debug information is tracked with an instance of de.uni_stuttgart.informatik.
canu.mobisim.extensions.DebugOutput extension.

<extension class=de.uni_stuttgart.informatik.canu.mobisim.extensions.DebugOutput
[name=instance_name] [output=file_dest]/>

name specifies the name of class instance. Used to uniquely identify and refer-
ence the instance in simulation. The default name is DebugOutput
output specifies the file to which the output must be written. The name is related
to current directory. If omitted, System.err is used

Example:

<extension class="de.uni_stuttgart.informatik.canu.mobisim.extensions.DebugOutput" />


4.11 Producing Mobility Traces for NS-2 Simulation Environment

Node mobility traces for NS-2 simulation environment [13] are produced with an in-
stance of de.uni_stuttgart.informatik.canu.mobisim.extensions.NSOutput extension.

<extension class=de.uni_stuttgart.informatik.canu.mobisim.extensions.NSOutput
name=instance_name] [output=file_dest]/>

name specifies the name of class instance. Used to uniquely identify and refer-
ence the instance in simulation. The default name is NSOutput
output specifies the file to which the output must be written. The name is related
to current directory. If omitted, System.out is used

Example:

<extension class="de.uni_stuttgart.informatik.canu.mobisim.extensions.NSOutput" />


4.12 Producing Mobility Traces for GloMoSim Simulation Environment

Node mobility traces for GloMoSim simulation environment [8] are produced with an
instance of de.uni_stuttgart.informatik.canu.mobisim.extensions.GlomosimOutput extension. The
information about node movements is recorded in nodes.input and mobility.in files resid-
ing in current directory.

<extension class=de.uni_stuttgart.informatik.canu.mobisim.extensions.GlomosimOutput
[name=instance_name]/>

19
name specifies the name of class instance. Used to uniquely identify and refer-
ence the instance in simulation. The default name is GlomosimOutput

Example:

<extension class="de.uni_stuttgart.informatik.canu.mobisim.extensions.GlomosimOutput" />


4.13 Controlling the Simulations Time

The simulation time controlled with an instance of de.uni_stuttgart.informatik.canu.mobisim.
simulations.TimeSimulation extension. The simulation is done when the specified time
elapses.

<extension class=de.uni_stuttgart.informatik.canu.mobisim.simulations.TimeSimulation
[name=instance_name] param=simulation_end_time/ >

name specifies the name of class instance. Used to uniquely identify and refer-
ence the instance in simulation. The default name is TimeSimulation
param specifies the simulations end time (in s)

Example:

<extension class="de.uni_stuttgart.informatik.canu.mobisim.simulations.TimeSimulation"
param="3600.0" />


4.14 Visualizing the Simulation

Node movements and spatial environment are visualized with an instance of
de.uni_stuttgart.informatik.canu.mobisimadd.extensions.GUI extension.

<extension class=de.uni_stuttgart.informatik.canu.mobisimadd.extensions.GUI
[name=instance_name]>
<width>value</width>
<height>value</height>
[<step>value</step>]
</extension>

name specifies the name of class instance. Used to uniquely identify and refer-
ence the instance in simulation. The default name is GUI
width specifies the width of visualization frame (in pixels)
height specifies the height of visualization frame (in pixels)
step specifies the granularity of frames refresh (in s). If omitted, the frame is
painted only once at the beginning of simulation

Example:

20
<extension class="de.uni_stuttgart.informatik.canu.mobisimadd.extensions.GUI">
<width>640</width>
<height>480</height>
</extension>


5. Node-Specific Extensions (Mobility Models)

The following extensions are specified for each node.


5.1 Simulating Nodes Movements as the Brownian Motion

Nodes movements are simulated as the Brownian Motion [3] with an instance of
de.uni_stuttgart.informatik.canu.mobisim.mobilitymodels.BrownianWalk extension. The movement
takes place within the rectangular-bounded simulation area. Spatial environment is not
considered.

<extension class=de.uni_stuttgart.informatik.canu.mobisim.mobilitymodels.BrownianWalk
[name=instance_name]>
<minspeed>value</minspeed>
<maxspeed>value</maxspeed >
[<minangle>value</minangle >]
[<maxangle>value</maxangle >]
<mindistance>value</mindistance >
<maxdistance>value</maxdistance >
</extension>

name specifies the name of class instance. Used to uniquely identify and refer-
ence the instance in the list of nodes extensions. The default name is Movement
minspeed specifies the minimal speed of movement (in m/s)
maxspeed specifies the maximal speed of movement (in m/s)
minangle specifies the minimal angle of direction change for movement (in radi-
ans). If omitted, the value of 0 is used
maxangle specifies the maximal angle of direction change for movement (in radi-
ans). If omitted, the value of 2 is used
mindistance specifies the minimal distance of single movement (in m)
maxdistance specifies the maximal distance of single movement (in m)

Example:

<extension class="de.uni_stuttgart.informatik.canu.mobisim.mobilitymodels.BrownianWalk">
<minspeed>0.56</minspeed>
<maxspeed>1.39</maxspeed>
<mindistance>5.0</mindistance>
<maxdistance>50.0</maxdistance>
</extension>


5.2 Simulating Nodes Movements as the Gauss-Markov Random Motion
21

Nodes movements are simulated as the Gauss-Markov Random Motion [15] with an in-
stance of de.uni_stuttgart.informatik.canu.mobisim.mobilitymodels.GaussMarkovWalk extension. The
movement takes place within the rectangular-bounded simulation area. Spatial environ-
ment is not considered.

<extension class=de.uni_stuttgart.informatik.canu.mobisim.mobilitymodels.GaussMarkovWalk
[name=instance_name]>
<alpha>value</alpha>
<step>value</step>
</extension>

name specifies the name of class instance. Used to uniquely identify and refer-
ence the instance in the list of nodes extensions. The default name is Movement
alpha specifies the motions tuning parameter
step specifies the time while movement is kept constant (in s)

Example:

<extension
class="de.uni_stuttgart.informatik.canu.mobisim.mobilitymodels.GaussMarkovWalk">
<alpha>0.5</alpha>
<step>25.0</step>
</extension>


5.3 Simulating Nodes Movements as the Incrementally Changed Random Mo-
tion

Nodes movements are simulated as the Incrementally Changed Random Motion [9] with
an instance of de.uni_stuttgart.informatik.canu.mobisim.mobilitymodels.IncrementalWalk extension.
The movement takes place within the rectangular-bounded simulation area. Spatial envi-
ronment is not considered.

<extension class=de.uni_stuttgart.informatik.canu.mobisim.mobilitymodels.IncrementalWalk
[name=instance_name]>
<minspeed>value</minspeed>
<maxspeed>value</maxspeed>
[<minangle>value</minangle>]
[<maxangle>value</maxangle>]
<minacc>value</minacc>
<maxacc>value</maxacc>
</extension>

name specifies the name of class instance. Used to uniquely identify and refer-
ence the instance in the list of nodes extensions. The default name is Movement
minspeed specifies the minimal speed of movement (in m/s)
maxspeed specifies the maximal speed of movement (in m/s)
minangle specifies the minimal angle of direction change for movement (in radi-
ans). If omitted, the value of 0 is used
22
maxangle specifies the maximal angle of direction change for movement (in radi-
ans). If omitted, the value of 2 is used
minacc specifies the minimal acceleration of movement (in m/s
2
)
maxacc specifies the maximal acceleration of movement (in m/s
2
)

Example:

<extension class="de.uni_stuttgart.informatik.canu.mobisim.mobilitymodels.IncrementalWalk">
<minspeed>0.56</minspeed>
<maxspeed>1.39</maxspeed>
<minacc>0.1</minacc>
<maxacc>1.0</maxacc>
</extension>


5.4 Simulating Nodes Movements as the Random Waypoint Movement

Nodes movements are simulated as the Random Waypoint Movement [11] with an in-
stance of de.uni_stuttgart.informatik.canu.mobisim.mobilitymodels.RandomWaypointWalk extension.
The movement takes place within the rectangular-bounded simulation area. Spatial envi-
ronment is not considered.

<extension class=de.uni_stuttgart.informatik.canu.mobisim.mobilitymodels.RandomWaypointWalk
[name=instance_name]>
<minspeed>value</minspeed>
<maxspeed>value</maxspeed>
<minstay>value</minstay>
<maxstay>value</maxstay>
[<stay [random=value]>[value]</stay>]
</extension>

name specifies the name of class instance. Used to uniquely identify and refer-
ence the instance in the list of nodes extensions. The default name is Movement
minspeed specifies the node minimal movement speed (in m/s)
maxspeed specifies the node maximal movement speed (in m/s)
minstay specifies the node minimal stay duration between two successive trips
(in s)
maxstay specifies the node maximal stay duration between two successive trips
(in s)
stay specifies the nodes initial stay duration (in s). If omitted, the node initiates
a new movement at the beginning of simulation
random specifies that the initial stay duration must be chosen randomly (true or
false)

Example:

<extension
class="de.uni_stuttgart.informatik.canu.mobisim.mobilitymodels.RandomWaypointWalk">
<minspeed>0.56</minspeed>
<maxspeed>1.39</maxspeed>
23
<minstay>120.0</minstay>
<maxstay>600.0</maxstay>
</extension>


5.5 Simulating Nodes Movements using the Graph-Based Mobility Model

Nodes movements are simulated as the Graph-Based Mobility Model [17] with an in-
stance of de.uni_stuttgart.informatik.canu.mobisim.mobilitymodels.GraphWalk extension. The
movement takes place between the points of graph representation of movement area.

<extension class=de.uni_stuttgart.informatik.canu.mobisim.mobilitymodels.GraphWalk
graph=graph_instance_name [name=instance_name]>
<minspeed>value</minspeed>
<maxspeed>value</maxspeed>
<minstay>value</minstay>
<maxstay>value</maxstay>
[<stay [random=value]>[value]</stay>]
</extension>

name specifies the name of class instance. Used to uniquely identify and refer-
ence the instance in the list of nodes extensions. The default name is Movement
graph specifies the name of movement area graph instance
minspeed specifies the minimal speed of movement (in m/s)
maxspeed specifies the maximal speed of movement (in m/s)
minstay specifies the minimal stay duration between two successive trips (in s)
maxstay specifies the maximal stay duration between two successive trips (in s)
stay specifies the nodes initial stay duration (in s). If omitted, the node initiates
a new movement at the beginning of simulation
random specifies that the initial stay duration must be chosen randomly (true or
false)

Example:

<extension class="de.uni_stuttgart.informatik.canu.mobisim.mobilitymodels.GraphWalk"
graph="g1">
<minspeed>0.56</minspeed>
<maxspeed>1.39</maxspeed>
<minstay>120.0</minstay>
<maxstay>600.0</maxstay>
</extension>


5.6 Simulating Nodes Motion as the Constant Speed Motion

To simulate nodes motion as the Constant Speed Motion, an instance of de.uni_stuttgart.
informatik.canu.uomm.ConstantSpeedMotion extension is used. The implementation considers
restrictions of the spatial environment.

<extension class=de.uni_stuttgart.informatik.canu.uomm.ConstantSpeedMotion
initposgenerator=pos_gen tripgenerator=trip_gen [name=instance_name]>
24
<minspeed>value</minspeed>
<maxspeed>value</maxspeed>
[<minpause>value</minpause>]
[<maxpause>value</maxpause>]
[<stay [random=value]>[value]</stay>]
</extension>

name specifies the name of class instance. Used to uniquely identify and refer-
ence the instance in the list of nodes extensions. The default name is Movement
initposgenerator specifies the name of instance that assigns nodes initial position
tripgenerator specifies the name of instance that generates nodes trips
minspeed specifies the minimal speed of movement (in m/s)
maxspeed specifies the maximal speed of movement (in m/s)
minpause specifies the minimal pause duration at a street crossing (in s). if omit-
ted, the value of 0 is used
maxpause specifies the maximal pause duration at a street crossing (in s). if omit-
ted, the value of 0 is used
stay specifies the nodes initial stay duration (in s). If omitted, the node initiates
a new movement at the beginning of simulation
random specifies that the initial stay duration must be chosen randomly (true or
false)

Example:

<extension class="de.uni_stuttgart.informatik.canu.uomm.ConstantSpeedMotion"
initposgenerator="Gen" tripgenerator="Gen">
<minspeed>0.56</minspeed>
<maxspeed>1.39</maxspeed>
</extension>


5.7 Simulating Nodes Motion using the Fluid Traffic Model

To simulate nodes motion using the Fluid Traffic Model [16], an instance of
de.uni_stuttgart.informatik.canu.uomm.FluidTrafficMotion extension is used. The model calculates
current vehicle speeds based on the total number of vehicles on the road segment. Only
the vehicles moving according to the Fluid Traffic Model are counted! The value of
minimal speed of movement corresponds to jam situations, however must be greater
than 0. The implementation considers restrictions of the spatial environment.

<extension
class=de.uni_stuttgart.informatik.canu.uomm.FluidTrafficMotion
initposgenerator=pos_gen tripgenerator=trip_gen [name=instance_name]>
<minspeed>value</minspeed>
<maxspeed>value</maxspeed>
<k_jam>value</k_jam>
<step>value</step>
[<stay [random=value]>[value]</stay>]
</extension>

25
name specifies the name of class instance. Used to uniquely identify and refer-
ence the instance in the list of nodes extensions. The default name is Movement
initposgenerator specifies the name of instance that assigns nodes initial position
tripgenerator specifies the name of instance that generates nodes trips
minspeed specifies the minimal speed of movement (in m/s)
maxspeed specifies the maximal speed of movement (in m/s)
k_jam specifies the density of traffic jam (in 1/m)
step specifies the step for recalculating traffic parameters (in s)
stay specifies the nodes initial stay duration (in s). If omitted, the node initiates
a new movement at the beginning of simulation
random specifies that the initial stay duration must be chosen randomly (true or
false)

Example:

<extension class="de.uni_stuttgart.informatik.canu.uomm.FluidTrafficMotion"
initposgenerator="Gen" tripgenerator="Gen">
<minspeed>0.1</minspeed>
<maxspeed>19.4</maxspeed>
<k_jam>1.0</k_jam>
<step>1.0</step>
</extension>


5.8 Simulating Nodes Motion using the Intelligent Driver Motion

To simulate nodes motion using the Intelligent Driver Motion [18], an instance of
de.uni_stuttgart.informatik.canu.uomm.IntelligentDriverMotion extension is used. It regulates vehi-
cle speed based on movements of neighboring vehicles (e.g., if a car in front brakes, the
succeeding vehicles also slow down). Only the vehicles moving according to the Intel-
ligent Driver Motion are considered! The implementation reflects restrictions of the
spatial environment.

<extension class=de.uni_stuttgart.informatik.canu.uomm.IntelligentDriverMotion
initposgenerator=pos_gen tripgenerator=trip_gen
<minspeed>value</minspeed>
<maxspeed>value</maxspeed>
[<l>value</l>]
[<a>value</a>]
[<b>value</b>]
[<s0>value</s0>]
[<t>value</t>]
<step>value</step>
[<stay [random=value]>[value]</stay>]
</extension>

name specifies the name of class instance. Used to uniquely identify and refer-
ence the instance in the list of nodes extensions. The default name is Movement
initposgenerator specifies the name of instance that assigns nodes initial position
tripgenerator specifies the name of instance that generates nodes trips
26
minspeed specifies the minimal speed of movement (in m/s)
maxspeed specifies the maximal speed of movement (in m/s)
l specifies the vehicles length (in m). If omitted, the value of 5 m is used
a specifies the maximal acceleration of movement (in m/s
2
). If omitted, the
value of 0.6 m/s
2
is used
b specifies the normal acceleration of movement (in m/s
2
). If omitted, the
value of 0.9 m/s
2
is used
s0 specifies the minimal distance to a standing node (jam distance) (in m). if
omitted, the value of 2 m is used
t specifies the nodes safe time headway parameter (in s). If omitted, the value
of 1.5 s is used
step specifies the step for recalculating movement parameters (in s)
stay specifies the nodes initial stay duration (in s). If omitted, the node initiates
a new movement at the beginning of simulation
random specifies that the initial stay duration must be chosen randomly (true or
false)

Example:

<extension class="de.uni_stuttgart.informatik.canu.uomm.IntelligentDriverMotion"
initposgenerator="Gen" tripgenerator="Gen">
<minspeed>0.1</minspeed>
<maxspeed>19.4</maxspeed>
<step>1.0</step>
</extension>


5.9 Simulating Nodes Motion using the Smooth Motion

To simulate nodes motion using the Smooth Motion [2], an instance of
de.uni_stuttgart.informatik.canu.uomm.SmoothMotion extension is used. The model describes
nodes speed changes with certain acceleration. It also supports defining a set of preferred
speeds for a node. The implementation considers restrictions of the spatial environment.

<extension class=de.uni_stuttgart.informatik.canu.uomm.SmoothMotion
initposgenerator=pos_gen tripgenerator=trip_gen [name=instance_name]>
<maxspeed>value</maxspeed>
<minacc>value</minacc>
<maxacc>value</maxacc>
<speedchangeinterval>value</speedchangeinterval>
[<speeds>parameters</speeds>]
[<stay [random=value]>[value]</stay>]
</extension>

name specifies the name of class instance. Used to uniquely identify and refer-
ence the instance in the list of nodes extensions. The default name is Movement
initposgenerator specifies the name of instance that assigns nodes initial position
tripgenerator specifies the name of instance that generates nodes trips
maxspeed specifies the maximal speed of movement (in m/s)
27
minacc specifies the minimal acceleration of movement (in m/s
2
)
maxacc specifies the maximal acceleration of movement (in m/s
2
)
speedchangeinterval specifies the step for changing speed (in s)
speeds specifies the set of preferred speeds
stay specifies the node initial stay duration (in s) (optional)
random specifies that the initial stay duration must be chosen randomly (true or
false)

Example:

<extension class="de.uni_stuttgart.informatik.canu.uomm.SmoothMotion" initposgenerator="Gen"
tripgenerator="Gen">
<speeds>
<v>5.0</v> <p>0.2</p>
<v>6.0</v> <p>0.3</p>
</speeds>
<maxspeed>13.9</maxspeed>
<minacc>-4.0</minacc>
<maxacc>2.5</maxacc>
<speedchangeinterval>50.0</speedchangeinterval>
</extension>


5.9.1 Specifying Nodes Preferred Speeds

Nodes preferred speeds are specified with the <speeds> tag.

<speeds>
<v> <p>
<v> <p>

</speeds>

v specifies the speeds value (in m/s)
p specifies the speeds probability (a float value between 0 and 1)

Example:

<speeds>
<v>5.0</v> <p>0.2</p>
<v>6.0</v> <p>0.3</p>
</speeds>


5.10 Simulating Static Nodes

To make a node static, it is sufficient to omit the specification of a mobility model. As an
option, it is possible to use an instance of de.uni_stuttgart.informatik.canu.mobisim.mobilitymod-
els.NullMovement extension. This extension does not take any parameters.

Example:
28

<extension class="de.uni_stuttgart.informatik.canu.mobisim.mobilitymodels.NullMovement" />


6. Deriving User Activity Sequences from User Position Traces

The framework is capable of deriving user activity sequences in the given simulation area
from real life position traces.


6.1 Launching the Module

To launch the module, type:

java cp CanuMobiSim.jar;xml-apis.jar;xercesImpl.jar ScenGen modelSource.xml tracefile resultFile.xml

xml-apis.jar and xercesImpl.jar belong to Xerces2 J ava Parser library (v2.4 or later) [19]
modelSource.xml specifies the scenario file for the derivation (described later)
traceFile specifies the file containing user position traces (described later)
resultFile.xml specifies the result file name

The result file needs to be edited manually, e.g., to specify the necessary CanuMobiSim
extensions or parameters of movement dynamics model.
The derivation of user trip sequences is based on unambiguous association of activities
with points of interest. By default, we consider the following activities: business, cul-
tural, educational, meal, parking, recreation, shopping, and sightseeing.
Besides, we introduce two special activities: initial and unclassified. The mapping
can be changed by modifying the ScenGen.java.


6.2 Format of Scenario File for Deriving User Activity Sequences

The file contains the necessary information to derive user activity sequences. Currently,
only the description of the spatial environment is used. The content of the file is written
completely to the result scenario file.

Example:

<universe>
<extension class="de.uni_stuttgart.informatik.canu.spatialmodel.core.SpatialModel" />
<extension class="de.uni_stuttgart.informatik.canu.gdfreader.GDFReader" source="GIS
Data/Schwabch.gdf" scale_x="1e-7" scale_y="1e-7" min_x="2500" max_x="4500" min_y="3500"
max_y="5200" />
</universe>


6.3 Format of a User Position Trace

29
A user position trace is a sequence of consider a client position trace as a sequence of en-
tries having the following form:
Client ID
Time
Client position (coordinate)
The entries are stored at regular intervals.

Example:

#0 0.0 3832.27 3971.67
#1 0.0 3832.27 3971.67
#2 0.0 3832.27 3971.67
#3 0.0 3832.27 3971.67
#0 30.0 3843.76 3989.11
#1 30.0 3832.77 3971.12
#2 30.0 3832.24 3978.25
#3 30.0 3832.42 3975.68
#0 60.0 3835.21 3973.60
#1 60.0 3833.27 3971.69
#2 60.0 3834.28 3972.64
#3 60.0 3835.29 3971.67

The coordinates are the Cartesian coordinates (in m) relative to the minimal x- and y- co-
ordinates of the data source describing the area.

30

7. References

[1] CANU Project Home Page. Available at http://canu.informatik.uni-stuttgart.de
[2] C. Bettstetter, Smooth is Better than Sharp: A Random Mobility Model for Simu-
lation of Wireless Networks, in Proceedings of the 4th ACM International Work-
shop on Modeling, Analysis, and Simulation of Wireless and Mobile Systems
(MSWiM'01), Rome, Italy, J uly 2001.
[3] S. R. Das, R. Castaneda, J . Yan, and R. Sengupta, Comparative performance
evaluation of routing protocols for mobile ad hoc networks, in Proceedings of 7th
International Conference on Computer Communications and Networks (IC3N), Oc-
tober 1998.
[4] R. B. Dial, A probabilistic multipath traffic assignment model which obviates path
enumeration, Transportation Research, No. 5, 1971.
[5] E. W. Dijkstra, A note on two problems in connection with graphs, Numerische
Mathematik, 1, pp.269-271, 1959.
[6] Geographic Data Files (GDF) Home Page. Available at http://www.ertico.com/
links/gdf/gdf.htm
[7] Geotransform J ava Package. Available at http://www.geovrml.org/geotransform
[8] GloMoSim: Global Mobile Information Systems Simulation Library. Available at
http://pcl.cs.ucla.edu/projects/glomosim
[9] Z. J . Haas and M. R. Pearlman, The Performance of a New Routing Protocol for
the Reconfigurable Wireless Networks, in Proceedings of IEEE International Con-
ference on Communications (ICC98), 1998.
[10] J ava Runtime Environment. Available at http://java.sun.com
[11] D.B. J ohnson, D.A. Maltz, Dynamic Source Routing in Ad Hoc Wireless Net-
works, in Mobile Computing, edited by Tomasz Imielinski and Hank Korth, Chap-
ter 5, pages 153-181, Kluwer Academic Publishers, 1996.
[12] Nexus Project Home Page. Available at http://www.nexus.uni-stuttgart.de
[13] Network Simulator - NS-2. Available at http://www.isi.edu/nsnam/ns
[14] N. Oppenheim, "Urban Travel Demand Modeling: From Individual Choices to
General Equilibrium", ISBN: 0-471-55723-4, Wiley-Interscience, J anuary 1995.
[15] M. Sanchez, P. Manzoni, and Z.J . Haas, Determination of Critical transmission
Range in Ad-Hoc Networks, in Proceedings of Multiaccess Mobility and Teletraf-
fic for Wireless Communications Workshop (MMT'99), Venice, Italy, October
1999.
[16] I. Seskar, S.V. Marie, J . Holtzman, J . Wasserman, Rate of Location Area Updates
in Cellular Systems, in Proceedings of IEEE Vehicular Technology Conference
(VTC92), Denver, CO, May 1992.
[17] J . Tian, J . Hhner, C. Becker, I. Stepanov, K. Rothermel, Graph-based Mobility
Model for Mobile Ad Hoc Network Simulation, in Proceedings of the 35th Annual
Simulation Symposium, in cooperation with the IEEE Computer Society and ACM,
San Diego, California, April 2002.
[18] M. Treiber, D. Helbing, Explanation of Observed Features of Self-Organization in
Traffic Flow, Pre-print cond-mat/9901239 (1999).
[19] Xerces2 J ava Parser. Available at http://xml.apache.org/xerces2-j
31

32

8. Acknowledgements

Illya Stepanov is funded by the Landesgraduiertenfrderung of the state of Baden-
Wrttemberg (graduate funding for PhD studies).

33

Anda mungkin juga menyukai