next up previous contents
Next: Na-Nm Up: Linux Software Encyclopedia Previous: Ma-Mm   Contents

Mn-Mz

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$\sigma$H, or N$\sigma$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 $\sigma$ and $\pi$ 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:

[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]