Brn.Sim: Difference between revisions
No edit summary |
|||
(3 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
The Berlin RoofNet Simulator (Brn.Sim) is wireless mesh network simulator based on JiST/SWANS. |
The Berlin RoofNet Simulator (Brn.Sim) is wireless mesh network simulator based on JiST/SWANS. The current version can be found in the sar-svn repository (svn://sar-svn/BerlinRoofNet/trunk/simulation/brn.sim). |
||
= Brn.Sim Core = |
= Brn.Sim Core = |
||
Line 49: | Line 49: | ||
* Check out the wrapper from [https://svn.sarforge.informatik.hu-berlin.de/svn/berlinroofnet/BerlinRoofNet/trunk/simulation/distsim/wrapper] |
* Check out the wrapper from [https://svn.sarforge.informatik.hu-berlin.de/svn/berlinroofnet/BerlinRoofNet/trunk/simulation/distsim/wrapper] |
||
* Build and run via "ant run-jmx". Remember to set an unused RMI Registry port with "-Dbrn.distsim.jmxremote.port=xxxxx". If you want to access the HTTP console, specify an unused port via "-Dbrn.distsim.jmxremote.http.port=xxxx". |
* Build and run via "ant run-jmx". Remember to set an unused RMI Registry port with "-Dbrn.distsim.jmxremote.port=xxxxx". If you want to access the HTTP console, specify an unused port via "-Dbrn.distsim.jmxremote.http.port=xxxx". |
||
* Access the Brn.DistsimManager via HTTP or another JMX Client (JConsole, JMX Eclipse Plugin, VisualVM). In the Agent View, you will see the Distsim manager and the Wrapper manager within the |
* Access the Brn.DistsimManager via HTTP or another JMX Client (JConsole, JMX Eclipse Plugin, VisualVM). In the Agent View, you will see the Distsim manager and the Wrapper manager MBean within the domain brn.distsim.jmx. |
||
* Now, you are able to set up a federated Brn.Distsim service. Simply start another Brn.Distsim on a remote computer. Go to the local Distsim manager and execute the operation addDistsim. If the operation succeeds, you will see the Distsim manager within the property ActiveDistsims of the local Distsim manager. Be careful not to create loops; the result will be undefined. |
* Now, you are able to set up a federated Brn.Distsim service. Simply start another Brn.Distsim on a remote computer. Go to the local Distsim manager and execute the operation addDistsim. If the operation succeeds, you will see the Distsim manager within the property ActiveDistsims of the local Distsim manager. Be careful not to create loops; the result will be undefined. |
||
* To start wrappers, go to the Distsim manager MBean and invoke the operation "startWrapper". Specify the database connection information, the host to start wrappers on (with optional ":port"), the first id to use with the wrappers (idStart) and the number of wrappers to start on this node (number). |
* To start wrappers, go to the Distsim manager MBean and invoke the operation "startWrapper". Specify the database connection information, the host to start wrappers on (with optional ":port"), the first id to use with the wrappers (idStart) and the number of wrappers to start on this node (number). |
||
Line 55: | Line 55: | ||
* Use the operation "stopWrapper" or "stopWrapperAll" to stop the wrapper after a simulation run. |
* Use the operation "stopWrapper" or "stopWrapperAll" to stop the wrapper after a simulation run. |
||
* The federated service is shut down via "stopDistsimAll". |
* The federated service is shut down via "stopDistsimAll". |
||
* Note: The Wrapper do have a lot of caches on the file system. Please restart the wrappers for each new study and/or version to purge all caches. |
|||
=== Starting the Brn.DistsimReports Viewer === |
=== Starting the Brn.DistsimReports Viewer === |
||
Line 62: | Line 65: | ||
* The report engine tries to connect to a local mysql data source. A mysql jdbc driver must be available and placed under |
* The report engine tries to connect to a local mysql data source. A mysql jdbc driver must be available and placed under |
||
${JBOSS_DEPLOY}/birt.war/WEB-INF/platform/plugins/org.eclipse.birt.report.data.oda.jdbc_xxx (see [http://download.eclipse.org/birt/downloads/examples/reports/MySQLDataSource/MySQLDataSource.html here] for details). |
${JBOSS_DEPLOY}/birt.war/WEB-INF/platform/plugins/org.eclipse.birt.report.data.oda.jdbc_xxx (see [http://download.eclipse.org/birt/downloads/examples/reports/MySQLDataSource/MySQLDataSource.html here] for details). |
||
* When starting JBoss, do not forget to specify "-Djboss.bind.address=x.x.x.x" in order to access the JBoss from outer space. |
|||
* The Report Viewer is accessibile via http://hostname:8080/birt. |
|||
<br style="clear:both;"/> |
<br style="clear:both;"/> |
Latest revision as of 12:36, 23 August 2008
The Berlin RoofNet Simulator (Brn.Sim) is wireless mesh network simulator based on JiST/SWANS. The current version can be found in the sar-svn repository (svn://sar-svn/BerlinRoofNet/trunk/simulation/brn.sim).
Brn.Sim Core
Simulator Core
Physical Layers
IEEE 802.11abg Physical Layer
- Models for IEEE 802.11b (DSSS) and a/g (OFDM)
- BER Model from yans, ns-3
- Shadowing and Fading (both correlated/uncorrelated in time) from ns-2/SWAN/GloMoSim
- TODO spatially correlated shadowing
- Propagation Delay Model
- Transmit Diversity Model
- Brn.Phy
IEEE 802.11abg Multi-Channel Support
Tbd.
IEEE 802.11abg Multi-Bit-Rate Support and Bit-Rate Selection
Tbd.
IEEE 802.11e
Tbd.
Brn.Click: Integration of the Click Modular Router API
Tbd.
Brn.Gui
The Brn.Gui is a user interface for the Brn.Sim simulator. It is able to control the simulation execution like a debugger. It visualizes simulation results which are specified in simulation code via the Brn.Measure framework. Furthermore, it is also a result browser for already completed simulations which were executed by the Brn.DistSim distributed simulation framework and stored in the Brn.Db storage. For details see Brn.Gui
Brn.Measure
Tbd.
Brn.Db and Brn.DistSim
DistSim is a framework for defining, executing and collecting the results of multiple similar simulations. Core component is the Wrapper, which obtains simulation definitions from a database and executes it. Furthermore, there are JMX Mbeans for the distributed management of wrapper instances.
Steps to start the distsim framework
- Check out the wrapper from [1]
- Build and run via "ant run-jmx". Remember to set an unused RMI Registry port with "-Dbrn.distsim.jmxremote.port=xxxxx". If you want to access the HTTP console, specify an unused port via "-Dbrn.distsim.jmxremote.http.port=xxxx".
- Access the Brn.DistsimManager via HTTP or another JMX Client (JConsole, JMX Eclipse Plugin, VisualVM). In the Agent View, you will see the Distsim manager and the Wrapper manager MBean within the domain brn.distsim.jmx.
- Now, you are able to set up a federated Brn.Distsim service. Simply start another Brn.Distsim on a remote computer. Go to the local Distsim manager and execute the operation addDistsim. If the operation succeeds, you will see the Distsim manager within the property ActiveDistsims of the local Distsim manager. Be careful not to create loops; the result will be undefined.
- To start wrappers, go to the Distsim manager MBean and invoke the operation "startWrapper". Specify the database connection information, the host to start wrappers on (with optional ":port"), the first id to use with the wrappers (idStart) and the number of wrappers to start on this node (number).
- To start wrappers on multiple hosts simultaneously, use the operation "startWrapperAll". The parameter "startString" must be an enumeration of the form 'host[:port] idStart:number'.
- Use the operation "stopWrapper" or "stopWrapperAll" to stop the wrapper after a simulation run.
- The federated service is shut down via "stopDistsimAll".
- Note: The Wrapper do have a lot of caches on the file system. Please restart the wrappers for each new study and/or version to purge all caches.
Starting the Brn.DistsimReports Viewer
- Brn.DistsimReports is a basic viewer for simulation reports. You can find it in [2].
- To use it, download and install JBoss [3]. Furthermore, you need the Eclipse BIRT Runtime [4]. Details about installing the BIRT runtime can be found here.
- The report engine tries to connect to a local mysql data source. A mysql jdbc driver must be available and placed under
${JBOSS_DEPLOY}/birt.war/WEB-INF/platform/plugins/org.eclipse.birt.report.data.oda.jdbc_xxx (see here for details).
- When starting JBoss, do not forget to specify "-Djboss.bind.address=x.x.x.x" in order to access the JBoss from outer space.
- The Report Viewer is accessibile via http://hostname:8080/birt.
Scenario Creation via Brn.Builders
Tbd.
Do not forget to define Getter/Setter for each Member of the Parameter Class!
Wishlist
- TCP from ns-3 or yans (http://yans.inria.fr/code/tcp-bsd/?file/08a99283d359/tcp-bsd-foo/)
- IP Stack from OppBSD
- Channel simulation via chsim
- Integration of JTrana Trace Analyzer
- Shadowing correlation according to Integration of physical phenomena into an experiment-based propagation model
- Energy contour plot from SNSim
- Antenna/Beamforming patterns [5]
- yavista integration
- Mobility traces support [6]