Welcome to SWAN Trac
This is the wiki for SWAN development. Expect to find here things like crazy ideas that pop up during brainstorming, lists of things to do, lists of new features implemented, etc. If you're a SWAN developer, use this wiki to leave trail of breadcrumbs on the development of the project and act professionally.
SWAN Brainstorming List of Ideas
- Write a Ruby script to process a header file for a SWAN class that contains a config method. Extract from this file a list with all the parameters used in configuring this SWAN component (if file contains description of the associated data type, extract a table with <parameter>,<data type>,<range>).
- Use the list of parameters created above to build an addendum to .emacs which will enable syntax highlighting for SWAN with all the current components. The current .emacs addendum for syntax highlighting can be found at topic SwanEmacs.
- The list of parameters is metadata that could be used for model verification. It should contain the data type that we expect will be associated with each keyword and also the valid range of values. I imagine that since there's no such information in the source code (header and implementation), we need to define a syntax for annotations that can be pulled out by the script that will extract this metadata.
- The model data and metadata can be used to organize parameters and results in the database of experiments.
- The model metadata can be used as input by a smart-GUI that shows the modeler what can be added/used in the configuration of a consistent model. Models constructed by this GUI are consistent (verifiedly correct) by default. Still, when SWAN reads in a model, it should run the consistency checking on the DML because, after all, the DML generated by the GUI could have been manually altered by the modeler.
- The metrics recording infrastructure should spit out XML. The XML could easily be transformed into data for graphing with gnuplot. It is possible that there exists software to serve as a "graphical player" for data in this format.
- http://qosip.tmit.bme.hu/~retvari/XML-XDV.html - XML Data Visualization framework
- http://masaka.cs.ohiou.edu/software/tcptrace/jPlot/ - jPlot (seems like the tool we're looking for)
- http://ptolemy.eecs.berkeley.edu/java/ptolemy.plot2.0/ptolemy/plot/ - plotter from the Ptolemy project
- Create a DML option to turn on recording of mobility updates and/or packet transmission in nam traces based on the model configuration
Animation
- Animation with Vistool is being removed from SWAN. Since the animator is proprietary and no longer supported, it makes no sense to continue to generate trace files for it.
- Animation with nam (http://www.isi.edu/nsnam/ns/) needs to be overhauled. The trace file format that SWAN currently generates is very old and no longer compatible with up-to-date versions of nam. The trace format can be found at http://www.cubinlab.ee.unimelb.edu.au/~jrid/Docs/Manuel-NS2/node514.html and http://www.isi.edu/nsnam/ns/doc-stable/node228.html.
- Felipe is modifying the format of the DML code segment that specifies parameters for trace file recording. The update model format may include an animation section with the following syntax:
animation [ # if this keyword is present, SWAN will create a trace file for nam animation nam_trace "filename.nam" # this is a required parameter in this DML section record "mobility" # record mobility updates in the trace file (optional) record "packet" # record packet transmissions and receptions in the trace file (optional) ]
- Several files are being updated to implement these changes in the branch that Phil Marquis created. The affected directories are os (HostEntity class and SWAN main file), mac (the 802.11 MAC implementation), routing (the AODV implementation).
- Revision 4 was submitted with a bug in the macros for ns/nam animation.
Need to clean that up and resubmit in the SWAN branch and in Phil's branch. Will need to merge this fix in after Phil submits his changes in his branch.- Phil found one-line bug; corrected in [5]
