Drone
Copyright (c) 1999-2000 Theodore C. Belding University of Michigan Center for the Study of Complex Systems <mailto:Ted.Belding@umich.edu>
<http://www-personal.umich.edu/~streak/>
This file is part of the Drone distribution. Drone is free software; you can redistribute and modify it under the terms of the GNU General Public License (GPL), version 2 or later. This software comes with absolutely no warranty. See the file COPYING for details and terms of copying.
File: README
Description: README documentation file
DESCRIPTION
Drone is a system for automatically running simulation programs in batch mode, either on an arbitrary number of Internet hosts or on a single computer. It allows sweeps over arbitrary sets of parameters, as well as multiple runs for each parameter set, with a separate random seed for each run. It also includes a number of features to help with simulation record keeping, archiving, statistical validation, and replication.
WHAT'S NEW
Drone 2.90.0 is a complete redesign and reimplementation of Drone for Posix platforms; it is not backwards-compatible. It is designed from the ground up to be more robust, more extendible, more secure, and more efficient than previous versions. It consists of a client and a server communicating using a TCP/IP application protocol called the Drone Protocol (DroneP). DroneP is designed to be implementable on any platform, although the current implementation is for Posix platforms only. All of Drone 2.90.0 is written in ANSI/ISO C. It is fully customizable and scriptable using C, C++, Objective C, Perl, Tcl, Python, Guile, or any other language that can call C functions.
LICENSES
Drone is released under the GNU General Public License; see the file COPYING for details. There is absolutely no warranty.
The Drone library is released under the GNU Library General Public License; see the file COPYING.LIB for details. There is absolutely no warranty.
AUTHOR
Drone was originally written by Theodore C. Belding <Ted.Belding@umich.edu> at the University of Michigan Center for the Study of Complex Systems <http://www.pscs.umich.edu/> for the UM CAR Group (Michael Cohen, Robert Axelrod, and Rick Riolo) <http://www.pscs.umich.edu/CSCS/research/carReports.html>. It is copyright (C) 1999-2000 by Theodore C. Belding.
PROJECT HOMEPAGE
The Drone home page is at <http://drone.sourceforge.net/>. The Drone project homepage, current stable and development releases, mailing lists, bug tracking system, and source code repository are hosted at SourceForge <http://sourceforge.net/project/?group_id=1558>.
CURRENT STABLE VERSION
The current stable version of Drone is still 1.03. You should use that version if you would just like to try Drone.
Drone 2.90.0 is a development release, intended for developers, not end users. The eventual stable release for users will be Drone 3.0.0. While it is usable and works under normal conditions, Drone 2.90.0 is not feature-complete and likely contains many bugs. You should only attempt to run this version if you are comfortable compiling, installing, and debugging software. It may corrupt your hard drive, clog your network, crash your machine, get you fired or expelled, ruin your love life, and give you the marthambles. You have been warned. Caveat utens!
INSTALLATION
For quickstart instructions on installing the complete Drone system as root using a default set of configuration options, see the file QUICKSTART.
For complete installation instructions, see the file INSTALL.
REQUIREMENTS
Drone has only been tested on Red Hat Linux 6.x, although it should be easily portable to any Posix platform. It requires that GLib <http://www.gtk.org/> and DroneUtil be installed. DroneUtil is available at <http://droneutil.sourceforge.net/>. If you want to write Drone applications in Perl <http://www.perl.com/>, Tcl <http://dev.scriptics.com/>, Python <http://www.python.org/>, or Guile <http://www.gnu.org/software/guile/guile.html> using Swig <http://www.swig.org/>, you must have the respective language installed. Swig does not need to be installed, unless you want to repackage the Drone distribution itself.
If you want to run the sample Drone application Drone.pl, you must have Perl installed. If you want to run the example experiment described in QUICKSTART, you must also install the stublet program <http://drone.sourceforge.net/>.
In order to use Drone, you must have an account on at least one computer running a DroneD daemon <http://droned.sourceforge.net/>.
DOCUMENTATION
For quickstart instructions on installing the complete Drone system as root using a default set of configuration options, see the file QUICKSTART. For complete installation instructions, see the file INSTALL. COPYING describes the conditions under which you may distribute Drone. COPYING.LIB describes the conditions under which you may distribute the Drone library. NEWS contains a list of recent major changes to Drone. ChangeLog gives a detailed listing of all recent changes to Drone. AUTHORS lists the authors of Drone, while THANKS gives a list people who have contributed to Drone.
All other documentation is located in the doc directory: FAQ is a list of frequently-asked questions about Drone; please read it before asking questions about Drone. DESIGN contains a high-level overview of the design of Drone. HACKING contains instructions on how to work on Drone itself and how to port Drone to new platforms. PROTOCOLS describes the protocols used within Drone, including the Drone Protocol (DroneP). SECURITY contains notes on security issues.
The file Drone.h in the src directory documents the libDrone C API, while the files PerlDrone_wrap.doc, TclDrone_wrap.doc, PythonDrone_wrap.doc, and GuileDrone_wrap.doc in the src directory document the Perl, Tcl, Python, and Guile wrappers for this API, generated by Swig.
REPORTING BUGS
Please report any bugs using the bug tracking system at <http://sourceforge.net/bugs/?group_id=1558>.
HACKERS WANTED
Patches and bug reports are always welcome. In particular, the following projects are available:
- Write your own custom Drone application or script in your language of choice using the libDrone API
- Port or reimplement Drone for another platform, such as Windows or MacOS
- Wrap the libDrone API in Objective C objects for use within Swarm <http://www.swarm.org/>
- Implement John Miller's Active Non-linear Tests <http://www.santafe.edu/sfi/publications/Abstracts/96-03-011abs.html> using Drone
The Drone CVS source code repository is available for anonymous read-only access through the Drone homepage <http://drone.sourceforge.net/>.
