CRAWDAD tools/collect/multihop/EXC (v. 2008-09-08)

Citation Author(s):
Universität Düsseldorf, Institut für Informatik
Universität Düsseldorf, Institut für Informatik
Volkswagen AG
Submitted by:
Last updated:
Sat, 09/12/2009 - 08:00
Data Format:
0 ratings - Please login to submit your rating.


EXC is a software toolkit to control and steer experiments with wireless multihop networks.

EXC is a software toolkit to control and steer experiments with wireless multihop networks. EXC enables researchers to evaluate their algorithms in a real-world environment without having to deal with too much thought on how to coordinate an experiment.

Lastmodified :


Dataname :


File :


Releasedate :


Equiversion :


Change :

the initial version.

References :


Website :

Keyword :

wireless multihop networks

License :

EXC is released under the GNU General Public License (GPL). It has been
developed at the University Duesseldorf, Germany.

Support :

EXC is still under development and can be considered as late beta. In case
you encounter bugs, want to participate in the development or have
suggestions for additional features, please contact Wolfgang Kiess:

Build :

EXC requires the following software for running on a Linux operating system:

- ruby: Ruby is the programming language EXC is written in. Your distribution
might come with an installed version. Otherwise please install it manually.
An installation of Ruby is also necessary to execute the install script.

- Click: Click ( is a software for implementing
router con gurations.

- GTK+: A GUI-Toolkit used for the graphical user interface on the client nodes.

- Qt3: Another GUI-Toolkit used for the user interface on the monitor node.

- Qt4: If the new version of the monitor GUI should be used, an installation of
the Qt4 GUI-Toolkit is necessary.

- qtruby: A language binding to access Qt from ruby.

- sys-proctable: An extension for ruby. It provides extensive process-handling.

The following installation instructions are designed for a normal PC with a
Linux system.

1. Unpack the EXC-tarball:

tar xvzf exc_v0.x.tar.gz

2. Change into the EXC directory and execute the installation file:

ruby ./install.rb

If you are using one of the supported Linux distributions, the installation should
be complete. Otherwise you have to install Qt3, GTK+ and qtruby manually.

If you have troubles installing EXC, please contact the authors of this tutorial
under [,].

Usage :

-- Quick Start --
1) Install the necessary software (see REQUIREMENTS.txt)
2) Adjust the configuration in "scripts/tutorial/monitor.xml"
to your computers' network interface configuration
3) Start EXC as monitor:
ruby Main.rb -monitor scripts/tutorial/monitor.xml

-- Advanced Experiments --
If you want to have several nodes/participants in your experiment, copy the
complete EXC folder to the nodes (and the monitor) and start EXC in 'node' or
'monitor' configuration:
ruby Main.rb <node-configuration>
ruby Main.rb -monitor <node-configuration>

For further information please refer to the EXC tutorial:
The API-documentation for the different EXC components can be found
in the folder doc.

Algorithm :

To examine wireless multihop networks in well-defined setups and conduct such
experiments in a systematic way, we use in EXC a semi-automatic control. Each
experiment is partitioned in a number of runs. In a run, all actions of the
nodes like sending certain packets or moving the node are precisely scheduled
based on a prede ned script. After each run, the nodes pause and the person
responsible for controlling the experiment (called operator) remotely queries the
state of the nodes. If errors such as wrong position or a software crash occur, the
operator has the chance to overcome these. Then, he remotely selects and starts
the next run. As most actions can be executed without any interaction from
the users, this increases repeatability and minimizes errors. Those errors that
still occur only corrupt one run, not the whole experiment. Furthermore, the
necessary communication can take place between runs, thus the runs themselves
are una ected.

The files in this directory are a CRAWDAD toolset hosted by IEEE DataPort. 

About CRAWDAD: the Community Resource for Archiving Wireless Data At Dartmouth is a data resource for the research community interested in wireless networks and mobile computing. 

CRAWDAD was founded at Dartmouth College in 2004, led by Tristan Henderson, David Kotz, and Chris McDonald. CRAWDAD datasets and toolsets are hosted by IEEE DataPort as of November 2022. 

Note: Please use the tools in an ethical and responsible way with the aim of doing no harm to any person or entity for the benefit of society at large. Please respect the privacy of any human subjects whose wireless-network activity is captured by the tools and comply with all applicable laws, including without limitation such applicable laws pertaining to the protection of personal information, security of data, and data breaches. Please do not apply, adapt or develop algorithms for the extraction of the true identity of users and other information of a personal nature, which might constitute personally identifiable information or protected health information under any such applicable laws. Do not publish or otherwise disclose to any other person or entity any information that constitutes personally identifiable information or protected health information under any such applicable laws derived from the tools through manual or automated techniques. 

Please acknowledge the source of the tools in any publications or presentations reporting use of these tools. 


version 1: Wolfgang Kiess, Thomas Ogilvie, Andreas Tarp, Markus Kerper, CRAWDAD toolset tools/collect/multihop/EXC (v. 2008‑09‑08),, Sep 2008.

version 2: Wolfgang Kiess, Thomas Ogilvie, Andreas Tarp, Markus Kerper, CRAWDAD toolset tools/collect/multihop/EXC (v. 2009‑11‑13), Nov 2009.

Dataset Files

Open Access dataset files are accessible to all logged in  users. Don't have a login?  Create a free IEEE account.  IEEE Membership is not required.


These datasets are part of Community Resource for Archiving Wireless Data (CRAWDAD). CRAWDAD began in 2004 at Dartmouth College as a place to share wireless network data with the research community. Its purpose was to enable access to data from real networks and real mobile users at a time when collecting such data was challenging and expensive. The archive has continued to grow since its inception, and starting in summer 2022 is being housed on IEEE DataPort.

Questions about CRAWDAD? See our CRAWDAD FAQ. Interested in submitting your dataset to the CRAWDAD collection? Get started, by submitting an Open Access Dataset.