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.
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
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
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)
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.
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
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.
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
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.
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
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.
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
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.
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
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.
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
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)
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.
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
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.
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)
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.
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
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)
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
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
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
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.
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
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.
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.
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)
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
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.
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)
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.
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)
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.
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 )
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.
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)
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.
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)
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.
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)
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.
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)
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.
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)
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.
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)
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.
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.
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.
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).