Next: An-Az
Up: Linux Software Encyclopedia
Previous: Categories
  Contents
Last checked or modified: June 8, 1999
[ home /
linux ]
CATEGORIES |
NEW
Aa-Am |
An-Az |
Ba-Bm |
Bn-Bz |
Ca-Cm |
Cn-Cz |
Da-Dm |
Dn-Dz |
Ea-Em |
En-Ez |
Fa-Fm |
Fn-Fz |
Ga-Gm |
Gn-Gz |
Ha-Hm |
Hn-Hz |
Ia-Im |
In-Iz |
Ja-Jm |
Jn-Jz |
Ka-Km |
Kn-Kz |
La-Lm |
Ln-Lz |
Ma-Mm |
Mn-Mz |
Na-Nm |
Nn-Nz |
Oa-Om |
On-Oz |
Pa-Pm |
Pn-Pz |
Qa-Qm |
Qn-Qz |
Ra-Rm |
Rn-Rz |
Sa-Sm |
Sn-Sz |
Ta-Tm |
Tn-Tz |
Ua-Um |
Un-Uz |
Va-Vm |
Vn-Vz |
Wa-Wm |
Wn-Wz |
Xa-Xm |
Xn-Xz |
Ya-Ym |
Yn-Yz |
Za-Zm |
Zn-Zz |
- AAFID
- Autonomous Agents For Intrusion Detection
is a distributed monitoring and intrusion detection system that
employs standalone programs called agents to perform monitoring
functions in the hosts of a network.
AAFID uses a hierarchical structure to collect the information
produced by each agent by each host and by each set of hosts to
detect suspicious activity.
It is not in itself a network-based intrusion detection system
but provides the infrastructure for distributing monitoring tasks
over many hosts.
The AAFID distribution contains:
- base classes for Monitors, Transceivers and Agents;
- a number of working Agents that perform different functions and
allow the system to be run out of the box;
- a code generation tool that makes it easy to develop new agents;
- a graphical user interface; and
- documentation for the architecture and the implementation.
The system is written entirely in Perl 5.
[http://www.cs.purdue.edu/coast/projects/autonomous-agents.html]
- Abacus
- A spreadsheet which, while currently
(9/98) in alpha test stage, includes such useful functionality as:
- multiple spreadsheet capabilities;
- a small set of built-in functions including statistical,
financial, and math/trig functions with an interface for creating
and pasting formulas;
- cell editing with the usual functions;
- cell formatting with a wide range of formats;
- column and row insertion, deletion and resizing;
- sorting via a wide variety of methods;
- an autosum function for summing data;
- graphs that can be deleted, moved and resized;
- exportation of data and graphs to PostScript format; and
- import/export of CSV, tab, Wk1 and TinySheet formats.
A source code distribution of Abacus is available. It is
written in C/C++ and Tcl/Tk 8.0.
[http://www-cad.eecs.berkeley.edu/HomePages/aml/abacus/abacus.html]
- ABaCUS
- A program developed to investigate the significance of
the putative correspondence between exons and units of protein
structure. This analysis takes the form of an attempt to eliminate
the reference or null hypothesis that there is no correspondence.
The null hypothesis consists of a reference model for random
gene structures and a scoring rule for quantifying correspondences.
ABaCUS creates and reads files containing observed data and uses
it to generate reference genes according to one of several
models, after which the test is performed and the null hypothesis
accepted or rejected.
This is written in C and should be portable to most platforms.
[ftp://ftp.bio.indiana.edu/molbio/evolve/abacus/]
- ABC
- An interactive
programming language
and environment for personal
computing which was originally intended as a replacement
for Basic. It was designed after the performance of a task
analysis of the general programming task.
It was originally intended as a language for beginners but
has become a programming tool for beginners and experts alike.
The features of ABC include:
- a powerful collection of only 5 data types which can be easily
combined;
- strong typing without declarations;
- no limitations (e.g. on maximumum integer size) other than
the physical limits of memory;
- refinements to support top-down programming;
- nesting via indentation;
- programs usually a fourth or fifth of the size of a corresponding
Pascal program;
- an environment in which procedures and functions and global
variables remain after logging out, i.e. no need for files; and
- a generalized undo mechanism.
Implementations of ABC are available for UNIX, Mac, MS-DOS,
and Atari ST platforms. The UNIX
implementation is written in
C and can be compiled
and installed on most generic platforms.
The language is fully documented in a book and a technical
article. Assorted additional documentation such as technical
reports in PostScript format can be obtained at the site.
See Guerts et al. (1990) and
Pemberton (1987).
[http://www.cwi.nl/~steven/abc/]
- abcde
- A Better CD Encoder is a front-end program
that grabs an entire CD, converts each track to MP3, and then
ID3-tags each file.
This is a front-end to
cdparanoia,
wget,
cd-discid,
id3 and to a choice of MP3 encoders
(although it defaults to lame).
[http://lly.org/~rcw/abcde/page/]
- ABCL
- An object-oriented concurrent reflective language based on
Hybrid Group Architecture. ABCL can dynamically control its
own behavior such as scheduling policy from within a user
program.
There are three versions of ABCL which, ranging from oldest to
newest, are: ABCL/1, ABCL/R, and ABCL/R2.
The description given applies to the most recent version.
A source code implementation of
ABCL/R2 is available. It runs on top of
KCL, AKCL,
CMUCL, CLISP, and
Allegro CL.
See Yonezawa (1990).
[ftp://camille.is.s.u-tokyo.ac.jp/pub/]
[http://web.yl.is.s.u-tokyo.ac.jp/pl/abcl.html]
- abc2mtex
- A package designed to notate tunes stored in an ASCII format
called abc notation. It was designed primarily for annotating
folk and traditional tunes of Western European origin which
can be written on one stave in standard classical notation.
It can also be used for multiple staves and is extensible to
other types of music. It can also be used as a
preprocessor
for MusicTeX or
MusiXTeX.
A source code distribution of abc2mtex is available.
It is written in C and its installation and use require
TeX and MusicTeX.
The package is documented in a user's guide available
in PostScript format.
[http://www.gre.ac.uk/~c.walshaw/abc/]
- ABDPACK
- A package of Fortran 77 programs for the
solution of systems of linear equations having the almost block
diagonal structure arising in spline collocation at Gaussian points
with monomial spline basis functions, when applied to two-point
boundary value problems with separated boundary conditions.
Such systems results, for instance, when condensation is applied
to the full spline collocation linear system.
ABDPACK may also be used to solve the almost block bidiagonal systems
that result from multiple shooting techniques and implicit Runge-Kutta
methods for solving two-point boundary value problems.
The algorithms used are based on an alternate column and row pivoting
scheme which avoids most of the fill-in introduced by more
commonly used techniques.
This is TOMS algorithm 704 and is documented
in Majaess et al. (1992b) and
Majaess et al. (1992a).
[http://www.acm.org/calgo/contents/]
[http://www.acm.org/toms/V18.html]
[http://www.netlib.org/toms/index.html]
- AbiWord
- An Open Source, full-featured
wordprocessor which is currently
(10/98) still in the developer stage, i.e. you can download the
source but it may or may not be useful unless you're a developer.
[http://www.abisource.com/]
- abs
- A spreadsheet that runs under X11.
The features of abs include:
- a clear and easy to understand GUI;
- a macro language with the same syntax as Microshaft Visual Basic;
- x-y plots and pie and bar charts;
- exportation of files in Xfig format;
- editing up to 20 documents simultaneously with copying, cutting and
pasting between documents; and
- the file format used to save abs worksheets is directly importable
to Excel with the Excel macro editor.
Source code and binary distributions are available, with the latter
including a Linux Intel version.
[http://www.ping.be/bertin/abs.shtml]
- ACADIA
- A Fortran 77 finite element formulation of the
nonconservative form of the vertically integrated
advection-diffusion-reaction (ADR) equation that tracks a given
number of transport variables in a given number of fluid layers.
The Galerkin weighted residual method is ued to discretize the solution
by representing it on linear triangular elements, with the integrations
performed with nodal quadrature.
A source code distribution is available.
The code is documented in a user's manual available in PostScript format.
[http://www-nml.dartmouth.edu/Software/]
- ACAP
- The Application Configuration Access Protocol
is an Internet protocol
for remotely accessing client program options,
configurations, and preference information.
It is intended as a solution for client mobility, i.e. to free users
from having to recreate configuration set-ups, subscription lists,
address books, bookmark files, folder storage locations, and the like
when they change physical locations.
ACAP evolved from the process of IMSP going through
the IETF standards process.
It provides a protocol for arbitrary clients to store and retrieve
client-specific configuration from a server, and is supposed to fill
a niche between a full directory service, a file system, and specialized
single-service protocol support.
The protocol is implemented in the ACAPd
server daemon.
[http://andrew2.andrew.cmu.edu/cyrus/acap/]
[http://www.faqs.org/rfcs/rfc2244.html]
- ACAPd
- A server daemon that implements the ACAP
Internet protocol
for the remote access of configuration and preference
information.
A source code distribution is available.
[http://andrew2.andrew.cmu.edu/cyrus/]
- acct
- The GNU set of accounting utilities
which provide a sysadmin with
useful information about system usage, i.e. connections,
programs executed, and system resource utilization.
The programs in the package include:
- ac, which prints statistics about the connect time of
users;
- accton, which turns accounting on or off;
- last, which lists the logins on the system with the
most recent first;
- lastcomm, which lists the commands executed on the system with
the most recent first;
- sa, which summarizes the accounting information and generates
reports about commands, giving the number of invocations, CPU time
used, average core usage, etc.; and
- dump-acct and dump-utmp, which display the main
accounting files in human-readable format.
A source code distribution of acct is available. It is written
in C and can be compiled and installed on most
UNIX flavors via
the supplied configure script.
It is documented in a user's manual available in
Texinfo format.
[http://www.gnu.ai.mit.edu/order/ftp.html]
- ACDC
- Automatic Continuation with
Deferred Corrections is
an automatic continuation code for solving stiff boundary
value problems (BVPs).
ACDC is a modified version of the
TWPBVP package which has been adapted
to allow an automatic continuation strategy to be used. It also
replaces the mono-implicit Runge Kutta formula used in TWPBVP with
an implicit Runge Kutta formula based on Lobatto points.
See Cash et al. (1995).
The program is written in Fortran
and is documented in a user's manual available separately
in LaTeX format.
[http://www.ma.ic.ac.uk/~jcash/BVP_software/]
- aCe
- A data-parallel computing environment designed to improve
the adaptibility of algorithms to diverse architectures.
The primary purpose is to encourage programmers to implement
applications on parallel architectures by providing them with the
assurance that future architectures will be able to run their
applications with a minimum of modification. It is designed on
the concept of structured parallel execution where the programmer
first designs a virtual architecture that reflects the spatial
organization of an algorithm which may consist of many groups,
clusters, or virtual processing elements (PE). Then code is written
reflecting the temporal organization of the algorithm which
defines the threads of execution perfomred on each PE.
The architecture and threads of execution together define
the algorithm's execution.
The aCe language is both data- and task-parallel; the former
because the processing elements of a cluster execute common
threads of execution and the latter because processing elements
of different clusters execute different threads of execution.
It is also architecture adaptive since different virtual
architectures may be used for different physical architectures
to improve architecture dependent performance.
It currently (3/97) supports only a superset of C based on
ANSI C. The supported machines are Linux, SGI Indigo,
MasPar MP-1 and MP-2, and Cray T3D. The documentation is
available online and is also included in the distribution.
This is part of the NASA HPCC
ESS Project.
[http://newton.gsfc.nasa.gov/aCe]
- ACE
- The Adaptive Communication Environment is
an object-oriented toolkit which implements fundamental design
patterns for concurrent communication software. It provides a rich set
of reusable C++ wrappers, class
categories, and frameworks that
perform common communication software tasks across a range of
operating system platforms. The tasks provided by ACE include
event demultiplexing and event handler dispatching, signal handling, service
initialization, interprocess communication, shared memory
management, message routing, dynamic (re)configuration of
distributed services, and concurrent execution and synchronization.
ACE is targeted for developers of high performance and real time
communication services and application.
ACE consists of layers of hierarchical components.
The lower level portions are
C++ wrappers for OS interfaces
which encapsulate various interfaces, e.g.
IPC mechanisms,
event multiplexing, concurrent execution and synchronization, explicit
dynamic linking, memory-mapped files and shared memory
management, and System V IPC.
This level shields the upper levels of ACE from
platform dependencies.
A higher-level network programming
framework integrates and enhances the lower-level wrappers.
This framework contains several class categories including:
- Reactor and Proactor, which support both reactive and proactive event
demultiplexing patterns;
- Service Configurator, which supports dynamic (re)configuration
of application service objects;
- ADAPTIVE Service Executive, which supports modular integration of
hierarchically-related communication services via a user-level
implementation of System V STREAMS;
- Concurrent Execution and Synchronization, which supports various
types of higher-level concurrent execution and synchronization patterns;
- Shared Malloc, components for managing dynamic allocation of shared
and local memory; and
- CORBA integration, which integrates ACE with
CORBA implementations.
The highest level of ACE provides
a standard library of distributed services packaged as self-contained
components. These components provide reusable components for common
distributed system tasks such as naming, event routing, logging,
time synchronization, and network locking. They also illustrate how
to use the lower level services.
The ACE distribution is freely available and contains the source
code, tests, example applications, and documentation for
C++
wrapper libraries and higher-level network programming components
and frameworks. It has been ported to most
versions of UNIX
(including Linux), Windows NT and 95, VxWorks, and MVS OpenEdition.
There is an
ACE on Linux
page with information on
how to install it on Linux. The documentation consists of several
technical reports, tutorials, and man pages.
[http://www.cs.wustl.edu/~schmidt/ACE.html]
- ACEgr
- A general 2-D plotting package for UNIX workstations
with a Motif GUI interface.
This package, also known as xmgr and xvgr, was created and
is maintained by Paul Turner. There is a mailing list to which
users can submit questions or suggestions.
The features of ACE/gr include:
- a point and click Motif interface,
- plotting up to 10 graphics with 30 data sets
per graph,
- reading reading from files or pipes,
- reading 1-D variables from NetCDF files,
- several axis combinations (e.g. XY, log-linear, log-log, linear-log,
bar, and stacked bar charts),
- error bars and a block data feature,
- continuous display of the location of the pointer,
- user-defined or automatic scaling;
- tick marks, labels, symbols, colors, etc.,
- graph legends and annotative text,
- operations on data sets and region operations,
- mouse-powered point editing,
- several math operations,
- pan, zoom, shrink and expand,
- a command line interpreter, and
- output support for PostScript, HPGL,
and Framemaker.
This used to exist and
be supported in two versions, a
Motif (xmgr) and an
XView (xvgr)
version. The author stopped supporting and improving the latter
at version 2.10, while the former is now at version 3.01. The
source code is available as well as binaries for Linux and Sun
platforms. There is no user's manual although it's fairly easy to
learn how to use this package.
Development has been frozen on this as it has been superseded by
Grace.
[http://plasma-gate.weizmann.ac.il/Xmgr/]
[ftp://ftp.cc.gatech.edu/pub/linux/X11/xapps/math/]
- ACEDB
- A database system in which data are stored in objects that belong
in classes. It is a general DB system using caches, session control,
and a powerful query language that was originally developed to organize
molecular biology data about the genomes of diverse species. As
such it was designed to reflect the needs of molecular biologists
in such matters, although it should be more generally applicable.
It is written in C and uses the
X Window System to provide a platform
independent GUI. The source code is available as well as binaries
for several platforms, including a
ACEDB Linux binary.
[http://probe.nalusda.gov:8000/aboutacedbsoft.html]
- AcePerl
- An object-oriented Perl interface to the
ACEDB database system. It provides
functionality for connecting to remote
ACEDB databases, performing
queries, fetching ACE objects, and updating databases.
[http://stein.cshl.org/AcePerl/]
- JADE
- A Java-based interface to the
ACEDB database system. JADE is database
independent, portable, multithreaded and multiplatform.
[http://stein.cshl.org/jade/]
- ACF
- The Analyzer Component Framework is a
C++ tookit for writing system analyzers (mainly
model checkers) that
consists of a number of interfaces, generators, algorithms and
containers.
Model checking is an automated verification technique that has
been successfully applied to the verification of large, industrial-size
problems.
ACF was built on the assumption that the structure of most
model-checking algorithms is independent of the formalism
used to describe the system, i.e. interfaces can be constructed
to provide generic algorithms that can be instantiated for any
suitable formalism.
[http://aiken.cs.abo.fi/acf/]
- AcidBlood
- An IRC robot for helping to administer chaotic
IRC sessions.
The features of AcidBlood include:
- a user database with authentication;
- user-requestable operator status;
- runs in more than one channel at once;
- WAR and DCC features;
- remote administration capabilities;
- customizable by users;
- undetectable, i.e. only interacts with those in the database; and
- dynamic channel changing.
A source code distribution of this C++
package is available.
[http://www.darkice.com/site/acidblood/]
- ACL
- Access Control Lists are a mechanism to extend traditional
UNIX file protection and provide access granularity down to a single user.
An ACL can be associated with any file or directory on systems whose
filesystem supports property lists.
ACL extends traditional protection schemes by:
- providing separate access control specifications for each user and group;
- limiting the permissions that can be granted to individually specified
users and groups; and
- allowing all user and group permissions to be automatically specified
upon object creation, e.g. defining a default ACL for a directory that
is inherited by files and subdirectories when they are created.
- POSIX ACLs for Linux
- A project to implement POSIX-like
ACLs for Linux.
The project goals include to:
- implement system calls for ACL manipulation;
- implement ACL for sf ext2fs;
- implement the ACL manipulation utilities getfacl and setfacl; and
- patch the standard file utilities to recognize ACLs and act accordingly.
This project is currently (10/99) in the beta stage and is available in
the form of a kernel patch.
[http://major.rithus.co.at/acl/]
- ACL2
- A Computational Logic for Applicative
Common Lisp is an automated reasoning system that
is both a programming language in which you can model computer
systems and a tool for proving properties of those models.
It can be used as a programming language, a specification language,
a modeling language, a formal mathematical logic, or a semi-automatic
theorem prover.
ACL2 is a logic in that it is a formal system with rigorously defined
syntax and semantics, i.e. a first-order logic of total recursive
functions providing mathematical induction on the ordinals up to
epsilon-0 and extension principles for recursive definition
and constrained introduction of new function symbols, i.e. encapsulation.
It is a specification language in that it supports the modeling of systems
of various kinds wherein functions can equally be used to express
purely formal relationships among mathematical entities, to describe
algorithms, or to capture the intended behavior of digital systems.
ACL2 is computational logic in that the theory of recursive functions
is often considered the mathematics of computation, in that many
ACL2 specifications are executable, and in that calculation is
heavily integrated into the reasoning process.
It is also a powerful, automated theorem prover or proof checker
in that it can be used to discover proofs of theorems state in ACL2 logic
or to check previously discovered proofs.
Source code and binary distributions of ACL2 are available, with one
of the latter being for Linux Intel systems.
It is documented in a series of technical reports and a truly
mammoth 800+ page user's manual.
[http://www.cs.utexas.edu/users/moore/acl2/acl2-doc.html]
- ACMAINT
- An ACcount creation and MAINTenance system for distributed
UNIX systems. ACMAINT allows an adminstrator to perform account-related
administrative chores for any machine on the network from any attached
system. The adminstrator can create new user accounts, add or delete
accounts for existing users, change the global or per-account information
associated with a user, place a message on a user's account, and enable
or disable a user's account. Group information and mail aliases are
handled similarly.
It uses a central database on a single machine which contains a copy
of all needed data.
Changes to the database are made via a network server running on the
database machine which in turn makes changes around the network via
another network server running on each machine.
The tools in the ACMAINT system include:
- ah, the account handler, i.e. the primary administrator
interface through which user accounts, groups and aliases are handled;
- chinfo, an interactive shell for modifying mailbox host,
office and home information as well as the login shell associated
with a given username;
- dbd, a database daemon that runs on a single host and
waits for connections from clients;
- finger, displays information about logged-in users;
- mkdbmpwd, builds password DBM files;
- mknightly, builds the alias and/or group files for all of
the hostgroups and hostclasses;
- packetd, a packet daemon running on the same host as dbd
that sends packets written by that program to the transd programs;
- passwd, changes login passwords; and
- transd, a transaction daemon running on each host responsible
for the modification of files and for creating and removing appropriate
files and directories.
A source code distribution of ACMAINT is available. It is written
in C and Tcl/Tk and
is documented in a set of man pages as well as
in a set of technical reports.
[ftp://coast.cs.purdue.edu/pub/tools/unix/ACMAINT/]
- ACME (ADL)
- A simple, generic ADL that can be used as a common
interchange format for architecture design tools or as a foundation
for developing new architectural design and analysis tools.
A language and design tool infrastructure provides
a stable, baselined language and OO-based API library for representing
software architecture descriptions.
Versions are available for C++ and Java upon completion of
an online license form.
[http://www.cs.cmu.edu/~acme/]
- ACME Labs Software
- A large collection of free programs/packages written by Jeff Poskanzer
of Netpbm fame. Although none of these are
as neat as the stuff Wile E. Coyote gets, there's some pretty nice
stuff here.
The offerings include:
- acme_chat, an interface to ACME News chat;
- bigcal, a 78-column version of the cal command;
- brev, a binary file reversal program;
- date_offset, displays date and time with an offset;
- date_parse, a date parsing routine with applications;
- factor, a prime number factoring program;
- find_old_files, finds files older than a specified time;
- globe, shows an ASCII graphic of the currently lighted face of the
Earth;
- hgrep, highlights results of a grep;
- http_get, gets the contents of a URL via HTTP;
- http_load, a multiprocessing HTTP test client;
- image_size, figures out the size of image files;
- lam, laminates two or more files;
- libpnmrw, a PBM/PGM/PPM read/write library;
- libsmpw, a self-maintaining getpwuid/getpwnam replacement;
- mapext, maps files from one extension to another;
- micro_inetd, a simple network service spawner;
- mod_sample, a simple example Apache module;
- mudecode, a turbocharged MIME/UU decoder;
- overlay, overlays two or more files;
- phoon, shows an ASCII graphic of the current phase of the moon;
- random, print a random number;
- randomize, shuffle lines in a file;
- raster-pixrect, a simple raster graphics package;
- rcsscripts, shell scripts for using RCS;
- revl, reverses lines in a file;
- saywha, a front-end for write that records messages;
- texttohtml, converts text to HTML;
- thttpd, a simple, small, portable, fast and secure HTTP server;
- thumbnail_index, creates an HTML index file for a collection
of images;
- users, lists users with line breaks and highlighting;
- weblog_parse, extracts specified fields from a web log file;
- xantfarm, an ant farm for X11;
- xbouncebits, a bitmap animator for X11; and
- xphoon, the phase of the moon for X11.
All are written in C and are documented in man pages.
[http://www.acme.com/software/]
- ACME-Lib
- An object-oriented framework for writing architectural tools in C++
or Java that read, write and manipulate software architecture designs
specified in the ACME Architectural Description Language (ADL).
ACME-Lib is designed to support the rapid development of tools that
translate between native ADLs and native ACME-based architectural
design and analysis tools.
Source code distributions of both the C++ and Java versions are
available, with the former requiring GCC 2.7.2 or later and the
latter JDK 1.0.2 or greater.
[http://www.cs.cmu.edu/afs/cs/project/able/www/acme-web/v3.0/alpha-dist/alpha-dist.html]
- acoustics
- Acoustics software includes:
- Acoustics Toolbox, a collection of
several ocean acoustics models;
- COUPLE, a coupled mode acoustic propagation
program;
- HARPA, HARPO and
HARPX, 3-D Hamiltonian ray tracing programs;
- OASES, an ocean acoustics propagation package;
- Ocean Acoustics Library;
- RAM, a package for range-dependent ocean acoustics
problems;
- SUPERSNAP, a normal mode acoustic propagation
model;
- TRIMAIN, an ocean acoustics ray theory package;
- UMPE, for solving the ocean acoustic wave equation
using the parabolic approximation.
- Acoustics Toolbox
- A package which contains models pertaining to ocean acoustic
modeling.
All are written in Fortran 77 with a common input structure
which makes it easy to switch between programs.
All of the models also produce shade files which can be processed
using a common set of plotting routines to plot transmission loss
versus range or versus range and depth.
The models contained in the package include:
- BELLHOP, a program which computes acoustic fields in oceanic
environments via beam tracing, with the environment being an acoustic
medium with a sound speed which can depend on range and
depth (Porter and Bucker (1987));
- KRAKEN, a normal mode code for range-varying environments
in either Cartesian (line sources) or cylindrical (point sources)
coordinates (Porter and Reiss (1984), Porter and Reiss (1985));
- SCOOTER, a finite element code for computing acoustic fields
in range-independent environments based on direct computation of
the spectral integral with pressure
and material properties approximated by piecewise-linear
elements; and
- SPARC, the SACLANTCEN Pulse Acoustic Research Code, an experimental
time-marched FFP which treats problems with broadband or transient
sources, i.e. pulses (Porter (1990)).
The plotting routines include:
- PLOTFIELD, which produces either rectangular or polar plots
of shade files for, respectively, range-depth plots of transmission
loss and range-range plots of transmission loss;
- PLOTGRN, which uses the modes to produce plots of the amplitude
of the Green's function corresponding to a particular
source/receiver combination;
- PLOTMODE, which produces plots of specified modes using a solid
line for the real part and a dashed line for the imaginary part;
- PLOTRAY, which produces plots of the rays generated by
BELLHOP;
- PLOTRTH, which produces plots of the plane wave reflection
coefficient as a function of the angle;
- PLOTSLICE, which produces plots of coherent transmission loss
versus range by extracting a particular slice from a shade file;
- PLOTSSP, which produces plots of the sound speed profile;
- PLOTTLD, which produces plots of coherent transmission loss
versus depth;
- PLOTTLR, which sums the modes to produce plots of coherent
transmission loss versus range;
- PLOTTRI, which produces a plot showing the layout of
triangular patches the user has specified; and
- PLOTTS, which plots the time series used in or created
by a SPARC simulation.
A source code distribution of the Acoustics Toolbox is available.
It is written in Fortran 77 and the documentation includes a user's
manual for KRAKEN in PostScript format as well as ASCII help
files for each of the other programs.
[ftp://oalib.njit.edu/pub/AcousticsToolbox]
- ACPLT/KS
- A project to develop an open and free communications system for
process control and process control engineering.
This is a communications protocol
and system that provides a convenient
and manufacturer-independent link between tools (e.g. process
simulators and expert systems) and distributed control systems.
This has applications in several areas including model-based
process control, online optmization, validation of measured
data, advisory tools based on predictive simulations, and statistical
process control.
ACPLT/KS is designed to work on heterogeneous systems using
different computer platforms, with the communication system based
on current standards like TCP/IP and
ONC/RPC. It offers a degree of abstraction well-suited to
process control engineering.
ACPLT/KS is based on the client/server principle, with servers
providing information like plant or simulated data to clients
through services. An example of a service is reading from or
writing to archives. In the client/server model the servers
don't have to store state information between requests, which
allows the easier implementation of more robust servers.
Interaction between clients and servers is carried out using a
synchronous message exchange which blocks the client until the
server answers.
The servers present data which originates from a distributed
control system in a tree-like structure comprised of
communication objects.
The objects can be domains which contain any arbitrary number of
child objects, variables which represent plant or process data or
additional information like the state of the data, or
histories which provide access to state or data archives.
There are a couple of software components of this system
currently (11/97) available.
KSLIB is is a C++ communications library which allows the easy
integration of remote access to process data.
It consists of three levels:
- libplt, which is a basic level implementing generic objects;
- libks, which contains generic objects used in KS servers, clients,
and managers; and
- libkssvr and libkscln, server- and client-specific
libraries.
The KS Shell is an RPC to Tcl interface which allows the rapid and
easy building of KS clients, servers, and managers using the
Tcl scripting language.
Both components can be used on Linux Intel systems.
Documentation is available in the form of user's manuals and
some technical reports.
[http://www.plt.rwth-aachen.de/ks/english/ks.html]
- ACPLTea
- An ACPLT/KS client library written
in Java.
This consists of two packages:
- org.acplt.ks, i.e. Java classes for implementing the
ACPLT/KS protocol and client-side objects; and
- org.acplt.oncrpc, an implementation of Sun's
ONC/RPC protocol used by ACPLT/KS as
a transport mechanism.
[http://www.plt.rwth-aachen.de/ks/english/acpltea.html]
- Acrobat Reader
- A package that can be used as either as a stand-alone
PDF viewer or a plug-in for
Netscape
such that PDF files can be
viewed from within the browser.
It also includes
page-on-demand downloading and progressive rendering of page
contents of optimized PDF files. I'm using this successfully
on both Pentium Pro 200 and Pentium 60 Linux boxes, and my
only gripe is that its translations from PDF to
PostScript
don't seem to print out very well on the printers to which I
have access. The xpdf package can also
be used to view PDF documents.
[http://www.adobe.com/acrobat/]
- ACS (telephony)
- The Adjunct Communication Server is a project to
develop a core class extensible C++ state engine and
IVR components for a complete and
commercial quality multi-line communications server, allow it to
be deployed in a setting as the primary resource for FAX,
voice mail and unified messaging.
This will provide extensible IVR and messaging functionality as
well as interaction with other services such as:
The initial (5/99) release supports only the Pika line of telephony
cards, although support for the NMS line is planned.
This is being superseded (5/00) by
Bayonne.
[http://www.voxilla.org/projects/projacs.html]
- ACS (simulator)
- A general purpose electrical circuit simulator that performs nonlinear
CD and transient analyses, Fourier analysis, and AC analysis linearized
at an operating point.
ACS is fully interactive and command-driven, and can also be run in
batch mode or as a server.
[http://cgi.debian.org/www-master/debian.org/Packages/stable/electronics/acs.html]
[ftp://ftp.ee.rochester.edu/pub/acs/]
[http://www.geda.seul.org/tools/acs/]
- AC3D
- A 3D object modeller. It can be used to create objects, e.g.
ellipses, cuboids, cones, spheres, polygons, lines, etc., and
move, resize, rotate and pull the vertices around. There is also
an extrude function. It loads and saves its own format files
and can output files in Dive, Massive and
VRML format. There
are currently versions of AC3D available for Linux, SGI, SunOS
and Solaris platforms. The documentation is contained in
a text file in the distribution.
[http://www.comp.lancs.ac.uk/computing/users/andy/ac3dlinux.html]
- ACTS Toolkit
- A set of software tools for helping programmers
write high performance scientific codes for parallel
computers. It differs from other parallel tools projects in that
it focuses primarily on software used inside an application rather
than software used to develop an application.
ACTS tools are mostly libraries (written in
C, C++ and
Fortran) and are primarily designed to
run on distributed memory parallel computers using
MPI for interprocessor communication.
The tools are divided into four general categories: numerics,
frameworks, execution support and developer support.
All the tools are freely available to non-commercial users, although
some require the signing of a non-redistribution agreement.
The tools providing algorithms are:
- Aztec, a portable parallel library for solving
large, sparse linear systems on distributed memory computers using a
variety of Krylov iterative methods and various preconditioners;
- Hypre, a library of linear system preconditioners
designed for both standalone use and interoperability with other tools;
- Opt++, an object-oriented nonlinear
optimization package;
- PETSc, a package for scalably solving PDEs
using implicit methods on finite elements, differences or volumes;
- PVODE, a set of solvers for the solution
of large systems of ODEs, differential-algebraic systems, and nonlinear
systems on parallel machines;
- ScaLAPACK, a package that extends
LAPACK's linear algebra capabilities to parallel
machines; and
- SuperLU, a library for the direct solution
of large, sparse, nonsymmetric systems of linear equations and serial
and parallel machines.
The tools facilitating algorithm development are:
- Global Arrays, a portable, distributed
array library providing a shared memory style of programming without
hiding the nonuniform access characteristics of the arrays;
- Overture, a library of grid functions providing
vertex- or cell-centered grids as well as support for complex geometry
and visualization; and
- POOMA, a collection of C++
classes supporting a data-parallel style of programing (similar to
HPF) for finite difference and particle methods.
Tools for runtime and other support include:
- CUMULVS, provides a mechanism enabling
programmers to incorporate computational steering, interactive
visualization, and fault tolerance into existing parallel programs;
- Globus, provides a method for creating
large-scale computational grids and a toolkit of core services used
by applications to access the grid;
- PAWS, provides application support and
inter-application data transfer capabilities in heterogeneous
distributed environments;
- SILOON, for helping write the scripts that
can be used in runtime systems such as PAWS;
- TAU, a set of tools for analyzing the
performance of distributed and multithreaded programs; and
- Tulip, a library providing
C++ applications with threads, global pointers,
synchronization primitives and other parallel operations.
Packages for software development include:
- ATLAS and PHiPAC, tools
for the automatic generation of optimized numerical software for modern
computer architectures;
- Nexus, a portable library providing the
multithreading, communication and resource management capabilities needed
to implement advanced languages, libraries and applications in
heterogenous environments;
- PADRE, provides generic support for distributing
and communicating objects for frameworks and applications by abstracting
the details of representing and managing distributed data; and
- PETE, implements a technique for optimizing
some kinds of C++ statements via compile-time
transformations.
[http://acts.nersc.gov/]
- ACUA
- The Access Control and User Administration
package is designed to facilitate the administration of user accounts
and the enforcement of access restrictions
on Linux/*BSD systems.
ACUA contains functions for account management, access control,
information reporting, and various utility tasks.
The account management functionality includes automatic deletion of
accounts, subscriptions (i.e. temporarily increased access),
user-created accounts with call-back verification, and banning
specific users from a system temporarily or indefinitely.
The access control functions include:
- accounting period time limits,
- session time limits,
- time of day specific time limits,
- time limits when the system is busy,
- setting of user priorities,
- booting and warning idle users, and
- enforcing data transfer limits.
Information reporting functions include account status information,
detailed account information, and report generation.
Miscellaneous functions are available for kicking a user off
the system, removing files, and killing processes.
A source code distribution of ACUA is available.
This can be compiled on Linux and
BSD systems.
Documentation is contained within the distribution.
[http://sunsite.unc.edu/pub/Linux/system/serial/]
[http://acua.gist.net.au/]
- Ada
- A language, probably more about which later.
[http://www.cl.cam.ac.uk/~mgk25/ada.html]
[http://www.cera2.com/softd/ada.htm]
- ADAMEm
- A portable emulator for the Coleco ADAM and ColecoVision systems.
The program will emulate 4 disk drives, 4 tape drives, 1 ADAM printer,
1 parallel port, 1 RAM expander (with configurable memory),
2 ColecoVision game controllers, and optionally a roller controller,
driving module or a super action controller.
[http://www.komkon.org/~dekogel/adamem.html]
- ADAPT
- An adaptive multidimensional integration subroutine to integrate
a user-specified function on a hyper-rectangle of dimension 2 through
20. The user inputs the number of variables, arrays of upper and
lower limits, the minimum and maximum number of function
evaluations to be allowed, an externally declared function, and
a relative accuracy.
The routine outputs the estimated value of the integral, the
number of function evaluation used, and an estimated relative
accuracy, or a flag indicating why it failed.
The source code for this subroutine, written in Fortran 77,
is available.
All documentation is contained within the routine in comment statements.
This is part of CMLIB.
[http://sunsite.doc.ic.ac.uk/public/computing/general/statlib/cmlib/]
- Adaptive Simulated Annealing (ASA)
- ASA is a software package originally developed to deal with the
necessity of performing adaptive global optimization on
multivariate nonlinear stochastic systems.
It uses a version of the simulated annealing algorithm to
find maxima or minima in complicated multidimensional landscapes.
ASA is well-documented in a user's manual and several journal
reprints.
[http://alumni.caltech.edu/%7Eingber/]
- ADAPTOR
- The Automatic DAta Parallelism TranslaTOR is
an HPF (High Performance Fortran) compilation
system which allows the use of HPF for parallel computing on
distributed memory machines including networks of UNIX workstations.
ADAPTOR performs a source-to-source transformation wherein a
data parallel program is translated into an equivalent SPMD (single
node, multiple data) program that will run on all available computing
nodes.
ADAPTOR supports the PVM and
MPI message passing systems as well as
several other native versions for parallel machines.
The components that comprise the ADAPTOR system include:
- fadapt, which performs the actual source-to-source
transformation;
- DALIB, a Distributed Array LIBrary containing routines
to realize communication and global operations on distributed arrays
and the exchange of non-local data (with both depending on the
specific message passing system used);
- gmdhpf, a compiler driver that calls (in turn) a native
cpp to precompile the HPF source code, fadapt to compile
the HPF sources into Fortran 77 or 90 source, a native Fortran 77 or 90
compiler to compile the Fortran source into object code, and a native
linker to link the object files with DALIB and, if necessary,
the target message passing system;
- several means of performance analysis including timing statistics,
communication statistics, and tracing.
A source code distribution of ADAPTOR is available.
The compilers and libraries are written in C and can be compiled
on any UNIX box with a recent version of GCC.
A native Fortran compiler is also required.
The ADAPTOR site doesn't list Linux Intel as a supported platform
but I managed to compile the thing with no problems right out of
the box. All you need besides the Fortran and C compilers is
to install a recent version of either PVM or MPI.
Documentation includes a user's, a programmer's, and an
installation guide.
[http://www.gmd.de/SCAI/lab/adaptor/adaptor_home.html]
- ADATE
- Automatic Design of Algorithms Through
Evolution is a system for automatic programming, i.e. the
inductive inference of algorithms, which is a way to develop
artificial and general intelligence.
ADATE can automatically generate non-trivial and novel algorithms
through a large scale combinatorial search which employs sophisticated
program transformations and heuristics. It is particularly good
at synthesizing symbolic, functional programs.
The features of ADATE include:
- good evolutionary continuity, i.e. desirable algorithms are produced
through a series of transformations applied to an empty initial
algorithm with the methodology being scalable in the respect that
inference times grow polynomially with algorithm complexity for many
interesting algorithm domains;
- Turing completeness achieved via general recursion, i.e. in theory
any algorithm can be produced
by ADATE given sufficient CPU time;
- exceptional generalizing capability, i.e. it can produce general
algorithms from a few sample inputs;
- the automatic invention of recursive help functions;
- automatic scope changing to keep large programs from having too
many CPU-intensive global functions;
- optimized heuristics to distinguish between good and bad
program properties; and
- a sophisticated combinatorial search, i.e. 2-D iterative-deepening
search.
Binary versions of ADATE are available for version 0.3 for
Windows 95/NT and Linux Intel platforms.
A user's manual in PostScript
format is included in the distribution.
ADATE was developed using the
Standard ML language.
See Olsson (1995).
[http://www-ia.hiof.no/~rolando/adate_intro.html]
- ADIFOR
- A tool for the
automatic differentiation of
Fortran 77 programs.
This will, given a Fortran 77 source code and a user's specificiation
of dependent and independent variables, generate an augmented derivative
code that computes the partial derivatives of all the specified
dependent variables with respect to all of the specified dependent
variables in addition to the original result. The source code is
available for educational and non-profit research after signing
a license form. A user's guide and various papers are available
in PostScript format. See also the
ADOL-C package.
See Bischof et al. (1992).
[http://www.mcs.anl.gov/adifor/]
- ADL (Assertion)
- The Assertion Definition Language is a formal grammar
for describing the behavior of interfaces.
This purposes of ADL are to permit the translation of the formal
grammar into natural languages (e.g. English and Japanese) and to
permit the automatic translation of the grammar into tests for evaluating
the behavior of an implementation of the interface.
The targeted user of ADL is anyone faced with the task of defining
or testing a C-callable programming interface.
[http://adl.opengroup.org/]
- ADLTS
- A set of tools for transforming a set of formal
ADL specifications into a less formal
natural specification, a test specification, and tests for an
implementation of the specification.
Three specification languages are defined by the ADLTS:
- Assertion Definition Language (ADL);
- Test Data Description (TDD); and
- Natural Language Dictionary (NLD).
The ADLTS software is currently (5/99) in Phase 2 which improves upon
Phase 1 by enhancing the target languages and expanding to cover
Java,
C++ and
OMG IDL.
While the Phase 1 implementation was developed in C++,
Phase 2 uses Java 1.1 to ensure maximum portability
of the translation system.
This has been designed to work well with the
TET package.
Source and binary distributions of ADLTS Phase 1 and 2 are available.
The latter can be built on any system with a
POSIX-compliant environment. It is
written mostly in Java with a few C programs
and runtime libraries in C and C++ for testing applications written
in those languages.
Documentation includes a user's guide, a design specification document
and a handful of technical reports, all in the usual expected formats.
[http://adl.opengroup.org/exgr/]
- ADL
- Architecture Description Languages are languages that
describe or represent software architectures.
Examples of ADLs include:
[http://www.sei.cmu.edu/architecture/adl.html]
- Adlib
- A C++ library implementing a standard distributed
array descriptor (DAD) kernel for HPF-style
regular distributed arrays. This also contains a comprehensive
family of communication schedules for moving and transforming arrays
described by the DAD kernel.
This is a low-level library that is meant to be used as a building
block for user-level libraries An example is the ad++ C++ API included
in the distribution, i.e. a set of C++ header files defining
type-secure template classes representing distributed arrays, various
macros implementing distributed control constructs, and template
functions for performing transformations on distributed arrays.
A source code distribution is available which contains the usual
GNU tools for configuring and compiling.
Documentation includes separate manuals for the kernel and the
ad++ API.
[http://www.npac.syr.edu/projects/pcrc/adlib.html]
- ADLT
- The Assertion Definition Language Test
generator is a compiler for ADL, a specification language for
programming interfaces which can be used to describe the
programmer's interface to any C-callable function, library, or
system call.
ADLT generators header files, test programs, and natural-language
documentation from ADL specifications.
It can be used as a test generator to create tests for existing
software or standards or as a development tool to ensure that
documentation, software, and tests are aligned and to enable
concurrent work on all three aspects of software production.
A source code version of ADLT is available as are binaries
for several platforms including Linux Intel.
It is written in C++.
The distribution also includes some example specifications
and tests as well as extensive documentation in
PostScript format.
[http://www.smli.com/research/adl/]
- ADMesh
- A command-line driven program for processing triangulated solid meshes.
The capabilities of ADMesh include:
- reading and writing binary and ASCII STL files,
- checking STL files for flaws (e.g. unconnected facets, bad normals),
- repairing facets by connecting nearby facets within a given tolerance,
- filling holes in the mesh by adding facets,
- repairing normal directions (if facets aren't CCW),
- repairing normal values (if they aren't perpendicular to facets with unit
length),
- removing degenerate facets (i.e. those with two or more equal vertices),
- translating, rotating, mirroring,
scaling, merging two STL files,
- calculating the volume of a part, and
- writing files in OFF, VRML, and DXF formats.
A source code distribution of ADMesh is available.
It is written in C and can be compiled and used on many
flavors of UNIX including Linux.
It is documented in a short ASCII file.
Future plans include a display capability, slicing, and
splitting a file into smaller files.
[http://www.varlog.com/products/admesh/]
- adns
- The GNU Asynchronous DNS client library
is a DNS resolver library for
C/C++
programs. The features include:
- usable in an asynchronous, non-blocking manner to simultaneously
handle many queries;
- responses are automatically decoded into a natural representation for
a C program;
- automatic sanity checking;
- return of time-to-live, CNAME and other information in an easy-to-use
form;
- the resolver state is an opaque data structure, i.e. there is no global
state so a program can have several instances of the resolver; and
- error reporting that distinguishes among several causes of failure;
- can use and understand the conventional resolv.conf, but also
override it via environment variables.
A source code distribution is available under the
GPL.
[http://www.chiark.greenend.org.uk/~ian/adns/]
- ADOL-C
- An automatic differentiation
package that uses operator overloading for the evaluation
of arbitrary order derivatives of functions that are given as
C/C++ source code.
Various drivers are available for derivative
evaluation by forward and reverse mode. The source code is
available as well as extensive documentation in
PostScript
format. There is also an
ADOL-F
package for the automatic differentiation of
Fortran codes.
This is TOMS algorithm 755 and is documented
in Griewank et al. (1996).
[http://www.math.tu-dresden.de/~adol-c/]
- Adsmith
- An object-based distributed shared memory (DSM) system
built completely on top of PVM whose
primary goal is to provide a low-cost, portable, and efficient
DSM for networks of workstations.
Adsmith is a user-level
C++ library which provides primitives
to create and allocate shared objects, accesses to shared
objects, and operations to synchronize among processes.
It also incorporates many techniques for performance optimization
such as a release consistency memory model, different coherence
protocols, load/store-style memory accesses, an object-based multiple
writer protocol, bulk transfer, prefetch, nonblocking store, and
other specialized types of accesses.
The features of Adsmith include:
- symmetric shared object allocation wherein shared objects can
be dynamically allocated at any time;
- flexibly setting properties of each object including using
caching, write invalidate or update, allocating the shared object
on the local host, and manipulating the object using object-based
multiple writer protocol;
- specifying the distribution of shared objects;
- load/store-style memory accesses;
- a release consistency memory model wherein ordinary, non-synchronization
and synchronization accesses are all provided;
- various synchronization operations including barrier, mutex and
semaphore;
- non-blocking operations including prefetch and both nonblocking
stores and allocation;
- pointer control in shared memory;
- various specialized accesses including atomic, collective and active;
- bulk transfer on allocation, ordinary accesses and prefetch functions;
- a tree-like parent-child process relationship;
- a simple identification mechanism with host and process numbers
and functions to translate between the PVM task ID
and the Adsmith process number;
- use of both PVM and Adsmith primitives simultaneously; and
- starting PVM automatically if the PVM hostfile is specified in
an environmental variable.
A source code distribution of Adsmith is available.
It is written in C++ and should compile and install on most
generic UNIX platforms on which PVM
is already installed.
The developers have test platforms for Sun SunOS and Linux Intel
which indicates that it should work fairly well on these.
It is documented in a user's guide and several technical reports,
all available in PostScript format.
[http://archi1.ee.ntu.edu.tw/~wyliang/adsmith/]
[http://wotug.ukc.ac.uk/parallel/environments/pvm3/adsmith/]
- AE
- Abstract Execution is a program profiling system
which records a small set of events during the execution of the
traced program. These events serve as input to an abstract version
of the program which generates a full trace by re-executing selected
portions of the original program.
AE greatly reduces both the cost of tracing the original program
and the size of the trace files, with the cost of regenerating a
trace insignificant in comparison to the cost of the applications
that use it.
A source code distribution of AE is available. It is written in
C and can be compiled and used on most flavors of UNIX.
It is documented in a technical report included in the distribution
in PostScript format.
[http://www.gnu.ai.mit.edu/order/ftp.html]
- Aegis
- A transaction-based software configuration management system
(i.e. a CASE tool)
which provides a framework in which a team of developers may
work on program changes independently. Aegis coordinates
integrating these changes back into the master source of
the program with as little disruption as possible.
It does this inthe UNIX spirit by being a small component
designed to work with other programs.
The features of Aegis include:
- a design based on incremental development which allows any
historical version to be reproduced;
- the enforcement of a development process which requires that
sets of changes work before they are integrated into a project baseline
(i.e. that they build successfully and optionally included and pass
tests);
- support for long transactions (known as branches) which allows
appropriately created changes to be treated as if they were projects
as thus to have changes made to them;
- internationalized error messages;
- a script-based reporting facility allowing many custom reports to
be generated from the database (along with many report scripts supplied
in the basic distribution; and
- an intranet Web server interface which allows browsing of much of
the meta-data of all publicly accessible projects.
The source code for Aegis is included in the distribution and
can be installed on most generic UNIX platforms using the
supplied configure script.
The system is documented in an 80 page user's manual available
in PostScript format.
[http://www.canb.auug.org.au/~millerp/aegis.html]
[ftp://ftp.agso.gov.au/pub/Aegis/]
- AERO
- An X Window
tool for the simulation and visualization
of rigid-body systems. It contains a 3D scene editor for
designing simple block world scenes. Objects may be placed in
space, linked to each other, and forces may be exerted onto them.
In animation mode, the simulation of the scene entered is carried
out in real time (depending on the machine and scene complexity)
and displays 3-D wire frames. A flag can also be set to generate
scene description files for a ray tracing program which can produce
photorealistic output.
Stereo images can be generated in both wire frame and ray tracing
scenes. A red-green representation of the wire frame scenes is
generated which can be viewed with red-green glasses to achieve
the stereo effect.
A binocular pair of scene descriptions is generated for each time
step for the ray tracing output.
The AERO system is available as source code or as a binary
for DEC Ultrix, SGI IRIX, Sun Solaris and SunOS, and Linux Intel
platforms.
A user's manual is available in PostScript format.
Compilation of the source code requires the Xaw
and FWF widget libraries as well as a C compiler
and X11R5 or newer.
See Keller et al. (1993).
[http://www.ee.uwa.edu.au/~braunl/aero/]
- Aesop
- A software architecture design environment generator and
ADL.
Aesop provides a generic toolkit and communication infrastructure that users
can customize with architectural style descriptions and a set of tools
to use for architectural analysis. More later.
[http://www.cs.cmu.edu/afs/cs/project/able/www/aesop/aesop_home.html]
- afbackup
- A client-server backup system which offers several workstations
a centralized backup to a special backup server.
The backups on the clients can be started automatically using
cron jobs, although the preferred method is to start them
remotely from a central administrative host.
This latter option is designed to avoid security holes, e.g.
client authentication is performed before it can take over
control and access is restricted to the streamer device.
Other capabilities include client-side per-file compression,
writing the data stream to the tape in pieces and logging the
tape position for each file for fast file finding,
use of full tape capacity, full or incremental backups, and
the capability of backing up raw partitions.
A source code distribution of afbackup is available.
It is written in C and has been tested on both the server
and client sides on Linux Intel, IBM AIX, and SGI IRIX platforms.
It is documented in several ASCII text files included in the
distribution.
[ftp://www.zn.ruhr-uni-bochum.de/pub/linux/]
- AFD
- The Automatic File Distributor provides a framework for
flexible, non-stop, logable and debuggable delivery of an arbitrary number
of files to multiple recipients.
The features include:
- sending/retrieving any type of file regardless of name or contents;
- distribution of only files and no additional information;
- a sophisticated and compact X11 interface
for monitoring and controlling file distribution;
- sending files to places where AFD is not installed;
- the use of more than one process to distribute files to a single
host;
- prioritizing file distribution; and
- setting up a network of AFDs that can be monitored and controlled via
a single interface.
[http://www.dwd.de/general/GBTI/afd/english/]
- AFGL
- A software package for natural language processing.
Affix grammars are a family of two-level grammars where the
first level consists of CF syntax rules extended with meta-variables
(i.e. affixes) and the second level defines the domains of these affixes.
Affix Grammars over a Finite Lattice
are a simple form of affix grammars in which the second level consists
of finite domains with the affixes set-valued and the operations
intersections.
The AFGL formalism consists of rules and metarules, with the latter
a collection of restricted context free rules forming the second level
of AFGL.
The parsers generated by AFGL are top-down recursive backup
parsers which implement nondeterministiv LC-parsing using continuations.
This method can deal with slightly restricted left-recursive
grammars and can produce on demand one or more parsings for
ambiguous grammars.
The AFGL system consists of four main parts.
GEN is the parser generator which activates the AFGL compiler
driver which generates a parser for the input grammar expressed in
AGFL. It can also optionally invoke
the lexicon system LEXGEN.
LEXGEN is a system for combining parsers generated with GEN
with large lexical databases.
It requires a lexicon (for which it compresses and builds an index)
and a description of the interface between the grammar and the lexicon.
The parsers generated by GEN perform lexical analysis on
input using either word parsing or prefix parsing, with the former
considering the input as a sequence of words separated by word separators
and the latter used for describing morphology or compound words.
A parser can also display a lexical network consisting of a list of
words indexed with input positions, with all lexical classifications
given for each word along with the next input position.
The Grammar Workbench (GWB) is an environment for the
development of affix grammars in the AFGL formalism. It allows
a user to input, inspect, and modify a grammar as well as perform
consistency checks, compute grammar properties, generate example
sentences, and assist in performing grammar transformations.
Binary distributions of the AGFL systems are available for
MS-DOS, Linux Intel, and Sun SunOS and Solaris platforms.
A user's manual as well as several technical reports are
available in PostScript format.
[http://www.cs.kun.nl/agfl/Index.html]
- afio
- An archiver/backup program that produces archives in cpio format.
[ftp://ftp.win.tue.nl/pub/linux/tbackup/]
[http://sunsite.unc.edu/pub/Linux/system/backup/]
- AFOF
- An astrophysical program which uses an Approximate
Friends-Of-Friends method to find approximate
groups in the output file produced by an N-body simulation.
A particle belongs to a friends-of-friends group if it is
within some linking length tau of some other particle in the
group. It also takes another parameter epsilon which indicates
how much error can be tolerated, i.e. it is an approximate method.
AFOF reads input files in the TIPSY
format and writes to an ASCII output file.
The source code for AFOF is available. It is written in C
and should compile on generic UNIX platforms.
It is documented in a man page.
AFOF is a part of the
HPCCSOFT Tools suite.
[http://www-hpcc.astro.washington.edu/tools/AFOF/]
- AFsp
- a
The Audio File speech processing package is
a library of routines for reading and writing audio files with
emphasis on providing support for audio files used by the speech
processing research community.
The formats that can be read with the AFsp package are
headerless audio files, Sun audio files, RIFF WAVE files,
AIFF/AIFF-C audio files, NIST SPHERE audio files, IRCAM soundfiles,
INRS-Telecom audio files, ESPS sampled data feature files, and text
audio files in NATO/ESPRIT CD-ROM format.
The package can write to headerless audio files, AFsp (Sun) audio
files, RIFF WAVE files, and AIFF-C audio files.
The AFsp package also includes several audio file utilities including:
- InfoAudio, which displays information about an audio file;
- CompAudio, which compares audio files and produces statistics
and signal-to-noise ratio figures;
- ConcatAudio, which concatenates samples from audio files;
- CopyAudio, which combines an arbitrary linear combination
of input files into a selected format output file;
- FiltAudio, which filters an audio file with an FIR, IIR, or
an all-pole filter;
- GenNoise, which generates a file containing Gaussian white noise;
- LPanal, a demo program to do LPC analysis on a speech file;
- LPsyn, a demo program to do LPC synthesis from a residual file; and
- ResampAudio, which resamples data from an audio file.
A source code distribution of AFsp is available as is a Linux ELF
binary. The library is documented in both man pages and in HTML
files.
This is a subset of the libtsp package.
[ftp://tsp.ee.mcgill.ca/pub/AFsp/]
[http://www.TSP.EE.McGill.CA/software.html]
[http://sunsite.unc.edu/pub/Linux/apps/sound/libs/]
- AFT
- The Almost Free Text package is a nearly
free format documentation system (i.e. the format is free
as well as the system) which can be typed in using any editor
or word processor which supports tabs.
AFT is designed to parse and recognize patterns rather
than formal commands, and as such it will process almost
anything you throw at it.
A document processed with AFT can be easily converted into
other formats like HTML and
LaTeX.
[http://www.maplefish.com/todd/aft.html]
- AfterStep
- A continuation of the BowMan window manager, which was
itself based on the fvwm window manager. It was originally
designed to emulate some of the look and feel of the
NextStep user interface but has advanced, adding more useful and
requested features.
AfterStep features include:
- Wharf, a free-floating application
loader which can swallow running programs as well as contain
folders with more applications; gradient filled title bars;
- gradient filled root window pop-up menus which can be configured
to accomodate different styles of management; and
- NextStep style
icons to give a consistent look and feel to the desktop.
The source code is available as well as binaries for
several platforms including, of course, our beloved Linux.
There is an article about AfterStep in the March 1998 issue of
the Linux Journal.
[http://www.afterstep.org/]
- ascp
- The AfterStep Control Panel provides an intuitive
graphical front-end for configuring the
AfterStep window manager.
This is written in C and uses
GTK.
[http://hubble.colorado.edu/~nwanua/html/ascp.html]
- Agat
- Another Graphics
Animation Tool is a package
that allows the fast and easy production of algorithm animation.
It is based on a client-server architecture which makes the description
of the animation independent from the program which is to be
animated, which eliminates the need to recompile the program
to change the animation.
Agat provides support for watching a program in action through the
use of a stream processor in which values are provided to the server
by sending them on named streams which can be combined to make other
streams.
The source code is available and has been ported to Sun SPARC and
Linux Intel platforms. It is described as being ``a bit buggy''
on DEC Alpha systems. Agat is documented in a paper and a reference
manual, both of which are available in
PostScript format.
[http://www.inria.fr/safir/SAM/Agat/agat.html]
- agents
- Packages that implement agents in one form or another include:
- AAFID, a monitoring and intrusion detection
system employing agents;
- AgentD, a modular scheduling daemon;
- AgentSpace, a framework for developing
agent systems;
- April, a language for implementing intelligent
applications on a network;
- Ara, a platform for the portable execution of
mobile agents in heterogeneous networks;
- D'Agent, a transportable agent system;
- Echo, a simulation tool for systems composed
of many interacting adaptive agents;
- JAFMAS, a generic system for developing
speech-act based multiagent systems;
- Jam!, a general purpose agent architecture
in Java;
- JAM, an agent system for forewarning financial
institutions of impending threats;
- JAT, a template for constructing software
agents;
- Java-To-Go, an infrastructure for the
development of mobile agents and agent-based applications;
- Kafka, a Java-based
library for constructing multi-agent based distributed applications;
- KAPI, a function library for
KQML-speaking agent building;
- KIF, a language for the interchange of
knowledge among disparate programs, e.g. agents;
- kifparse, a parser for the
KIF language;
- Knowbot, a Python
enviroment for developing and using mobile agents;
- KQML, a language and
protocol for
exchanging information and knowledge;
- LCWA, an agnet for determining the last changed
times of a set of HTML documents;
- Magenta, an agent communication language;
- Mozart, an interactive distributed language
for, among other things, applications organized into multiple agents;
- NetSolve, a client-server application
for solving computational problems over a net;
- SOAR, an AI programming language used to
create intelligent agents;
- Swarm, a package for multi-agent simulation
of complex systems;
- UMPRS, a general purpose agent architecture
in C++; and
- WILMA, for the management of LANs using
SNMP
and knowledge-based systems.
- AgentD
- A modular scheduling demon intended to be an improvement on and
a replacement for cron. The goal is to create a utility/daemon
which schedules system administration procedures as often as
necessary rather than at regularly scheduled times.
The package consists of: AgentD, a daemon that manages
the scheduled execution of Agents;
Agents, objects which perform actions based on certain criteria; and
agents, any executable file or command, i.e. a raw Agent.
The daemon reads a configuration file with lines containing
Agent types (and options for them) and Agents.
An Agent type or module is a specific type of scheduling
paradigm, with the two presently available being a cron-type
module which schedules tasks at regular intervals and a
AOAN module which adjusts scheduling to run only As Often As
Necessary.
A source code distribution of AgentD is available. It is
currently (8/97) in the alpha test stage.
It is written in Objective-C.
[http://www.subsume.com/employees/droleary/agentd/agentd.html]
- AgentSpace
- A Java-based framework for the development of
mobile agent systems built on top of the
ObjectSpace Voyager package.
AgentSpace is composed of three integrated components:
- AS-Server, a Java multithreaded process in which agents
can be executed which provides agent and place creation, agent
execution, access control, agent persistence and mobility, generation
of unique identities, support for agent communication, and a simple
management/monitoring interface;
- AS-Client, which supports the management and monitoring
of agents and related resources and consists of a set of Java applets
stored on an AS-Server's machine; and
- AS-API, a package of Java interfaces and classes that define
the rules for building agnets.
A source code distribution of AgentSpace is available.
It requires Voyager 1.0.1 and
JDK 1.1 or greater.
[http://berlin.inesc.pt/agentspace/index.html]
- AgentTcl
- The name of this has been changed to
D'Agents.
- AgentX
- The Agent eXtensibility
protocol specifies a method by
which subagents may advertise and export MIB regions via a single
SNMP agent.
This protocol, defined by RFC 2257, is transparent
to the network management station with the master agent MIB unaware and
the subagents SNMP unaware. This allows for both a simpler master agent
design and subagents that only have to speak AgentX rather than also
SNMP.
A source code distribution of an AgentX SNMP daemon and the AgentX library
is available.
[http://www.scguild.com/agentx/]
[http://www.net.cmu.edu/groups/netdev/agentx.html]
- AGL
- The ASTRONET Graphics
Library is a library of graphics routines
designed to be portable across different systems. It has
both a C and a
Fortran programming interface.
The source code is available and has been compiled and
tested on HP, Linux, MS-DOS, Solaris, Sun OS, Ultrix and
VAX/VMS systems.
[ftp://ftp.arcetri.astro.it/pub/agl/]
[http://www.arcetri.astro.it./ftp.html]
- Aglaophone
- A system of interconnectable modules for recording, processing and
playing real-time audio. The available modules include:
- soundcardio, a module for recording and playback via a
sound card which supports oversampling and oversampling anti-alias/anti-image
filtering;
- spectr, for real-time spectrogram and oscilloscope display;
- bits, increases the amount of quantization (i.e. decreases the
number of bits) of a signal;
- rawread and rawwrite, for reading and writing unformatted
sample data;
- mp3gate, a gateway to an MP3 compressor and/or
decompressor;
- splitter, generates two outputs from one input;
- syncswitch, switches between two inputs;
- upsamplefilter, unsample and then filter a signal;
- filterdownsample, filter and then downsample a signal; and
- adder, adds two signals together.
[http://www.tam.cornell.edu/~sdh4/aglaophone/]
- aglets
- Aglets are Java objects that can move from one host on
the Internet to another, performing arbitrary operations within the
security limits established by each host computer. They are an
example of what is more widely
known as mobile network agents, and can be used to distribute large
applications over a series or network of machines.
An Aglets Software Development Kit (ASDK) is available for designing,
testing and using aglets.
[http://www.aglets.org/]
[http://www.trl.ibm.co.jp/aglets/]
- AGNI
- AGent at NIST is a middleware infrastructure for building
dynamically reconfigurable distributed systems.
It is used for such things as distributed protocol testing, monitoring,
and conferencing applications, and was designed to enable the scripting
of distributed systems where it is desired to instantiate the entire
system from a single point of control.
It can also be used to dynamically reconfigure and extend systems
during execution to deal with changes in the environment, failures, and
other contingencies.
It presents an event-oriented programming model and supports state and
code mobility.
The functionality of AGNI includes:
- storing and instantiating tests from a central location, e.g. a
Web server;
- moving the functionality and any initial state from the server to
the communicating peers before the test begins execution;
- determining that initialization is complete before starting;
- interactions that are peer-to-peer rather than being routed
through a Web server;
- detecting and handling failures; and
- ensuring the integrity of instantiated distributed systems.
AGNI is a Tcl extension that should be usable
on any platform supporting that language.
A source code distribution is available as is a reference manual, a
tutorial, and several example programs.
[http://badger.antd.nist.gov:8099/web-pages/]
[http://w3.antd.nist.gov/Products/products_antd.html]
- agrep
- An improvement on the grep command that allows for fast text
searching with errors.
The features of agrep not usually supported by other greps include:
- searching for approximate patterns, e.g. agrep -2 word file.txt
will find all patterns in a file matching ``word'' or differing from it
with at most two substitutions, insertions or deletions;
- oriented by record rather than line, with the capability of user-defined
records; and
- multiple pattern searching with AND or OR logic queries.
[http://glimpse.cs.arizona.edu/software.html]
- agrepy
- A port of the functionality of agrep
to Python.
[http://www.ccsr.cam.ac.uk/~mw263/pyagrep.html]
- AGROMET
- A set of routines for implementing optimal interpolation procedures
for agrometeorological variables, although they can be used with
any spatially distributed data.
The programs all use the technique of cokriging, in which more than
one variable can be taken into account when making optimal estimates.
Cokriging involves characterizing the spatial dependence among
observations, modeling this dependence using functions known as simple
and cross-variograms, and then using these functions to estimate
a variable over a given area.
The three modules comprising AGROMET are:
- VARIO, which computes values of the characteristic
variogram functions;
- COREG, which models these functions to define a valid
model called a linear model of coregionalization (LMC) which will
be used to estimate the values of the variable at different locations; and
- COKRIG, which produces optimal estimates are chosen spatial
locations by combining known neighboring values with LMC-derived
values.
A source code distribution of AGROMET is available for UNIX platforms.
It is written in C++ and documented in a user's manual available in
HTML format.
[http://www.agro.ucl.ac.be/biom/recherche/projets/agromet/agromet.htm]
- AIDE
- The Advanced Intrusion Detection Environment
is a free replacement for Tripwire that
has the features of the latter and more.
AIDE creates a database from regular expression rules in a configuration
file. After initialization this database can be used to verify the
integrity of files. Currently (9/99) four message digest algorithms
are used to check the integrity of files.
[http://www.cs.tut.fi/~rammer/aide.html]
- AIML
- The Astronomical Instrument Markup Language
is a domain-specific implementation of IML,
itself an instance of XML.
AIML is being developed to command and control astronomical
instruments.
The AIML instrument description encompasses instrument characteristics,
control commands, data stream descriptions, message formats,
communication mechanisms and pipeline algorithm descriptions.
It also supports role-specific documentation and GUI component
generation.
[http://pioneer.gsfc.nasa.gov/public/aiml/]
- aimLib
- The array-independent mathematics Library is
a library for performing high-level mathematical computations that
is designed to operate with any number of available lower-level
array math libraries (e.g.
Blitz++ and TNT).
The modules into which it is divided include:
- ODE, classes for defining and numerically integrating
systems of ODEs;
- MRA, a multi-resolution analysis module containing
filters for wavelet transforms as well as classes for performing
discrete forward and inverse wavelet transforms.
Other modules are (3/00) in the planning stages.
[http://aimlib.sourceforge.net/]
- AIMS
- The Automated Instrumentation and Monitoring
System consists of a suite of software tools for measuring
and analyzing the performance of Fortran
and C message passing programs written using
the NX, MPI and PVM
communication libraries.
It can be used to illustrate algorithm behavior, help analyze program
execution, and highlight problem areas that can be modified to
improve program execution.
The programs comprising AIMS include:
- xinstrument, a source code instrumenter that accepts Fortran 77
and C message passing programs written under MPI and PVM;
- monitor, a library of timestamping and trace-collection
routines;
- pc, a utility for removing monitoring overhead and its effects
on the communication patterns as recorded in tracefiles;
- a tracefile animation and analysis toolkit.
A source code distribution is available which includes makefiles
for several platforms including Linux.
An extensive user's manual is available.
[http://science.nas.nasa.gov/Groups/Tools/Projects/AIMS/]
- AIPS
- The Astronomical Image Processing
System is a software package for the interactive or
batch calibration and editing of radio interferometric data and for
the calibration, construction, display, and analysis of
astronomical images made from those data using Fourier
synthesis methods. The AIPS package was started in 1978 and
currently (5/97) contains over a million lines of code in
over 350 distinct application tasks. It was developed
by the National Radio Astronomy Observatory (NRAO) and
is primarily intended for radio astronomy. AIPS has been the
principal tool for the display and analysis of both 2-D and 3-D
radio images from the NRAO's Very Large Array (VLA) since 1981.
AIPS contains facilities for displaying and editing data in the aperture
(i.e. u-v) plane; for image reconstruction by Fourier inversion;
for deconvolution of the point source response by clean and maximum
entropy methods; for image combination, filtering, and parameter
estimation; and for a wide variety of image and graphical displays.
It implements a simple command language which is used to run tasks
and to interact with text, graphics, and image displays.
It embraces all stages of radio interferometric calibration, both
continuum and spectral line, and contains a full suite of calibration
and editing functions for both VLA and VLBI data including interactive
and batch methods for editing visibility data.
It reads data in MkII, MkIII, and VLBA formats, performs global
fringe-fitting by two alternative methods, offers special phase-referencing
and polarization calibration, and performs geometric corrections
in addition to the standard calibrations done for connected-element
interferometers.
The source code for AIPS is available as are binaries for
Sun Solaris and SunOS, Linux Intel (ELF), DEC OSF/1, IBM AIX, SGI
IRIX, and HP-UX platforms.
There are over 100,000 lines of online documention and 500,000
lines of printable documentation in
PostScript format.
Anything and everything that can be documented about this has
been documented about this.
The Usenet group alt.sci.astro.aips
deals with AIPS questions and
issues.
See also AIPS++.
[http://www.cv.nrao.edu/aips/]
- AIPS++
- An evolutionary step beyond the AIPS
package, AIPS++ is a software package for performing various
post-processing tasks such as calibration, editing, image
formation and enhancement, and analysis of astronomical
data. It is written in C++ rather
than the Fortran of AIPS.
It is primarily targeted at radio astronomy but can be
used in other branches of astronomy as well as in other
applications in image processing and data analysis.
The goals of AIPS++ include:
- support for single antenna (dish) telescopes, multiple element
interferometer arrays, and combinations of observations made with
different instruments;
- support for post-processing at least as fully as presently
exists in AIPS;
- provision of a set of routine applications (scripts and programs)
whose parameters can be changed interactively and dynamically;
- provision of a core of application classes for use with AIPS++
applications with access for non-AIPS++ code via a application
programming interface (API);
- being written primarily in C++ with interfaces to C and Fortran;
- a design for easy maintenance and extensibility;
- provision for multiple user interfaces, graphical and otherwise;
- portability to as many platforms as is possible;
- provision of a standard suite of test programs; and
- the capability of reading and writing data in the
FITS format.
The core package of AIPS++ is the aips package consisting
of core modules common to the entire system and with which most
applications and packages will be built.
The modules include:
- arrays, the basic array class for regularly
sampled multi-dimensional data;
- containers, a class providing non-mathematical containers, e.g.
queues, stacks, lists, associative arrays, etc.;
- deconvolution, a class supporting deconvolution on
arrays;
- exceptions, a class providing the exception handling mechanism
used in AIPS++;
- functionals, classes which map an input object of some domain
type onto an output object of some range type, with the domain and
range usually being numeric types;
- glish, classes created to make it easy to construct AIPS++
applications which interact with each other via interprocess
communications;
- graphics, a graphics class which currently (5/97) contains
a wrapper for PGPLOT and a test program;
- IO, a class providing the basic I/O functionality;
- Images, classes for handling images and image formats;
- ImgCrdSys,
- Inputs, a class facilitating a basic command line user interface;
- Lattices, classes for creating lattice-like objects;
- Logging, a class for the logging of interactive sessions and
the later use of the data thus logged;
- Mathematics, a class with various mathematical types and operations;
- Measures, a class dealing with units, physical quantities, and
a reference frame;
- OS, a class providing access to the operating system;
- RTTI, a class providing two different RunTime Type Information
implementations;
- Tables, a class providing a fundamental storage mechanism; and
- Utilities, a group of object, logical, pointer, datatype, and
other types of utilities.
The AIPS++ package was in beta test release as of 2/97 and can
be obtained by contacting an address given at the site.
[http://aips2.nrao.edu/aips++/docs/html/aips++.html]
- Aipsview
- A tool for 2-D visualization built in cooperation with the
AIPS++ project.
The features of Aipsview include:
- input of FITS and AIPS++ image files;
- the display of 2-D images as well as any orthogonal 2-D slice
from a 3-D cube;
- the interactive display of pixel coordinates, world coordinates,
and data values;
- interactive vector (line drawing) plots of data value vs. coordinate
value for plots of line profile or intensity vs. spatial position;
- the interactive specification of rectangular subregions and magnified
display of same;
- image scaling by either pixel replication or subsampling;
multiple simultaneous image display;
- animated sweeping through slices along any dimension;
- synchronized sweeping for multiple data cubes;
- blinking between two or more images;
- a complete colormap editor for the creation and editing
of look-up tables; and
- built-in Glish functions for communicating
with external programs.
Binary versions of Aipsview are currently (10/97) available
for Sun SunOS and Solaris, SGI IRIX, and Linux Intel platforms.
A user's manual is available in PostScript
format.
[http://monet.astro.uiuc.edu/AipsView/av.html]
- Air-Sea
- A collection of Matlab programs (m-files) which can be used to
compute surface wind stress and heat flux components from buoy
and shipboard atmospheric and near-surface oceanographic time
series measurements.
The programs available include:
- SWHF, which computes net shortwave (SW) flux into the ocean
and the albedo;
- LWHF, which computes net longwave (LW) flux into the ocean when
the downward LF is measured;
- BERLIAND, which estimates the net LW flux into the ocean when
the downward LF is not measured;