Next: Sn-Sz
Up: Linux Software Encyclopedia
Previous: Rn-Rz
  Contents
Last checked or modified: Jan. 9, 2001
[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 |
- SableCC
- An object-oriented framework for generating compilers and
interpreters in Java.
The framework is based on two key design decisions:
- it uses object-oriented techniques to automatically build a
strictly-typed abstract syntax tree that matches the grammar of
the compiler; and
- it generates tree-walker classes using an extended version of
the visitor design pattern enabling the implementation of actions
on the nodes of the abstract syntax tree using inheritance.
These decisions lead to a shorter development cycle for compiler construction.
The features of SableCC include:
- Deterministic Finite Automaton (DFA) based lexers with full
Unicode support and lexical states;
- an Extended Backus-Naur Form grammar syntax;
- LALR(1)-based parsers;
- automatic generation of strictly-typed abstract syntax trees and
tree-walker classes; and
- uses collections as defined in the Java 1.2
API.
[http://www.sablecc.org/]
- SACLIB
- The Symbolic Algebra Computation LIBrary
is a library of C
programs for performing computer algebra. A file containing
information on how to compile this on Linux boxes can be
found in the subdirectory ``upload.'' See also the
PACLIB
software in another directory.
[ftp://ftp.risc.uni-linz.ac.at/pub/saclib/]
- SAIF
- The Spatial Archive and Interchange Format
is a language for modeling geographic data and a vendor-neutral format
for archiving and distributing such data.
SAIF was developed for sharing spatial and spatiotemporal information
and designed to facilitate interoperability, particularly in the
context of data exchange. It follows a multiple inheritance,
object-oriented paradigm.
While SAIF is considered a base standard, another version called
SAIFLite has been developed to be a functional standard which provides
strong guidance as to how SAIF should be employed.
[http://home.gdbc.gov.bc.ca/fmebc/]
- FMEBC
- A program that supports the translation/transformation to and from
the SAIF/ZIP format. The supported formats include MicroStation Design,
ESRI ArcView Shape, ESRI Arc Generate, MOEP binary compressed,
MapInfo Data Interchange Format, and tabular data in no
special format.
Distributions of FMEBC are available for several platforms
including Linux Intel.
[http://home.gdbc.gov.bc.ca/fmebc/fmebcintro.htm]
- SAIFSuite
- A suite of utilities for managing data in
SAIF/ZIP files.
The utilities in the package include:
- a CSN to HTML generator for converting a set of data types specified
in SAIF CSN and producing an HTML representation;
- an OSN pretty printer that prints the contents of an SAIF/ZIP
file in prettyprinted ASCII format;
- several functions for reporting on data set statistics;
- an inheritance hierarchy viewer which displays the inheritance
hierarchy as a directory tree;
- feature type validation utilities for checking the syntactic
correctness of CSN definitions;
- an SAIF data set validator that verifies that the data in OSN
conforms to the data model in CSN;
- a control file generator which automatically generates a control
file based on the contents of a user-provided CSN file; and
- a control file validator that verifies that the SAIF portion of
a correlation table is consistent with the data models.
Distributions of SAIFSuite are available for several platforms
including Linux Intel.
[http://home.gdbc.gov.bc.ca/fmebc/saifintro.htm]
- SAINT
- The Security Administrator's Integrated
Network Tool gathers information about remote hosts
and networks by examining various network services.
The information gathered includes the presence of various network
information services as well as potential security flaws, e.g.
incorrectly configured network services, well-known bugs, or
bad policy decisions.
It either directly reports the data gathered or uses a simple
rule-based system to investigate potential security problems.
[http://www.wwdsi.com/saint/]
- Sajber Jukebox
- An MPEG layer 3 audio player with a graphical
user interface. The features of Sajber Jukebox include:
- support for MPEG layer3 (as well as 1 and 2);
- real-time playing of MPEG files on the Web;
- functions including forward, rewind, pause and seek;
- a mixer control allowing changes in bass, treble, volume and
PCM/DSP;
- file, standard database, and HTTP browsers;
- selecting from any number of browsers and playing with repeat and random;
- high configurability and saving of configurations;
- real-time threads allowng real-time scheduling;
- a Web bookmark system; and
- a progression bar and a timer to keep track of songs.
A source code distribution is available. This is built on top of and requires
the Qt library.
[http://kewl.campus.luth.se/~wizball/jukebox/index.html]
- SAL
- A library providing abstractions of various operating system services
for making applications more portable.
The System Abstraction Library provides abstractions
for multitasking, file I/O and socket I/O for various UNIX versions
as Windows 95/98/NT.
The multitasking abstractions are provided via conditional
inheritance with three different implementations provided:
- a portable cooperative multitasking implementation based on
the C setjmp/longjmp functions;
- an implementation based on POSIX threads; and
- one for the Windows family based on the Win32 interface.
The SAL abstractions provided for file I/O include:
- a standard set of methods for accessing files;
- a mapped on memory file abstraction providing direct access to
the file data using the virtual memory mechanism; and
- an abstraction of files consisting of several physical segments.
An abstract class socket and several derived classes provide
system dependent implementations of socket I/O.
A source code distribution of SAL is available.
[http://www.ispras.ru/~knizhnik/]
- Salamander
- A push-based distribution substrate for Internet applications.
Application interfaces written in both C and Java are
currently (7/98) available for developers.
[http://www.eecs.umich.edu/~rmalan/salamander/]
- Sam
- Sam is an interactive multi-file text
editor intended for bitmap
displays. It was developed chiefly by Rob Pike at Bell Labs as
part of the Plan9 project to have no explicit limits and to
be efficient.
It combines cut-and-paste interactive
editing with an unusual command language based on the
composition of structural regular expressions which makes complex or
repetitive editing tasks easy to specify.
Sam can edit uninterpreted ASCII text files but has no facilities
for multiple fonts, graphics, or tables.
Files are treated as transaction databases which implement changes
as atomic update, providing an undo mechanism as changes are unwound.
Efficiency is achieved by a collection of caches which minimize
both disk traffic and data motion.
Sam comprises two programs: sam, which does the command
processing and file manipulation; and samterm, which controls
the display and interacts with the user. You can run sam
on one machine and samterm on another connected via remote
execution.
The design reflects the functionality of the Plan 9 environment
in which Sam was originally developed.
This distribution is a version of Sam modified to work in the
UNIX environment rather than in Plan 9.
The Sam editor is available in a source code distribution.
It is written in ANSI/POSIX-compatible C and requires a compiler
which meets those standards.
The makefile in this distribution has been slightly modified for
compilation on Linux platforms with gcc.
The documentation includes a couple of papers describing the
original Plan 9 implementation along with several man pages
with some updated information about the X11 implementation.
[http://www.ibiblio.org/pub/Linux/apps/editors/X/]
[http://hawkwind.utcs.utoronto.ca:8001/mlists/sam.html]
[http://www.cs.bell-labs.com/sys/doc/]
- Samba
- A suite of programs which work together to allow Windows 95/NT clients to
access a UNIX filespace and
printers via a protocol called the
SMB (Session Message Block) protocol.
The pragmatic upshot is
that it allows you to redirect disks and printers to UNIX
disks and printers from clients running LAN Manager, Windows
for Workgroups, Windows NT and OS/2. A UNIX
client program is
also supplied that allows UNIX
users to use an FTP-like interface
to access filespace and printers on other SMB servers.
The components of the Samba program suite include:
- smbd, the SMB
server that handles actual connections from clients;
- nmbd, the
Netbios server that helps clients locate servers;
- smbclient,
the UNIX-hosted client program;
- smbrun, a program to help the
server run external programs;
- testprns, a program to test server
access to printers;
- testparms, a program to test the configuration
file for correctness;
- smb.conf, the configuration file; and
- smbprint, a sample
script showing how to allow a UNIX host to
use smbclient to print to an SMB server.
Samba is available only as source code from the given home
site (although binaries may be available elsewhere for some
platforms, especially Linux). It has been run successfully
on many platforms, including SunOS, Linux, SOLARIS, SVR4,
Ultrix, OSF1, AIX, BSDI, NetBSD, etc. See the site for many
others. The documentation includes man pages for all of the
programs, a FAQ, and some Linux HOWO pages on how to set up a
Samba Server. There is also a newsgroup called
comp.protocols.smb
and a couple of mailing lists devoted to discussion of
Samba-related matters (with archives of the latter available
at the home site).
See
Eckstein et al. (1999).
[http://samba.anu.edu.au/samba/]
- LinNeighborhood
- A clone of Microsoft's Network Neighborhood built using
GTK+.
It runs on top of Samba utilities and
smbfs, and can be used to browse an
SMB (CIFS) network consisting of Samba, Windows, OS/2,
LanManager for DOS, etc.
It also has an interface for mounting the found shares.
[http://www.bnro.de/~schmidjo/]
- sambaconfig
- A tool for reading and changing the smb.conf file in the
Samba package via a Web browser.
The features include:
- grouping shares in different types;
- copying, renaming and deleting shares;
- adding and removing options from shares; and
- changing option values.
[http://www.geocities.com/grymse/sambaconfig/]
- SAML
- The Simple Algebraic Math Library is a C library for
symbolic calculations along with some application programs.
It provides an object oriented framework for defining and
handling mathematical types and implements the most common
data types in computer algebra, e.g. integers, reals, fractions,
complex numbers, polynomials, tensors, matrices, etc.
The application programs are an interactive symbolic calculator
(samuel), a programming language (induce), and a program to
factorize integers. A set of Python
bindings is included in the distribution.
This should compile on
any UNIX system
with GCC 2.5.0 or later, gdbm, Perl and gmake.
[http://topo.math.u-psud.fr/~bousch/saml-eng.html]
- SampLin
- Scientific data acquisition, visualization and process control
software for Linux and other UNIX platforms.
This was originally developed for controlling mass and optical
spectrometers but later expanded into a more universal version.
The features of SampLin include:
- a simple BASIC-like scripting language
including widget creation commands;
- local or network data acquisition via the RPC
protocol;
- support for GPIB, SERIAL or generic
devices;
- a multiple dataseries plotting widget which can export in text
and PostScript formats;
- a driver for Advantech PCL-818 labcards; and
- a driver for Advantech PCL-727 12-channel D/A cards.
A source code distribution of SampLin is available.
Installation requires Qt, KDE
and the GPIB library.
[http://www.troja.mff.cuni.cz/~kvasnica/samplin.html]
- SandiaXTP
- A reference implementation of the Xpress Transport Protocol or
XTP being developed for the purposes of
interoperability testing and protocol procedure analysis.
SandiaXTP is implemented with object-oriented techniques, includes
full source code, is built on a reusable set of common transport
base classes (i.e. MTL), and runs as
a user-space daemon.
Sandia is developing this as an alternative to current network
technology, which is insufficient for the needs of coupling a large
number of processors in a computing cluster.
XTP is the current best candidate for optimizing the entire
cluster computing stack from wire to protocols to clustering
environments to end application since it is easily configured,
paradigm independent, and not tied to any single data delivery service.
The goal is to have an XTP implementation adaptable over several
delivery services including IP,
FDDI,
Ethernet,
ATM,
the XUNET gigabit testbed, an emerging LAN interconnections like
the Scalable Coherent Interface (SCI) and
Myrinet.
A source code distribution of SandiaXTP is available. It can
be compiled and used on any compiler/OS compiler on which
MTL will work, including Linux Intel
systems.
A user's guide is included in PostScript format.
[http://www.ca.sandia.gov/xtp/SandiaXTP/]
- SANE
- Scanner Access
Now Easy is a universal scanner interface, i.e. an application
programming interface (API) that provides standardized access to
any raster image scanner hardware. It allows writing just one
driver for each scanner device instead of one drive for each
scanner and application. SANE is primarily targeted at UNIX
environments, although the standard has been carefully designed
to make it possible to implement the API on virtually any hardware
or operating system.
The SANE package includes several applications or front-ends:
- scan, a simple and versatile command-line interface for
acquiring images;
- xscan, a graphical interface for acquiring images which is
based on GIMP (and can be used either
in standalone mode or as a GIMP extension);
- xcam, a GTK-based graphical interface for cameras which
acquires images continuously; and
- saned, the SANE network daemon which
can procide network-transparent
access to image acquisition devices.
The drivers currently (4/97) included in the distribution are:
- hp for HP ScanJet scanners;
- mustek for Mustek flatbed scanners;
- net, the client side of SANE network support which allows
applications to connect to saned daemons running on other
hosts;
- pint, which provides access to PINT, a kernel driver
interface for NetBSD and OpenBSD;
- pnm, a pseudo-driver which reads PNM files;
- qcam, a driver for Connectix QuickCams; and
- umax, a driver for UMAX flatbed scanners.
The SANE source code is available and has been built on
Linux (Intel and Alpha) and NetBSD platforms and should
be easily portable to other generic UNIX platforms.
The SANE standard document is available in several formats,
including PostScript. There is also a
majordomo mailing
list for the purpose of discussing the SANE standard and its
implementations.
An introduction to SANE can be found in the March 1998 issue of
the Linux Journal.
[http://www.mostang.com/sane/]
- sanecgi
- A Web browser based interface to all scanners compatible with the
SANE scanning library.
This also requires Perl 5.004 or higher and
some other packages.
[http://www.boutell.com:80/sanecgi/]
- XSane
- A GUI front-end for SANE whose features include:
- scanning, photocopying and faxing functionality;
- sending scanned images directly to the GIMP as
a plug-in;
- support for Automatic Document Feeder and multiple image scans;
- several 8- and 16-bit output formats;
- automatic increase of filename counter;
- changes in color enhancement are updated in a preview window without
requiring a new preview scan;
- color enhancement for scanners/backends that don't support custom gamma;
- an autoenhancement function that computes values for gamma, contrast and
brightness; and
- zoomable previews.
A source code distribution is available.
[http://www.wolfsburg.de/~rauch/sane/sane-xsane.html]
- SANTK
- The Storage Area Network configuration
ToolKit is a toolkit for designing and developing
storage area networks (SAN).
The user supplies SANTK with inputs such as the number of servers
and storage units and mesh characteristics, with which it creates
a suggested design for an SAN.
The output information includes the number and size of switches,
the architecture, and the number of open ports.
The SANTK is written in and requires
Java 1.3.
[http://www.borg.umn.edu/fc/SANTK/]
- SAOimage
- A Starlink Project
application which is an astronomical image display program
for computers with X Window displays.
It provides a large selection of image display and manipulation
options including scaling, zooming, panning, false color
palettes, pixel examination, display blinking, and region
specification.
The images can be viewed interactively as well as printed
to a file in PostScript format.
Image files in several formats can be read directly or
passed through a named pipe, and image mosaics can be constructed
via the use of STSDAS.
The image manipulation and viewing features of SAOimage include:
- scaling between limits;
- magnifying, zooming, and panning around the image;
- performing histogram equalization;
- displaying using log and square root scaling;
- using false color with built-in or user-specified color tables;
- stretching the constrast;
- changing the gamma parameter to give nonlinear contrast;
- typing text onto an image;
- blinking between several images;
- flagging specific regions for special processing needs;
- tracking pixel coordinates under the mouse; and
- displaying IRAF images.
A binary distribution of SAOimage is available for DEC OSF/1,
Linux Intel, and Sun Solaris platforms.
The program is documented in a user's manual available in
PostScript format.
[http://tdc-www.harvard.edu/software/saoimage.html]
- saolc
- The Structured Audio Orchestra Language
is a feature of MPEG-4 which allows you
to describe sound using a high-level, sophisticated synthesis
language. The synthetic music and sound effects produced with
this method are completely device independent.
The saolc software creates sound files from input text
files written in SAOL.
[http://sound.media.mit.edu/~eds/mpeg4]
- SAORD
- The SAO R&D software tree contains the sources and auxiliary
files for software developed by the SAO software R&D group. It
includes the ASSIST graphical user interface (GUI), the
SAOtng image display program, and the X Public Access
mechanism (XPA).
ASSIST is a graphical user interface to
IRAF and other analysis
environments under the X Window
system. It provides a convenient
way to traverse the IRAF package hierarchy and load selected
packages, find and access tasks in the IRAF hierarchy using
keyword searches, access often-used tasks directly, run tasks,
inspect and change task parameters, view task and package
help files, try out recipes and tutorials, use a common GUI
for IRAF and non-IRAF tasks, and submit comments, questions
and bug reports. The most recent release adds support for
WWW documents and more generalized support for arbitrary
analysis programs and systems, so its use isn't limited to
IRAF.
SAOtng, or SAOimage: The Next Generation, is an enhanced version
of the SAOimage display program. It supports direct display of
IRAF images and FITS images
an can easily support other formats.
It also has multiple frame buffers, region and cursor manipulation,
several scale algorithms, many colormaps, and can easily
communicate with external analysis tasks. It is highly
configurable and extensible and as such can be modified or
extended for almost any sort of task involving image displays.
The XPA mechanism is used by both
ASSIST and SAOtng to allow
external processes to control their functions.
The SAORD package was developed and tested on Sun workstations
and ports have been performed for SGI, HP and Alpha platforms.
To build and use this software you must be running at least
X11R5 and have both the Athena widget set (Xaw) and imake
installed on your system, so it doesn't sound like too onerous
a task to port it to Linux platforms. The available documentation
consists of several papers and technical reports on PostScript
format.
[http://hea-www.harvard.edu/RD/HomePage.html]
- SAPACLISP
- A library of Common Lisp
functions for performing various
spectral analysis computations. It is a companion package for the
book ``Spectral Analysis for Physical Applications: Mulitaper
and Conventional Univariate Techniques'' by D. B. Percival and
A. T. Walden. At present the best available Common Lisp
implementation is CMUCL.
[http://lib.stat.cmu.edu/sapaclisp/]
- Sapphire
- An acoustic compiler which takes a text file written in the
Sapphire programming language and converts it into a sound
file.
Sapphire has a large range of objects from which sound can
be built including envelope shapers, filters, oscillators,
sample playback modules, and arithmetic operators.
These can be wired together into sounds of arbitrary
complexity.
A source code distribution of Sapphire is available. It
is written in C and can be compiled and used on most
UNIX flavors including Linux.
It is documented in a user's manual available in several
formats including PostScript.
[http://sunsite.unc.edu/pub/Linux/apps/sound/editors/]
- SART
- A Guile library for ray tracking and
high complexity 3-D modeling.
SART can be used to create and render very complex images
(e.g. 3-D fractals, CSGs and splines), powerful procedural
textures, and even to combine rendering techniques (e.g.
using Z buffering, ray tracing and radiosity in a single
image).
A source code distribution is available which requires
Guile for installation and use.
[http://petra.zesoi.fer.hr/~silovic/sart/]
- sash
- The stand-alone shell is designed for assisting
in recovery from certain types of system failures, especially those
involving missing shared libraries or important executables.
Sash can execute external programs like in any other shell, but
it also has built-in versions of many standard system commands.
These commands include -chattr, -chgrp, -chmod,
-chown, -cmp, -cp, -dd, -echo, -ed,
-grep, -file, -find, -gunzip, -gzip,
-kill, -ln, -ls, -lsattr, -mkdir,
-mknod, -more, -mount, -mv, -printenv,
-pwd, -rm, -rmdir, -sum, -sync,
-tar, -touch, -umount and -where.
The programs are similar to the standard programs with similar names
although usually simpler and cruder (i.e. without many of the usual
options implemented).
Each is also prefaced with a dash to distinguish it from the normal
system program of the same name.
[http://www.canb.auug.org.au/~dbell/]
- SATAN
- The Security Administrator Tool for
Analyzing Networks is an easy-to-use and
useful tool for probing networks for security
vulnerabilities.
SATAN sequentially scans networks of computers with the
severity of the scan capable of being modified.
It can recognize well-known security holes and, upon finding
any, reports them but does nothing about them.
It even reports how various weaknesses can be exploited.
It checks for such things as old or bad versions of
sendmail,
writeable world-exported NFS filesystems, incorrectly
configured TFTP, accessible Yellow Pages password files, and
rhosts files.
You compile it, run it, read the report it generates, and
then do something about the security holes it finds.
A source code version of SATAN is available, and it is recommended
that it be compiled by each user since there have been several
reports of Trojan horses found in precompiled binaries.
Various patches are needed to compile SATAN on Linux systems.
The appropriate information and files can be found at the
Linux SATAN Site
at CEBAF amongst
other places.
The distribution contains documentation for the package and
it is also covered in Garfinkel and Spafford (1996).
The two URLs given below are of the creators of SATAN.
[http://www.fish.com/satan/]
[http://wzv.win.tue.nl/satan/]
[http://staff.washington.edu/dittrich/misc/satan/]
[http://www.cs.ruu.nl/cert-uu/satan.html]
- Satan Paint (spaint)
- A game developer's paint program and sprite editor. Features
include a script language, unlimited image size and number of
images, animation, tiling, morphing, antialiasing, blurring,
and 8 bit color editing (but it reads 24 bit formats).
It reads PXC, BMP, PIC, LBM, SPE and X Window dumps and writes
SPE, PCX and BMP formats.
Ports are available for DOS, Sun, SGI, AIX, and Linux.
[http://www.ibiblio.org/pub/Linux/apps/graphics/draw/]
[ftp://ftp.cc.gatech.edu/pub/linux/apps/graphics/]
- Sather
- An object oriented language designed to be simple, efficient, safe,
flexible, and non-proprietary. This is intended to be a simpler version
of Eiffel
designed for numerical applications. A Linux binary of the
compiler is available in addition to the complete distribution. You
might want to snag the binary instead of compiling it yourself seeing
how the latter feat requires some 46 Mb to accomplish.
Questions can be asked and information found on the newsgroup
comp.lang.sather.
See Stoutamire and Kennel (1995).
[http://www.gnu.org/software/sather/]
[http://www.icsi.berkeley.edu/~sather/]
- Sather-K
- A modern object-oriented imperative programming language. It
originates, like its close cousin
Sather, with the
Eiffel language, although
the design objective was to get rid of all unnecessary
constructions in Eiffel. It differs from Sather in that the
goals included rapid rather than separate compilation, ease of
use as a pedagogical platform for teaching imperative and
object oriented programming techniques, and use as a research
vehicle for understanding library design. A project is currently
underway to combine both strains of Sather.
The source code of Sather-K is available as well as binaries
for Linux and SunOS platforms (with binaries for MS/DOS,
Sun Solaris, SGI, DEC Ultrix, and HP platforms in the works).
The documentation is contained within a 40+ page user's guide
in PostScript format.
[http://i44s11.info.uni-karlsruhe.de:80/sather/index_engl.html]
- SATLIB
- A collection of benchmark problems, solvers and tools used for research
into propositional satisfiability or SAT.
SATLIB was created to provide a uniform test-bed for SAT solvers as
well as a site for collecting SAT problem instances, algorithms and
empirical characterizations of the performance of the algorithms.
[http://www.intellektik.informatik.tu-darmstadt.de/SATLIB/]
- SAVANT
- A project to build an extensible, object-oriented intermediate
form (IIR) for the hardware description
language VHDL.
The project has produced a suite of software to analyze
VHDL, build the IIR, and output C++ code
suitable for execution with the
TyVIS VHDL simulation kernel.
The SAVANT software components are:
- SCRAM, a VHDL analyzer that checks a VHDL description
for syntactic and static semantic correctness and store it in
the IIR form;
- AIRE, an intermediate form standard that includes
definitions of two intermediates, a memory resident data structure
called IIR, and a machine-independent file data structure called
FIR;
- the transmute method, i.e. a collection of
derived classes that support
the rewriting of the IIR into a reduced form via the implementation
of a static model reduction algebra;
- publisher classes, i.e. a pair of
overloaded methods for regenerating
VHDL from the internal IIR and producing C++ simulation code
to link with TyVIS; and
- a library manager that allows the user to create design
libraries and help the parser locate design libraries that
are referenced in other VHDL descriptions.
A source code distribution of SAVANT is available. It
is written in C++ and has been successfuly
compiled on several platforms including Linux.
[http://www.ececs.uc.edu/~paw/savant/]
- sB_BLAS
- A collection of parallel implementations of the level 3 Basic
Linear Algebra Subroutines (BLAS).
These were all written using the
MPI system.
[http://www.cs.utexas.edu/users/rvdg/sw/sB_BLAS/]
- ScaLAPACK
- The Scalable LAPACK
is a collection of software for performing dense and band linear
algebra computations on distributed-memory parallel computers.
The ScaLAPACK routines are basically LAPACK
routines redesigned for distributed memory computers and, like
their predecessors, are based on block-partitioned algorithms
to minimize the frequency of data movement between the levels
of the memory hierarchy.
This library is built on PBLAS and
BLACS, with all interprocessor communications
handled by these packages.
The routines contained in Version 1.6 (11/97) of ScaLAPACK
are divided into three categories. The driver and expert driver
routines each call one or more of the more basic computational
routines.
The driver routines include:
- psdbsv, which solves a general band system of linear
equations AX=B (with no pivoting);
- psdtsv, which solves a general tridiagonal system of
linear equations AX=B (with no pivoting);
- psgbsv, which solves a general banded system of linear
equations AX=B;
- psgels, which solves overdetermined or underdetermined
linear systems involving a matrix of full rank;
- psgesv, which solves a general system of linear
equations AX=B;
- psgesvd, which computes the SVD of a general matrix
and optionally computes the left and/or right singular vectors;
- pspbsv, which solves a symmetric positive definite
banded system of linear equations AX=B;
- psposv, which solves a symmetric positive definite
system of linear equations AX=B;
- psptsv, which solves a symmetric positive definite tridiagonal
system of linear equations AX=B; and
- pssyev, which computes selected eigenvalues and eigenvectors
of a symmetric matrix.
The expert driver routines are:
- psgesvx, which solves a general system of linear equations;
- psposvx, which solves a symmetric positive definite system
of linear equations;
- pssyevx, which computes selected eigenvalues and eigenvectors
of a symmetric matrix; and
- pssygvx, which computes selected eigenvalues and eigenvectors
of a real generalized symmetric-definite eigenproblem.
The computational routines in ScaLAPACK include:
- psdbtrf, which computes an LU factorization of a general
band matrix with no pivoting;
- psdbtrs, which solves a general band system of linear
equations using the LU factorization computed by psdbtrf;
- psdttrf, which computes an LU factorization of a general
tridiagonal matrix with no pivoting;
- psdttrs, which solves a general tridiagonal system
using the LU factorization computed by psdttrf;
- psgbtrf, which computes an LU factorization of a general
band matrix using partial pivoting with row interchanges;
- psbtrs, which solves a general band system using the
factorization computed by psgbtrf;
- psgebrd, which reduces a general rectangular matrix to
a real bidiagonal form by an orthogonal transformation;
- psgecon, which estimates the reciprocal of the condition
number of a matrix;
- psgeequ, which computes row and column scalings to equilibrate
a general rectangular matrix and reduce its condition number;
- psgehrd, which reduces a general matrix to upper Hessenberg
form by an orthogonal similarity transformation;
- psgelqf, which computes an LQ factorization of a general
rectangular matrix;
- psgeqlf, which computes a QL factorization of a general
rectangular matrix;
- psgeqpf, which computes a QR factorization with column
pivoting of a general rectangular matrix;
- psgeqrf, which computes a QR factorization of a general
rectangular matrix;
- psgerfs, which improves the computed solution to a system
of linear equations and provides error bounds and backward error
estimates for the solutions;
- psgerqf, which computes an RQ factorization of a general
rectangular matrix;
- psgetrf, which computes an LU factorization of a general
matrix using partial pivoting with row interchanges;
- psgetri, which computes the inverse of a general matrix
using the LU factorization computed by psgetrf;
- psgetrs, which solves a general system of linear equations
using the LU factorization computed by psgetrf;
- psggqrf, which computes a generalized QR factorization;
- psggrqf, which computes a generalized RQ factorization;
- pslahqr, which computes the Schur decomposition and/or
eigenvalues of a matrix already in Hessenberg form;
- psorglq, which generates all or part of the orthogonal matrix
Q from an LQ factorization determined by psgelqf;
- psorggl, which generates all or part of the orthogonal matrix
Q from a QL factorization determined by psgeqlf;
- psorggr, which generates all or part of the orthogonal
matrix Q from a QR factorization determined by psgeqrf;
- psorgrq, which generates all or part of the orthogonal
matrix Q from an RQ factorization determined by psgerqf;
- psormbr, which multiplies a general matrix by one of the
orthogonal transformation matrices from a reduction to bidiagonal
from determined by psgebrd;
- psormhr, which multiplies a general matrix by the orthogonal
transformation matrix from a reduction to Hessenberg form determined
by psgehrd;
- psormlq, which multiplies a general matrix by the orthogonal
matrix from an LQ factorization determined by psgelqf;
- psormql, which multiplies a general matrix by the orthogonal
matrix from a QL factorization determined by psgeqlf;
- psormqr, which multiplies a general matrix by the orthogonal
matrix from a QR factorization determined by psgeqrf;
- psormrq, which multiplies a general matrix by the orthogonal
matrix from an RQ factorization determined by psgerqf;
- psormrz, which multiplies a general matrix by the orthogonal
transformation matrix from a reduction to upper triangular form determined
by pstzrzf;
- psormtr, which multiplies a general matrix by the orthogonal
transformation matrix from a reduction to tridiagonal form determined
by pssytrd;
- pspbtrf, which computes the Cholesky factorization of a
symmetric positive definite banded matrix;
- pspbtrs, which solves a symmetric positive definite banded
system of linear equations using the Cholesky factorization computed
by pspbtrf;
- pspocon, which estimates the reciprocal of the condition
number of a symmetric positive definite distributed matrix;
- pspoequ, which computes row and column scalings to equilibrate
a symmetric positive definite matrix and reduce its condition number;
- psporfs, which improves the computed solution to a symmetric
positive definite system of linear equations and provides forward
and backward error bounds for the solution;
- pspotrf, which computes the Cholesky factorization of a
symmetric positive definite matrix;
- pspotri, which computes the inverse of a symmetric positive
definite matrix using the Cholesky factorization computed by pspotrf;
- pspotrs, which solves a symmetric positive definite system of
linear equations using the Cholesky factorization computed by pspotrf;
- pspttrf, which computes the Cholesky factorization of a symmetric
positive definite tridiagonal matrix;
- pspttrs, which solves a symmetric positive definite tridiagonal
system of linear equations using the Cholesky factorization computed
by pspttrf;
- psstebz, the computes the eigenvalues of a symmetric tridiagonal
matrix by bisection;
- psstein, which computes the eigenvectors of a symmetric
tridiagonal matrix using inverse iteration;
- pssygst, which computes a symmetric-definite generalized
eigenproblem to standard form;
- pssytrd, which reduces a symmetric matrix to real symmetric
tridiagonal form by an orthogonal similarity transformation;
- pstrcon, which estimates the reciprocal of the condition
number of a triangular matrix;
- pstrrfs, which provides error bounds and backward error
estimates for the solution to a system of linear equations with a
triangular coefficient matrix;
- pstrtri, which computes the inverse of a triangular matrix;
- pstrtrs, which solves a triangular system of linear equations;
- pstzrzf, which reduces an upper trapezoidal matrix to upper
triangular form by means of orthogonal transformations.
These routines are single precision real versions of the
ScaLAPACK routines. Almost all are also available in double
precision real, single precision complex, and double precision
complex versions. For example, the first driver psdbsv
is called pddbsv in double precision real, pcdbsv
in single precision complex, and pzdbsv in double precision
complex.
ScaLAPACK is written to be portable across a wide range of
distributed-memory environments such as the Cray T3, IBM SP, Intel
series,
TM CM-5, clusters of workstations, and any system for which
PVM or
MPI are available.
Prebuilt versions are available for several platforms
including Linux Intel.
Prebuilt versions of the underlying BLACS are also available
for Linux Intel and other platforms.
Available documentation includes a comprehensive installation
guide and a user's guide. The former is available in PostScript
format and the latter online in HTML format as well as in
a commercially available version. Several technical reports
are also available.
The ScaLAPACK library is one part of the
ScaLAPACK Project.
See Blackford et al. (1997).
[http://www.netlib.org/scalapack/scalapack_home.html]
- scanallert
- A pair of Perl scripts for detecting and serving
notification about port scans.
[http://www.xs4all.nl/~rmeijer/afspraak.htm]
- scanlogd
- A daemon
that detects port scans and writes one line per detected
scan via the syslog mechanism.
The program obtains a raw socket at startup and processes
IP packets sent to the system.
If a source address sends multiple packets to different ports
in a short time the event will be logged (with compile-time
defaults being 10 different
ports within 3 seconds for a log entry and 5 scans within 20
seconds to stop logging temporarily).
[http://www.openwall.com/scanlogd/]
- SCARAB
- This is a package to integrate and plot the Lorenz
attractor. Several integration methods are included and the
program is written in C.
[http://sunsite.unc.edu/pub/Linux/apps/math/]
[ftp://ftp.cc.gatech.edu/pub/linux/apps/math/]
- SCATTERLIB
- Note: This has disappeared. If anyone knows where it is or what
happened then drop me a line.
A library of light-scattering codes mostly written in
Fortran. The codes
include those for scattering from
spheres (Mie scattering), coated and concentric multispheres,
spheroids, cylinders slabs, and clusters of spheres and spheroids.
Methods include the discrete or coupled dipole approximation (DDA or
CDA), the method of moments (MoM), T-matrix, the anomalous
diffusion approximation (ADT), the high energy approximation
(HEA), and surface patch methods. The applications for which
the codes are used include atmospheric radiative transfer,
phytoplankton, marine optics, flow cytometry, particle sizing,
paints, radar backscatter, and more.
[http://atol.ucsd.edu/~pflatau/scatlib/index.html]
- SCC
- A precompiler which offers extensions for algebraic programming
in C. It is intended to be used in conjunction with a standard
C compiler to make possible efficient and convenient computations
with algebraic objects other than just floating point numbers
or integers. The distribution includes the source code, written
in C, and a user's manual in
Texinfo format.
[ftp://ftp.ma.utexas.edu/pub/maxima/]
- SCCS
- The Source Code Control System is
a package for managing source files originally introduced by
AT&T in the System V version of UNIX.
It is currently incorporated into the X/Open standard.
A GNU clone of SCCS called, predictably
enough, CSSC is available.
See Bolinger and Bronson (1995) and
Silverberg (1992).
- sced
- A modeling program that makes use of geometric constraints
to edit objects in a virtual world. The scenes created can be
exported to a variety of rendering programs including
POV-Ray.
This chief advantage of sced over other modellers is its
constraint based editing capabilities, which gives the user
greater control over how objects can be manipulated.
The capabilities of sced include:
- creating instances of objects;
- creating new base objects;
- transforming objects to set their
size, orientation and location;
- setting attributes for objects
that control how it appears when rendered;
- aliasing objects such
that they are exported as something else;
- interactively manipulating
the view of a scene in all its parameters;
- saving and restoring
views of the screen;
- specifying the camera location;
- creating
layers of objects and light sources of various types;
- previewing
a scene via a separate renderer; and
- loading files in a simple
description language.
The source code for sced is available and should compile and
install on any system with X Windows Release 5 or later.
The author developes it on a Linux platforms so it's fairly
safe to assume that it will compile on those. A few binary
versions are also available, one being for Linux with ELF
libraries. Documentation is available in both
HTML and
PostScript format.
[http://www.cs.wisc.edu/~schenney/sced/sced.html]
- SCEDA
- The SCene EDitor/Animator is an X11-based,
constraint-oriented 3-D wireframe modeler.
It provides support for splined keyframe animation with animated
objects having their position, rotation and scale smoothly interpolated
across multiple keyframes using a modified spline function.
The capabilities of SCEDA include:
- creating and designing single scenes;
- cloning or copying single scenes to create multiple scenes;
- viewing and editing each keyframe individually;
- controlling the number of interpolated frames between each pair;
- performing wireframe animations (i.e. previews) from with SCEDA;
- exporting scene description files for all frames to a wide array
of formats;
- saving and loading keyframe sequences to and from files;
- cloning or deleting sets of objects within and across keyframes; and
- propagating views and attributes of objects across keyframes.
A source code distribution of SCEDA is available.
[http://members.home.net/mbeast1/]
[http://www.cyberus.ca/~denism/sceda/sceda.html]
- Scene
- A project to implement an LPGL version
of a 3-D graphics API using C++ and based
on the Open Inventor API.
The planned features include:
- Open Inventor 2.0 API;
- VRML 1.0/2.0 support;
- Xt/Motif components; and
- GTK+ components.
A source code distribution of the current (8/99) beta release
is available.
[http://scene.netpedia.net/]
- SCEPTRE
- The System for Circuit Evaluation and Prediction
of Transient Radiation Effects is a general purpose
circuit analysis program which performs AC, DC, and transient analyses
on either linear or nonlinear networks.
SCEPTRE employs free form input language and state variable methods
to simulate problems of interest to electrical engineers.
The features include:
- flexible nonlinear input wherein circuit elements can be described
as constants, tabular data, or arbitrary functions of other
network quantities;
- flexible modeling capability which allows any device to be modeled
to the required degree of accuracy;
- state of the art numerical methods that efficiently simulate networks;
- storage of model configurations in a model library;
- automatic determination of initial conditions;
- automation of multiple case reruns based on a single master run;
- specification of additional output parameters;
- instruction sequencing to minimize computational delays in transient
analyses;
- adjustablity of the amount of user control of simulations;
- extensibility via user-supplied Fortran subroutines; and
- use of one code to run a range of analyses on a single circuit.
Graphical output is handled via an interface
to Gnuplot.
A source code distribution of SCEPTRE is available. It is
written in Fortran and can be compiled with it g77
or fort77.
A user's manual is included in PostScript format.
See also Bowers and Sedore (1971).
[ftp://novilux.fh-friedberg.de/pub/sceptre/]
- S-Check
- A tool for assaying and improving the performance of parallel and
networked (i.e. PVM-type) programs.
It is a highly automated sensitivity analysis tool that extends
benchmarking and conventional profiling.
It predicts how refinements in parts of programs are going to affect
performance by making local changes in code efficiencies and
correlating these with overall program performance.
This analysis is a sophisticated comparison that catches interactions
arising from shared resources or communication links.
A source code distribution is available which can be used on many
platforms including networks of workstations running either
PVM or MPI.
Documentation includes a user's manual and several technical reports.
[http://www.nist.gov/itl/div895/cmr/scheck/]
- Schelab
- A numerical analysis library for Scheme.
Schelab is an object-oriented library based on Meroon-V3 and is
intended to become the kernel of a matrix algebra system.
It currently (10/98) includes:
- a library for garbage collectable memory chunks;
- a library of classes for foreign data types from Fortran and C;
- a Foreign Function Interface (FFI) for Fortran that needs no
glue code;
- a set of overloadable mathematical operations;
- a partial interface to BLAS;
- classes for complex and real matrices as well as simple operations; and
- a timing facility.
A source code distribution of Schelab is available.
It can run on top of Guile,
MzScheme and Gambit.
Documentation is available online.
[http://www.arrakis.es/~worm/schelab.html]
- Scheme
- A high-level language closely related to LISP. It can be
more useful than C for some applications and has a few features
lacking in C, e.g. automatic memory management, a richer selection
of data types, type-safe primitives, etc.
Scheme uses a parenthisized-list Polish notation to describe
programs and other data, with the syntax providing for great
expressive power largely because of its simplicity.
The significant semantic characteristics of the Scheme
language include:
- the statical scoping of variables wherein
each use of a variable is associated with a lexically
apparent binding of that variable;
- latent types wherein
Scheme associates types with values (or objects) rather than
with variables;
- objects have unlimited extent which means that
no object created during a Scheme computation is ever destroyed
(although the garbage collector does reclaim the storage occupied
by objects when appropriate);
- proper tail recursion wherein
iterative computation can occur in constant space;
- procedures are objects which means that you can create them
dynamically, store them in data structures, etc.;
- continuations are explicit rather than behind the scenes so
you can use them to implement a variety of advanced control constructs; and
- arguments are passed by value which means that Scheme evaluates
the argument expressions before the procedure gains control whether
or not the procedure needs the result of the evaluations.
Several implementations
of Scheme (including both interpreters and compilers) are freely
available. The implementations available for Linux platforms
include:
- Bigloo, an interpreter
and compiler;
- DrScheme, a development environment with
project management and debugging tools;
- Elk, an interpreter
designed as an embeddable extension language subsystem for applications
written in C or C++);
- Gambit, a high-performance compiler and
interpreter with several extensions;
- Kali Scheme, a distributed implementation
permitting the efficient transmission of higher-order objects
- Kawa, a Scheme interpreter written in
Java;
- LISC, a lightweight
Scheme interpreter written in
Java;
- MIT Scheme, a compiler which can generate
fast code;
- MzScheme, a extended Scheme interpreter
designed to be embedded in applications;
- OpenScheme, and interpreter and compiler;
- OScheme, an embeddable Scheme interpreter
with various extensions;
- RScheme, a well-structured implementation
with extensions including an object system and threads;
- Scheme48, a bytecode interpreter;
- Scheme-to-C, a compiler
that compiles Scheme to C;
- SCM, an interpreter that provides a
machine-independent platform for JACAL;
- Scsh,
a UNIX shell/systems programming environment;
- SIOD, a small interpreter with a database
and extensions for UNIX and CGI programming;
- Stalin, an optimizing compiler;
- uts, a Scheme bytcode interpreter; and
- VSCM, a portable implementation with several
non-standard features.
See the Scheme FAQ.
See the
Internet Scheme Repository
for
lots of code and information about Scheme.
See
Abelson et al. (1996),
Dybvig (1987),
Friedman (1996a),
Friedman (1996b),
Grillmeyer (1997),
Pearce (1997) and
Springer and Friedman (1989).
[http://www.swiss.ai.mit.edu/projects/scheme/]
[http://www.scheme.org/]
[http://www.schemers.org/]
- Scheme 48
- A byte-code-interpreter
Scheme
implementation that can be
compiled on any system with a C compiler, including a Linux
box with GCC.
[ftp://swiss-ftp.ai.mit.edu/pub/s48/]
- Scheme-to-C
- An R4RS compliant Scheme
system centered around a
compiler that compiles Scheme to C. Additional features include
expansion passing style macros, a foreign function call capability,
records, weak pointers, 3 X11 interfaces, and a garbage collector.
These features comprise a system that is portable, efficient, and
able to build applications that contain a mix of compiled and
interpreted Scheme as well as compiled code from C, C++ and other
languages. The current release runs on many systems including
Linux platforms. The three interfaces include one to Xlib included
in the base system, an alternative Xlib interface called
SCIX,
and an interactive interface called
ezd.
[ftp://gatekeeper.dec.com/pub/DEC/Scheme-to-C/]
- Schism
- A partial evaluator
for a pure (i.e. side-effect free) subset of
Scheme.
The features include:
- polyvariant binding-time analysis;
- treatment of higher-order functions and partially static
data structures;
- color-coded binding-time information via
Emacs; and
- a binding-time inspector.
A source code distribution is available as well as a user's
manual in PostScript format.
[http://www.irisa.fr/lande/schism.html]
- ScmOS
- An object system for Scheme that provides:
- classes with multiple inheritance;
- generic procedures;
- multimethods, i.e. methods that can specialize on one or more
arguments;
- :before, :after and :around auxiliary methods
in addition to primary methods;
- call-next-method and next-method? in primary and
:around methods; and
- standard method combination similar to the default protocol
in CLOS.
[http://www.cs.rice.edu/~dorai/scmos.html]
- Schwarz-Christoffel Toolbox
- A Matlab toolbox containing programs (m-files) for the interactive
computation and visualization of Schwarz-Christoffel conformal maps.
The Schwarz-Christoffel formula is a recipe for a conformal map
from the upper half-plane to th einterior of a polygon in the
complex plane.
Some maps can be obtained analytically but more often than not
the solution of a system of nonlinear equations is required to
obtain a map, a solution which can be obtained with this Toolbox.
The Toolbox features:
- the graphical input of polygons;
- the solution of the parameter problem for half-plane, disk, and
exterior mapping;
- the computation of forward and inverse maps;
- the adaptive plotting of images of orthogonal grids; and
- both command line and graphical user interfaces.
The Toolbox can be used with Matlab or with the freely available
Octave package which can run most
Matlab m-files.
It is documented in a 16 page user's guide in
PostScript format.
This is TOMS algorithm 756 and is documented
in Driscoll (1996).
[http://www.math.udel.edu/~driscoll/software/]
[ftp://ftp.mathworks.com/pub/contrib/v4/misc/]
- scientific graphics
- Packages with which scientific graphics can be produced, or at
least those designed for such things, include:
- ACEgr, an interactive 2-D plotting
package with numerous capabilities;
- AGL, a library of graphics routines with
C and Fortran interfaces;
- Aipsview, a tool for visual astronomical data
analysis with which images can be viewed and processed and interactive
vector plots can be created;
- DATAPLOT, a scientific and mathematical
computational environment with 2-D plotting capabilities;
- DAVID, an interactive visualization
environment with, among many other things, 2-D plotting functionality;
- DISLIN, a high-level library of functions
for graphical data display;
- EDGR, an interactive program for creating,
editing, printing and storing graphical data;
- EPIC, a sytem for the management, display and
analysis of oceanographic data;
- ESO-MIDAS, an astronomical data analysis
system with 2-D plotting functionality;
- GLE, a scientific graphics library;
- GLI, a complete graphics system for plotting
complex data sets and displaying images;
- GMT, a collection of over 50 UNIX tools for
manipulating and graphing 2-D data;
- GMV, a scientific visualization tool for simulation
data from structured and unstructured meshes;
- Gnuplot, a command-line driven
interactive plotting utility;
- GrADS, an interactive tool for the display
and analysis of Earth science data;
- Gri, a language for drawing scientific graphs;
- Hvplot, a scientific plotting package for
2-D plots;
- LASSPTools, a collection of utilities
for analyzing and graphing data;
- LinkWinds, a visual data exploration
system that can output geophysical data in several formats;
- MAPGEN/PLOTGEN, a collection of
programs to create maps of data with geographic coordinates;
- Mesh-TV, an interactive tool for visualizing
and analyzing data on regular meshes;
- PGPerl, a Perl
interface to PGPLOT;
- PGPLOT, a library of Fortran-callable
graphing routines;
- PHYSICA, a high-level interactive programming
environment with graphics capabilities;
- Plotmtv, an interactive 2-D plotting program;
- PlotPlus, an interactive, command-driven
2-D scientific graphics package;
- plotutils, a collection of programs for
plotting 2-D scientific data;
- PLplot, a library of C functions for
creating 2-D scientific graphs;
- PONGO, an application for interactively
plotting data which uses PGPLOT;
- PSPLOT, a library of Fortran-callable
routines for generating 2-D PostScript graphs;
- ptcl, a package that registers
PGPLOT functions as
Tcl commands;
- PPGPLOT, a Python
interface to PGPLOT;
- Robot, a plotting and data analysis program;
- STAP, an interactive graphics and data
analysis program built on top of PGPLOT;
- TIPSY, a tool for displaying and analyzing
the results of N-body simulations in astronomy;
- VCS, a package for the manipulation and
display of scientific data;
- Vigie, a system for data visualization;
- Vis5D, a package for visualizing output from
numerical weather models and similar sources;
- WIP, an interactive scientific graphics package
built on top of PGPLOT;
- xdang, a data visualization and viewing
package;
- XFarbe, a contouring program for isolines;
- Xgraphic, an interactive package for
drawing graphs;
- Xlisp-Stat, an extensible statistical
computing environment with graph creation capabilities;
- XmdvTool, a package for visually exploring
multivariate data;
- XploRe, an interactive statistical computing
environment with graph creation capabilities; and
- YPLOT, a tool for creating 2-D scientific
plots.
- Scientific Math Library
- An extensive collection of predefined C++
classes and routines covering a wide array of the most widely
used mathematical applications.
The functions include everything from complex variable analysis to
matrix and vector algebra.
A source code distribution is available that can be compiled on
most platforms including UNIX platforms with
G++.
[http://www.pa.msu.edu:80/~volya/cpp/cpp.html]
- Scientist's Workbench (SWB)
- A package whose main functions are to bring together the
tools and software required by scientific researchers in
a distributed computing environment, to provide a graphical
interface to access those tools, and to provide the software
necessary to allow researchers to easily build their own
graphical interfaces.
The SWB consists of several software components: the X Integrator,
the executable widgets, and the global variable manager.
The X Integrator (xi) is a standalone pulldown menu program
launcher (an X client application) that serves as the SWB presentation
layer. Distributed command execution is provided as an integral
function in addition to the usual local command execution.
It is driven by a user-configurable input file that describes menu
layout, defaults, selection titles, and applications to be launched.
The executable widgets are a collection of small X clients (C programs)
which provide graphical interfaces to common tasks such as displaying
and responding to a prompt or specifying a file name. These may be
invoked from the command line or in shell
shell scripts, enabling users
to easily replace text-based interfaces with graphical interfaces.
The global variable manager is a UNIX shell script which provides
global data sharing between processes both locally and remotely.
The source code for the SWB package is available and
requires a UNIX/X11 platform with the
Motif library for installation.
Documentation for SWB is contained in the distribution package.
[ftp://ftp.tc.cornell.edu/pub/swb/]
- Scilab
- An interactive scientific software package which,
although designed for system control
and signal processing applications, is powerful and flexible
enough for most general scientific and technical applications.
The goals of the Scilab
project are to provide a computing environment where data types are
varied and flexible, the syntax is natural and easy to use,
a reasonable set of primitives are provided to serve as the
basis for a wide variety of calculations, an open programming
environment allows new primitives to be easily added, and where
specialty library development is supported.
Scilab is composed of three distinct parts: an interpreter,
libraries of functions (called Scilab procedures), and
libraries of Fortran and C routines.
The routine libraries are mostly independently created
packages available via Netlib and
similar repositories which have been slightly modified for
compatibility with the interpreter.
The Scilab interpreter
features a Matlab-like syntax superset which allows it
to succinctly and symbolically represent complicated
mathematical objects such as transfer
functions, linear systems, graphs, polynomials,
and polynomial matrices in addition
to the usual numerical matrices.
There are a variety of powerful primitives available for
the analysis of nonlinear systems which allow the explicit and
implicit numerical integration of dynamic systems.
There are also facilities for nonlinear, quadratic, and linear
optimization.
The Scilab programming environment is flexible and extensible
in that the creation of functions or function libraries is
a well-defined and straightforward procedure in which functions
are recognized as data objects and can be manipulated and
created just like other types of data objects, e.g. functions can
be defined and passed as input or output arguments of other
functions. Additionally,
a character string data type allows the on-line creation of
functions.
An easy-to-use
interface to Fortran and C subprograms allows libraries
of routines previously developed to be used, and a compiler
is provided that can transform many Scilab functions into
Fortran subroutines (which make use of the supplied Fortran
libraries).
Various collections of functions called toolboxes have been
developed in the Scilab environment.
The Scicos toolbox is a package for the modeling
and simulation of dynamical systems based on a general formalism
which includes both continuous and discrete systems.
It includes a graphical editor which can be used to build
complex models by interconnecting blocks representing either
predefined or user-defined functions.
The LMITOOL package is a tool for solving the linear
matrix inequality (LMI) problems which often arise in systems
and control.
Metanet is a toolbox for computations with graphs and
networks. It can handle directed and undirected multigraphs
with loops and includes a graphical window in which the graphics
can be displayed and modified.
The available functions include graph manipulations and transformations as
well as graph, network, and miscellaneous computations.
GeCI is a communications toolbox which allows the remote
execution of programs as well as exchanges of messages between those
programs. It enables groups of machines to be combined into a virtual
computer across a network.
A signal processing toolbox includes many functions for various
signal processing tasks including frequency response, sampling,
decimation and interpolation, DFTs and FFTs, convolution,
the chirp transform, FIR and IIR filters, spectral estimation,
filtering and smoothing, optimization in filter design,
stochastic realizations, and time-frequency signal analysis.
The source code for Scilab is available along with binaries
for Linux, DEC Alpha, HP 9000, IBM RS600, SGI, and Sun platforms.
The available documentation (in PostScript format) is extensive
and includes an introduction and tutorial, a huge reference manual,
an internals manual for developers, and manuals for each of the
toolboxes. These are all available in
PostScript format (which you may
want to modify with psutils since it
is in A4 page format).
[http://www-rocq.inria.fr/scilab/]
- Scintilla
- A source code editing component built using Python
that can be used on both UNIX/X11 and Win32 platforms.
Scintilla contains the basic features found in standard text editing
components as well as additional features useful for editing and
debugging source code. These include:
- syntax styling;
- error indicators;
- code completion; and
- call tips.
This was originally developed, strangely enough, because of
annoyances with the available Python editor on Win32.
[http://www.scintilla.org/]
- Scion
- The Statistics Collection In Operational
Networks software is a package for collecting
SNMP data in an organized manner and
producing useful statistics from that data. The data can be
viewed graphically via a Web interface to the package.
The Scion package consists of several programs including:
- scollect, which gathers data from the nodes specified in
configuration files and stores it in an rtdata (i.e. real time
data) tree;
- scook, which processes the raw data collected by
- scollect into values which can be graphically displayed;
- scserver, an OpStats server which attempts to be
compatible with RFC-1856; and
- sclient, a graphical, Web-based interface which displays
the statistics in a useful format.
The Scion package is available as source code or in
binary format for Sun SunOS and Solaris, BSDi, IBM AIX,
Windows NT, and Linux Intel platforms.
The source is written in C can be fairly easily ported to other generic
UNIX platforms. The programs that comprise the package are
documented in man pages.
[http://www.merit.edu/~netscarf/]
- SciPlot
- An Xt widget to display 2-D data in a graph
intended to display scientific data.
It can format the data in polar or cartesian coordinates, with
linear and log axes available for cartesian plots.
The features include automatic scaling, legend drawing,
noncontinuous (i.e. broken) line segments,
real time updates,
axis labeling, PostScript output, multiple plot lines, color support,
user font specification, dashed lines, symbols drawn at points,
and degrees or radians as angles in polar plots.
A source code distribution of SciPlot is available.
It is written in ANSI C and requires X11R5 or later.
It is subclassed from the Xt Core widget class and thus doesn't
depend on any other widget set, although it can be used with
many other widget sets.
[http://www.akvo.com/robm/software/unsupported/]
- SCIPORT
- A portable Fortran emulation
of the SCILIB library
created by Cray for use with its supercomputers.
This package contains single and double precision files,
files for testing, and a man page describing the library
contents. The library consists of files containing
groups of related routines: a version of the BLAS
routines, searching and ordering programs, linear
recurrence programs, matrix utilities, FFT programs,
filter programs, gather/scatter programs, a version of
LINPACK, and a version of
EISPACK.
[http://www.netlib.org/scilib/index.html]
- SciTE
- The Scintilla-based Text Editor is a text
editor built on top of Scintilla.
Both are intended to be useful for building and testing source
code on Win32 and X11 platforms.
[http://www.scintilla.org/SciTE.html]
- SciTeXt
- A word processor for systems with a Java
interpreter.
It functions as a normal word processor and also has special
functions and tools for scientific work, e.g. the creation
of TeX source output.
No versions of the Java version of this have been released
as of 9/97.
[http://www.uni-paderborn.de/~SciTeXt/]
- SCL
- The NIST STEP Class Library is a set of
C++ class libraries capable of representing
information conforming to the EXPRESS data specification.
STEP is a project to develop a standard for representing product
information in a common computer-interoperable format, with
the information encompassing all parts of the life cycle including
design, manufacture, use, maintenance, and disposal.
EXPRESS is the language in which this information is to be represented.
The SCL components include:
- fedex_plus, for parsing an EXPRESS file and generating
a C++ class library representation based on the
STEP Data Access Interface (SDAI) C++ language binding;
- fedex_idl, for translating EXPRESS into IDL based on the
SDAI IDL language binding;
- fedex_os, for parsing an EXPRESS file and generating the
C++ code needed to add persistence to the classes output from
fedex_plus;
- mkProbe, generates a Data Probe editor/schema browser from
an EXPRESS file;
- the STEP core library providing STEP-related
functionality including early- and late-bound attribute access,
reading/writing of STEP Part 21 files, implementations of EXPRESS
base types, etc.;
- a data acces interface library providing a partial
implementation of the SDAI Session Schema;
- an editor library implementing the functionality associated with an
editor for instances of entities defined in EXPRESS;
- a utils library providing generic C++ functionality;
- an ivfasd library providing general purpose InterViews
user interface objects;
- a probe-ui library providing InterViews user interface objects
for implementing an EXPRESS editor;
- fedex, a syntax and semantic checker for EXPRESS; and
- exppp, a pretty printer for formatting EXPRESS documents.
Source code distributions of the SCL are available upon completion
of an online request form.
Documentation includes several technical reports available in
PostScript format.
[http://www.mel.nist.gov/msidstaff/sauder/SCL.htm]
- SCM
- A Scheme
interpreter written in C.
[http://ftp-swiss.ai.mit.edu/~jaffer/SCM.html]
- SCMS
- The SMILE Cluster Management System is an
extensible management tool for Beowulf
clusters.
It provides a large set of tools that allow sysadmins to monitor,
submit commands, query system status and maintain system configuration.
The system management utilities include those for:
- showing the status of nodes;
- accessing any node control panel;
- showing the disk space of nodes;
- FTP and Telnet to nodes;
- showing the filesystems of nodes;
- showing the process status of nodes;
- rebooting nodes;
- centralizing package management;
- shutting down nodes;
- checking users on nodes; and
- showing the status of the motherboards on nodes.
Several parallel UNIX commands are also available for performing
various tasks:
- pcat, for concatenating or viewing files;
- pcp, for distributing files to nodes;
- pexec, for executing commands on nodes;
- pfind, for finding files on nodes;
- plps, for finding processes using the process name;
- pkill and pkillu, for killing processes by name and
user name;
- pls, for listing files in clusters;
- pload, for reporting loads in clusters;
- pmv, for moving files;
- ppred, for executing commands on multiple nodes;
- pps, for displaying process information on all nodes;
- prm, for removing file(s) on cluster nodes; and
- ptest, for testing conditions on multiple nodes.
[http://smile.cpe.ku.ac.th/research/]
- SCNN
- The Simulating system for Cellular Neural Networks
is a universal simulating system for analog processing neural networks
with regular and local interconnections.
CNN are governed by sets of nonlinear ordinary differential equations
and realized as VLSI chips which operate at very high speeds.
The features of SCNN include:
- arbitrary numbers of layers and grid sizes;
- discrete time stepping;
- several calculating methods including Euler's method,
the Runge-Kutta method, and a recursive method;
- a choice of output function sincluding piecewise linear,
sigmoid, threshold, or user defined;
- translation invariant or variant templates;
- linear and nonlinear templates;
- variable signal delays;
- a choice of output file formats; and
- a choice of training
methods including RBP and RPLA (with variable step size).
Binary versions of SCSS are available for both Intel Linux and
IBM AIX platforms.
They can be obtained after the completion of an online registration
form.
A user's manual is available in the distribution.
[http://apx00.physik.uni-frankfurt.de/e_ag_rt/cnn/SCNN/homepage.html]
- SCore
- A high performance parallel programming environment for workstation
and PC clusters. The SCore Cluster System Software consists of the
following components:
- PM II, a low-level communication library for cluster
computing with drivers for Myrinet, Ethernet, UDP and Shmem;
- SCore-D, a user-level global operating system for using
cluster resources such as processors and networks;
- SCASH, a software distributed shared memory (DSM) system that
uses PM II and employs the Lazy Release Consistency model with
both update and invalidate protocols;
- MPICH-SCore, a high performance version of
MPI based on the MPICH
library using PM II for interprocess communication;
- MPC++, a multi-threaded version of C++
using templates that provides synchronous/asynchronous remote function
invocation, synchronization structures, global pointers, and other
functionality;
- SCOUT, a program providing an SIMD-style remote UNIX
shell environment.
The features provided by this version of SCore include:
- a single system image that makes it transparent to users
whether they're on a single machine or a cluster;
- support for communications via a variety of network protocols;
- a seamless programming environment, e.g. an Hmake command
enabling users to compile a program on heterogenous computers;
- the MPC++ Multi-Threaded Template Library (MTTL) allows programs
to run in a heterogeneous environment without code modications;
- multiple parallel programming paradigms including message passing,
shared memory, and multi-threaded;
- a real-time process activity monitor;
- automatic deadlock detection;
- automatic attachment of the GDB debugger when
an exception signal is detected;
- pre-emptive checkpointing;
- parallel process migration; and
- simultaneous multiplexing of parallel processes in both the space
and time domains.
A source code distribution of SCore is available. It runs
on several platforms including Linux Intel.
Documentation is scattered about in the form of various manuals
and technical reports.
[http://pdswww.rwcp.or.jp/]
- SCOTCH
- A software package for static mapping and graph partitioning.
It is the product of the SCOTCH project to study static mapping
by the means of graph theory using a divide and conquer approach.
It can map any weighted source graph onto any weighted target graph
or even onto disconnected subgraphs of a given target graph.
Other features include a running time linear in the number of
edges of the source graph and logarithmic in the number of
vertices of the target graph, easy interface with other programs
due to its vertex labeling capabilities, and several tools to
build, check and display graphs.
The source code is available and is currently supported
on IBM AIX, Linux, SGI and Sun Solaris and SunOS platforms.
The documentation is contained within a 33 page user's guide
in PostScript format.
[http://dept-info.labri.u-bordeaux.fr/~pelegrin/scotch/]
- Scotty
- A Tcl/Tk-based package for network
management applications, i.e. it allows the
implementation of site-specific network management software using
high-level, string-based APIs which simplifies the development
of portable network management scripts. The distribution contains
two main components: the Tnm Tcl extension which provides access
to network management information sources; and the Tkined
network editor which provides a framework for an extensible
network management system.
The network protocols supported by the Tnm extension include:
- SNMP (SNMPv1, SNMPv2c, and SNMPv2u
including access to MIB definitions);
- ICMP (echo, mask, timestamp,
and udp/icmp traceroute requests);
- DNS (a, ptr, hinfo, mx, and soa record lookups);
- HTTP (server and client side);
- SUN RPC (portmapper, mount, rstat,
etherstat, pcnfs services);
- NTP (version 3 mode 6 request); and
- UDP (sending and receiving datagrams).
Additional commands
supplied to simplify the implementation of network management
applications include:
- netdb to access to local network databases;
- syslog to send messages to the local system logging facility; and
- job to simplify the implementation of monitoring and control
procedures that need to be scheduled at regular intervals.
The Tkined editor can be used to manage networks by:
monitoring the status of computers, hubs and routers;
interrogating TCP/IP systems for useful information; and
graphically representing networks and nodes via the capabilities
of Tk.
The Scotty package is available as source code and requires
only a C compiler and Tcl/Tk for installation. It comes with
a GNU autoconfig script to ease installation.
The primary source of documentation is the man pages provided
with the distribution, although HTML versions of these pages
are also provided. Some tutorial and report documents are
also available in HTML and/or PostScript format.
[http://wwwsnmp.cs.utwente.nl/~schoenw/scotty/]
[ftp://netlab-c.mscs.mu.edu/scotty/]
- SNMPD
- An SNMP daemon written using
Tcl in the Scotty
environment.
[http://geekcorp.com/snmpd/]
- SNMP Monitor Ex
- An extension to Scotty with several
additional features.
[http://geekcorp.com/snmpmonitor/]
- Scout
- A communication-oriented operating system targeted at network
appliances (e.g. network-attached devices, set-top boxes, hand-held
devices, etc.).
Scout runs stand-alone on Alpha and Pentium processors and is hosted
from Linux using GNU tools.
The characteristics needed for a network appliance OS that require rethinking
standard OS concepts include:
- I/O handling as the primary function which
makes it a good idea to structure the OS around communication-oriented
abstractions rather than the usual computation-centric abstractions
(e.g. processes, jobs, tasks);
- provision of a general framework that can be specialized or
configured for particular needs rather than a general purpose OS
that doesn't offer exactly the right functionality; and
- predictable performance with scarce resources, e.g. the OS must
pay attention to the behavior of the system under load in the light
of the need to support realtime performance.
Scout addresses these issues by:
- being designed around a novel communication-oriented abstraction
called a path which is an extension of a network connection into the
host OS;
- configurability wherein an instance targeted for a particular
network appliance is generated from a collection of building-block
modules; and
- including scheduling and resource allocation mechanisms that
offer predictable performance under load.
The path abstraction also plays a role in the other issues.
Paths expose global context that various optimization techniques can
exploit for specialization, i.e. it achieves specialization through
configurability with the resulting modular system optimized on a
path-by-path basis.
As regards resource management, all scheduling decisions are made
on a per-path basis, i.e. Scout allocates to a given path all the
resources it needs to provide the same quality of service as is
supported by the network connection.
Scout also uses small languages to generate diverse collections of
specialized network appliances. These are special-purpose languages
used to specify some component of Scout from which OS code can be
automatically generated. Thus all components need not be implemented
from scratch but can be generated according to the specific needs
of an appliance.
In addition to the basic OS capabilities, the Scout distribution
contains the modules and files needed to build several network
appliances including:
- NetTV, which decodes and displays
MPEG-compressed video streams;
- NetCAM, which captures frames from a video source, compresses
them, packetizes the frames, and transmits them;
- IP Router with QoS Support, which supports IETF-defined
Guaranteed and Controlled-Load service classes and includes multiple
packet scheduling algorithms;
- HTTP Firewall, a firewall
specialized for HTTP traffic
whose goal is to limit the access of traffic to/from a protected
network and limit the data flows within the firewall itself;
- Joust, a small and fast JavaOS which includes an efficient
Java virtual machine and a JIT compiler;
- Test Kernel, which exercises a TCP/IP protocol stack; and
- NetBoot, used to boot other kernels on Pentiums.
A source code distribution of the Scout OS is available which
requires Toba for the Java components.
The supported hardware is listed at the site.
The system is documented in various technical reports and
papers.
[http://www.cs.arizona.edu/scout/]
- SCPACK
- The Schwarz-Christoffel PACKage is a Fortran
package for the numerical implementation of the Schwarz-Christoffel (S-C)
conformal map from the interior of a unit disk in the complex
plane. The image polygon may have vertices at infinity so it
is really any simply-connected region in the plane whose boundary
consists of a finite number of straight lines.
The conformal map can be applied to many types of problems involving
a polygonal domain, e.g. Laplace's equation with Dirichlet, Neumann,
or mixed boundary conditions; solving Poisson's equation; finding
eigenvalues of the Laplace operator; hodograph computations for ideal
free-streamline flow; and grid generation.
SCPACK contains routines to solve the parameter problem associated
with the S-C map (SCSOLV), to evaluate
the resulting S-C map (WSC), and to evaluate its inverse
(ZSC).
The S-C approach is good for the conformal mapping of a polygon
because it handles the singularities at corners exactly and reduces
the map to a finite number of parameters, but it is not recommended
for mapping curved domains by means of polygonal approximations since
much better methods exist for the latter.
The SCPACK distribution is available as source code.
All 19 suboutines are written in Fortran 77 and are documented
in an ASCII user's manual as well as in comment statements contained
within the source code files.
See Trefethen (1980).
[http://www.netlib.org/conformal/]
- sC++
- A language which enhances C++ with some new keywords which
define active objects and synchronization primitives in a way
that preserives the philosophy of object oriented programming.
An sC++ compiler produces code which is linked with a run-time
library to produce multithreaded code running within a UNIX process.
The library consists of several different classes including:
- a Collection class;
- a CppUtils class containing general classes and templates;
- a GUI class which encapsulates a large part of the functionalities
- of Motif and X into active objects;
- a 2-D geometry library;
- a Graph library;
- a Matrix library;
- a Signal library containing an active object abstraction of
the UNIX signal concept; and
- a Socket library containing abstracts of
UNIX TCP sockets, UDP
connection-oriented sockets, and UNIX socket primitives.
Separate distributions of the sC++ package are available for
Linux and Sun/DEC machines.
There is extensive online documentation for the compiler and
libraries as well as several technical reports available in
PostScript format.
[http://ltiwww.epfl.ch/sCxx/index.html]
- Screamer
- An extension of Common Lisp
that adds support for nondeterministic programming.
It consists of two levels: a basic nondeterministic
level which adds support for backtracking and undoable
side effects and, on top of this, a nondeterministic
substrate.
Screamer provides a comprehensive contraint programming
language on top of this substrate
in which mixed problems of numeric and symbolic
constraints can be formulated and solved.
This extension provides Common Lisp with most of
the functionality of both Prolog
and various constraint programming languages.
The source code for Screamer is available.
Is is portable across most Common Lisp implementations and
is known to run under
AKCL and
CMUCL.
A user's manual and a technical paper describing Screamer
are included in the distribution in
PostScript format.
[http://www.cis.upenn.edu/~screamer-tools/home.html]
- SCRIP
- The Spherical Coordinate Remapping and
Interpolation Package
computes addresses and weights for remapping and interpolating
fields between grids in spherical coordinates.
It supports four kinds of remappings:
- a conservative remapping scheme ideally suited to a coupled model
context where the area-integrated field must be conserved;
- a basic bilinear interpolation scheme slightly generalized to perform
a local bilinear interpolation;
- a bicubic interpolation similar to the bilinear method; and
- a distance-weighted average of nearest-neighbor points.
The blinear and bicubic schemes can only be used with logically rectangular
grids, while the others can be used for any grid in spherical
coordinates.
The source code is freely available, and requires a
Fortran 90 compiler and
NetCDF for compilation.
A user's guide is available in PostScript format.
[http://www.acl.lanl.gov/climate/software/SCRIP/SCRIPmain.html]
- scripting language
- Scripting languages are those that are primarily interpreted and which
can be directly executed from a text file using the standard
#! construct.
Scripting languages or packages that contain some form of
scripting language include:
- Scriptum
- A graphical-based text editor.
The features include
visual enhancements to improve source code readability,
powerful navigation and browsing commands, edition commands
including keyword completion, blocking indenting, scope
selection, etc., multi-level undo/redo, a definition browser
(for C, C++ and Java at present), a graphical class browser
for the same suspects, integration with RCS/SCCS for version
management, file locking features, remote editing via the FTP
protocol, folding, configurability, and built-in configurations
for YACC/Bison, lex, C, C++, Eiffel, Lisp, Scheme, Java, Perl
and HTML. The present version (5/96) is free.
[http://www.scriptum.org/]
[http://graficadigital.com/websites/InterSoft/html/products/scriptum.html]
- ScriptWriter
- A word processor specifically modified for writing scripts in
the official formatting style.
This is a modified version of
AbiWord.
[http://www.freefilm.cx/ScriptWriter/]
- SCRUM
- The S-Coordinates Rutgers University
Model is an ocean circulation model that solves the
free surface, hydrostatic, primitive equations over variable
topography using stretched terrain-following coordinates in
the vertical and orthogonal curvilinear coordinates in the
horizontal.
The model equations are solved separately for total momentum
and vertically integrated momentum and then coupled.
The total momentum and tracer equations are discretized in time
using a third-order Adams-Bashforth scheme with the vertical
viscosity/diffusion terms treated implicitly with a
Crank-Nicolson scheme. The free surface and vertically
integrated momentum equations are discretized in time with
a trapezoidal leapfrog scheme, and the horizontal and
vertical derivatives are evaluated with finite differences
on a staggered horizontal C-grid and a staggered vertical grid.
The additional features of SCRUM include:
- a vertical staggered grid;
- optional horizontal and vertical Smolarkiewicz advection;
- rotating mixing tensors which mix on constant z-surfaces and
constant in-situ density surfaces;
- several available vertical turbulence closure schemes;
- a coupled bottom boundary layer model;
- Lagrangian drifters;
- analytical and data driven packages for initial conditions, boundary
conditions, and forcing functions;
- analytical test examples;
- input and output files via NetCDF;
- a coupled sea-ice model;
- grid generation and land/sea mask packages;
- a data assimilation scheme; and
- a coupled biological model.
The source code for SCRUM is available. It is written in
Fortran 77 and is configured to compile
with several Fortran compilers