Next: Na-Nm
Up: Linux Software Encyclopedia
Previous: Ma-Mm
  Contents
Last checked or modified: Aug. 25, 2000
[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 |
- Mnemonic
- The Multilithic Nondependent Extensible
Modular Objective Network-aware
Internet Client is an ongoing development project
to write a WWW browser with an emphasis on modularity to make
it easy to add new functionality, use different user interface
toolkits, or use the core browser to write a completely
different Internet-based client.
[http://www.mnemonic.org/]
- MNMTDB/MNMTSG
- A set of Fortran 77 routines for
testing algorithm implementations.
This is TOMS algorithm 709 and is documented
in Buckley (1992).
[http://www.acm.org/toms/V18.html]
[http://www.netlib.org/toms/index.html]
- mnoGoSearch
- An MySQL-based indexing and searching system
for small domain Internet servers. The two parts of mnoGoSearch are:
- an indexer that walks over HTML hypertext references and stores
found words and new references in a database; and
- an HTTP front-end to find data
collected by the indexer (available in both CGI
and PHP versions).
The features include:
- HTTP/1.0, proxy and FTP via proxy support;
- a choice of searching modes;
- indexing both plain text and HTML files;
- external parsers for supporting other file types;
- authorization support to index password-protected areas;
- support for stopwords;
- reentrant capability, i.e. more than one indexing or searching
process can be simultaneously performed;
- support for META keywords and descriptions;
- HTML templates to customize search results;
- Boolean query language support; and
- fuzzy search with different word forms.
A source code distribution is available.
[http://search.mnogo.ru/]
- MOATL
- The MOdal Acoustic Transmission
Loss package
is a Fortran 77 program for calculating
acoustic transmission loss in the ocean using normal modes.
MOATL obtains eigenfunctions by shooting from the top and bottom
of the domain and matching in the middle.
The finite-difference method used is based on Numerov's method, and
range-dependent problems are handled via adiabatic mode theory.
See Miller and Ingenito (1975) and
Miller and Wolf (1980).
[ftp://oalib.saic.com/pub/oalib/moatl/]
[http://oalib.saic.com/Modes/modes.html]
- Mobile IP
- A protocol designed to meet the needs of mobile computer users
who wish to connect to the Internet and maintain communications
as they move from place to place.
Mobile IP consists of three major subsystems:
- a discovery mechanism which allows computers to determine their
new IP addresses as they move from place to place;
- a mechanism to register new attachment
points via an agent
representing the mobile computer at its home network; and
- mechanisms to deliver datagrams to the mobile node at its
remote location.
See Perkins (1997).
[http://www.computer.org/internet/v2n1/mobile.htm]
- MosquitoNet Mobile IP
- An implementation of the Mobile IP specification
by the MosquitoNet project.
The includes patches for the Linux kernel, a home agent
implementation, and a mobile host implementation.
A source code distributionis available.
[http://gunpowder.Stanford.EDU/mip/]
- Mobiware
- A toolkit providing a set of open programmable interfaces and
algorithms for adaptive mobile networking, e.g. on mobile devices,
wireless access points and mobile-capable switches/routers.
Mobiware provides a set of open programmable
CORBA interfaces and objects that abstract and
represent network devices and resources to provide a toolkit for
programmable signaling, adaptation management and wireless transport
services.
In a nutshell, it consists of a set of controllers that interact
with transport, network and medium access controller distributed
objects that maintain application-specific adaptive quality of
service (QoS) needs.
The goal is to provide a foundation for open programmable mobile
networking to deal with the inherent complexity of delivering
scalable audio and video and real-time services to mobile devices.
The features of Mobiware include:
- graceful flow scaling during QoS-controlled handoffs;
- flow bundling to speed up handoff and minimize the signaling
overhead associated with maintaining network state;
- mobile soft-state that allows mobile devices to respond to changes
in wireless and mobile QoS;
- an active, object-based wireless transport protocol that binds
active and static transport objects at mobile devices and access points
to provide end-to-end adaptation services;
- adaptive FEC filters that protect content against physical radio
link impairments;
- active media filters that perform temporal and spatial scaling
for multi-resolution video and audio flows; and
- a Java-based management tool for wireless
networks.
[http://comet.columbia.edu/mobiware/]
- MOCHA
- An interactive software for system specification and verification, i.e.
that implements formal methods.
The goal of MOCHA is to exploit, rather than destroy, design structure
in automatic verification.
The capabilities include:
- system specification in the language of reactive modules, which
allow the formal specification of heterogeneous systems with synchronous,
asynchronous and real-time components;
- system execution by randomized, user-guide or mixed-mode trace
generation;
- requirement specification via Alternating Temporal Logic (ATL), which
allows the formal specification of requirements that refer to collaborative
as well as adversarial relationships between modules;
- requirement verification by ATL model checking, with a checker based
on BDD engines; and
- implementation verification by checking trace containment between
implementation and specification modules.
MOCHA is intended to be a vehicle for the development of new verification
algorithms and approaches, and follows a software architecture
similar to VIS.
A source code distribution is available.
This is written in C and uses both
Tcl/Tk and Tix.
Documentation includes a user's manual and several technical reports.
[http://www-cad.eecs.berkeley.edu/~mocha/]
- Mocha
- A Java bytecode decompiler which
generates readable source code from bytecode.
[http://www.brouhaha.com/~eric/computers/mocha.html]
- MOC
- A 2-D groundwater flow and transport model which uses the method
of characteristics.
MOC simulates solute transport in flowing ground water
and is applicable to 1- or 2-D problems involving steady state
or transient flow.
It computes changes in concentration over time caused by the
processes of advective transport, hydrodynamic dispersion, mixing or
dilution from fluid sources, and certain types of chemical reactions
(i.e. first-order irreversible-rate reactions or equilibrium controlled
sorption-desorption and ion exchange reactions).
Gradients of fluid density, viscosity, and temperature are assumed to
not affect the velocity distribution, although the aquifer may be
heterogeneous and anisotropic.
The MOC model solves the coupled ground water flow and solute
transport equations using an iterative alternating-direction
implicit procedure to solve the flow equation
and the method of characteristics to solve the solute transport
equation. Two alternative solvers are also available for the
flow equation. The transport solver incorporates a particle tracking
procedure to represent advective transport and a two-step explicit
finite-difference procedure to solve equations describing the effects
of hydrodynamic dispersion and fluid sources.
A source code distribution of MOC for UNIX platforms is
available.
The primary documentation is contained within
Konikow and Bredehoeft (1978),
Goode and Konikow (1989) and Konikow et al. (1994).
This is part of the USGS
Water Resources Applications Software
collection.
[http://water.usgs.gov/software/moc.html]
[http://www.geogr.uni-jena.de/software/moc.html]
- MOCDENSE
- A two-constituent transport model for groundwater having variable
density which has been used in studies of saltwater intrusion
and dense contaminant plumes.
MOCDENSE simulates solute transport in flowing groundwater
and is applicable to 2-D, cross-sectional problems involving groundwater
with constant or variable density.
It computes changes in concentration due to advective transport,
hydrodynamic dispersion, and mixing or dilution from fluid sources.
The concentrations of two independent solutes can be simultaneously
modeled. Temperature is assumed constant and fluid density and
viscosity linear functions of the first specified solute.
A second solute is assumed to be of a trace amount such that it
doesn't affect the fluid density or viscosity.
See the entry on MOC for details about
the numerics.
A source code distribution of MOCDENSE for UNIX platforms is
available.
The primary documentation is contained within
Konikow and Bredehoeft (1978) and Sanford and Konikow (1985).
This is part of the USGS
Water Resources Applications Software
collection.
[http://water.usgs.gov/software/mocdense.html]
[http://www.geogr.uni-jena.de/software/mocdense.html]
- MOC3D
- A 3-D groundwater flow and transport model that uses the method
of characteristics.
MOD3D, similarly to MOC, simulates 3-D
solute transport in flowing ground water. It computes changes in the
concentration of a single dissolved chemical constituent over time
as caused by advective transport, hydrodynamic dispersion, mixing
or dilution from fluid sources, and simple chemical reactions.
MOD3D is integrated with MODFLOW, which
supplies the 3-D ground water flow model. MOD3D uses the method
of characteristics to solve the transport equation based on the
hydraulic gradients supplies by MODFLOW for a given time step.
Particle tracking is used to represent advective transport and
explicit finite-difference methods are used to calculate the
effects of other processes.
A source code distribution of MOC3D for UNIX platforms is
available.
The primary documentation is contained within the techical report
Konikow et al. (1996).
This is part of the USGS
Water Resources Applications Software
collection.
[http://water.usgs.gov/software/moc3d.html]
[http://www.geogr.uni-jena.de/software/moc3d.html]
- MOCKA
- The MOdula Compiler KArlsruhe is a Modula-2
system for which a free binary Linux version is available.
More about which later.
[http://i44www.info.uni-karlsruhe.de/~modula]
- Mockmma
- A Common Lisp
implementation of a small and efficient
computer algebra system. The intention was to be as fast
as possible without making major concessions to usefulness.
For similar problems Mockmma is said to be faster than
Macsyma, Reduce, Maple or Mathematica. This has a
rudimentary interface and not nearly as many features
as the other systems mentioned but that was not the
intention of the designer. This was designed using
Allegro CL but apparently can be used with other CL implementations
without too much pain.
[http://www.cs.berkeley.edu/~fateman/mma1.6/]
- MODBRNCH
- A coupled flow model of surface and ground water interactions that
combines the MODFLOW and
BRANCH models.
It simulates channel-aquifer flows, i.e. leakage through a confining
layer or riverbed which couples the ground and surface water
systems.
A source code distribution of MODBRNCH for UNIX platforms is
available.
The primary documentation is contained within the techical report
Swain and Wexler (1996).
This is part of the USGS
Water Resources Applications Software
collection.
[http://water.usgs.gov/software/modbrnch.html]
[http://www.geogr.uni-jena.de/software/modbrnch.html]
- MODCHL
- A Fortran 77 package implementing a modified
Cholesky factorization method.
This is TOMS algorithm 695 and is documented
in Eskow and Schnabel (1991).
[http://www.acm.org/toms/V17.html]
[http://www.netlib.org/toms/index.html]
- MODCHOL
- A block version of the Eskow-Schnabel Modified Cholesky
Decomposition written in Fortran.
This uses the BLAS library.
[ftp://ftp.enseeiht.fr/pub/numerique/MODCHOL/]
- MODEIN
- A program that computes the total sediment discharge at a cross-sectoin
of an alluvial stream (with primarily a sand bed) from measured
hydraulic variables, the concentration and particle-size
distribution of the measured suspended sediment, and the
particle-size distribution of the bed material.
The computation is made by extrapolating the measured
suspended-sediment discharge to represent the total
suspended-sediment discharge and the addition of a computed
bedload discharge.
It is intended for use only where all bed material is finer than
about 16 millimeters, and can be used only if a significant part
of the measured suspended sediment is composed of particles of
the same size as particles in the bed material.
A source code distribution of MODEIN for UNIX platforms is
available.
The primary documentation is contained within
Stevens (1985).
This is part of the USGS
Water Resources Applications Software
collection.
[http://water.usgs.gov/software/modein.html]
[http://www.geogr.uni-jena.de/software/-modein.html]
- MODELLER
- A program for protein structure modeling that models 3-D protein
structure by satisfaction of spatial restraints.
It is most frequently used for homology or comparative protein
structure modeling where the user provides an alignment of a
sequence to be modeled with known related structures, at which point
Modeller calculates an all-atom model.
Most generally, program inputs are restraints on the spatial structure
of the amino acid sequences and ligands to be modeled.
Restraints can be derived from homologous structures, NMR experiments,
rules of secondary structure packing, cross-linking experiments,
fluorescence spectroscopy, image reconstruction in electron microscopy,
site-directed mutagenesis, intuition, residue-residue and atom-atom
potentials of mean force, and more.
The restraints can operate on distances, angles, dihedral angles, and pairs
of dihedral angles defined by atoms or pseudo-atoms.
The model is obtained via optimization of a molecular probability
density function (PDF), which is optimized with the variable target
function procedure in Cartesian space employing methods of conjugate
gradients and molecular dynamics
with simulated annealing.
Binary distributions are available for several platforms including
Linux Intel.
A manual is available in PostScript format.
[http://guitar.rockefeller.edu/modeller/modeller.html]
- modems
- Software related to using modems with Linux systems includes:
- Big Brother, for modem monitoring;
- Card Services, a PCMCIA support package
for Linux systems;
- C-Kermit, a file transfer
protocol for transmitting files over noisy
communications links;
- diald, for maintaining a seemingly permanent
connection to the Internet over SLIP or
PPP;
- FidoNet, a network for exchanging mail and
files via modem connections;
- HylaFAX, a FAX system;
- lrzsz, a modem communication package;
- Linux Phone Project, for sending
digital audio via modems;
- masqdialer, for handling dialup connections
to ISPs;
- mgetty+sendfax, programs for optimizing
the use of a modem in a UNIX environment as well as for sending and
receving FAXes;
- NetStreamer, for streaming audio over
modems;
- NOCOL, a network monitoring package that
can monitor modems;
- PPP, a protocol for
sending IP packets over serial or modem lines;
- QuickPage, for sending messages to
alphanumeric pagers via modems;
- SLIP, a protocol
for sending framed IP packets over serial lines;
- Xfax, a FAX program; and
- XMODEM, YMODEM and
ZMODEM, a series of protocols for transferring
files over asynchronous lines.
- MODERES
- The Managed Object Development Environment
by RESEDAS is a research prototype designed for supporting
the development of software based on the latest
OSI standards.
It attempts to supply an integrated set of tools for building management
applications and information mdoels.
The core package contains parsing tools and an application programming
interface for both the General Relationship Model (GRM) and the
Guidelines for the Definition of Managed Objects (GDMO).
A source code distribution of this Java package
is freely available.
[http://www.loria.fr/equipes/resedas/mode.html]
- MODFE
- A MODular Finite Element model for areal and
axisymmetric groundwater flow problems.
The capabilities and uses of MODFE include:
- transient or steady-state conditions;
- nonhomogeneous and anisotropic flow where anisotropy directions
change within the model region;
- vertical leakage from a semiconfining layer containing laterally
nonhomogeneous properties and elastic storage effects;
- point and areally distributed sources and sinks;
- specified head (Dirichlet), specified flow (Neumann), and head-dependent
(Cauchy) boundary conditions;
- vertical cross-section and axisymmetric cylindrical flow;
- confined and unconfined water table conditions;
- partial drying and resaturation of a water table aquifer;
- conversion between confined and unconfined aquifer conditions; and
- nonlinear head-dependent fluxes for simulating line, point, or
areally distributed sources and sinks.
Aquifer stresses and boundary conditions can be changed on the
basis of time step, stress period, or both.
In MODFE the
aquifer geometry, flow boundaries, and variations in hydraulic
properties are represented by triangular elements or element
sides in a finite element mesh. Time variations in hydraulic
properties are represented by 1-D elements. The finite
element matrix equations are solved by using either a direct
symmetric-Doolittle method of triangular decomposition or an
iterative method that uses the modified incomplete Cholesky
conjugate gradient method, with the former recommended for small
to medium problems and the latter for large problems.
A source code distribution of MODFE for UNIX platforms is
available.
The primary documentation is contained within
Cooley (1992), Torak (1993a), and Torak (1993b).
This is part of the USGS
Water Resources Applications Software
collection.
[http://water.usgs.gov/software/modfe.html]
[http://www.geogr.uni-jena.de/software/modfe.html]
- MODFLOW
- A MODular 3-D finite-difference groundwater FLOW model.
The modular structure allows it to be easily modified for particular
applications or for adding new features.
MODFLOW simulates steady and nonsteady flow in irregularly shaped
flow systems in which aquifer layers can be confined, unconfined, or
a combination thereof. It can simulate external sources and sinks
such as flow to wells, areal recharge, evapotranspiration, flow
to drains, and flow through river beds.
The hydraulic conductivities or transmissivities for any layer
can differ spatially and be anisotropic, and the storage coefficient
can be heterogeneous. Specified head and specified flux boundaries
can be simulated as can a head-dependent flux across the outer
boundary that allows water to be supplied to a boundary block in the
modeled area at a rate proportional to the current head difference
between a source and the boundary block.
The groundwater flow equation is solved using a finite-difference
approximation in which the horizontal and vertical spacings may be
irregular. Several solvers are provided to allow the user to choose
the best one for a particular application.
Mass balances are computed for each time step and as a cumulative
volume from each source and type of discharge.
The latest MODFLOW version, called MODFLOW-96, consists of several
modular subpackages including:
- BAS5, the basic package;
- BCF5, a block-centered flow package;
- RIV5, a river package;
- DRN5, a drain package;
- WEL5, a well package;
- GMB5, a general head boundary package;
- RCH5, a recharge package;
- EVT5, an evapotranspiration package;
- SIP5, a strongly implicit procedure package;
- SOR5, a slice-successive overrelaxation package;
- UTL5, a utility package;
- PCG2, a preconditioned conjugate gradient package;
- STR1, a stream package;
- IBS1, an interbed-storage package;
- CHD1, a time-variant specified-head package;
- GFD1, a generalized finite-difference flow package;
- HFB1, a horizontal flow barrier package;
- TLK1, a transient leakage package;
- DE45, a direct solver package;
- RES1, a reservoir package; and
- FHB1, a flow and head boundary package.
An earlier version of MODFLOW called MODFLOW-88 is still available
although its capabilities aren't as advanced as those in MODFLOW-96.
A source code distribution of MODFLOW for UNIX platforms is
available.
The primary documentation is contained within
Harbaugh and McDonald (1996b), Harbaugh and McDonald (1996a), and
McDonald and Harbaugh (1988).
This is part of the USGS
Water Resources Applications Software
collection.
[http://water.usgs.gov/software/modflow96.html]
[http://www.geogr.uni-jena.de/software/modflow-96.html]
- MFI
- A data input program for the USGS flow model
MODFLOW and the particle
tracking program MODPATH.
Data are interactively entered via a series of display
screens, and there is an interface to a commercial spreadsheet
program for entering 2-D arrays.
A source code distribution of MFI for UNIX platforms is
available.
The primary documentation is contained within
Harbaugh (1994).
This is part of the USGS
Water Resources Applications Software
collection.
[http://water.usgs.gov/software/mfi.html]
[http://www.geogr.uni-jena.de/software/mfi.html]
- MODPATH
- A particle tracking postprocessor for the
MODFLOW package.
MODPATH was developed to compute 3-D flow paths using output
from steady-state or transient groundwater flow simulations by
MODFLOW. It consists of two packages: (1) MODPATH, which
calculaes particle paths; and (2) MODPATH-PLOT, which graphically
displays results.
It uses a semi-analytical particle tracking scheme that allows
an analytical expression of a particle's flow path to be obtained
within each finite-difference cell. Paths are computed by
tracking particles from one cell to the next until the
particle reaches a boundary, an internal sink/source, or satisfies
some other termination criteria.
A source code distribution of MODPATH for UNIX platforms is
available.
Use of this requires a pre-installed GKS library.
The primary documentation is contained within
Hill (1992) and Hill (1994).
This is part of the USGS
Water Resources Applications Software
collection.
[http://water.usgs.gov/software/modpath.html]
[http://www.geogr.uni-jena.de/software/modpath.html]
- RADMOD
- A MODFLOW preprocessor for the simulation
of axisymmetric (cylindrical) problems which is useful for problems
involving wells.
RADMOD calculates the conductances and storage capacity more
precisely for the changing geometries and head gradients of
axisymmetric flow to a well.
The well area is conceptualized as a system of concentric shells
capable of reproducing the large variations in gradient in the
vicinity of the well by decreasing their area in the direction
of the well.
A source code distribution of RADMOD for UNIX platforms is
available.
The primary documentation is contained within
Reilly and Harbaugh (1993a) and Reilly and Harbaugh (1993b).
This is part of the USGS
Water Resources Applications Software
collection.
[http://water.usgs.gov/software/radmod.html]
[http://www.geogr.uni-jena.de/software/radmod.html]
- ZONEBDGT
- A program that computes subregional water budgets using results
from the MODFLOW groundwater flow model.
Subregions are designated using zone numbers, and separate
budgets or computed for each zone, with each budget including
a component of flow between adjacent zones.
A source code distribution of ZONEBDGT for UNIX platforms is
available.
The primary documentation is contained within
Harbaugh (1990).
This is part of the USGS
Water Resources Applications Software
collection.
[http://water.usgs.gov/software/zonebdgt.html]
[http://www.geogr.uni-jena.de/software/zonebdgt.html]
- MODFLOWP
- A parameter estimation version of the MODFLOW
package which can be used to estimate input parameters via nonlinear
regression.
The parameters that can be estimated include layer transmissivity,
storage, coefficient of storage, hydraulic conductivity, specific
yield, vertical leakance, horizontal and vertical anisotropy,
hydraulic conductance, areal recharge, maximum evapotranspiration,
pumpage, and the hydraulic head at constant-head boundaries.
Data used to estimate parameters can include existing independent
estimates of a parameter values, observed hydraulic heads or temporal
changes in hydraulic heads, and observed gains and losses along
head-dependent boundaries such as streams. The model output
includes statistics for analyzing the parameter estimates which
can be used to quantify the reliability of the resulting model,
suggest changes in model construction, and to compare results of
models constructed in different ways.
The parameters are estimated by minimizing a weighted least-squares
objective function by the modified Gauss-Newton method or by a
conjugate direction method.
A source code distribution of MODFLOWP for UNIX platforms is
available.
The primary documentation is contained within
Hill (1992) and Hill (1994).
This is part of the USGS
Water Resources Applications Software
collection.
[http://water.usgs.gov/software/Modflowp.html]
[http://www.geogr.uni-jena.de/software/Modflowp.html]
- MODLER
- The Modeling by
Object-Driven
Linear Elemental
Relations optimization package
contains a language for representing
linear programming models completely separate from instances
defined by data realizations. It also includes representations
of binary variables and logical constraints which arise naturally
in large-scale planning and operation decision support.
The basin input is a model file and the basic output a matrix
file in a standard format for most optimizers and for
ANALYZE and
RANDMOD. MODLER can also
generate a syntax file for ANALYZE to enable automatic translation
of activities and constraints into English for intelligent
analysis support.
MODLER is available in binary form for DOS and Linux platforms.
The official documentation is contained within a pricey user's
guide, more about which can be found at the
IMPS Software Site.
A quick summary of the ins and outs of optimization can be found at the
NEOS Guide Optimization Tree.
[http://www.cudenver.edu/~hgreenbe/imps/modler.html]
- Modula-2
- A successor to Pascal which provides
fundamental programming concepts essential to the initial
teaching of programming as a logical and systematic discipline.
It was designed by Niklaus Wirth about ten years after Pascal
to make up for the latter's shortcomings.
Modula-2 provides for the construction of large programs in
modular (whence the name) form and also provides a basic capacity
for systems programming at the level required for embedded control
systems and similar applications.
It is a general purpose, strongly typed, high level language providing
a number of low level features and supporting coroutines.
Perhaps its most distinct feature is the way it allows programmers
to break programs into a number of logically distinct and separately
compiled modules. The low level features allow programmers to
determine the current address of a variable, perform address
arithmetic, determine storage requirements, reinterpret the bit
pattern representing a cardinal number as a boolean value, and
many other useful things.
See Modula-3 for now.
Modula-2 implementations include:
Modula-2 texts include
Christian (1986),
Eisenbach and Sadler (1989) and
Ogilvie (1985).
- Modula-2*
- A programming environment related to the Modula family of
languages with support of explicitly parallel high-level
constructs on a variety of parallel and sequential machines.
It is also a complete sequential Modula-2 programming
environment featuring:
- an optimizing compiler which translates
Modula-2 source programs to portable C;
- transparent interfacing
and full integration of foreign modules written in C;
- a sophisticated cross-architecture make facility which
generates standard UNIX
makefiles that trigger the separate
compilation of Modula-2 and generated or foreign C modules;
- X Window and Emacs development support; and
- a selection of basic libraries (e.g. msFIO, msIO, msMath, msTimer).
The Modula-2* features which support high-level and machine-independent
parallel programming include:
- an arbitrary number of processes that can
operate on data in the same single address space;
- synchronous and asynchronous parallel computations that can be formulated
in a machine-independent way as well as arbitrary nestings thereof;
- procedures that may be called in any context, sequential or parallel,
and at any nesting depth; andxi
- the availability of all abstraction mechanisms of
Modula-2 for parallel programs.
This is all done
with only two new language constructs: allocators, machine-independent
layout hints for the compiler without any semantic meaning, may be used
to specify the distribution of array data; and the FORALL statement
is introduced to support explicitly parallel computations.
The Modula-2* system is available in binary format for
BSDI Intel, KSR-1 and 2, Linux Intel, MasPAR, DEC Ultrix, and
Sun SunOS and Solaris platforms. Documentation can be found
in a user's manual and several technical reports contained
within the distribution. The original site (i.e. the given URL)
seems to no longer have the software distribution, but it can be
found at the
IPCA Modula-2* Archive.
See Sedgewick (1993).
[http://wwwipd.ira.uka.de/Tichy/m2star.html]
- Modula-3
- A modern, modular, object-oriented language which features
garbage collection, exception handling, run-time typing,
generics, and support for multithreaded application.
It is a member of the Pascal family of languages, designed in
the late 1980s at DEC and Olivetti to correct many of the deficiencies
of Pascal and Modula-2 for practical software engineering.
For example, it keeps the simplicity of type safety of the earlier
languages while providing new facilities for exception handling,
concurrency, object-oriented
programming, and automatic garbage collection. Modula-3 is both
a practical implementation language for large software projects
and an excellent teaching language.
The latest Modula-3 distribution also contains an implemetation
of Obliq, a language that supports distributed
object oriented computation.
The SRC Modula-3 distributions contains several packages including:
- mtex, a function used to produce both troff
and HTML pages from the same source;
- m3core, a runtime library which is part of the basic system;
- libm3, a library needed by most other libraries;
- m3middle, the compiler's IL definition;
- m3linker, the prelinker;
- m3objfile, the object file writers;
- m3front, the compiler front-end;
- m3, the main program, i.e. the compiler;
- coverage, a line-based coverage analyzer/profiler;
- pp, a pretty-printer;
- m3totex, a program to wrap source code in enough
TeX to make it printable;
- parseparams, a library to parse command line arguments;
- slisp, a library containing a small Lisp interpreter;
- tcp, a library implementing an interface to TCP sockets;
- netobj, a network objects runtime library needed by most
distributed applications;
- netobjd, a network objects daemon;
- m3tk, an abstract syntax tree (AST) toolkit;
- stubgen, the network objects stub generator;
- X11R4, an interface to the X library;
- ui, the Trestle window system toolkit used by most graphical
applications;
- m3browser, an HTTP server;
- tcl, a thin veneer on the Tcl library;
- vbtkit, a large collection of useful window widgets;
- images, a library to support displaying bitmap images;
- obliq, the Obliq interpreter;
- obliqrt, the Obliq runtime library;
- zeus, an algorithm animation toolkit; and
- postcard, an integrated mail and news reader.
The DEC Systems Research Center version of Modula-3 features
a native-code compiler, a debugger, a rich set of libraries,
a GUI interface builder for distributed applications, and
more. An online copy of a
Linux Journal article entitled
Introducing Modula-3
(by Geoff Wyant) is available for a
more complete description. A
Linux Modula-3 ELF binary
is also available.
See Nelson (1991),
Harbison (1992a) and
Harbison (1992b).
[http://www.research.digital.com/SRC/modula-3/html/home.html]
- MODULEF
- A modular finite element library
consisting of nearly 3000 routines written in
Fortran 77 for maximal software portability.
MODULEF uses a top-down design method in which mathematical
formulations of solution procedures are split into successive
operators, allowing ease of both use and incorporation of new
computational modules.
It consists of four layers situated on top of the Fortran source code,
each dependent upon the lower levels for functionality.
These layers are:
- a black box level that hides most details and which is used to
treat specific problems, e.g. TOUTXX, which actives the processors
on the next lowest level via a menu;
- a processor level in which the functionality of various processors
is chained, usually in a two-step process in which the data is first
interactively generated and then the computation performed;
- a module level in which the processors are simply successions
of calls to various modules, allowing great flexibility in modifying
or creating new methods and modules; and
- an algorithms and utilities level wherein programs with similar
functionality usually have the same list of arguments and in which
data structure management and algorithms are distinct in each module.
Progressively more complex solution procedures can be built by
moving up these levels, with a possible final product being a black
box customized for solving problems in very specific areas.
The features and functionality of MODULEF include:
- automatic generation and modification of 2- and 3-D meshes;
- specification of material characteristics and external forces
by subdomain or boundary section;
- choice of finite element method type, e.g. conforming, non-conforming,
hybrid or mixed;
- over 35 elements for thermal analysis including 2-D, 3-D and
axisymmetric elements;
- over 60 elements for elasticity for isotropic and anisotropic
materials including 2-D plane stress or strain elements, 3-D
elements, axisymmetric elements, plate and shell elements, and
elements for hyper-elastic compressible and incompressible
materials in nonlinear elasticity;
- 4 elements for magnetic materials;
- 2 elements for piezoelectric materials;
- a choice of direct methods for solving linear systems including
Cholesky, Crout or Gauss factorization;
- several iterative methods of solving symmetric and non-symmetric
linear systems including conjugate gradient methods with or without
preconditioning or relaxation;
- solution methods for eigenproblems including inverse iteration,
subspace iteration, and Lanczos and QR methods;
- solution of time-dependent thermal and dynamic problems by
classical multi-step, Gear multistep predictor-corrector and 3rd-order
implicit Runga-Kutta methods;
- handling of nonlinear elasticity including solving unilateral
contact problems with or without friction via iterative methods,
calculating stresses in 2- or 3-D elastoplasticity and the visualization
of plastic zones, and the calculation of large deformations of compressible
or incompressible hyperelastic solids;
- solving variational inequalities subject to bounded constraints by
relaxation and complementarity;
- solving the Direchlet problem for a biharmonic operator;
- calculating velocities and pressures of viscous, incompressible
flow via the Navier-Stokes equations;
- computing the homogenized coefficients of composite structures;
- stress calculations and statistical interpretation of results; and
- several modules for interactively and otherwise viewing results.
A source code distribution of MODULEF is freely available.
It is written in portable Fortran 77 and
has been compiled with egcs/g77.
The manual is available both online and for download in
HTML format.
[http://www-rocq.inria.fr/modulef/]
- module/mod/mods/MOD
- See sound modules
- Modules
- A system for configuring and maintaining the shell and environment
variables needed to use various software packages. Modules insulates
the user from the gory details of the installation of packages.
It frees the user from having to know the details about the various
pathnames and variables that supply information on the whereabouts
of software packages.
The Modules package is basically a database and a set of scripts
that simplify shell initialization and allows users to easily
modify their environment during a session.
A source code distribution of Modules is available.
It is written in Tcl and requires
at least version 6.3 of that package.
An interactive interface to Modules called user-setup
is also available.
[http://www.modules.org/]
- modules
- A set of utilities for dealing with Loadable Kernel Modules (LKM),
a way of dynamically adding and subtracting functionality to the
Linux kernel.
The modules utilities include:
- insmod, which installs an LKM;
- rmmod, which unloads an LKM;
- ksyms, which displays exported kernel symbols;
- lsmod, which lists loaded modules;
- genksyms, which generates symbol version information;
- modprobe, which is used to load a set of modules (either
a single one or a stack of dependent modules) or all modules that
are marked with a specified tag; and
- depmod, which creates a makefile-like dependency file
based on the symbols it finds in a set of modules.
A source code distribution of the modules package is available.
[http://sunsite.unc.edu/pub/Linux/kernel/]
- Moira
- The Project Athena Service Management System (SMS).
Moira manages the configuration of all of the Athena network
services and consists of a large relational database and frontend
software to control access to the information and automatically
update system servers from that information.
It depends on the Kerberos authentication
system and will make use of both the
Hesiod name server and the
Zephyr notification services if they are
present.
Moira consists of a number of client programs including:
- moira, a general program which administers all of the information
stored in Moira which can also be invoked by the commands
- listmaint, usermaint, and dcmmaint;
- blanche, a quick program for checks of a mailing list or for
making membership changes to a list;
- chfn, which is used to set how your full name looks to other
users as well as to to set your address and phone number as seen by finger;
- chpobox, which is used to change the address to which your
email is sent;
- mailmaint, which maintains mailing lists for a user;
- mainmaint, which is used to add or delete a username from public
mailing lists;
- mrcheck, which queries the database to determine which services
and hosts have failed updates;
- mrtest, which allows the manual operation of all operations allowed
in the Moira protocol; and
- setquota, which sets the disk usage quota for a given user and
partition.
The source code for Moira is available. It is written in C and
can be installed on most UNIX systems using either the supplied
Makefile or Imakefile files.
The system is extensively documented in a series of manuals
available in PostScript format as
well as in a set of man pages.
[ftp://athena-dist.mit.edu/pub/ATHENA/]
- MOISS
- An N-particle, N-dimensional diffusion Monte Carlo (DMC) Schrodinger
equation integrator.
MOISS has a modular design which makes it easy to implement new potentials
and theory levels.
The features include:
- a CVS server;
- primitive graphics support;
- educative potentials (e.g. the hydrogen atom, a multidimensional
harmonic oscillator, various potential wells, tunneling boxes, etc.);
- importance sampling;
- the Metropolis acception-rejection method;
- a GUI front-end called gMOISS; and
- configurable statistics acquisition and analysis.
A source code distribution is available.
[http://moiss.pquim.unam.mx/moiss/]
- Moldy
- A general purpose molecular dynamics
simulation program which is
sufficiently flexible to be used for a wide range of simulation
calculations of atomic, ionic and molecular systems.
It uses the link cell method to calculate short-range forces
and the Ewald sum technique to handle long-range electrostatic
forces. Simulations may be performed either in the usual NVE
ensemble or in NVT, N
H, or N
T ensembles
using Nosé-HOover thermostat and Parrinello and Rahman
constant-stress methods.
The system being modeled may contain a mixture of an arbitrary
number of molecular species, each with an arbitrary number
of atoms and an arbitrary number of molecules of each.
Molecules or ions may be monatomic or polyatomic, linear or
3-D in any combination. The potential functions may be of the
Lennard-Jones, Buckingham (including Born-Mayer) or MCY types,
and other potential types maybe easily added.
The Moldy package contains several utility programs including:
- Moldyext processes the periodic output produced by
Moldy and extracts various quantities which can be input into
plotting programs;
- Dumpanal examines the dump files given as arguments and prints
out the header information;
- Dumpconv is a tool for moving binary dump files between
computers of different architectures;
- Dumpext is a program which takes care of the bookkeeping,
performs data security checks, and divides output data into
manageable portions; and
- Mdshak writes an output file in XYZ form which can be
further transformed to several other popular formats using
the Babel package.
The Moldy distribution consists of the ANSI C source code for
Moldy and the utility programs, the user's manual in
LaTeX source code, and example control
and system specification files.
On UNIX systems both single processor and parallel versions can
be compiled. Interfaces are provided for the
MPI, TCGMSG, and
BSP message passing libraries.
[ftp://ftp.earth.ox.ac.uk/pub/]
[http://chin.icm.ac.cn/software/moldy.html]
- molecular dynamics
- Related packages include:
- APACHE, a parallel programming project with a
molecular dynamics simulation component;
- CCP5, a library of programs related to molecular
dynamics, Monte Carlo algorithms, and lattice statics and dynamics;
- DPMTA, a library for implementing
multipole pole algorithms to compute N-body interactions for many kinds
of systems including those of molecular dynamics;
- EGO, for performing molecular dynamics calculations
on parallel and sequential computers;
- gOpenMol, for displaying the results of
molecular dynamics calculations;
- MMTK, a library for molecular modeling applications;
- MODELLER, a program for protein structure
modeling that uses molecular dynamics methods;
- Moldy, a general purpose molecular dynamics
simulation program;
- NAMD, a parallel, object-oriented molecular
dynamics program for simulating large biomolecular systems;
- NWChem, a computational chemistry package with
a molecular dynamics module;
- PMD, for simulating the molecular dynamics of
biological macromolecules;
- SOLVATE, for constructing atomic solvent environment
models for solutes used in molecular dynamics simulations;
- VMD, for the visualization and analysis of
biological systems; and
- XMD, a molecular dynamics simulation program designed
mainly for metals and ceramics.
- MOL1D
- See PDELIB.
- MOLPHY
- A package of programs for MOLecular PHYylogetics.
The main programs (written in C) in MOLPHY are:
- PROTML, for maximum likelihood inference of protein phylogeny;
- NUCML, for maximum likelihood inference of nucleic acid
phylogeny;
- PROTST, for basic statistics of protein sequences;
- NUCST, for basic statistics of nucleic acid sequences; and
- NJDIST, for neighbor joining phylogeny from a distance matrix.
Several utility programs written in Perl are
also contained in the package including:
- mollist, to get an identifiers list;
- molcat, to concatenate sequences;
- molmerge, to merge sequences;
- rminsdel, to remove INS/DEL sites;
- molinfo, to get (non)information sites;
- molrev, to reverse DNA sequences;
to get partial sequences; and
- several utilities to transform data from one form to another.
A source code distribution is available as is a binary package
for Linux Intel platforms.
[ftp://ftp.bmc.uu.se/pub/linnaeus/software/molphy/]
- MolScript
- A program for creating schematic or detailed molecular graphics
images from 3-D molecular coordinates, usually protein structures.
The features of MolScript include:
- an interactive OpenGL graphics output mode
which uses the GLUT library;
- a VRML 2.0 output model;
- graphical output in JPEG, PNG,
PostScript, and RGB formats;
- interoperability with the Raster3D package;
- a stand-alone MolAuto program which creates a quick first-cut
MolScript input file from a coordinate file; and
- an external graphics objects interface.
A source code distribution of MolScript is freely available for
non-commercial uses via filling out an online application form.
It is written in C and can be compiled on generic UNIX platforms
with the requisite software already installed, e.g. some form
of OpenGL, GLUT, JPEG and PNG libraries, etc.
It is documented in an extensive manual available in both
PostScript and HTML formats.
See also Kraulis (1991).
[http://www.avatar.se/molscript/]
- MOM
- The GFDL Modular Ocean Model is a 3-D
primitive equation general ocean circulation model intended
to be a flexible tool for exploring ocean and coupled air-sea
applications over a wide range of space and time scales.
The original MOM was recently (late 1996) replaced by a new
and improved formulation called MOM 2.
The features of MOM 2 include:
- a NetCDF interface for all diagnostic
output files;
- an improved isopycnal mixing formulation based on a functional
- approach employing a new approximation to neutral directions;
- a fourth-order advection scheme for tracers;
- a flux corrected transport (FCT) scheme for horizontal advection;
- an option for coarse-grained parallelism;
- a new pressure gradient averaging technique;
- a general grid rotation capability;
- the addition of open boundaries; and
- a modified discretization of vertical mixing to yield more
accurate and stable solutions.
The source code for MOM is available. It is written in
Fortran 77 and can be compiled with
several compilers, including (with a bit of work) g77.
A very extensive user's manual is available in
PostScript format.
[http://www.gfdl.gov/MOM/MOM.html]
- MOMspider
- The Multi-Owner Maintenance spider
is a web-roaming robot that specializes in the maintenance of
distributed hypertext information structures.
It gets its instructions by reading a text file containing a list
of options and tasks to be performed, with each task intended
to describe a specific information structure so that it can be
encompassed by the traversal process.
For each task, the MOMspider traverses the web, in breadth-first
order, from the specified top document down to each leaf node.
The maintenance information produced by each task is formatted
as an HTML index and output to a file specified in the instructions.
A source code distribution of MOMspider is available.
It is written in Perl 4.
[http://www.ics.uci.edu/pub/websoft/MOMspider/]
- MON
- A general purpose resource monitoring system which can be used to
monitor network service availability, server problems, environmental
conditions, and any number of other things.
MON was designed to separate the task of resource monitoring into
two separate tasks: the testing of a condition and triggering some
action upon failure.
As such the mon program is implemented as a scheduler which both
executes the monitors and calls the appropriate alerts if a monitor
fails.
The monitors and alerts are not an intrinsic part of MON although
the distribution does come with a selection of them.
Features of MON include:
- failure handling such that the failure of any monitor can trigger
any (and multiple) alerts to different people at different times;
- parallelization of the checking of services on different hosts or
groups of hosts;
- the capability to supress repetitive alerts;
- a flexible and extensible configuration file in which hosts can be
grouped together and each host or group can have multiple services;
- a client/server model with interactive command-line, WWW-based,
and SkyTel2-Way alphanumerica pager-based clients that query the
server for status and history;
- run-time alert disabling in which alerts for particular hosts, groups,
or services can be temporarily disable and re-enabled by the client
with stopping and restarting the server;
- a history list of both failures that were detected and clients that were
triggered; and
- portability via being written in Perl 5.
Monitor scripts are included for ICMP echo (ping), SMTP, Telnet,
FTP, NNTP, HTTP, POP-3, IMAP, TCP-based services, disk space, and
uptime via SMTP.
A source code distribution of MON is available. It is written in
Perl 5 and thus portable to any machine on which that is already
installed.
It is documented in a series of man pages.
[http://ftp.kernel.org/software/mon/]
[http://consult.ml.org/~trockij/mon/]
- MONA
- A logic-based programming language and a tool that translates programs
(i.e. formulas) into finite-state machines (FSMs).
The formulas can expression search patterns, temporal properties of
reactive systems, parse tree constraints, etc.
The MONA program analyzes the automaton resulting from the compilation, i.e.
whether it prints out that the program is valid or a counter-example
to the statement of the program.
It implements decision procedures for the weak second-order theory of one
or two successors.
Source and binary distributions of MONA are available, with one of the
latter being for Linux Intel programs.
A user's manual and several technical papers are available, each in
PostScript format.
[http://www.brics.dk/mona/]
- Montage
- A package which allows the reconstruction of serial data
in 3 dimensions.
Montage consists of a set of commands that allow data to be
entered (digitized from a bitpad), analyzed, and displayed in 3-D.
Montage can handle multiple data types including
trace (open or closed polygonal contours), base (reference point),
flag (displayed as a circle, triangle, or rectangle), line, and
grain.
Data can be multiply specified including as cells, branches, or
colors.
Multiple output formats are available including SVGA,
X Window, PostScript, and HP.
A source code distribution is available which has
been developed on a Linux Intel platform.
[http://retina.anatomy.upenn.edu/montage.html]
- moodss
- The Modular Object Oriented Dynamic
SpreadSheet is a modular
spreadsheet application wherein
one or more independent modules are loaded when it is started.
The data is first displayed in tables from which graphical
views (e.g. graphs, bars, pie charts), summary tables, and free
text viewers are created.
An intuitive drag and drop interface is used for most view
editing tasks such as creation, modification, type mutation,
destruction, row sorting, etc.
A source code distribution of moodss is available.
It is written in and requires Tcl/Tk 8.0 or 8.1
as well as the tkTable widget and
the BLT library.
Documentation is available mainly via interative help.
[http://jfontain.free.fr/]
- Moonshine
- An application development tool for Linux that supports nearly
any language via a plug-in module.
Moonshine modules include a graphical file viewer, a configurable
text editor and a help engine.
Each modules provides icons, menus, help files, context highlighting
rules for text, and module-specific utilities.
Source and binary distributions are available, with the source
available via the QPL license.
[http://www.rednecksoft.com/]
- MOOSE
- The Multimodeling Object-Oriented Simulation
Environment is a system which provides a general purpose
toolkit of C and C++ libraries for discrete-event and
continuous simulation.
It is the successor to the SimPack
package.
The purpose of MOOSE is to allow analysts to simulate physical
processes by building multimodels, i.e. heterogeneous hierarchies
of models where a model componnet at one level of abstraction
is sub-refined into a model (possibly of a different type) at
the next lower level.
The MOOSE package provides a modeling language called BLOCKS which
is an assembly language for the different types of supported models, i.e.
FSA, functional, Petri net, and equational. BLOCKS resembles a
modeling language for digital circuits with all supported model
types translated into BLOCKS models and then simulated using
the SimPack toolkit.
A graphical user interface (GUI) allows users to construct
visually-oriented models and view their output in a 2-D
color scenario window. This is being developed using the
Tcl/Tk toolkit.a
The MOOSE package is not yet (6/97) available for general release,
but when released will be provided in separate distributions
for UNIX and Windows platforms.
Several technical reports documenting the development and features
of MOOSE are available in PostScript
format.
[http://www.cise.ufl.edu/~fishwick/moose.html]
[http://www.cise.ufl.edu/~rmc/sim/moose.htm]
- MOPAC
- A general purpose semi-empirical molecular orbital package for
the study of chemical structures and reactions.
MOPAC uses many concepts in quantum theory and thermodynamics
and some advanced mathematics, but is written with the
non-theoretician in mind so those unfamiliar with such
advanced topics can use it.
A data file describing a molecular system and specifying
the types of calculations and output desired is created and
read by the program which then carries out the instructions.
Semi-empirical Hamiltonians are used in the electronic
part of the calculation to obtain molecular orbitals and
the heat of formation and its derivative with respect
to molecular geometry.
From these results MOPAC calculates the vibrational
spectra, thermodynamic quantities, isotopic substitution effects,
and force constants for molecules, radicals, ions, and polymers.
A transition state location routine and two transition state
optimizing routines are available for studying chemical reactions.
The capabilities of MOPAC include:
- MNDO, MINDO/3, AM1, and PM3 Hamiltonians;
- Restricted Hartree-Fock (RHF) and Unrestricted Hartree-Fock
(UHF) methods;
- extensive configuration interaction including excited states,
geometry optimizations on specified states, and over 100 configurations;
- single SCF calculations;
- geometry optimization and gradient minimization;
- transition state location;
- reaction path coordinate and force constant calculations;
- normal coordinate analysis;
- transition dipole and thermodynamic properties calculations;
- localized orbitals;
- covalent bond orders;
- bond analysis into
and
contributions;
- one-dimensional polymer calculations; and
- Dynamic and Intrinsic Reaction Coordinate calculations.
The source code for MOPAC 7 is available as are RPM
packages and binaries for Linux Intel platforms.
It is documented in a 150 page manual available in
TeX format.
This is a public domain version of MOPAC which is supposed to
be for development rather than production work, with a production
version available for slightly more trouble from the Quantum
Chemistry Program Exchange.
[ftp://esca.atomki.hu/mopac7/LINUX/]
[ftp://infomeister.osc.edu/pub/chemistry/software/LINUX/mopac7/]
- Mops
- A 3-D modeling environment whose features include:
- RenderMan Interface Bytestream (RIB) support;
- many supported object types including NURB curves and trimmed surfaces,
boxes, quadrics and CSG;
- putting objects in hierarchies using level objects, i.e. CSG operations
(intersection, difference and union) or simple levels that build hierarchies;
- automatic sealing of quadrics;
- support for custom objects that can freely implement their
representations (e.g. OpenGL- and RIB-wise);
- editable object properties including common transformation attributes,
RenderMan object attributes, BMRT attributes,
shaders, and object type specific attributes;
- many interactive modeling actions including moving objects, scaling
(1-, 2- and 3-D), rotating around object origin and axes in space,
single point and single point weight editing, inserting and deleting points,
and selection of groups of points of NURB curves for application of standard
modeling actions;
- extensive NURB-related functionality including creating spheres and
circles, creating circular close B-splines and rectangluar NURB curves,
converting patches to curves and a number of curves to a patch,
reverting curves, revolving custom objects to create a surface of revolution,
and extruding and sweeping custom objects;
- a scripting interface using Tcl;
- an arbitrary number of modeling views;
- clipboard and independent property clipboards for copying and
pasting objects and properties;
- hiding objects to increase drawing speed;
- free naming of objects;
- a console; and
- an advanced hierarchy browser.
Source and Linux binary distributions are available.
This requires Tcl/Tk and
BMRT.
[http://www.informatik.uni-rostock.de/~rschultz/mops.html]
- morepkgtools
- A set of packaging
and administration tools for Slackware Linux including:
- listcustompkgs, lists the custom packages installed;
- mkpkg, replaces the make install command;
- packagetools, a menu interface to all of these tools and
the Slackware system administration commands;
- pkggrep, searches for regular expressions in package
description files;
- pkgheader, adds Slackware headers to a list of files;
- viewpackages, for listing and viewing packages already installed;
- viewscripts, for listing and viewing Slackware installation
scripts for packages already installed; and
- zdd, for compressing all the files in a directory and below
and then updating the Slackware package record files.
A source code distribution is available.
[http://www.sdk-software.com/]
- Mosaic
- An X-Windows based Web browser (the original "killer app").
This requires the
Motif widget set.
[ftp://ftp.ncsa.uiuc.edu/Mosaic/Unix/binaries/]
[http://sunsite.unc.edu/pub/Linux/apps/www/browsers/mosaic/]
- mMosaic
- A derivative of the original Mosaic
browser which suports TABLE and other supplementary
HTML tags like CENTER.
Three major additional features have been added to mMosaic:
a multicast capability which permits the use of the
MBone to multicast any embedded
object, even the cursor and scrollbar positions;
an application program called APROG which is an experimental
HTML tag enabling programs written on top of
Xt (e.g. Xaw or
Motif) to run inside mMosaic;
and the capability of running Java
applets via the APPLET tag (using Kaffe
as the Java VM and Biss as the AWT) although
this is currently (5/97) an experimental feature.
The mMosaic browser can be built from sources, although it
is currently a bit of a daunting task.
[http://sig.enst.fr/~dauphin/mMosaic/index.html]
- MOSIX
- A set of kernel enhancements to Linux for supporting cluster
computing. At the core of MOSIX are adaptive load balancing
and memory ushering algorithms that allow multiple machines to
work cooperatively as if part of a single computer.
The features of MOSIX include:
- autonomy and decentralized control where each station or node
is capable of operating as an independent system;
- transparent network-wide resource sharing;
- pre-emptive process migration of any process;
- load balancing for even work distribution;
- memory ushering (i.e. sharing) via process migration to prevent
paging;
- a flexible and dynamic configuration that can easily be switched
to MPP, computing cluster or single system image modes;
- a configuration that is scalable to a large number of nodes
with minimal scaling side-effects.
This is currently (6/98) under development for Linux with a version
for BSD already available.
[http://www.cs.huji.ac.il/mosix/]
- Moscow ML
- A lightweight implementation of
Standard ML, a strict functional
language used widely in teaching and research.
Moscow ML implements the Standard ML core language,
a simple module system supporting separate compilation, and much
of the new Standard ML Basis Library.
A source code distribution of Moscow ML is available for
MS-DOS and UNIX systems, and binary distributions for
MS-DOS, Windows, OS/2, Linux Intel, and Mac platforms.
The documentation includes a user's manual, a language
overview, a library manual, all available in
PostScript format.
[http://www.dina.kvl.dk/~sestoft/mosml.html]
- MOSS
- A DOS extender primarily intended for those who must write DOS programs
for some reason but want as little to do with DOS as is possible.
MOSS is intended for cross-development from real operating systems
rather than for native development under DOS.
The API attempts to hide the inherent ugliness of DOS under a
UNIX/POSIX veneer, e.g. by providing POSIX-like file I/O,
POSIX signals for intercepting processor exceptions and hardware
interrupts, and much more.
MOSS was created when a large Linux program needed to be ported
to DOS and none of the solutions available suited the purposes
of the developers. It created using the Flux OS toolkit, a
collection of infrastructure and reusable code for the fast and
flexible development of operating systems.
The features of MOSS include:
- full support for DPMI, VCPI, XMS, and raw DOS modes;
- support for up to 2 GB of virtual and physical memory;
- demand-loading of executables for quick startup times;
- support for POSIX low-level file I/O as well as ANSI C I/O;
- processor exceptions which can be delivered as POSIX signals;
- hardware interrupts which can be delivered as POSIX.1b real-time
queued signals;
- traditional DOS extender-like interrupt revectoring;
- support for POSIX.1b memory locking API;
- remote source-level debugging over a serial line using
gdb;
- full cross-development capabilities from Linux and
other UNIX flavors;
- use of i386 ELF object files and executables;
- allowing a program and any associated data files to be attached to
MOSS to form one big DOS executable; and
- complete compatibility with the GNU tool suite.
A source code distribution of MOSS is available as are binaries
for FreeBSD and Linux platforms.
It is written in C and can be compiled on additional UNIX
flavors.
A user's manual is available in several formats.
[http://www.cs.utah.edu/projects/flux/moss/]
- MOT-2
- A Web database package that can be used to create
databases without writing a single line of code.
The features of MOT-2 include:
- creating and modifying databases, tables, fields and permissions
from a point-and-click Web-based interface;
- support for links between tables;
- support for multiple users with different read, add and modify
permissions for each;
- support for sorting and restricting each table to a fully configurable
set of fields;
- support for actions, i.e. custom scripts automatically launched by
specified database actions;
- basic support for writing custom SQL queries;
- support for importing and exporting database schemas;
- support for database-specific help files;
- searching capabilities; and
- CSS support for configuring the interface.
A source source distribution is available which requires
Apache,
PHP and
MySQL for compilation and use.
[http://mot.sourceforge.net/]
- Motif
- A meta-reference connecting to resources for Motif and X Windows
system development. Remember that Motif is a commercial product
that costs around $100 or so for a Linux binary so going this route
will cost you some bucks, at least until the
Lesstif project is complete.
The given URL is to the Motif on the World Wide Web (MW3) site which
is chock full of information about Motif.
[http://www.cen.com/mw3/]
- MOUSE
- A C++ library implementing an object-oriented
framework for finite volume computations on unstructured grids.
This is usable as both a development library and a ready to use
application.
MOUSE can be used as a 2-D flow solver for both compressible and
incompressible flows as well as for generic finite volume computations.
This uses a language called the MOUSE Command Language (MCL) to drive
and guide calculations.
The MOUSE classes can be divided into several broad categories.
Classes related to 2-D mesh generation include:
- Delaunay2D, for 2-D Delaunay mesh reorganization;
- Mesh2D, for describing 2-D meshes;
- MeshSmoother2D, for smoothing 2-D grids;
- TriRefinement2D, for edge-based refinement of triangular regions;
- RelaxNetDensity, to solve a relaxation equation for the
net-density variable; and
- Triangular2D, for triangulating a given set of points.
Classes for data storage and handling include:
- BoundaryPointList, for describing information about boundary points;
- ElementList, for listing elements of a mesh;
- MeshDataList, base class for mesh data classes;
- PointList, stores the metric of a mesh; and
- VarList, provides the base fields and methods for creating a
set of variables.
The MOUSE GUI classes include:
- CreatePlotWindow, for creating a plot window onscreen;
- IsoValue, an interface for values used for isoline plots;
- MQDrawWidget, provides basic coordinate scaling and transformation
methods;
- MQMeshPlotter, plots a 2-D unstructured mesh; and
- Repaint, causes other widgets to repaint periodically.
The numerical classes for compressible flows include:
- CompressibleOperator2D, base class for compressible gas flow
operators in 2-D;
- CompressibleVelocityVector2D, class for 2-D velocity vectors;
- CompressibleBFlux2D, class for boundary fluxes; and
- CompressibleTStep2D, class for specifying time steps.
The general numerical classes include:
- BEdgeOperator2D, for defining 2-D boundary edge operations;
- FEdgeOperator2D, for 2-D edgewise operations;
- MusclProjector2D, for MUSCL type extrapolations;
- PointCalculator, base class for operations on point subsets; and
- TimeStepCalculator, class for local time step computations.
Other general MOUSE class divisions include object tree classes,
classes for standard MCL elements, and template classes for data
storage and handling as well as numerical tasks.
A source code distribution of MOUSE is available.
It requires the Qt library and
egcs 1.1 or greater for compilation and use.
Documentation is a bit scattered for now (7/99), with the
online class documentation in the most complete form.
[http://fire8.vug.uni-duisburg.de/MOUSE/]
- MOWS
- A distributed web and cache server written in
Java.
It is built from modules which can be loaded from either the local
system or from a remote system.
Each module has its basic type which characterizes its
functionality, and users may extend, replace, or omit some
modules to configure the behavior of the MOWS server.
MOWS supports the features of typical servers such as basic
authentication, user file systems, CGI, image maps, HTML filtering,
and proxies, with the proxy feature enabling it to cooperate with
other MOWS and Harvest object caches
for distributed caching.
MOWS also supports its own Java service extension interface
called JME which is similar to CGI although programs executed
through JME not limited to those residing in the local file system.
They can be fetched from a remote system and executed locally if
the remote host name is specified in the configuration.
A source code distribution of MOWS is available.
It requires JDK 1.0.2 for compilation
and use.
It is documented in a user's manual and a technical paper, both
available in HTML format.
[http://mows.rz.uni-mannheim.de/mows/]
- Moxy
- Note: This is no longer being developed and will be removed
when I next check this section.
A nonlinear video editor for Linux which is still (9/98) in the
alpha testing stage.
[http://millennium.diads.com/moxy/]
- Mozart
- An interactive distributed implementation of
Oz, a concurrent constraint
programming language
designed for applications requiring complex symbolic computations,
organization into multiple
agents, and soft real-time control.
The features of Mozart (beyond those of Oz) include:
- a full infrastructure in which to write distributed applications
that is both network-transparent and -aware;
- functors for providing support for structuring large programs
and separate compilation;
- finite set constraints;
- an extended Constraint Propagator Interface (CPI) that allows the
implementation of constraint system from scratch;
- a programming interface based on Emacs;
- interactive development tools;
- an object-oriented interface to Tcl/Tk;
- interoperability features, e.g. sockets, C and C++;
- an incremental compiler and a garbage collector; and
- support for stand-alone applications.
The system is currently (8/98) in the alpha stage. Source code
and binary snapshot distributions are available, the latter for
Linux and Solaris systems.
[http://www.ps.uni-sb.de/mozart/]
- Mozilla
- A project and a generic term referring to web browsers derived from
the source code of Netscape Navigator as was released on
Jan. 23, 1998.
This is a planned community development project in which contributions
made by individuals, companies and commercial Netscape developers will
be coordinated and combined into frequent browser releases.
The Mozilla organization functionality includes:
- collecting changes, helping authors synchronize their work, and
periodically making new source code releases that incorporate the
best work and features;
- operating discussion forums; and
- coordinating bug lists, keeping track of and publicizing works
in progress, and attempting to provide roadmaps to the code and
projects based on it.
[http://www.mozilla.org/]
- MP
- The Multi Protocol is a
protocol for the efficient exchange of mathematical
data.
It is part of a larger project to provide a framework for distributed
scientific computing, and is designed to support efficient communication
of mathematical data between scientifically-oriented software packages.
It exchanges data in the form of linearized annotated syntax trees,
which provide a simple, flexible and application-independent way
to represent and exchange data.
The annotations provide a powerful and generic expressive facility
for transmitting additional information.
Dictionaries provide definitions for operators, symbolic constants,
and annotations at a level above the data exchange protocol.
Binary codings are used for efficiency and commonly-used values and blocks
of homogeneous data are further optimized.
MP is independent of the underlying communication paradigm and can
support parallel computation, distributed problem solving environments,
and the coupling of tools for specific applications.
An implementation of MP as a C library is available.
It has been tested on several platforms including Linux Intel.
A user's manual and several technical reports are available in
PostScript format.
[http://horse.mcs.kent.edu/SN/areas/protocols/mp.html]
- mpack
- A pair of utilities for encoding (mpack) and
decoding (munpack) binary files in
MIME format mail messages.
The munpack program can also decode messages in
split-uuencoded format. This can be thought of as the
MIME equivalent of uudecode/binhex.
The source code for mpack is available as are binaries
for Amiga, Linux, Mac, and NetBSD platforms. The documentation
is contained within man pages.
[ftp://ftp.andrew.cmu.edu/pub/mpack/]
- mpC
- A language developed to write efficient and portable programs for a wide
range of distributed memory machines. It supports both task and
data parallelism, allows both static and dynamic process and communication
structures, enables optimizations aimed at both communication and
computation, and supports modular parallel programming and the
development of a library of parallel programs. The mpC language
is an ANSI C superset based on the notion of a network comprising
heterogeneous processor nodes connected by links with different
bandwidths. The user can describe a network topology, create and
discard networks, and distribute data and computations over
networks.
The mpC programming environment includes a compiler, a run-time support
system (RTS), a library, and a command line interface, all of which
are written in ANSI C. The compiler translates an mpC program into
an ANSI C program with calls to RTS functions. The compiler generates
target code in which either all processes constitute a target message
passing program or separate target files where one is for the virtual
host processor and the second for the rest of the virtual processors.
RTS manages the computing space and provides all necessary
communications. It encapsulates a small subset of
MPI and ensures platform independence of the
rest of the compiler components (at least over those platforms
which will run MPI).
The library consists of functions which provide low level efficiency
utilities as well as debugging. The user interface consists of
programs which support the creation of a virtual parallel machine
and the monitoring of the execution of mpC programs.
The source code for mpC, written in ANSI C, is available.
It was written to be portable across all platforms with such
compilers and has been checked on Sun Solaris, HP-UX,
and Linux platforms. It has also been tested on a couple of
different MPI implementations.
The documentation is contained with a user's guide and a language
reference manual, both of which are contained in the distribution
in PostScript format.
[http://www.ispras.ru/~mpc/]
- MPCFS
- The MultiPoint Communication File System
is a virtual file system that provides
a powerful method of achieving point-to-point communications using
simple file operations.
It defines a new kind of named pipes through which a process can broadcast
data across the network to every other process reading at the other
end of the pipe.
The features of MPCFS include:
- running as a kernel module to minimize transmission overhead and
allow exclusive access to communication devices;
- a reliable and easy to use multicast API;
- a kernel message spool;
- hierarchical message multiplexing suppport within groups; and
- access control via file permission mechanisms.
An alpha source code distribution is available which runs on
Linux 2.0.30.
[http://www-sop.inria.fr/sloop/personnel/Olivier.Dalle/mpcfs/]
- mpEDIT
- A multi-platform editor written in Java
whose features include:
- toolbars and menus configured using a properties file a la
Swing;
- regular expression support;
- editor/document interfaces that allow it to provide editing
services for other Java applications;
- extensibility via JavaBean plug-ins;
- color syntax highlighting for Java, JavaScript, C++, HTML and
VRML;
- multiple documents and multiple views;
- support for large text files;
- copy/paste and find/replace;
- unlimited undo/redo; and
- user-selectable font and tab size.
A source code distribution is freely available.
[http://members.tripod.com/~mpTOOLS/mpEDIT.html]
- MPEG
- The Moving Pictures Experts Group meet
to generate standards for digital video and audio compression.
In particular, they define a compressed bit stream which
implicitly defines a decompressor. The algorithms
used to create the compressed bit stream are not specified and
left to implementers.
MPEG is also used to denote the family of standards
they define for coding audio-visual information in a digital
compressed format.
There have been a series of MPEG standards:
- MPEG-1 was primarily
intended to process video at Source Input Format (SIF) resolution,
i.e. 352x240 pixels at 30 frames per second (fps), which is a quarter
of the resolution of the TV broadcast standard.
- MPEG-2 is similar to MPEG-1 with extensions to cover a wider
range of applications. The primary targeted application is all-digital
transmission of interlaced broadcast TV quality video at coded
bitrates between 4 and 9 Mbit/sec. The most significant enhancement
over MPEG-1 is the addition of syntax for the efficient coding
of interlaced video. Another significant enhancement involves scalable
extensions permitting the division of a continuous video signal into
two or more coded bitstreams representing the video at different
resolutions, picture quality, or frame rates.
- MPEG-3 was begun to develop a standard for HDTV, but it was
discovered that slight modifications to MPEG-2 would meet this need
and it was dropped.
- MPEG-4 is another standard which targets
low bitrate coding of audio-visual programs to meet the needs of
such application as
video phones, multimedia e-mail, etc.
See
Hacker (2000).
MPEG related software includes:
- BladeEnc, an MP3 encoder;
- BMT, an MPEG toolkit;
- FreeAmp, an MP3 player;
- GQmpeg, a front end for
mpg123;
- maplay, an audio player;
- MPEG Library, an MPEG toolkit;
- MPEGe, an MPEG creation library;
- mpeg_encode, an MPEG encoder;
- mpeg_play, an MPEG video player;
- mpeg2encode/mpeg2decode, an MPEG-2
encoder/decoder package;
- mpg123, a real-time MPEG 2.0 audio player;
- MPP, a preprocessor for creating MPEG movies;
- mp3enc, for encoding MPEG files;
- mp3tools, a set of utilities for working
with MPEG audio files;
- mtv, a realtime software MPEG-1 video and audio
player;
- ooMPEG, an object-oriented MPEG decoder;
- Sajber Jukebox, an MPEG layer 3 player
with a GUI;
- VCR, a distributed real-time MPEG-1 video
audio player; and
- Xanim, a video player that can handle MPEG files.
See MPEG.ORG
for further information.
- MPEG Library
- A collection of C routines to decode
MPEG movies and dither them in a variety
of color schemes.
This is basically a cleaner programmer's interface to the
engine in mpeg_play
which allows a programmer to extract frames from an MPEG
stream (either before or after converting to RGB color space)
and then do other things with it.
[http://starship.python.net/~gward/mpeglib/]
- MPEGe
- An MPEG encoding engine library designed to allow
the creation of MPEG movies from an
application.
The library consists of three functions:
- MPEGe_open, which initializes the encoder;
- MPEGe_image, which is called each time a frame is
to be added to a sequence; and
- MPEGe_close, which is called to end an MPEG sequence.
A source code distribution of MPEGe is available.
[http://www.tardis.ed.ac.uk/~ark/mpegelib/]
- mpeg_encode
- A package containing the Berkeley MPEG-1 Video Encoder.
The encoder will accept any input file format as long as
a script to convert the images to either PPM or YUV format
is created.
Options to control input file processing and compression
parameters are specified in a parameter file.
[http://sunsite.unc.edu/pub/Linux/apps/graphics/convert/]
- mpeg_play
- An MPEG player which uses
X11 to display the decoded movies. It
can also produce PPM
files, SVGA graphics, Windows graphics calls,
or work in a Mac window. It doesn't handle real-time synchronization
of audio streams.
The most recent version (2.3) can be obtained as source
code (written in C) or as a compiled binary for
Sun SunOS and Solaris, HP-UX, DEC Ultrix and OSF, SGI IRIX, and
Linux Intel platforms.
[http://bmrc.berkeley.edu/frame/research/mpeg/mpeg_play.html]
- mpeg2encode/mpeg2decode
- An implementation of an ISO/IEC DIS 13818-2 codec, i.e. a frammus
that converts uncompressed video frames into
MPEG-1 and -2 video coded bistream
sequences and vice-versa.
[http://mpeg.openprojects.net/]
- MPEG-2 Movie
- A program for synthesizing elemental audio and video streams directly
from Quicktime movies (that use codecs supported by
Quicktime4linux), and then
multiplexing them into a single program stream suitable for
burning onto DVD or (with lower framerates) uploading onto the
Internet.
[http://heroine.linuxave.net/mpeg2movie.html]
- MPFR
- A C library implementing multiprecision floating point
computations with exact rounding.
The goal of MPFR is to provide an efficient and well-defined library
for floating point computations requiring multiple precision.
[http://www.loria.fr/projets/mpfr/]
- MPFUN
- Fortran software that permits the performance of arithmetic
computations to an arbitrarily high level of numeric precision.
This consists of a package of Fortran-77 routines that perform
a variety of multiple precision operations and a translator
program that converts an ordinary Fortran-77 program to call
the required multiple precision routines.
This is TOMS algorithm 719 and is documented
in Bailey (1993).
[http://www.nersc.gov/~dhb/mpdist/mpdist.html]
[http://www.netlib.org/toms/index.html]
[ftp://ftp.irisa.fr/pub/netlib/mpfun/]
- mpg123
- A real-time MPEG audio player for layers 1, 2 and
3 (i.e. MPEG 2.0 with layers 1 and 2 not heavily tested).
[http://www.mpg123.de/]
- tk3play
- A graphical front-end to mpg123 built using
the Tk widget set.
The features include continuous play, fast forward and rewind,
volume control, a shuffle mode for random playing, and more.
A source code distribution is available.
[http://www.msc.cornell.edu/~bef2/]
- xmp3player
- A graphical front-end to the mpg123
MPEG player built using the
Qt widget set.
[http://cray.tuug.utu.fi/~phoenix/xmp3player/]
- MPI
- The Message Passing Interface is
a standard library for writing
message-passing programs designed for high performance on both
massively parallel machines and on workstation clusters.
MPI was deveoped by a broadly based committee of vendors,
implementors, and users and
is widely available in both free and commercial
implementations.
The goals for developing MPI were:
- to design an application programming interface (API);
- to allow efficient communication, i.e. to avoid memory-to-memory
copying and allow overlapping of computation and communication and
offloading to communication co-processors;
- to allow for implementations which can be used in a heterogeneous
environment;
- to provide convenient C and Fortran bindings for the interface;
- to assume a reliable communication interface and let communication
failures be dealt with by the underlying system;
- to define an interface similar to those used in current practice
and allow for flexible extensibility;
- to define an interface which can be implemented on many platforms
with no significant changes necessary to the underlying communication
and system software;
- to keep the semantics of the interface language independent; and
- to design the interface to allow for thread safety.
MPI implementations include:
There is much documentation in the form of technical reports
and online tutorials.
See also
Alexandrov and Dongarra (1998),
Gropp et al. (1994),
Pacheco (1997),
Snir et al. (1995), and
Foster (1995). The latter contains a chapter on MPI and
the entire text is available online in hypertext format.
There is an ongoing project called MPI-2 to consider
corrections and extensions to the current
and first MPI standard.
Packages or languages which use or enhance MPI in some way include:
- A++/P++,
- ARCH,
- BLACS,
- BlockSolve,
- C4,
- CODE,
- Converse,
- COSMICS,
- DAGH,
- DOUG,
- fsolver,
- GCL/MPI,
- Global Array,
- GLU,
- HDFNOW,
- HPF,
- MagPIe, a library of MPI collective communication
operations optimized for wide-area systems;
- Moldy,
- mpC,
- MPICH,
- MPI++,
- mpiJava, an object-oriented
Java interface to MPI
- mpimake, a make-like utility for automatically
compiling MPICH binaries;
- MPI-RGL,
- MPI/RT
- MPI-2 C++,
- MPIX,
- MSG,
- NESL,
- Nexus,
- OOMPI,
- PANDA,
- Para++,
- ParPre,
- PeIGS,
- PETSc,
- PGAPack,
- PIM,
- PLUS, allows interoperation with
PVM and PARIX;
- PMPIO,
- pPCx,
- PPI++,
- P-SPARSLIB,
- PSTSWM,
- QCDMPI,
- sB-BLAS,
- ScaLAPACK,
- SUMMA,
- Surface Evolver,
- SYISDA,
- TOMPI, and
- TRAPPER.
[http://www.mcs.anl.gov:80/mpi/]
- AutoLink
- A tool for transferring dynamic data types like graphs using
MPI.
This is a library that gives the user access to high-level functions
for transferring dynamic data types.
This uses AutoMap.
[http://www.nist.gov/itl/div895/auto/]
- AutoMap
- A tool that simplifies the task of creating
MPI data types. It works as a source to source
compiler, reading directly from the user type definitions.
[http://www.nist.gov/itl/div895/auto/]
- IMPI
- Interoperable MPI is an effort to create a standard to
enable interoperability among different implementations of
MPI.
[http://impi.nist.gov/IMPI/]
- mpiJava
- An object-oriented Java interface to the
MPI library.
The current (2/99) release provides the full functionality of MPI 1.1
and is implemented as a set of JNI wrappers to native MPI packages.
A source code distribution is freely available upon completing
a registration form.
[http://www.npac.syr.edu/projects/pcrc/HPJava/mpiJava.html]