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.
  • 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.
  • 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]

XML Model Description Language

ZigBee PHY and MAC Models

Mobility Models

Radio Propagation Cache

Subversion

Experiment Generation and Output Analysis with Elementary Ruby Scripts

Future Projects