next up previous contents
Next: In-Iz Up: Linux Software Encyclopedia Previous: Hn-Hz   Contents

Ia-Im

Last checked or modified: Aug. 2, 1998

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


Iaijutsu
An open source content management and object-oriented web application platform written in Perl. The content management part includes the ability to create, edit and maintain web site content in a collaborative environment. The contnet is managed via a web interface that includes user authentication and access control. The object-oriented capabilities allow the development of flexible, powerful and reusable components. The goals and eventual features of Iaijutsu include:
  • complete web-based administration of content and application objects;
  • object classes for handling the unique features of a wide variety of web content types via a common authoring and management environment;
  • generalized management features such as a common authoring environment, revision control, approval process, searching, remote and periodic static publishing, and indexing capabilities;
  • built-in facilities for data/object storage, retrieval and search queries;
  • separation of logic and presentation to allow the delegation of work to different skill sets;
  • exploitation of technologies such as XML for interoperability; and
  • building on currently available CPAN resources.

Projects implemented as Iaijutsu packages include:

  • authen-ldap, LDAP support for authentication;
  • dentatsu, a news site management system with XML content syndication;
  • hivemind, a project management and groupware application;
  • mail-imap, classes mapping IMAP email folders and messages into Iaijutsu object space;
  • scheduler, a cron-like daemon and task classes for scheduling repeated tasks; and
  • publisher, for scheduling dynamic content snapshots and publishing to build static sites.
Full use of Iaijutsu requires a MySQL server and well as a handful or two of Perl modules. This is currently (1/00) in the alpha development stage.

[http://www.ninjacode.com/iaijutsu/]

ialloc
A memory allocation library written in C developed to ease the process of data layout optimization for dynamically allocated data structures. In many situations this consumes less memory space and is faster that the standard malloc libraries, especially with programs that manipulate large linked lists or trees. Other situations in which ialloc offers significant improvement include:
  • programs performing a lot of allocation/reallocation of memory;
  • programs that frequently reference a large number of instances of structures in memory; and
  • programs wherein data structures in some fields are much more frequently used than others, wherein field reorganization and instance interleaving can provide noticable speedups.
Both ialloc and malloc can be simultaneously used in the same program, although care must be taken to keep the data structures separate.

The alloc library consists of five procedures to:

  • allocate memory (2);
  • free memory;
  • initialize the library; and
  • obtain allocation statistics and debug information.
It also contains several predefined macros used to parameterize the library which can be redefined to fine tune it to different machine architectures. A source code distribution is available. It is written in C and will compile on most UNIX platforms. This is documented in a user's manual available in the usual formats.

[http://www.irisa.fr/caps/PEOPLE/Dan/Ialloc/]

iBSC2
This allows you to run SCO, Wyse, and SVr4 binaries under Linux. I believe it's still in beta test stage.

[ftp://tsx-11.mit.edu/pub/linux/BETA/ibcs2/]

ica
A set of Matlab programs for performing independent component analysis (ICA), i.e. a signal processing process in which the problem is to separate statistically independent inputs which have been linearly mixed into a number of output channels without further knowledge about their distributions or dynamics. This set of programs was designed for EEG analysis but has much wider application.

[http://www.cnl.salk.edu/~scott/ica.html]

ICAM
The Idealized Coupleable Atmospheric Model is an idealized mechanistic atmospheric circulation model which uses triangular spectral truncation in the horizontal and pressure levels in the vertical. A coupled ocean-atmosphere (COAM) of the model can also be compiled with the distribution. The source code is written in Fortran 77 and a manual is included in TeX format. See Saravanan and McWilliams (1995).

[http://www.cgd.ucar.edu/gds/svn/]

Icarus Verilog
A Verilog simulation and synthesis tool that compiles source code written in Verilog into a target format. For batch simulation, it generates C++ code that is compiled and linked with a runtime library to create an executable. For synthesis, it generates netlists in several formats. The compiler is intended to parse and elaborate design descriptions written to the IEEE standard 1364-1995 and to also eventually recognize the 1364-2000 revisions. Snapshots of the source code are made available on a regular basis.

[http://icarus.com/eda/verilog/]

ICE (configuration)
The Incremental Configuration Environment is an experimental software configuration management (SCM) system that integrates several concepts like workspaces, revision management, variant management and deductive program construction into a single, easy-to-use model called the version set model. While other systems require you to adapt your software to their SCM model, ICE is sufficiently flexible to adapt to your software process. It integrates smoothly into existing UNIX environments via a virtual file system mapping version sets onto files and project contexts into directories. All SCM tasks are realized through the virtual file system. Users can manipulate several versions at once while storing only the version differences, and special techniques like n-version merging allow for the efficient coordination of parallel work. A source code distribution is available that can be compiled and used on most UNIX flavors.

[http://www.cs.tu-bs.de/softech/ice/]

ICE (protocol)
The Information and Content Exchange protocol is for use by content syndicators and their subscribers. It defines the roles and responsibilities of syndicators and subscribers, defines the format and method of content exchange, and provides support for the management and control of syndication relationships. It is useful for automating content exchange and reuse in both traditional publishing contexts and business relationships. This is an application of XML.

[http://www.w3.org/TR/1998/NOTE-ice-19981026]

Icecast
An Internet broadcasting system based on MPEG Layer 3 streaming technology. This allows transmission of such streams which can be listened to with an MP3 player on most platforms. The major components of the package are:
  • icecast, the broadcasting program, i.e. the server;
  • shout. the program that provides streaming MP3 files to icecast;
  • liveice, a live streaming program that allows input from either a soundcard's line or MP3 files to be mixed and re-encoded and then streamed to the server; and
  • icedir, a directory service that provides a listing of icecast servers and that can also maintain a list of current broadcasts.
A source code distribution of Icecast is available.

[http://www.icecast.org/]

IceDJ
A suite of scripts for running an Icecast radio station with tight integration of an accompanying Web site. The features include:
  • continuous random song playback;
  • shuffling of songs without replacement;
  • generation of custom Web pages using simple tags including current/recent songs, playlist and top requests pages;
  • simultaneous streaming to multiple servers at different bitrates;
  • automatic updating of any Web page with server statistics;
  • automatic scheduling of a Top 10 request show and other fixed content shows; and
  • updating of mp3spy.com with currently playing information.
This requires Perl 5 and Icecast.

[http://www.remixradio.com/icedj/]

IceWM
A small and fast window manager for X11 which is mostly compatible with the Motif window manager mwm. IceWM is designed to emulate the look of Motif, OS/2 Warp 4, OS/2 Warp 3 and Windows 95, and tries to combine the feel of all of them whenever possible. This is not designed to be as configurable as some other window managers like fvwm.

[http://ixtas.fri.uni-lj.si/~markom/icewm/]

IcePref
A GUI designed to simplify the configuration of IceWM. This was written using Python and GTK.

[http://members.xoom.com/SaintChoj/icepref.html]

ICI
A general purpose interpretive programming language with dynamic typing and flexible data types. ICI has the flow control constructs and operators of C and is designed for use in many environments, including embedded systems, as an adjunct to other programs and as a text-based interface to compiled libraries. ICI looks and feels like C with the data model resembling that of Lisp and PostScript. All data are objects of specific types, with variables being dynamically typed references to objects. Available object types include the usual integers, floats, and strings as well as dynamic collection types such as array, set, and struct (i.e. dictionaries). It is also fully garbage collected and supports error handling.

A source code distribution of ICI is available. It is written in C and can be compiled and used on several platforms including Linux Intel. It's use is documented in a user's manual available in PostScript format. See also a modified version of ICI called ANICI.

[http://www.zeta.org.au/~atrn/ici/]

ICL
The Interactive Command Language is a Starlink Project language designed to provide a programmable user interface to an astronomical data reduction or acquisition system. It is the primary user interface for the ADAM software environment. ICL is similar to high level programming languages like Fortran and Pascal although it has a few salient differences: it is a command language whose main use is to enable the typing of commands with few restrictions on the possible command format; it is an interactive language which provides a complete environment for entering, editing, and debugging programs rather than relying on external editors, linkers, and the like; and it can be used as a programming language but is mostly intended for writing relatively simple and straightforward programs.

Distributions of ICL are available in both source and binary format, with the latter available for DEC OSF/1, Linux Intel, and Sun Solaris platforms. The system is documented in a 90 page user's manual available in PostScript format.

[http://star-www.rl.ac.uk/store/storeapps.html]

ICM
The InterAgent Communications Model is a communication model and API oriented towards the needs of inter-agent communication, i.e. it can be used for asynchronously sending messages between agents. It is intended for use as a transportation mechanism for agent communication languages (ACLs) and is part of the larger Network Agents project. The features and functionality of ICM include:
  • a store and forward architecture allowing truly asychronous communication, e.g. the receiver agents doesn't have to be online when a message is sent to it;
  • an efficient and structured method for encoding messages;
  • self-parsing encoding that permits open and extensible communication forms without requiring predefined message formats to be compiled into applications;
  • the use of communication servers to permit individual agent platforms to communicate with large numbers of different host computers while minimizing system resource use;
  • globally unique agent handles permitting messages to be routed without requiring all platforms to route all messages;
  • agent handle aliasing to permit agent migrations in a well-controlled way;
  • virtual hosts that allow the use of intermittently connected devices such as PDAs and dial-up computers in a manner mostly transparent to individual agent platforms and applications;
  • multilingual access to the agent platform via message communication; and
  • sitting logically below an agent communication language, allowing messages to be built in a higher language from the simpler ICM components.

[http://www.nar.fujitsulabs.com/icm/]

Icmake
The Intelligent C-like MAKEr is a hybrid between a make utility and a shell script language originally created to provide a useful tool for automatic program maintenance and system administration tasks. A source code distribution is available which includes a manual in PostScript format.

[http://www.icce.rug.nl/docs/programs/icmake.html]
[ftp://ftp.icce.rug.nl/pub/unix/]

ICMP
The Internet Control Message Protocol is an integral part of IP used by gateway or destination hosts to communicate with a source host for reporting such things as when datagrams can't reach their destination, when the gateway doesn't have the buffering capacity to forward a datagram, and when the gateway can direct the host to send traffic via a shorter route. ICMP is basically used to provide feedback about problems in the network communications environment, but not to ensure absolute reliability since that is a role for higher level protocols to fulfill. The ICMP is described in RFC 792. See Hall (2000).

icmpinfo
A tool for looking at the ICMP messages received on a host. It can be used to detect and record ``bombs'' as well as various network problems. A source code distribution is available which is documented in a man page.

[ftp://hplyot.obspm.fr/net/]

Icnet
A C++ library for creating client/server applications on hosts connected via the Internet. The source distribution contains a manual in PostScript format.

[ftp://ftp.icce.rug.nl/pub/unix/]

Icon
A high level general-purpose programming language with extensive facilities for processing strings (text) and data structures. Icon has an expression-based syntax with reserved words, and the programs most resemble those of Pascal and C. It has several novel features including expressions that may produce sequences of results, goal-directed evaluation that automatically searches for a successful result, and string scanning that allows operations on strings to be formulated at a high conceptual level. Icon emphasizes high-level string processing and a design philosphy which allows ease of programming and short, concise programs. Storage allocation and garbage collection are automatic and there are few restrictions on the sizes of objects. Values are converted to expected types automatically. Icon has a full range of computational facilities other than those for processing strings and structures. There is an object oriented extension to Icon which provides classes and multiple inheritance. It is distributed as poart of the Icon program library.

Icon has conditional expressions which may succeed and produce a result or fail and not produce any result. The success or failure of conditional operations is used instead of Boolean values to drive control structures, e.g. the command read() produces the next line from an input file but fails when the end of the file is reached. If a function argument fails the function is not called and fails as well. This failure inheritance capability allows many programming tasks to be concisely formulated. An expression may also be capable of producing more than one result with the results depending on the context, in which case the expression acts as a generator. Goal-directed evaluation is inherent in its expression evaluation mechanism and can be used in arbitarily complex situations. Generation is inherited like failure and can also be used to write more concise expressions. Several kinds of structures with different organizations and access methods are supported in Icon. Lists are sequences of values or arbitrary types (as opposed to strings being sequences of characters) and can be manipulated like stacks and queues. A set is a collection of values upon which operations like union, intersection, and difference can be performed. Tables are sets of pairs, each of which consists of a key and a corresponding value, both of which may be of any type. Tables thus provide a form of associative access.

Icon supports high-level graphics facilities in which: windows can be opened and closed as desired; text can be written to windows in a variety of typefaces and sizes, including proportional-width fonts; characters from the keyboard can be processed as they are typed; points, lines, polygons, circles, arcs, and smooth curves can be freely mixed with text; colors can be used for both text and graphics; and image files and be read or written.

Icon is packaged into Unix Starter Kits which contain executables of a translator and interpreter, the interace builder, documentation (in PostScript format), and the library procedures reference in the documentation. The kits are available (for version 9.3) for IBM AIX, Digital UNIX, HP-UX, Linux Intel, SGI IRIX, and Sun SunOS and Solaris platforms. There is a plethora of documentation available for Icon, e.g. a FAQ, a newsletter, technical reports, a periodical, and a book, i.e. Griswold and Griswold (1996).

[http://www.cs.arizona.edu/icon/www/index.html]

Jcon
A Java-based implementation of the Icon programming language. This consists of a translator (written in Icon) that generates Java class files that execute in conjunction with a run-time system written in Java. A source code distribution is available which requires Icon 9.3 and Java 1.1.

[http://www.cs.arizona.edu/icon/jcon/]

ICOT
The Institute for New Generation COmputer Technology is a follow-up to the Fifth Generation Computer Systems (FGCS) project of the Ministry of International Trade and Industry of Japan (MITI). The goal of ICOT was to create basic technology for novel computers that uses parallel inference processing as a core mechanism. A large amount of software was created under the auspices of ICOT, all of which is freely available for research purposes and just about all of which can be compiled and used on generic UNIX platforms. Many of the programs below require others to work, e.g. quite a few require KLIC.

The ICOT programs which require the PIMOS environment may not execute in the KLIC environment without some modification. PIMOS is the operating system for a special type of parallel computer; KLIC provides a similar but not identical environment for KL1 programs for the UNIX environment. Some of the application programs available from ICOT will operate under either PIMOS or KLIC and some will operate only under PIMOS. There are plans to create KLIC versions for a wider range of the available programs, although no specifics are yet available.

The ICOT software packages that can be used in the KLIC environment on UNIX platforms include:

  • KLIC, an implementation of the KL1 programming language;
  • CLP, an implementation of cu-Prolog;
  • Quixote, a deductive object-oriented database language;
  • Kappa, a parallel database management system;
  • MGTP/G, a theorem prover for non-Horn clauses that deal with ground atoms;
  • Quant2, a program for DNA sequence analysis based on discriminant analysis;
  • PIA, a program for performing multiple sequence alignment by parallel iterative improvement;
  • RNASA, a program for multiple RNA sequence alignment using simulated annealing;
  • SSSHMM, a program for successive state splitting of protein using hidden Markov networks;
  • A'UM, an implementation of a concurrent object-oriented programming language (descended from KL1);
  • DP, a logic programming system which controls symbolic inferences by general heuristics based on dynamics; and
  • GDCC, a parallel constraint logic programming language.

[http://www.icot.or.jp/AITEC/IFS/ifs-E.html]

ICP
The Internet Cache Protocol is used for exchanging information among caches and for application programs that need guaranteed reliable transmission of binary objects. The architecture supports tree-structured hierarchies as well as any non-cyclical graph, and as such one major use involves enabling caches at lower levels to retrieve objects from those at higher levels. A mechanism is also provided to allow a client to query several caches and base the decision on where an object should be retrieved on the results of the queries. Software implementing ICP includes:

[http://ircache.nlanr.net/Cache/ICP/]
[http://www.faqs.org/rfcs/rfc2186.html]

ICQ
ICQ (a cutesy pseudo-acronym for ``I Seek You'') is a protocol and programs that let you find friends and associates online in real time. You can create what is called a Contact List containing those you want to contact and send them messages, chat with them, send them files, configure ICQ to work with external messages, and various other things. A commercial version for Linux is not yet (8/98) available, but several clones have been developed and can be found at the first URL below.

[http://www.portup.com/~gyandl/icq/]
[http://www.icq.com/]

IDA
The Interprocedural Data Aanalyzer is an interactive tool that provides interprocedural information about Fortran 90 and HPF programs including:
  • graphs showing the calling relationships between program units;
  • traces of where and how variables are used;
  • information about common block partitioning and usage; and
  • procedure references and argument associations.
This uses the same front-end as SHPF and can parse the same Fortran variants as that.

[http://www.vcpc.univie.ac.at/information/software/ida/]

IDE
Integrated Development Environments are listed under programming environments.

idldoc
A package consisting of a front-end that parses commented CORBA IDL source code and a back-end that creates HTML documentation from this.

[http://herzberg.ca.sandia.gov/idldoc/]

IDRS
The Internet Document and Report Server is a full web development platform designed to be an:
  • embeddable HTML report generator for Java applications;
  • web-based enterprise report server; and
  • web site generation tool.
The features of IDRS include:
  • an XML dialect called Reporting Markup Language (RML) for creating report templates;
  • multiple data sets per report;
  • database connection pooling for connections to the IDRS report database and for use by IDRS reports;
  • secure or non-secure reports;
  • including JSP in report templates to be processed after the report has been fully created;
  • data-result paging;
  • calling Java classes from within reports to retrieve data and do whatever RML cannot do natively;
  • embedding JPython and BeanShell into RML documents; and
  • pooling and recycling of IDRS Report objects.
On Linux systems IDRS requires JDK 1.2.2, the Apache server, the servlet runner Tomcat 3.1, the the PostgreSQL database system, and the JDBC driver for the latter.

[http://idrs.sourceforge.net/]

id3
A program for tagging MP3s with their title, artist, album and track number information.

[http://lly.org/~rcw/id3/]

id-utils
A set of GNU utilities which implement an ID database, i.e. a binary file containing a list of file names, tokens, and a sparse matrix indicating which tokens appear in which files. The tools that create and query this database allow the quick and easy text searching of, e.g. all files which reference a particular #include file in a large source hierarchy. This is useful for those maintaining large software projects or large sets of text files.

The programs included in the id-utils distribution are:

  • mkid, which scans files for tokens and builds the ID database;
  • lid, which queries the ID database for tokens and then reports matching file names or lines;
  • fid, which lists all tokens recorded in the database for given files or tokens common to two files;
  • fnid, which matches the file names in the database rather than the tokens; and
  • xtokid, which extracts raw tokens and helps with the testing of new mkid scanners.
There are also some query programs which are specializations of lid including:
  • gid, which lists all lines containing requested patterns;
  • eid, which invokes an editor on all files containing a requested pattern and then initiates a text search for that pattern; and
  • aid, which treats a requested pattern as a case-insensitive literal substring.

A source code distribution of id-utils is available. All programs are written in C and can be compiled and installed via the included autoconf scripts. The programs are documented in a user's manual included in Texinfo format.

[http://www.gnu.ai.mit.edu/order/ftp.html]

IEEE-FP
A set of C programs for supporting the IEEE standard for binary floating-point arithmetic. The programs are for the support functions copysign, logb, scalb, nextafter, finite and isnan. This is TOMS algorithm 722 and is documented in Cody and Coonen (1993).

[http://www.acm.org/calgo/contents/]
[http://www.netlib.org/toms/index.html]

ifconfig
See NetTools.

ifile
A general mail filtering system that uses a modern text learning algorithm to intelligently filter mail according to the way the user tends to organize mail. Ifile differs from other filtering programs in that is doesn't require a set of rules to filter mail, it uses the entire content of messages for filtering, and it learns as you move incorrectly filtered messages to new mailboxes. It isn't dependent on any mail system and should work with any that allows outside programs to perform filtering.

A source code distribution of ifile is available. It has been successfully installed on several platforms including Linux Intel. It is documented in a FAQ and a README file.

[http://www.cs.cmu.edu/~jr6b/ifile/]

ifmail
A package which allows a UNIX machine to integrate an FTN (FidoNet-like) network and act as a gateway between in and Usenet or email, i.e. a set of FidoNet compatible transport and gateway programs. The ifmail package consists of two main parts-a transport agent program called ifcico and gateway programs called ifmail and iftoss-along with some supplementary and front-end programs. The ifcico program is capable of making outgoing calls over dial-up serial lines as well as over TCP/IP connections. It can also accept incoming FidoNet calls, acting as an alternative to the login program and as an Internet daemon started by inetd. The ifmail (or ifnews) program converts RFC-0822 compatible mail messages and RFC-1036 compatible news articles into FTS-0001 compatible FidoNet packets that may later be compressed and sent by ifcico or any other BinkleyTerm compatible transport agent. Ifmail can feature an echo and netmail distributing FidoNet hub. The iftoss program converts received FTS-0001 compatible packets into RFC-0822 compatible mail messages and RFC-1036 compatible news batches and passes them to appropriate mail and news agent programs, e.g. sendmail and rnews.

A source code distribution of ifmail is available. It is written in C and is known to compile on Linux, FreeBSD, SCO, SVR4, SunOS, and various other UNIX flavors.

[http://www.average.org/ifmail/]

ifmail-tx
A modified version of the ifmail FidoNet software package. Ifmail-tx adds character set support, management, support for different Area files for different feeds, additional address type support, support for a packet password different than a session password, PGP-signed messages support, better MSGID/Message-ID management, Gatebau-style MSGID, and more.

[http://www.z2.fidonet.org/ifmail-tx/]

ifstatus
A security program that checks all network interfaces on a system and reports any that are in either debug or promiscuous mode, i.e. signs of possible unauthorized access to the system.

[http://www.ers.ibm.com/~davy/software/ifstatus.html]

IglooFTP
A graphical FTP client whose features include:
  • an intuitive and easy to use GUI;
  • full session database management;
  • user profile management;
  • advanced FTP operations;
  • drag and drop;
  • batch file transfer;
  • site mirroring; and
  • HTTP support.
A source code distribution is available under the GPL.

[http://www.littleigloo.org/softwares.html]

igor
A configuration file preprocessor that allows C preprocessor-like directives to be placed in configuration file templates and allows values to be defined based on the local host name and other information. The template files are processed and the output passed to an installation command that installs the customized configuration file and performs any other duties such as restarting the daemon that uses the file. This was developed to allow a single template of each configuration file to be maintained on all machines with preprocessor directives used to control the differences between hosts. The template files can be distributed to remote systems and Igore can be used to customize and install them. A source code distribution is available which is documented in a man page.

[http://www.ers.ibm.com/~davy/software/igor.html]

IGRF-95
The International Geomagnetic Reference Field model is the empirical representation of the Earth's magnetic field recommended for scientific use by the International Association of Geomagnetism and Aeronomy (IAGA). It represents the main (or core) field without external sources and employs the usual spherical harmonic expansion of the scalar potential in geocentric coordinates. The coefficients are based on all available data sources. IGRF-95 consists of coefficient sets for the epochs 1945 to 1995 in steps of 5 years and the first time derivatives of the coefficients for the time period 1995 to 2000. The Fortran 77 subroutines in this package include: FELDG, for computing the magnetic field vector; SHELLG, for computing the L shell; and BILCAL, for producing tables of the geomagnetic field strength, vector components, equatorial/minimum field strength, dipole moment, and L-value in latitude, longitude, altitude, and year.

A source code distribution of IGRF-95 distribution is available. It is documented in some ASCII files as well as in Barton (1996).

[ftp://nssdc.gsfc.nasa.gov/pub/models/geomagnetic/igrf/]

IGRP
The Interior Gateway Routing Protocol was developed by Cisco to provide a robust protocol for routing within an autonomous system (AS) having arbitrarily complex topology and consisting of media with diverse bandwidth and delay characteristics. An AS is a collection of networks with common administration and a common routing strategy. The IGRP is mostly replacing RIP in large internetworks as the limits of the latter are being reached, and it will work in both IP and OSI networks. It is a distance vector interior-gateway protocol (IGP) wherein each router sends all or a portion of its routing table in a routing update message at regular intervals to each of its neighboring routers. A combination of metrics including internetwork delay, bandwidth, reliability and load are all factored in the IGRP routing decisions. It also has features designed to increase stability including hold-downs, split horizons and poison reverse updates. A version called Enhanced IGRP adds link state protocols to the distance vector protocols already in IGRP to significantly improve performance.

[http://web.mis.ccu.edu.tw/ip/igrp.html]

II
The Infospheres Infrastructure is a distributed framework implemented in Java. It provides a generic object model and a variety of messaging models, e.g. asynchronous, synchronous, and remote method calls. It is being used to develop lightweight distributed systems that can leverage open standards and the Web.

The beta release of this package is currently (3/97) available. A Java Developer's Kit (JDK) of some sort is needed to use the II software. It has been tested on the Linux JDK port and several others. A 100+ page user's manual in PostScript format is available.

[http://www.infospheres.caltech.edu/]

IIOP
A standardized part of the CORBA 2.0 specification that, among other things, dictates the wire protocol used in distributed CORBA applications.

IKE
The Internet Key Exchange protocol is for negotiating and providing authenticated keying material for security associations in a protected manner. This is part of the IPsec project.

[http://www.ietf.org/internet-drafts/
draft-ietf-ipsec-isakmp-oakley-08.txt
]

[http://www.ietf.org/ids.by.wg/ipsec.html]

IKIT
An interactive and batch image processing kit which includes Tcl extensions for performing detailed image processing as well as IKIT, a Tk program which uses the Tcl extensions to implement an interactive image manipulation tool. The extensions have a C interfaces which allows further extensions to be written that take advantage of existing capabilities.

The source code for IKIT is available. It is written in C and Tcl/Tk and can be compiled on many UNIX platforms using the supplied autoconfig script. It is known to compile on Linux Sparc/Intel/Alpha and Sun SunOS platforms.

[http://www.picturel.com/software.html]

Ilib
A C library for reading, creating, manipulating and saving images and text. It can use any of the 208 available X11 BDF fonts to draw text. It can also read and write images in PPM, PNG and GIF format. This is a good choice for generating graphs and creating GIF output from CGI programs. The library routines in the package include:
  • IAllocColor, allocates a color for drawing;
  • ICreateGC, creates a graphic context for drawing on an image;
  • IDrawLine, draws a line using hte current line style;
  • IDrawRectangle, draw a rectangle of specified width and height;
  • IDuplicateImage, creates a duplicate of an image;
  • IFileType, determines the type of image;
  • IFontSize, gets the pixel height of a font;
  • IFreeFont, frees a font no longer in use;
  • ILoadFontFromFile, loads a font from a BDF font file;
  • ISetFont, sets the drawing font for a graphics context;
  • ISetForeground, sets the foreground color;
  • ISetLineStyle, sets the line drawing style;
  • ISetTransparent, sets the transparent color of an image; and
  • IWriteImageFile, writes an image to a file in a chosen format.
A source code distribution of this C code is available. It is sufficiently portable such that it can be compiled with both K&R and ANSI C compliant compilers.

[http://www.radix.net/~cknudsen/Ilib/]

iLINK
See FireWire.

iLisp
A small, multiplatform Lisp library implementation. It is a core library for working with lists, atoms and symbol tables that can be used to implement any Lisp dialect. A source code distirbution is available.

[http://ontil.ihep.su/~vsl/]

Illuminator
A toolset for developing optical character recognition (OCR) and image understanding applications. It consists of two major parts: a library for representing, storing, and retrieving OCR information called DAFSlib; and a Distributed Attribute File Specification (DAFS) viewer called Illuminator. The dafslib library is the C language API that allows developers to read, write, construct, and manipulate DAFS files. The key features of DAFS include storage of text and image in a single file, hierarchical structure, provision for ambiguity or uncertainty, and extensibility. It provides fundamental structures called entities for representing images and associated text and provides means for other developers to store their own proprietary data. An entity is a specific region of an image along with any associated textual content.

The Illuminator is a GUI for viewing and altering data in DAFS files, with the capability of reading and writing Unicode and ASCII/UTF text files and reading TIFF and PDA images. It was created for building document understanding test and training sets, for the easy correction of OCR errors, and for reverse-encoding the essential information and attributes of a document. It edits documents which contain both images and text, displaying either or both, and is configured to handle text in many major European languages as well as Japanese. It's modes of operation are:

  • an Image Mode for viewing and working with the actual image of document and its entities;
  • a Text Mode which is a simple text editor which will eventually support most major scripts and languages;
  • an Out-of-Context Mode which collects entities of the same type into a single file where errors can be easily corrected;
  • a Flagged Mode which provides easy means for correcting entities flagged as questionable by OCR;
  • and a Hierarchy Mode which allows you to see the hierarchical entity structure.

A binary distribution of the Illuminator package is available for Sun Solaris and Linux Intel platforms. User's manuals for both Illuminator and DAFSlib are available in PostScript format.

[http://documents.cfar.umd.edu/resources/source/illuminator.html]

ILOG TALK
A programming language and development environment dedicated to rapidly producing high-level object-oriented applications which are easily integrated into a standard computing environment. The TALK language is an extension of the proposed ISO Lisp standard, and the ILOG TALK development environment an easily learned system. The system compiles modules to C source code and provides a fine-grained connection to C++ libraries, thus allowing the user to take advantage of the features of both languages. The operating system interface is based on the POSIX standard. Other features include a garbage collector, an interpreter, a debugger, dynamically typed objects, a standard class library, a macro system that lets new syntactic structures be developed, a high degree of static verification, compilation modes which feature either safety or efficiency, interoperability with Emacs, and more.

TALK programs are divided into three types of units which correspond to standard binary file types in modern operating systems for easy interoperability and application delivery. Modules correspond to small individual services which can be grouped into a single source file which is compiled into a standard object file which can be linked to other units. Libraries consist of a set of modules which together provide a set of related services. Object files are linked together to form libraries implemented by dynamically loadable shared libraries. Executables are composed of sets of modules and libraries and from independent, runnable applications.

A binary version of ILOG TALK is freely available for Linux Intel platforms. It is somewhat limited in functionality but nonetheless useful. Extensive documentation is included in the distribution in several formats.

[ftp://ftp.ilog.fr/pub/Products/Talk/linux/]

ILU
The Inter-Language Unification system is a multi-language object interface system which hides implementation distinctions between different languages, address spaces, and operating systems. It can be used to build multi-lingual object-oriented libraries and well specified language-independent interfaces, and also to implement distributed systems. It can be used to define and document interfaces between the modules of non-distributed programs, and the interfaces can be specified in either the OMG CORBA Interface Definition Language (IDL) or the ILU Interface Specification Language (ISL).

The latest ILU release (2.0) contains support for Common Lisp, C++, C, Java and Python (with version 1.8 also supporting Modula-3). It supports both threaded (POSIX, Solaris, NT, Franz ACL, PPCR, Modula-3) and event-loop (Xt, Tk, XView) operation. Since one goal of ILU is to maximize compatibility with existing open standards, it provides support for the use of the OMG CORBA IDL and can be thought of as a CORBA ORB system (although with omissions from and extensions to the CORBA specs). ILU also includes self-contained implementations of ONC RPC and HTTP and can thus be used to implement object-oriented web browsers and servers.

ILU is available in source code form for UNIX platforms. It has been installed on Sun SunOS and Solaris, HP-UX, IBM AIX, DEC OSF, SGI IRIX, FreeBSD, Linux Intel, LynxOS, SCO UNIX, etc. systems. It is documented in a user's manual available in both PostScript and HTML formats. Some technical reports are also available.

[ftp://ftp.parc.xerox.com/pub/ilu/ilu.html]

image
A C++ class library to perform various tasks associated with grayscale images. The features of image include:
  • various elementary pixel operations including assigning/subtracting/etc. a value to all pixels, comparing every pixel with a value, comparing two images, etc.;
  • operations on square or rectangular parts of an image;
  • reading and writing PGM, XWD, and Group G (grayscale) TIFF file formats with automatic recognition of input format;
  • squeezing, stretching, and coercing images (with the latter meaning the aspect ratio is changed if needed);
  • iterators to perform sweeping image processing which is more efficient than for() loops;
  • lazy images wherein a recipe is returned rather than an object with the full image created on when needed;
  • image filtration including convolution, median, and morphological methods;
  • powerful and fast lookup table substitutions; and
  • a fractal cloud generator.

A source code distribution of the code is available. It is written in C++ and has been compiled using g++ 2.7.2. Documentation includes a README file as well as comments within the code. This requires the c++advio package.

[http://www.lh.com/oleg/ftp/packages.html]

ImageLib
A C++ class library for image processing that provides a variety of image and vector types as well as modules supporting scalar and vector quantization, wavelet transforms, DCT transfroms, and simple histogram operations.

[http://www.dip.ee.uct.ac.za/~brendt/srcdist/]

image processing
Available packages include:
  • AIPS, for processing astronomical images;
  • AIPS++, a large, multi--featured system for processing astronomical images (the next generation of AIPS);
  • CppIma, a C++ library for image processing tasks;
  • CVAP, a collection of packages for various computer vision tasks;
  • CVIPtools, a collection of tools for the exploration of computer vision and image processing;
  • EFLIB, a large library of Pascal software with image processing capabilities;
  • EMTOOL, for the interactive processing of images obtained from transmission electron microscopy;
  • ESO-MIDAS, a package of tools for the reduction and analysis of astronomical images;
  • GIMP, an image manipulation program;
  • GRASS, a GIS system with image processing capabilities;
  • IKIT, an interactive and batch image processing kit;
  • image, a C++ library for manipulating grayscale images;
  • Image/J, a Java package for image processing;
  • IPW, a system for algorithm and application development as well as for application to remote sensing;
  • IRAF, a general purpose system for the reduction and analysis of astronomical images;
  • KAPPA, a toolkit with over 180 commands for image processing and data visualization;
  • libtiff, a C library for working with TIFF format image files;
  • LUG, a utility library for viewing and manipulating various image formats;
  • MAD, a system for recovering images from blurred and noisy representations;
  • Netpbm, a large image conversion and manipulation program;
  • Pbmplus, a large image conversion and manipulation package;
  • PyrTools, a Matlab package for multi-scale image processing;
  • SPM, a Matlab toolkit for statistical parametric mapping;
  • SUSAN, a package containing programs for image noise filtering and other tasks;
  • TINA, libraries for vision algorithm development and evaluation;
  • Viewit, multidimensional image processing software originally developed for processing MRI data;
  • WAILI, a wavelet transform library with image processing capabilities;
  • XANADU, image processing software for data from X-ray astronomy;
  • XFITSview, a viewer for data in the FITS format;
  • XImage, a color imaging and analysis tool;
  • XITE, an image processing system;
  • xli, an image viewer;
  • xloadimage, an image viewer;
  • Xmap8, a GIS for geology and geophysics;
  • XMW, a GUI image processing environment;
  • xv, an image viewer.

image viewers
Programs for viewing images include:

Image/J
A Java package for image processing and analysis. This was designed with an open architecture that provides extensibility via Java plugins. The features and functionality include:
  • displaying, editing, analyzing, processing, saving and printing 8-, 16-, and 32-bit images;
  • reading several common file formats including TIFF, GIF, JPEG, DICOM, FITS and raw images;
  • support for stacks, i.e. a series of iamges that share a single window;
  • multithreading for performing time consuming operations in parallel;
  • calculation of area and pixel value statistics of user-defined selections;
  • density histograms and line profile plots;
  • standard image processing functions such as contrast manipulation, sharpening, smoothing, edge detection and median filtering;
  • geometric transformations such as scaling, rotating and flipping; and
  • zooming.
A source code distribution is available which requires JDK 1.1.6 on Linux boxes.

[http://rsb.info.nih.gov/ij/]

ImageMagick
A package for the display and interactive manipulation of images for the X Window system. It is written in C and interfaces with Xlib so it doesn't require any proprietary toolkit. The package contains an image display program display which can display an image on any workstation running an X server. It can read and write many image formats as well as allow the interactive resizing, rotation, sharpening, color reduction, or addition of special effects to an image via a program called mogrify.

ImageMagick also has command line programs that will:

  • convert an image from one format to another (convert);
  • read an image from any visible window on an X server and output it as an image file (import);
  • combine images to create new ones (combine);
  • create framed thumbnail versions of images;
  • create transparent images for use on the Web;
  • turn a group of images into a GIF animation sequence (animate);
  • create a composite image from several images (montage);
  • segment an image based on the color histogram;
  • describe the format and characteristics of an image (identify); and
  • retrieve, list, or print files from a remote network site.
The image formats supported by ImageMagick include: AVS, BMP, CGM, CMYK, DCX, DIB, EPS, EPS2, EPSF, EPSI, FAX, FITS, GIF, GIF87, HDF, HTML, JBIG, JPEG, MIFF, MPEG, MTV, PBM, PCD, PCL, PCX, PDF, PGM, PICT, PNG, PNM, PPM, PS (PostScript), PS2, RGB, RGBA, RLA, RLE, SHTML, TGA, TIFF, VID, VIFF, X, XBM, XPM, XWD, and YUV. See the site for details. Some formats require the installation of additional software, e.g. HDF, JPEG, JBIG-KIT, parts of Netpbm, Ghostscript, the PNG library, TIFF, and zlib.

The ImageMagick source code can be compiled on almost any UNIX platform and also runs under Windows NT, Mac, and VMS. Binaries are available for Linux Intel (ELF), Sun Solaris and SunOS, and SGI IRIX platforms. The programs which comprise ImageMagic are documented in man pages. There is a Magick Application Programming Interface (API) which allows the various functions of ImageMagick to be access directly from several languages. See also PerlMagick, an object oriented interface to ImageMagick.

[http://www.wizards.dupont.com/cristy/ImageMagick.html]

Magick++
An object-orineted C++ API to the ImageMagick library. The features include:
  • an object model inspired by PerlMagick yet faster;
  • integrated support for STL; and
  • reference-counted memory management.

[http://www.cyberramp.net/~bfriesen/Magick++/]

PerlMagick
An objected-oriented Perl interface to ImageMagick. This is a Perl module that can be used to read, manipulate, or write an image or image sequence from within a Perl script, which makes it very suitable for Web CGI scripts. There are routines for setting image attributes, manipulating images, getting image attributes, creating an image montage, and performing miscellaneous other tasks.

The source code for PerlMagic is available and requires ImageMagick 3.8.2 or greater and Perl version 5.002 or greater. The code and its documentation are currently (3/97) is the alpha stage.

[http://www.wizards.dupont.com/cristy/www/perl.html]

PythonMagick
An object-oriented Python interface to ImageMagick.

[http://starship.skyport.net/crew/zack/pymagick/]

imake
A UNIX tool which facilitates the writing of portable programs. With imake the dependences for various systems are described in a set of configuration files and then a Makefile is generated from the set of dependencies appropriate for a given machine. The most well-known use of imake is to configure the X Window System distribution. See DuBois (1996).

[http://www.primate.wisc.edu/software/imake-book/]

Imake
A platform-independent make processor written in Java.

[http://www.servertec.com/products/imake/imake.html]

iManager
An image management program whose features include:
  • easy browsing of large image collections;
  • opening any picture in GIMP with one click;
  • setting any picture as wallpaper;
  • quick elimination of duplicate pictures;
  • fast searching for images; and
  • storage of title and author information for images.
This is available under the GPL.

[http://www.digidezign.com/~imanager/]

IMAP
The Internet Message Access Protocol is a method of accessing electronic mail or bulletin board messages that are kept on a mail server, i.e. it is a mechanism for mail clients to interact with mail servers. It permits a client e-mail program to access remote message stores as if they were local. The capability of IMAP to access messages from more than one computer gives it an advantage over the POP (Post Office Protocol) which is not really compatible with access from multiple computers unless all of those machines share a common file system.

IMAP includes operations for:

  • creating, deleting, and renaming mailboxes;
  • checking for new messages;
  • permanently removing messages;
  • setting and clearing flags;
  • server-based RFC-822 and MIME parsing (so clients don't need to) and searching; and
  • selective fetching of message attributes, texts, and portions thereof for efficiency.
It also provides support for online, offline, and disconnected access modes as well as for concurrent access to shared mailboxes. The client software needs no knowledge about the server's file store format. See Johnson (2000).

Packages which support IMAP include

A companion protocol called Application Configuration Access Protocol (ACAP) is being developed which provides the same location independent type of access to config files, address books, bookmark lists, etc.

[http://www.imap.org/]

IMAPd
An IMAP server generally intended to be run on sealed servers where normal users are not permitted to log in. The mailbox database is stored in parts of the filesystem which are private to the Cyrus IMAP system, and all user access is through the IMAP, POP3, or KPOP protocols. Cyrus allows a seamless mail and bulletin board environment to be set up across multiple servers, and it is a scalable system designed for use from small to large environments. The private mailbox database design gives the server large advantages in efficiency, scalability, and administratability. Multiple concurrent read/write connections to the same mailbox are permitted, and the server supports access control lists on mailboxes and storage quotas on mailbox hierarchies.

A source code distribution of IMAPd is available. It is written in C and can be compiled and installed on many UNIX flavors via the configure script included in the distribution. It's use is documented in a series of man pages.

[http://andrew2.andrew.cmu.edu/cyrus/]

ImgLib
A distributed, wide area network (WAN) based approach to cataloguing, searching, storing and providing Web access for high-resolution images. The LBNL Image Library provides a Web-based image management service whose capabilities include:
  • rapid browsing of thumbnail sized images;
  • indexed searching over associated textual information for each image;
  • collection curation performed using Web tools; and
  • text and image format and access control customizable by collection.
ImgLib was designed for three types of users: people who search and browse the collections, authors who incorporate images and text from it into their own documents, and curators who create and maintain collections of images and text.

ImgLib is implemented by two standard HTTP servers and a set of HTML documents and scripts. The MSS Server runs on a mass storage systems where it stages one or more files, returns one file at a time, or lists the files in a directory. It is also responsible for authenticating that a user requesting a file is authorized to do so. The Image Library Server is responsible for defining an image collection, creating thumbnail images, keeping the descriptive text files indexed, and providing search and browse functions. It controls access to all of the derived images and text and its functionality is provided by a set of HTML documents, scripts and standard HTTP access files.

A source code distribution of ImgLib is available. It consists of a number of scripts written mostly in Perl 5 (with some written in C) which are called by a standard HTTP daemon. These can be used with standard HTTP servers such as Apache. Full use of the package also requires the installation of Glimpse, Pbmplus and cjpeg or an equivalent JPEG to PBM converter. Documentation includes a user's guide and several technical reports, all available in popular formats.

[http://www-itg.lbl.gov/ImgLib.project/homepage.html]

ImgStar
A set of tools for image processing intended to be complementary to the Pbmplus tools for format conversion. Over 70 command-line tools are available which can be combined via UNIX pipes to perform complex operations. An intermediate floating point image format is used to allow operations to be cascaded, with conversion tools included for converting between this and PBM-type formats. The tools are divided into several categories including those that:
  • implement arithmetic and logical operations;
  • magnify, crop and subsample;
  • implement Canny edge detection;
  • implement custom space- or frequency-domain convolution;
  • implement several filters including high-, low-, and band-pass, rank-value, difference of Gaussians, and Gabor;
  • generate test images and implement differential or vector operations, e.g. gradient, derivatives and Laplacian;
  • implement thresholding, zero-crossing detection and calculate image statistics.
A source code distribution is available. It includes an 80 page manual in PostScript format.

[http://home.msen.com/~jimsun/ImgStar.html]

IML
The Instrument Markup Language is an instance of XML creating a general and extensible framework applicable to any kind of computer-controlled instrument. The scope of IML includes:
  • graphical user interfaces for controlling and monitoring instruments;
  • command set and command formats;
  • data streams, i.e. responses to commands and other telemetry from instruments;
  • visualization of instrument telemetry;
  • support for different communication mechanisms; and
  • online help and documentation.
An example of a particular instance of IML is AIML.

[http://pioneer.gsfc.nasa.gov/public/iml/]

Imlib
A general image loading and rendering library designed to make the task of loading images and obtaining X11 drawables simple and quick. Imlib is display depth independent, loading images and working in 24-bit internal format while dithering and remapping or whatever else is needed to generate images read for display by programs. It can also rescale images, be used on 8-bit displays, generate transparencies, load more than one format, and perform intelligent caching.

The features of Imlib include:

  • loading images in PPM, PGM, TIFF, PNG, XPM, JPEG and EIM formats as well as converting most other formats to one of these for loading;
  • image caches that can allow naive programs to run much faster;
  • rescaling an image to any size;
  • the capability of performing gamma, brightness, contrast, or arbitrary curve mapping to improve the visibility of images or modify their appearance;
  • basic image modifications such as flipping and rotating;
  • optimization to give best results whenever possible at high speeds;
  • handling monochrome, 2 to 8 bit pseudocolor and static color, and 15, 16, and 24 bit color displays;
  • an advanced pixmap cache that can reuse cached pixmaps if already rendered at that size to speed up rendering; and
  • both Xlib and GDK versions that can be simultaneously installed and used.

Imlib distributions are available in source code and RPM formats. Documentation is included in the distribution and is also available in the form of an online tutorial.

[http://www.labs.redhat.com/imlib/]

IML++
A C++ template library of modern iterative methods for solving both symmetric and nonsymmetric linear systems of equations. The algorithms are fully templated in that the same source code works for dense, sparse, and distributed matrices. Solution methods include Richardson iteration, conjugate gradient (CG), Chebyshev iteration, CG squared, BiCG, BiCG stabilized, generalized minimum residual (GMRES), and quasi-minmal residual without lookahead (QMR). A user's manual is available in PostScript format. IML++ contains an optional test suite for sparse matrix computations using SparseLib++.

[http://math.nist.gov/iml++]

IMP
A set of PHP scripts implementing an IMAP-based email system.

[http://www.horde.org/imp/]

imperative languages
Interesting and or relevant sites include:

Imperative languages include:

impose++
A set of PostScript utilities including:
  • impose, a program for two-up printing of DSC-compliant PostScript files that attempts to remove excess white space;
  • bboxx, extracts the bounding box of a PostScript file;
  • fixtd, sets the tumble and duplex options for the printout; and
  • psbl, a preprocessor for creating booklets.

[http://imagic.weizmann.ac.il/~dov/freesw/impose+/]

ImPress
A WYSIWYG layout program designed and built for Linux platforms using Tcl/Tk. It can be used to create presentations and PostScript documents using fully scalable graphics similar to Corel Draw and Adobe Illustrator, and differs from other Linux-available tools like GIMP in that graphical objects can be manipulated on the canvas rather than just layers of paint. The features of ImPress include:
  • shapes including ovals, rectangles, polygons and rounded rectangles;
  • line choices including multi-segmented, freehand and arrows;
  • a configurable color palette with separate fill and outline colors;
  • separate movable horizontal and vertical rulers and positioning hash marks;
  • transformations including duplication, flipping about axes, scaling and rotating;
  • grouping with hierarchy support;
  • printing PostScript to files or devices;
  • presentations including autoscaling, actions and wipes;
  • embeddable in a web browser via Tcl Plugin; and
  • importation of PostScript documents via conversion with a modified version of pstoedit.
A source code distribution is available.

[http://www.ntlug.org/~ccox/impress/index.html]

Improv
A set of C++ classes for writing classes enabling musician/computer interaction using MIDI. The available classes are divided into three categories. The supporting classes are:
  • CircularBuffer, for storing incoming MIDI input into a buffer;
  • FileIO, for endian control when reading or writing files;
  • MidiMessage, a data structure that stores a MIDI message and a timestamp;
  • SigTimer, a timing class.

The MIDI communication classes are:

  • EventBuffer, high-level access to MIDI output connection;
  • MidiInPort, low-level access to MIDI hardware connection;
  • MidiInput, mid-level acess to MIDI hardware connection;
  • MidiOutPort, low-level access to MIDI hardware connection;
  • MidiOutput, mid-level access to MIDI hardware connection;
  • MidiPort, combination of MidiInPort and MidiOutPort;
  • RadioBaton, high-level in/out class for communicating with the Radio Baton MIDI controller;
  • Synthesizer, high-level in/out class for communicating with a generic MIDI synthesizer; and
  • Voice, high-level MIDI output class for monophonic lines of music.

The event control classes in Improv include:

  • Event, base class for all events used by EventBuffer;
  • FunctionEvent, for note generation algorithms that output notes in time-sorted order;
  • MidiEvent, instantiation of OneStageEvent for transmitting a single MIDI message to MIDI output;
  • MidiFileEvent, for playing a MIDI file;
  • MultiStageEvent, virtual class for inheritance by classes consisting of multiple events;
  • NoteEvent, instantiation of TwoStageEvent for playing notes containing the MIDI messages for note-on and note-off;
  • OneStageEvent, virtual class for inheritance by classes consisting of single events;
  • SortedEvent, for time-sorted single-stage type events; and
  • TwoStageEvent, virtual class for inheritance by classes consisting of dual events.

[http://improv.sapp.org/]

IMPS
The Interactive Mathematical Proof System is intended to provide organizational and computational support for the traditional techniques of mathematial reasoning. IMPS consists of a mathematics database and a collection of tools for exploring, applying, extending, and communicating the material in the database. IMPS proofs are a blend of computation and high-level inference, and as such they resemble intelligible informal proofs, although unlike the latter the details of IMPS proofs are machine checked.

The IMPS system consists of four components: a core, supporting machinery, a user interface, and a theory library.

  • The core is a specification and inference engine in which the organizing unit is a theory implemented as a data structure to which a variety of information is associated. Proofs in a theory are interactively constructed using a natural style of inferences based on sequent calculus.
  • The support machinery consists of core extensions to facilitate building and printing expressions via various parsing and printing procedures, to make the inference mechanism more flexible and autonomous (e.g. an extensible set of inference procedures called strategies), and to facilitate the construction of theories and interpretations between them.
  • The user interface controls the three critical elements of an interactive system by displaying: the state of the proof (e.g. graphical displays of the deduction graph as a tree and TeX typesetting of the proof history); the presentation of options for new proof steps (e.g. a well-pruned list of commands and macetes to apply); and the processing of user commands.
  • The theory library contains a number of basic theories which can be augmented as desired by the user.

A source code distribution of IMPS is available. It is written in Common Lisp which will work with most freely available versions of that language, although the authors indicate a preference for CLISP. It has been successfully installed on Sun SunOS/Solaris and Linux Intel platforms. It is documented in a large user's manual available in PostScript format.

[ftp://math.harvard.edu/imps/imps_html/imps.html]

IMSP
The Internet Message Support Protocol was developed by Project Cyrus at Carnegie Mellon University to become a component of a scalable enterprise messaging system. The key functionality of the IMSP is the ability to scale an Internet messaging environment to tens of thousands of users or more, and it does this by acting as a location broker and modification registry for message folder objects which can be user mailboxes, group mailboxes, and other groups of message folders such as netnews. A folder or set of folders can be distributed and moved among many message store servers to balance for space, load, and the number of users per server. Services can be located on multiple servers with the IMSP providing clients with a list of servers from which to choose, which allows for load sharing and redundancy. The IMSP also features a modification registry which provides information on which message stores have changes or are interesting since the last access. This lookup service is available across the entire set of message stores. The IMSPD server implements the IMSP.

[http://andrew2.andrew.cmu.edu/cyrus/imsp-doc.fm.html]

IMSPD
A server daemon that implements the IMSP Internet messaging protocol suite. A source code distribution is available.

[http://andrew2.andrew.cmu.edu/cyrus/]

IMT
The Integrating Modelling Toolkit is a generic, comprehensive, and extensible set of abstractions allowing the definition and use of interoperable model components. IMT worlds are created with IMT agents that each perform a particular phase of a modeling task. The core set of IMT agents can describe generic, modular, distributed model components specialized for tasks ranging from simple function calculation in an interpreted language to spatially explicit simulation, model optimization, GIS analysis, visualization and advanced statistical analysis. The agents provided in the base module include:
  • datasets and data containers with arbitrary types, compound types, arbitrary dimensions, and interfaces to ASCII, HDF5, and common image formats as well as the common XML interface;
  • a generic module that passes schedules and events to submodules, coordinating interaction with a shared dataspace;
  • programmable modules executing interpreted Scheme code that are extensible to support other interpreted languages and integrated with the IMT environment via a macro language;
  • a basic module for user access, visualization and data export in the shared dataspace;
  • a generic proxy object used by modules to drive remote simulations implemented as external executables or network services; and
  • schedules and events.

Additional IMT modules include:

  • an optimizer module that optimizes submodules by looking for optimal parameter combinations in a user-specified search space;
  • a module for driving local external applications through their command line interface using Expect;
  • an SNI proxy module to drive remote external applications through their command line interface;
  • a module providing proxy-based integration of an external spatial simulation based on SME;
  • a proxy-based integration of GRASS; and
  • a proxy-based integration of the statistical analysis package R.

[http://flock.cbl.umces.edu/imt/]

im2wrl
A program that reads in image, creates a quad mesh geomery, colors the verices by sampling the input image, and saves the resulting geomery in a new VRML file. This allows he simulation of texture maps without special hardware and allows the production of standalone VRML files that don't need to inline external image files. Over 30 input image formats are supported.

[http://www.sdsc.edu/projects/vrml/tools/im2wrl/help/im2wrl.html]

IMWheel
A program for using the Microsoft Intellimouse under XFree86 on machines that run it. It also supports stick-type mice with all directions of motion. This is meant as a replacement for gpm but it can also coexist with it. For the forgivably ignorant, the Intellimouse has a wheel that can be used to scroll windows up and down, a labor saving device that could just save western civilization.

[http://jcatki.dhs.org/imwheel/]


next up previous contents
Next: In-Iz Up: Linux Software Encyclopedia Previous: Hn-Hz   Contents
Manbreaker Crag 2001-03-08