Pamvotis is a Wireless LAN Simulator for all the current physical layer extentions of the IEEE 802.11 Standard and for the IEEE 802.11e Draft for Quality of Service in WLANs. The currently standardized physical layer extentions of IEEE 802.11 include IEEE 802.11a, IEEE 802.11b, and IEEE 802.11g, which are all supported by Pamvotis. Current version is Pamvotis 1.1.


Features

Pamvotis was developed in Java, using only libraries included in the JRE. This way, it has limited hardware requirements and is compatible with any operating system with JRE installed.

The basic features of the application are the following:

  • Support of data rate agility. This means that each node can work on its own data rate, depending on the distance from the receiver.
  • Support of the hidden terminal problem. Nodes can be configured to be in LOS or NLOS, in order the hidden terminal problem to be investigated.
  • Support of multiple sources on each node (new in Pamvotis 1.1).
  • Support of a variety of different traffic sources:
    • Generic (abstract) traffic source, that produces traffic the packet generation rate and packet size of which can obey different distributions (new in Pamvotis 1.1):
    • FTP traffic source, as described in 3GPP TR 25.892 V.6.0.0.
    • HTTP traffic source, as described in 3GPP TR 25.892 V.6.0.0.
    • Video traffic source, as described in 3GPP TR 25.892 V.6.0.0.
  • Support of absence / existence of non-ERP nodes. This advantage utilizes the option of the IEEE 802.11g protocol to adjust the network parameters depending if all nodes support IEEE 802.11g (absence of non-ERP nodes) or some nodes support only 802.11b or earlier (existence of non-ERP nodes).
  • Support of the new CTS-to-Self virtual carrier sense and protection mechanism: This means that a node can support RTS/CTS or the new (defined in IEEE 802.11g specification) CTS-to-Self virtual carrier sense mechanism for better network performance.
  • Support of all new physical layers of the IEEE 802.11g specification which include:
    • ERP-DSSS/CCK: Support of IEEE 802.11 data rates (1, 2 Mb/s) and IEEE 802.11b data rates (1, 2, 5.5 and 11 Mb/s).
    • ERP-OFDM: Support of all extended data rates defined in IEEE 802.11a and IEEE 802.11g (6, 9, 12, 18, 24, 36, 48, 54 Mb/s).
    • ERP-PBCC: Support of the extended data rates of 22Mb/s and 33Mb/s.
    • DSSS-OFDM: Support of the extended rates of the IEEE 802.11a with DSSS preamble and OFDM payload
  • Support of the IEEE 802.11e EDCA function for Quality of Service (QoS) and Service Differentiation in IEEE 802.11 WLANs.
  • Support of many statistic results, which show detailed information concerning the MAC layer performance. Those are: Throughput in bits and packets per second, utilization, media access delay, queuing delay, total packet delay, delay jitter, mean number of retransmission attempts and mean packet queue length.
  • Many functions (for developers), that help use Pamvotis as an embedded simulator effectively, like adding or removing sources and nodes at any time (new in Pamvotis 1.1).
  • Ability to simulate very long simulations, up to 50737 centuries, but it is not recommended to try it because you will probably never see the simulation results.
  • Very limited resource requirements, which allows operation in any PC.
  • Cross platform operation,meaning operation in any OS with Java Runtime Environment installed (Windows, Linux, Solaris, MacOS).
  • User friendly interface, which allows quick and easy simulation configurations.
  • Open source code, in order to implement your own protocols.
  • FREE FOR ALL (Major).
Download and Installation Instructions
Download Instructions
You can download the latest version (Pamvotis 1.1) from the links below. Pamvotis runs in any operating system with Java Runtime Environment installed. The easiest way to use it is to download the executable JAR file. No setup is necessary. However, if you intentd to use Pamvotis on Windows, a setup file exists that installs Pamvotis as an application with shortcuts on the start menu e.t.c.

Download the setup file if you intend to use Pamvotis on a Windows operating system. Download the executable file if you intent to use Pamvotis on a Linux, Solaris or Mac operating system. Download the source code if you are a developer and wish to extend Pamvotis or use it as an embedded part of another simulator.

Follow the installation instructions further on, in order to install install Pamvotis.

Note: If your downloaded file ends with .tar.tar (can happen with Internet Explorer) then rename it to .tar.gz

File Size
Setup (Windows only) 1.1MB
Executable (all operating systems) 883KB
Source code (all operating systems) 830KB

System Requirements
  • Operating System: Windows (95/98/Me/NT/2000/XP/2003), Linux, Solaris, MacOS.
  • Disk Space: 800KB
  • Memory: 64MB
  • CPU Speed: 500MHz
  • Other: Java Runtime Environment 5.0 or higher.
Installation Instructions for Users
If you want to install Pamvotis as an application (windows only) run the Pamv11Setup.exe file. The installation procedure is easy as any other normal windows setup application.

If you want to use Pamvotis just as an executable program, then download the file named Pamv11Bin.tar.gz, which is an ordinary zip file. Do the following:

  • If you intend to use Pamvotis on Windows or MacOS, store the file into a folder and use a file compression program like winZip or winRar to unzip the file.
  • If you intend to use Pamvotis on Linux or Solaris then do the following:
    • Store the file in a folder. Open a terminal and browse to this folder.
    • Run the following command: gunzip Pamv11Bin.tar.gz
    • Run the following command: tar -xvf Pamv11Bin.tar
    • Give permissions to the new folder created by running the following command: chmod 555 Pamv11Bin. You must have root previledges to run the chmod command.
    You can also use an already installed program of Linux or Solaris in order to avoid using command prompt.

A new folder called Pamv10Bin now exists. Every time you want to run Pamvotis do the following:
If you use Windows or MacOS, then open the folder and double click the file named pamvotis.jar
If you use Linux or Solaris then open the folder (cd Pamv11Bin) and run the following command:

java -jar pamvotis.jar
Note: You must have Java Runtime Environment 5.0 or higher in order to run the application.
If you want to check your version of JRE (or even to check if you actually have JRE), then open a terminal (in any operating system) and run the following command:
java -version
If you do not have JRE installed you can download it from Sun Microsystems. Be sure to download only the Java Runtime Environment (JRE), that has a small size, unless you want to develop in Java, so you must download the Java Developement Kit (JDK).

Instructions for Developers
If you are a developer and you want to extend Pamvotis, then download the source code (the file named Pamv11Source.tar.gz) and unzip it with the procedure described above, for the executable file. A file named Readme.txt exists there. Be sure to read it. Under the doc folder you can find documentation for the developer and detailed documentation of each method and class of the simulation engine. The documentation can be accessed online from here.

Apart from the documentation, a source file named Example.java also exists in the root of the source floder, which is an example of how to use Pamvotis core simulation engine. Open the source code with the Java developement application you prefer. Eclipse is recommended that is the application by which Pamvotis is developed. Be sure to set the classpath variable accordingly, in order to successfully compile the project.
The whole project is designed using only libraries located in JRE, so no third party libriries are required. All you must have is the Java Developement Kit (JDK, not JRE) installed. If you don't, download it from Sun Microsystems.

About Pamvotis

Pamvotis Simulator is created by Dr. Dimitris El. Vassis and Vassilis Zafeiris, a Telecommunication’s Engineer and a Software Engineer respectively.

The simulator took its name from a lake in Ioannina City of Greece, which is the only lake in the world that has an island with permanent residents. The logo of pamvotis (the P letter) depicts the lake.

Pamvotis was designed for research purposes only. It is not a commercial application. The application and the source code may be distributed or modified under the terms of the GNU General Public Lisence.

Special Acknowledgements and Contribution

Ackgnowledgements

Special Ackgnowledgements should be given to the following people for their valuable contribution:

  • Mr Gary Gaatz for his valuable remarks on some bugs concerning simulation of IEEE 802.11.
  • Mr Stelios Koukoutsidis for his valuable remarks on some incorrect parameter definitions concerning IEEE 802.11a.
  • Ms Rachel Vecchitto for providing a class for opening a URL with the default browser in older versions of Java.
Contribute to extend Pamvotis
The vision of the authors is to make Pamvotis a complete simulator, supporting every protocol of the IEEE 802.11 family and every OSI layer, from physical to application. However, the author cannot perform this by himself, so a contribution is asked from people that are interested. Open issues that must be solved are the following:
  • Extend the interface, in order to place the nodes as boxes in a Graphics area and to configure them from there. No network configuration file will be necessary then.
  • Develop models for physical layer characteristics like transmit power, automatic data rate agility, bit error rate e.t.c.
  • Develop models for real traffic like browsing, voice, video, email, database transactions e.t.c.
  • Extend the simulator to support the IEEE 802.11n phylical layer (current in draft).
  • Extend the simulator to support the IEEE 802.11i standard for security (too much work needed).
  • Develop models for mobility.
  • Extend the simulator to support more output results.
  • Develop an interface for graphical representation of results, in row data and through statistical analysis (e.g. PDF, CDF).
People that are interested (should be familiar with Java) can contact the author.

Contact Information

For any information and for any comment (well intentioned or not) concerning Pamvotis Simulator, please contact the authors:

support@pamvotis.org

Copyright© 2007- 2010 - Dimitris El. Vassis - Vassilis Zafeiris - All Rights Reserved