How to use S.T.A.N.D.

Like all good dictionaries, this too is alphabetical. Click a letter to browse that section.

Introduction 0 - 9
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

A

A – Abacus to Azimuth

Abacus (Historic)
Does History repeat itself? Well, if you look at an abacus it’s almost what a perfect 3-D model of a decimal system computer would be, with an arithmetic logic unit and a shift register. It is the earliest known computing instrument, with beads (counters) strung on tendon, flax, wires, mounted in a frame. The earliest example of a counting board is the Greek Salamis marble tablet. Exact dates are unknown, but Herodotus (485-425 B.C.) gave examples of math problems that have been tested by using an abacus of the Salamis type.

A# (computer, language)
/A sharp/ A separable component of Version 2 of the AXIOM* computer algebra system. It provides a programming language with an optimising compiler, an intermediate code interpreter, and a library of data structures and mathematical abstractions. The compiler produces stand-alone executable programs, object libraries in native operating system formats, portable bytecode libraries, C and Lisp source code.

The A# programming language has support for object-oriented and functional programming styles. Both types and functions are first class values that can be manipulated with a range of flexible and composable primitives and user programs. The A# language design places particular emphasis on compilation for efficient machine code and portability.

Ports have been made to various 16, 32, and 64 bit architectures: RS/6000, SPARC, DEC Alpha, i386, i286, Motorola 680x0, S 370; several operating systems: Linux, AIX, SunOS, HP/UX, Next, Mach and other Unix systems, OS/2, DOS, Microsoft Windows, VMS and CMS; C compilers: Xlc, gcc, Sun, Borland, Metaware and MIPS C.

A* search (computer, algorithm)
A graph search algorithm. A* is guaranteed to find a minimal solution path before any other solution paths, if a solution exists, in other words, it is an "admissible" search algorithm. Each path is assigned a value based on the cost of the path (e.g. its length) and an (under)estimate of the cost of completing the path, i.e. the cost of a path from the end of the current path to a solution.

A-0 (computer, language)
(Or A0) A language for the UNIVAC I or II, using three-address code instructions for solving mathematical problems. A-0 was the first language for which a compiler was developed. It was produced by Grace Hopper's team at Remington Rand in 1952. Later internal versions were A-1, A-2, A-3, AT-3. AT-3 was released as MATH-MATIC. ["The A-2 Compiler System", Rem Rand, 1955]. [Sammet 1969, p. 12].

A1 (computer, language)
See Address 1 code. An a1 code interpreter, by Matthew Newhook was used to test compiler output. It requires gcc 2.4.2 or higher and is portable to computers with memory segment protection.

A3D (computer, hardware)
(Aureal 3-Dimensional). A technology developed by Aureal that delivers sound with a three-dimensional effect through two speakers. Many modern sound cards and PC games now support this feature.

A3D differs from the various forms of surround sound in that it only requires two speakers, while surround sound typically requires four or five. It is sometimes less convincing than surround sound but is supposedly better in interactive environments. For example, PC games in which sounds often move from one speaker to another favour A3D, while pre-recorded video favours surround sound.

A20 handler (computer, software, storage)
IBM PC memory manager software providing HMA. XMMs usually provide this functionality. Named after the 21st address line (A20), controlling the access to HMA.

A56 (computer, language)
An assembler for the Motorola DSP56000 and DSP56001 digital signal processors by Quinn Jensen.

AAC (computer, audio standards)
Advanced Audio Coding. A successor to MP3, allowing lower bit rates and more stable quality.

See MPEG-2 AAC Low Profile and MPEG-4 AAC Main Profile.

AADL (computer, language)
Axiomatic Architecture Description Language

A language allowing concise modular specification of multiprocessor architectures from the compiler/operating-system interface level down to chip level. AADL is rich enough to specify target architectures while providing a concise model for clocked microarchitectures.

["AADL: A Net-Based Specification Method for Computer Architecture Design", W. Damm et al in Languages for Parallel Architectures, J.W. deBakker ed, Wiley, 1989].

AAP (computer, standards)
Association of American Publishers
A group engaged in standardisation efforts in document preparation.

AAP DTD (computer, standards)
A DTD for a standard SGML document type for scientific documents, defined by the Association of American Publishers.

Aard (computer, programming)
(Dutch for "earth") A tool to check memory use for C++ programs, written by Steve Reiss (who names his programs after living systems).

Aard tracks the state of each byte of memory in the heap and the stack. The state can be one of Undefined, Uninitialised, Free or Set. The program can detect invalid transitions (i.e. attempting to set or use undefined or free storage or attempting to access uninitialised storage).

In addition, the program keeps track of heap use through malloc and free and at the end of the run reports memory blocks that were not freed and that are not accessible (i.e. memory leaks).

The tools work using a spliced-in shared library on SPARCs running C++ 3.0.1 under SunOS 4.X.
AARP probe packets (communications, networking)
AARP packets sent out on a nonextended AppleTalk network to discover whether a randomly selected node ID is being used by any node. If not, the sending node uses the node ID. If so, it chooses a different ID and sends more AARP probe packets.

AAUI (communications, networking, hardware)
Apple Attachment Unit Interface

A 14-position, 0.050-inch-spaced ribbon contact connector. Early Power Macintosh and Quadras had an AAUI (Apple Attachment Unit Interface) port (rectangular shaped) for Ethernet, which requires a transceiver. To use twisted pair cabling, you would need to get a twisted pair transceiver for the computer with an AAUI port. Some Power Macintosh computers had both an AAUI and RJ-45 port; you can use one or the other, but not both.

The pin-out is:

Pin Signal Name Signal Description
---- -------------- ---------------------------------
1 FN Pwr Power (+12V @ 2.1W or +5V @ 1.9W)
2 DI-A Data In circuit A
3 DI-B Data In circuit B
4 VCC Voltage Common
5 CI-A Control In circuit A
6 CI-B Control In circuit B
7 +5V +5 volts (from host)
8 +5V Secondary +5 volts (from host)
9 DO-A Data Out circuit A
10 DO-B Data Out circuit B
11 VCC Secondary Voltage Common
12 NC Reserved
13 NC Reserved
14 FN Pwr Secondary +12V @ 2.1W or +5V @ 1.9W
Shell Protective Gnd Protective Ground

AAUI signals have the same description, function, and electrical requirements as the AUI signals of the same name, as detailed in IEEE 802.3-1990 CSMA/CD Standard, section 7.

A&B (communications, computer)
A bit signaling procedure used in most T1 transmission facilities where one bit from every sixth frame of each of 24 T1 subchannels is used for carrying supervisory signaling.

A-B Roll Editing (Audio/Visual)
This is a Method that is used for creating a master-edited videotape by directing selected portions of video signals from two video sources (computers, VCRs, camcorders, etc.) to a destination recording device, usually a VCR: also called A-B editing. In video production, various shots on the A-roll and B-roll are edited together in post-production. In preparing a film for printing, all of the odd-numbered shots can be put on one reel (A-roll), with black leader replacing the even shots. The even-numbered shots, with black leader replacing the odd shots, make up the B-roll. Both rolls are then printed together onto one film.

ABC (Audio/Visual, computer)
The ‘ABC’ was the first digital calculating machine that used vacuum tubes. Built by John Atanasoff and Clifford Berry between 1939 and 1942, it included input, memory, and an arithmetic logic unit, all of which contributed to the architecture of future computers.

ABC (computer, language)

1. Atanasoff-Berry Computer. 2. An imperative language and programming environment from CWI, Netherlands. It is interactive, structured, high-level, and easy to learn and use. It is a general-purpose language which you might use instead of BASIC, Pascal or AWK. It is not a systems-programming language but is good for teaching or prototyping.

ABC has only five data types that can easily be combined; strong typing, yet without declarations; data limited only by memory; refinements to support top-down programming; nesting by indentation. Programs are typically around a quarter the size of the equivalent Pascal or C program, and more readable.

ABC includes a programming environment with syntax-directed editing, suggestions, persistent variables and multiple workspaces and infinite precision arithmetic.

An example function words to collect the set of all words in a document:

HOW TO RETURN words document:
PUT {} IN collection
FOR line in document:
FOR word IN split line:
IF word not.in collection:
INSERT word IN collection
RETURN collection

Interpreter/compiler, version 1.04.01, by Leo Geurts, Lambert Meertens, Steven Pemberton. ABC has been ported to Unix, MS-DOS, Atari, Macintosh.

["The ABC Programmer's Handbook" by Leo Geurts, Lambert Meertens and Steven Pemberton, published by Prentice-Hall (ISBN 0-13-000027-2)].

["An Alternative Simple Language and Environment for PCs" by Steven Pemberton, IEEE Software, Vol. 4, No. 1, January 1987, pp. 56-64.]

2. ABC: (computer, language)
Argument, Basic value, C

An abstract machine for implementation of functional languages and its intermediate code.

[P. Koopman, "Functional Programs as Executable Specifications", 1990].

In Audio/Visual terms, Automatic Beam Control (ABC) was a circuit that provided dynamic control of the beam in a traditional camera pickup tube, reducing image retention and comet tailing. It was also called ABO - Automatic Beam Optimisation.

ABC ALGOL (computer, language)

An extension of ALGOL 60 with arbitrary data structures and user-defined operators, for symbolic mathematics.

["ABC ALGOL, A Portable Language for Formula Manipulation Systems", R.P. van de Riet, Amsterdam Math Centrum 1973].

ABCL/1 (computer, language)
An Object-Based Concurrent Language.

The language for the ABCL MIMD system, written by Akinori Yonezawa of Department of Information Science, Tokyo University in 1986. ABCL/1 uses asynchronous message passing to objects. It requires Common Lisp. Implementations in KCL and Symbolics Lisp are available from the author.

ABCL/c+ (computer, language)
A concurrent object-oriented language, an extension of ABCL/1 based on C.

["An Implementation of An Operating System Kernel using Concurrent Object Oriented Language ABCL/c+", N. Doi et al in ECOOP '88, S. Gjessing et al eds, LNCS 322, Springer 1988].

ABCL/R (computer, language)
A reflective subset of ABCL/1, written in ABCL/1 by Yonezawa of Tokyo Institute of Technology in 1988.

["Reflection in an Object-Oriented Concurrent Language", T. Watanabe et al, SIGPLAN Notices 23(11):306-315 (Nov 1988)].

ABCL/R2 (computer, language)
An object-oriented, concurrent, reflective language based on Hybrid Group Architecture.

As a reflective language, an ABCL/R2 program can dynamically control its own behaviour, such as scheduling policy, from within a user-program. This system has almost all functions of ABCL/1 and is written in Common Lisp.

Abduction (computer, logic)
The process of inference to the best explanation.

"Abduction" is sometimes used to mean just the generation of hypotheses to explain observations or conclusionsm, but the former definition is more common both in philosophy and computing The semantics and the implementation of abduction cannot be reduced to those for deduction, as explanation cannot be reduced to implication.

Applications include fault diagnosis, plan formation and default reasoning.

Negation as failure in logic programming can both be given an abductive interpretation and also can be used to implement abduction. The abductive semantics of negation as failure leads naturally to an argumentation-theoretic interpretation of default reasoning in general.

Abend (computer)
Abnormal End: occurs when a computer reads instructions it cannot compute or recognise. It is generally the result of flawed software logic or hardware failure. When Abend occurs, if a program is running in a personal computer, the computer can lock up and will probably have to be re-started (re-boot) (Abend is also called "crash").

ABI (computer)
Application Binary Interface

This was a specification for writing applications for hardware and operating systems. ABI interpreted machine language of a CPU, and call-ups between applications and the operating system.

The interface by which an application program gains access to operating system and other services. It should be possible to run the same compiled binary applications on any system with the right ABI.

Examples are 88open's Binary Compatibility Standard, the PowerOpen Environment and Windows sockets.

ABLE (computer, language)
A simple language for accountants.

["ABLE, The Accounting Language, Programming and Reference Manual," Evansville Data Proc Center, Evansville, IN, Mar 1975].

Abort (computer, programming)
To terminate a program or process abnormally and usually suddenly, with or without diagnostic information.

"My program aborted", "I aborted the transmission". The noun form in computing is "abort", not "abortion", e.g. "We've had three aborts over the last two days".

If a Unix kernel aborts it is known as a panic.

Above The Line Production (Audio/Visual, production)
Budgetary division of production elements, mainly dealing with non-technical personnel.

ABP (computer, communications, networking, protocol)

1. (networking) Alternating bit protocol.

2. (computing) Microsoft Address Book Provider.

ABR (communications)
automatic baud rate detection

(ABR, autobaud) A process by which a receiving device determines the speed, code level, and stop bits of incoming data by examining the first character, usually a preselected sign-on character. ABR allows the receiving device to accept data from a variety of transmitting devices operating at different speeds without needing to establish data rates in advance.

Abrading (computer/microelectronics)
Abrading equipment fires a gas-propelled stream of finely graded abrasive particles through a precise nozzle against the micro-electronic work surfaces. When integrated with abrading equipment, the stream can cut intricate patterns in silicon semiconductors.

Abrasive Trimming (computer/microelectronics)
Trimming a film resistor to its nominal value by notching the resistor surface with a finely adjusted stream of abrasive material such as aluminium oxide.

ABSET (computer, programming)
An early declarative language from the University of Aberdeen.

["ABSET: A Programming Language Based on Sets", E.W. Elcock et al, Mach Intell 4, Edinburgh U Press, 1969, pp.467-492].

Abscissa (computer, mathematics)
The x coordinate on an (x, y) graph; the input of a function against which the output is plotted.

y is the "ordinate".

See Cartesian coordinates.

Absolute (computer)
In programming, a mathematical function that always returns a positive number.

Absolute Address (computer)
Explicit identification of a peripheral device and the location within the peripheral device of a logical location in memory. Computers must be given absolute addresses to reference internal memory and to reference all of the computer’s peripherals.

absolute path (computer, file system)
A path relative to the root directory. Its first character must be the pathname separator.

absolute pathname (computer, file system)
A pathname relative to the root directory.

Absolute Vector (computer)
In computer graphics, a vector with end points that are designated in absolute co-ordinates.

abstract interpretation (computer, theory)
A partial execution of a program which gains information about its semantics (e.g. control structure, flow of information) without performing all the calculations. Abstract interpretation is typically used by compilers to analyse programs in order to decide whether certain optimisations or transformations are applicable.

The objects manipulated by the program (typically values and functions) are represented by points in some domain. Each abstract domain point represents some set of real ("concrete") values.

For example, we may take the abstract points "+", "0" and "-" to represent positive, zero and negative numbers and then define an abstract version of the multiplication operator, *#, which operates on abstract values:

*# + 0 -
---------
+ + 0 -
0 0 0 0
- - 0 +

An interpretation is "safe" if the result of the abstract operation is a safe approximation to the abstraction of the concrete result. The meaning of "a safe approximation" depends on how we are using the results of the analysis.

If, in this example, we assume that smaller values are safer then the "safety condition" for our interpretation (#) is

a# *# b# <= (a * b)# where a# is the abstract version of a etc. In general an interpretation is characterised by the domains used to represent the basic types and the abstract values it assigns to constants (where the constants of a language include primitive functions such as *). The interpretation of constructed types (such as user defined functions, sum types and product types) and expressions can be derived systematically from these basic domains and values. A common use of abstract interpretation is strictness analysis. See also standard interpretation.

abstraction (computing, programming)
1. Generalisation; ignoring or hiding details to capture some kind of commonality between different instances. Examples are abstract data types (the representation details are hidden), abstract syntax (the details of the concrete syntax are ignored), abstract interpretation (details are ignored to analyse specific properties).

2. Parameterisation, making something a function of something else. Examples are lambda abstractions (making a term into a function of some variable), higher-order functions (parameters are functions), bracket abstraction (making a term into a function of a variable).

Opposite of concretisation.

abstract class (computer, programming)
In object-oriented programming, a class designed only as a parent from which sub-classes may be derived, but which is not itself suitable for instantiation. Often used to "abstract out" incomplete sets of features which may then be shared by a group of sibling sub-classes which add different variations of the missing pieces.

Abstract Data Type (computer) (See Also ADT)
Mathematical models used to capture essentials of a problem domain to translate it into a computer program. Also, user-defined data types in object oriented programming.

abstract machine (1 computer, language or 2 theory)
1. A processor design which is not intended to be implemented as hardware, but which is the notional executor of a particular intermediate language (abstract machine language) used in a compiler or interpreter. An abstract machine has an instruction set, a register set and a model of memory. It may provide instructions which are closer to the language being compiled than any physical computer or it may be used to make the language implementation easier to port to other platforms.

A virtual machine is an abstract machine for which an interpreter exists.

Examples: ABC, Abstract Machine Notation, ALF, CAML, F-code, FP/M, Hermes, LOWL, Christmas, SDL, S-K reduction machine, SECD, Tbl, Tcode, TL0, WAM.

2. A procedure for executing a set of instructions in some formal language, possibly also taking in input data and producing output. Such abstract machines are not intended to be constructed as hardware but are used in thought experiments about computability.

abstract syntax (computer, language, data)
A representation of data (typically either a message passing over a communications link or a program beingcompiled) which is independent of machine-oriented structures and encodings and also of the physical representation of the data (called "concrete syntax" in the case of compilation or "transfer syntax" in communications).

A compiler's internal representation of a program will typically be specified by an abstract syntax in terms of categories such as "statement", "expression" and "identifier". This is independent of the source syntax (concrete syntax) of the language being compiled (though it will often be very similar). A parse tree is similar to an abstract syntax tree but it will typically also contain features such as parentheses which are syntactically significant but which are implicit in the structure of the abstract syntax tree.

Abstract Window Toolkit (computer, graphics)
Java's platform-independent windowing, graphics, and user-interface toolkit. The AWT is part of the Java Foundation Classes (JFC) - the standard API for providing a graphical user interface (GUI) for a Java program.

Compare: SWING.

ABSYS (computer, language)
An early declarative language from the University of Aberdeen which anticipated a number of features of Prolog.

["ABSYS: An Incremental Compiler for Assertions", J.M. Foster et al, Mach Intell 4, Edinburgh U Press, 1969, pp. 423-429].

AC (computer, electrical)
Alternating Current - common form of electrical power from the power utility source to its destination (wall outlet). The direction of AC is reversed (alternated) 60 times per second (60 Hz) in North America. In Europe it is alternated 50 times per second (50 Hz).

AC2 (computer, audio)
An audio format, succeded by AC3.

AC3 (computer, audio)
An audio format by Sony[?], the successor of AC2. AC3 is used for multi-channel audio for digital video.

ACA (computer programming)
Application Control Architecture
(ACA) DEC's implementation of ORB.

ACAP (computer, protocol)
Application Configuration Access Protocol
(ACAP) A protocol which enhances IMAP by allowing the user to set up address books, user options, and other data for universal access.

Accelerando (Audio/Visual, music, Multi/Media)
Musical term indicating a gradual increase in the tempo of playing.

Accelerator (computer, hardware)
Additional hardware to perform some function faster than is possible in software running on the normal CPU. Examples include graphics accelerators and floating-point accelerators.

Accelerator Board (computer)
Add-on board for additional peripheral devices that can intercede for, and substitute for the existing CPU (central processing unit) with higher performance for that specific peripheral device.

Accelerator Key (computer)
Key combination providing access to a menu choice, macro, or other function of an application. The accelerator key can substitute for or replace a mouse function. It’s also called a shortcut key.
Accent (computer, language)
A very high level interpreted language from CaseWare, Inc. with strings and tables. It is strongly typed and has remote function calls.

Accent (Audio/Visual, music)
In music, the additional volume applied to a particular note for more emphasis.

Accept (communications, networking)
Berkeley Unix networking socket library routine to satisfy a connection request from a remote host. A specified socket on the local host (which must be capable of accepting the connection) is connected to the requesting socket on the remote host. The remote socket's socket address is returned.

Acceptance Testing (Audio/Visual, communications, computer, multi/media)
Testing performed by the buyer or end user of products to determine if the system or component is working according to the product manufacturer specifications.

Acceptable Use Policy (communications, networking)
(AUP) Rules applied by many transit networks which restrict the use to which the network may be put. A well known example is NSFNet which does not allow commercial use. Enforcement of AUPs varies with the network.

Acceptance, Test Or Launch Language (computer, language)
(ATOLL) The language used for automating the checking and launch of Saturn rockets.

Acceptance testing (computer, programming)
Formal testing conducted to determine whether a system satisfies its acceptance criteria and thus whether the customer should accept the system.

Access (computer)
Ability to store and retrieve data from a storage device.

Access (computer, 1 language, 2 application, database)

1. An English-like query language used in the Pick operating system.

2. Microsoft Access.

Access Arm (computer)
Device that scans the read/write head across the surface of a disk. It is controlled by instructions given to the operating system to move the head to a specific track on the disk. Rotation of the disk positions the head over the requested location on the disk.

Access Charge (communications, computer)
Fee or charge made by a service company (software, bulletin board, computer service, internet service provider, telephone company, value added re-seller) for the use of its services or network.

Access Code (communications, computer)
Identification number or password that is used to access a computer system or service. Access Codes can also be digits used as special prefixes in order to access specific internet access, client access, telephone, telecommunications, or data communications service access.

Access Control List (communications, networking)
(ACL) A list of the services available on a server, each with a list of the hosts permitted to use the service.

Access Method (communications, computer)
Software instruction that can be part of the operating system or network control program performing store/retrieval, or transmit/receive capabilities. The access method may detect and determine errors in transfer or network problems and also provide error correction.

Access method (communications, networking)

1. The way that network devices access the network medium.

2. Software in an SNA processor that controls the flow of data through a network.


Access Time (computer)
Time that it takes for a bit or byte to be transferred to and from the processor. Direct access devices require varying time to position a read/write head over a record. Access time is the sum of the head movement and rotational time to reach a particular record. Average access time is an important parameter for analytical planning in transaction-based, real time computer applications. Minimum access time is more important for sequential access of a disk drive. The dominant component of delay for sequential retrieval of records, from a disk drive, is the average time for half-rotation.

Access time (computer, hardware, storage)
The average time interval between a storage peripheral (usually a disk drive or semiconductor memory) receiving a request to read or write a certain location and returning the value read or completing the write.

Accidental (Audio/Visual, music, multi/media)
In musical notation, a symbol indicating a note should be played either a half tone above (sharp symbol, #), or a half tone below (flat symbol, reverse b) the standard pitch of the note. A natural symbol (similar to the sharp symbol) cancels either a previously assigned sharp, or flat accidental, for the balance of the measure.

Accounting File (computer, operating system)
A file which holds records of the resources used by individual jobs. These records are used to regulate, and calculate charges for, resources. An entry is opened in the accounting file as each job begins.

Accounting management (communications, networking)
The process of identifying individual and group access to various network resources to ensure proper access capabilities (bandwidth and security) or to properly charge the various individuals and departments. Accounting management is one of five categories of network management defined by ISO for management of OSI networks.

ACCU (computer, user group)
Association of C and C++ Users

Accumulator (computer, 1 processor hardware, 2 programming)

1. In a central processing unit, a register in which intermediate results are stored. Without an accumulator, it would be necessary to write the result of each calculation (addition, multiplication, shift, etc.) to main memory and read them back. Access to main memory is slower than access to the accumulator which usually has direct paths to and from the arithmetic and logic unit (ALU).

The canonical example is summing a list of numbers. The accumulator is set to zero initially, each number in turn is added to the value in the accumulator and only when all numbers have been added is the result written to main memory.

Modern CPUs usually have many registers, all or many of which can be used as accumulators. For this reason, the term "accumulator" is somewhat archaic. Use of it as a synonym for "register" is a fairly reliable indication that the user has been around for quite a while and/or that the architecture under discussion is quite old. The term in full is almost never used of microprocessor registers, for example, though symbolic names for arithmetic registers beginning in "A" derive from historical use of the term "accumulator" (and not, actually, from "arithmetic"). Confusingly, though, an "A" register name prefix may also stand for "address", as for example on the Motorola 680x0 family.

2. A register, memory location or variable being used for arithmetic or logic (as opposed to addressing or a loop index), especially one being used to accumulate a sum or count of many items. This use is in context of a particular routine or stretch of code. "The FOOBAZ routine uses A3 as an accumulator."

Accuracy (mathematics)
How close to the real value a measurement is.

Compare precision.

ACE (computer, communications)

1. See Adaptive Communication Environment.
2. See Advanced Computing Environment.

ACF (communications, networking)
Advanced Communications Function
A group of IBM SNA products that provide distributed processing and resource sharing such as VTAM and NCP.

ACF/NCP (communications, networking)
Advanced Communication Function/Network Control Program
(ACF/NCP, usually called just "NCP") The primary SNA network control program, one of the ACF products. ACF/NCP resides in the communications controller and interfaces with ACF/VTAM in the host processor to control network communications.

NCP can also communicate with multiple hosts using local channel or remote links (PU type 5 or PU type 4) thus enabling cross domain application communication. In a multiple mainframe SNA environment, any terminal or application can access any other application on any host using cross domain logon.

See also Emulator program.

ACIA (communications, hardware)
Asynchronous Communications Interface Adapter
(ACIA) A kind of integrated circuit that provides data formatting and control to EIA-232 serial interfaces.

ACID (computer, programming)
A mnemonic for the properties a transaction should have to satisfy the Object Management Group Transaction Service specifications. A transaction should be Atomic, its result should be Consistent, Isolated (independent of other transactions) and Durable (its effect should be permanent).

The Transaction Service specifications which are part of the Object Services, an adjunct to the CORBA specifications.

ACIS (computer, graphics engine)
Andy, Charles, Ian's System.

A geometric engine that most CAD packages now use. ACIS uses a sophisticated object-oriented approach for modelling, the data is stored in boundary representation. Acis is owned by Spatial Technologies.


ACK (communications)
Acknowledgement: a sequence that was sent from a receive node to a sending node to acknowledge that it was ready to receive information. It is usually used as the opposite acknowledgement in NAK (this older type of exchange has sometimes been called ACK-NAK).

ACK (computer, character, 2 communications)

1. /ak/ The mnemonic for the ACKnowledge character, ASCII code 6.

2. A message transmitted to indicate that some data has been received correctly. Typically, if the sender does not receive the ACK message after some predetermined time, or receives a NAK, the original data will be sent again.

ACL (communications, networking)
Access Control List
(ACL) A list of the services available on a server, each with a list of the hosts permitted to use the service.

ACL (computers, 2 Linguistics, 3 Co-routine Language)

1. Access Control List.

2. Association for Computational Linguistics.

3. A Coroutine Language.

A Pascal-based implementation of coroutines.

["Coroutines", C.D. Marlin, LNCS 95, Springer 1980].

ACM (computer)
Association for Computing Machinery - membership organisation that began in 1947 that now has a membership of 75,000 computer professionals. ACM is one of the largest scientific, educational, and technical groups in the computing community. It is dedicated to the development of information processing as a discipline, and to the responsible use of computers in an increasing diversity of applications. ACM was founded at Columbia University on September, 15, 1947, as the Eastern Association for Computing Machinery. ACM was incorporated in Delaware in December, 1954.

ACM (computer association, 2 communications)

1. See The Association for Computing.

2. See addressed call mode.


ACME (computer jargon, 2 program)

1. A Company that Makes Everything. The canonical imaginary business. Possibly also derived from the word "acme" meaning "highest point".

2. A program for MS-DOS.

ACOM (computer, language)
An early system on the IBM 705.

[Listed in CACM 2(5):16 (May 1959)].

ACORN Archimedes (computer)

A family of microcomputers produced by Acorn Computers, Cambridge, UK. The Archimedes, launched in June 1987, was the first RISC based personal computer (predating Apple Computer's Power Mac by some seven years). It uses the Advanced RISC Machine (ARM) processor and includes Acorn's multitasking operating system and graphical user interface, RISC OS on ROM, along with an interpreter for Acorn's enhanced BASIC, BASIC V.

The Archimedes was designed as the successor to Acorn's sucessful BBC Microcomputer series and includes some backward compatibility and a 6502 emulator. Several utilities were included free on disk (later in ROM) such as a text editor, paint and draw programs. Software emulators were also available for the IBM PC as well as add-on Intel processor cards.

There have been several series of Archimedes: A300, A400, A3000, A5000, A4000 and RISC PC.

Acorn Computer Group (computer, company)
A holding company for Acorn Computers Limited, Acorn Australia, Acorn New Zealand, Acorn GmbH and Online Media. Acorn Computer Group owns 43% of Advanced RISC Machines Ltd.

Acorn Computers Ltd.
A UK computer manufacturer, part of the Acorn Computer Group plc. Acorn was founded on 1978-12-05, on a kitchen table in a back room. Their first creation was an electronic slot machine. After the Acorn System 1, 2 and 3, Acorn launched the first commercial microcomputer - the ATOM in March 1980.

In April 1981, Acorn won a contract from the BBC to provide the PROTON.

In January 1982 Acorn launched the BBC Microcomputer System. At one time, 70% of microcomputers bought for UK schools were BBC Micros.

The Acorn Computer Group went public on the Unlisted Securities Market in September 1983. In April 1984 Acorn won the Queen's Award for Technology for the BBC Micro and in September 1985 Olivetti took a controlling interest in Acorn. The Master 128 Series computers were launched in January 1986 and the BBC Domesday System in November 1986.

In 1983 Acorn began to design the Acorn RISC Machine (ARM), the first low-cost, high volume RISC processor chip (later renamed the Advanced RISC Machine). In June 1987 they launched the Archimedes range - the first 32-bit RISC based microcomputers - which sold for under UKP 1000. In February 1989 the R140 was launched. This was the first Unix workstation under UKP 4000. In May 1989 the A3000 (the new BBC Microcomputer) was launched.

In 1990 Acorn formed Advanced RISC Machines Ltd. (ARM) in partnership with Apple Computer, Inc. and VLSI to develop the ARM processor. Acorn has continued to develop RISC based products.

With 1992 revenues of 48.2 million pounds, Acorn Computers was the premier supplier of Information Technology products to UK education and had been the leading provider of 32-bit RISC based personal computers since 1987.

Acorn finally folded in the late 1990s. Their operating system, RISC OS was further developed by a consortium of suppliers.

ACOS (computer, language)
A BBS language for PRODOS 8 on Apple II. Macos is a hacked version of ACOS.

Acoustic coupler (communications, hardware)
A device used to connect a modem to a telephone line via an ordinary handset. The acoustic coupler converts electrical signals from the modem to sound via a loudspeaker, against which the mouthpiece of a telephone handset is placed. The earpiece is placed against a microphone which converts sound to electrical signals which return to the modem. The handset is inserted into a sound-proof box containing the louspeaker and microphone to avoid interference from ambient noise.

Acousitic couplers are now rarely used since most modems have a direct electrical connection to the telephone line. This avoids the signal degradation caused by conversion to and from audio. Direct connection is not always possible, and was actually illegal in the United Kingdom before British Telecom was privatised. BT's predecessor, the General Post Office, did not allow subscribers to connect their own equipment to the telephone line.

Acoustic Coupler (communications)
Communications device that could connect a computer to the analog telephone handset that contained a sound-insulating cradle of foam padding that the handset could be secured in. The acoustic coupler generally also included a modem (modulator/demodulator). The advantage of an acoustical coupler was that almost any telephone handset could be used, and the modem was truly portable. The disadvantage was that the acoustic coupling could be noisy and could limit the speed of operation of the device. The limiting component was usually the microphone in the telephone handset. If this was replaced with a better one, higher speeds could be attained.

Acousto-optic: AO (computer/optical)
Optical Device that utilises interactions between acoustic waves and light waves. Acousto-optic systems involve interactions with acoustic waves, distinguished by the following: (1) acoustic waves may undergo any physical process that is characteristic of waves (interference). The acoustic waves may carry information and may perform some data processing operation; (2) time tends to be the free variable, rather than space, therefore, acousto-optic systems are useful for systolic architectures and for the analysis of time signals - they are usually one-dimensional rather than two-dimensional.

ACP (communications, processes)
See Algebra of Communicating Processes

ACPI (computer, interface)
See Advanced Configuration and Power Interface

Acrobat (computer, software product)
A product from Adobe Systems, Inc., for manipulating documents stored in Portable Document Format. Acrobat provides a platform-independent means of creating, viewing, and printing documents.

Acropolis: the magazine of Acrobat publishing.

Acronym (computer, jargon)
An identifier formed from some of the letters (often the initials) of a phrase and used as an abbreviation. This dictionary contains a great many acronyms; see the contents page for a list.

ACS (communications)
Asynchronous Communications Server - a server that could manage a group of modems (modem pool). The ACS could route outgoing communications to the next available modem and could route incoming communications to an identifiable computer or terminal.

ACSE (communications, networking)
See Association Control Service Element

ACT (computer, software)

1. See Annual Change Traffic.

2. See Ada Core Technologies.

ACT++ (computer, language)
A concurrent extension of C++ based on actors.

["ACT++: Building a Concurrent C++ With Actors", D.G. Kafura TR89-18, VPI, 1989].

Act1 (computer, language)
An actor language descended from Plasma.

["Concurrent Object Oriented Programming in Act1", H. Lieberman in Object Oriented Concurrent Programming, A. Yonezawa et al eds, MIT Press 1987].

Act2 (computer, language)

["Issues in the Design of Act2", D. Theriault, TR728, MIT AI Lab, June 1983].

Act3 (computer, language)

A high-level actor language by Carl Hewitt. A descendant of Act2 which provides support for automatic generation of customers and for delegation and inheritance.

["Linguistic Support of Receptionists for Shared Resources", C. Hewitt et al in Seminar on Concurrency, S.D. Brookes et al eds, LNCS 197, Springer 1985, pp. 330-359].

ACT ONE (computer, specification language)
A specification language.

["An Algebraic Specification Language with Two Levels of Semantics", H. Ehrig et al, Tech U Berlin 83-1983-02-03].

Actalk (computer, language)
A Smalltalk-based actor language developed by J-P Briot in 1989.

["Actalk: A Testbed for Classifying and Designing Actor Languages in the Smalltalk-80 Environment", J-P. Briot, Proc ECOOP '89, pp. 109-129].

Actis (computer, programming)
An approach to integrated CASE by Apollo.

Activate (computer/Windows)
To make a window the foreground, or active window.

Activating (computer/microelectronics)
This is a treatment which renders non-conductive material receptive to electron deposition.

Activation record (computer, compiler)
(Or "data frame", "stack frame") A data structure containing the variables belonging to one particular scope (e.g. a procedure body), as well as links to other activation records.

Activation records are usually created (on the stack) on entry to a block and destroyed on exit. If a procedure or function may be returned as a result, stored in a variable and used in an outer scope then its activation record must be stored in a heap so that its variables still exist when it is used. Variables in the current scope are accessed via the frame pointer which points to the current activation record. Variables in an outer scope are accessed by following chains of links between activation records. There are two kinds of link - the static link and the dynamic link.

Active (computer, multi/media, Windows)
Current running application or window that is capable of receiving user input. The Title bar of the active window has a coloured background: if the Icon is active, the Control Menu appears.

Active Cell (computer)
Cell currently available for use in a spreadsheet (also called the current cell)

Active DBMS (computer, application, database)
A conventional or passive DBMS combined with a means of event detection and condition monitoring. Event handling is often rule-based, as with an expert system.

Active Directory (computer, operating system)
A directory service from Microsoft Corporation, similar in concept to Novell Netware Directory Services, that also integrates with the user organisation's DNS structure and is interoperable with LDAP. Active Directory is included in Windows 2000.

Active Elements (computer/microelectronics)
Those components in a circuit which have gain or which direct current flow: examples would include diodes and transistors.

Active Language I (computer, mathematics)
An early interactive mathematics system for the XDS 930 at the University of California at Berkeley.

["Active Language I", R. de Vogelaere in Interactive Systems for Experimental Applied Mathematics, A-P 1968].

Active Matrix (computer/screen)
Term used to describe a Liquid Crystal Display (LCD) screen that uses transistors to detect each red, green and blue dot in each pixel. Active Matrix LCDs provide for brighter and sharper images than Passive Matrix display screens but are more expensive.

Active matrix display (computer, hardware)
A type of liquid crystal display where each display element (each pixel) includes an active component such as a transistor to maintain its state between scans.

Contrast passive matrix display.

Active Monitor (computer, communications, networking)
A process in an IBM token ring network which ensures a token is present on the ring, removes circulating frames with unknown or invalid destinations, and performs introductions between machines on the ring.

Active object (computer, programming)
An object each instance of which has its own thread running as well as its own copies of the object's instance variables.

Active Reconfiguring Message (computer, hardware)
(ARM) An efficient mechanism which allows reconfiguration of the hardware logic of a system according to the particular data received or transmitted.

In ARM each message contains extra information in a Reconfiguring Header in addition to the data to be transferred. Upon arrival of the message the Reconfiguring Header is extracted, decoded and used to perform on-the-fly hardware reconfiguration. As soon as the hardware has been reconfigured the data information of the message can be processed.

Active Sensing (Audio/Visual, computer, multi/media)
MIDI message commanding a MIDI instrument or device to monitor its channel(s) to determine whether messages occur on the channel(s) with a predetermined, maximum period (called a "time window"). If no messages are received within the time window, the device creates its own All Notes Off MIDI message to assure no notes remain.

Active Server Pages (networking, WWW programming)
(ASP) A scripting environment for Microsoft Internet Information Server in which you can combine HTML, scripts and reusable ActiveX server components to create dynamic web pages.

IIS 4.0 includes scripting engines for Microsoft Visual Basic Scripting Edition (VBScript) and Microsoft JScript. ActiveX scripting engines for Perl and REXX are available through third-party developers.

Active Star Network (communications)
Network Topology (layout) that can provide universal connections and regeneration of signals within a Network Control Centre (central hub). The Active Star can provide for simulation of any and all other Telephone, Coaxial, Fibre Optic cabling, Local Area Network schemes. An Active Star Network generally includes the active switching electronic elements (including intelligent hubs) as opposed to a Passive Star Network that only includes the cabling, harnessing, framing, and connectorization , and not any of the switching systems, and electronics.

Active Substrate (computer/microelectronics)
Substrate for integrated components where parts display transistance. Examples include single crystals of semiconductor materials within which transistors and diodes are formed.

Active Token Monitor (communications/LANs)
Workstation with responsibility for network management in an IBM Token Ring Network.

Active Video Lines (Audio/Visual)
All video lines not occurring in the vertical blanking interval (see vertical blanking interval).

ActiveX (computer, programming)
A type of COM component that can self-register, also known as an "ActiveX control". All COM objects implement the "IUnknown" interface but an ActiveX control usually also implements some of the standard interfaces for embedding, user interface, methods, properties, events, and persistence.

ActiveX controls were originally called "OLE Controls", and were required to provide all of these interfaces but that requirement was dropped, and the name changed, to make ActiveX controls lean enough to be downloaded as part of a web page.

Because ActiveX components can support the OLE embedding interfaces, they can be included in web pages. Because they are COM objects, they can be used from languages such as Visual Basic, Visual C++, Java, VBScript.

ActiveX Data Objects (computer, programming, database)
(ADO) Microsoft's library for accessing data sources through OLE DB. Typically it is used to query or modify data stored in a relational database.

Actor (Audio/Visual, production)
Person who appears on camera. The actor always plays someone else.

Actor (computer, programming)
An object-oriented language for Microsoft Windows written by Charles Duff of the Whitewater Group ca. 1986. It has Pascal/C-like syntax. Uses a token-threaded interpreter. Early binding is an option.

Actra (computer, language)
A multi-processor exemplar-based Smalltalk.

[LaLonde et al, OOPSLA '86].

Actual argument (computer, programming)
A value, expression, or reference passed to a function or subroutine when it is called and which replaces or is bound to the corresponding formal argument.

See: argument.

Actus (computer, language)
Pascal with parallel extensions, similar to the earlier Glypnir. It has parallel constants and index sets. Descendants include Parallel Pascal, Vector C and CMU's language PIE.

["A Language for Array and Vector Processors," R.H. Perrott, ACM TOPLAS 1(2):177-195 (Oct 1979)].

"A" Drive (computer)
Designation for the disk drive that used to be recognised first when turning a personal computer on using the computer’s Operating System. The "B" drive was normally the second drive recognised, and "C" was normally the third ("C" is usually the Hard Drive). “B” Drive is not used much anymore. “D” Drive is now commonly the first CD Drive, and “E” Drive might be a DVD Drive. In some systems BIOS configuration, you can alter the designation series: for example C first, then A, then B, etc.

AD (communications, networking)
Administrative Domain
(AD) A collection of hosts and routers, and the interconnecting network(s), managed by a single administrative authority.

ADA or Ada (computer/historic/calculator)
Programming language developed as a standard for the U.S. Department of Defence that was Pascal language based and was named after Augusta Ada Byron, Countess of Lovelace and daughter of Lord Byron (1815-1852). She was a mathematician and colleague of Charles Babbage who was developing a stored program calculator ("The Analytical Engine"). Because of her work with Babbage and some of her notes that have survived, the Ada high level programming language was named after her.

Ada (computer, language)
(named after Ada Lovelace) A Pascal-descended language, designed by Jean Ichbiah's team at CII Honeywell in 1979, made mandatory for Department of Defense software projects by the Pentagon. The original language was standardised as "Ada 83", the latest is "Ada 95".

Ada is a large, complex, block-structured language aimed primarily at embedded applications. It has facilities for real-time response, concurrency, hardware access and reliable run-time error handling. In support of large-scale software engineering, it emphasises strong typing, data abstraction and encapsulation. The type system uses name equivalence and includes both subtypes and derived types. Both fixed and floating-point numerical types are supported.

Control flow is fully bracketed: if-then-elsif-end if, case-is-when-end case, loop-exit-end loop, goto. Subprogram parameters are in, out, or inout. Variables imported from other packages may be hidden or directly visible. Operators may be overloaded and so may enumeration literals. There are user-defined exceptions and exception handlers.

An Ada program consists of a set of packages encapsulating data objects and their related operations. A package has a separately compilable body and interface. Ada permits generic packages and subroutines, possibly parametrised.

Ada support single inheritance, using "tagged types" which are types that can be extended via inheritance.

Ada programming places a heavy emphasis on multitasking. Tasks are synchronised by the rendezvous, in which a task waits for one of its subroutines to be executed by another. The conditional entry makes it possible for a task to test whether an entry is ready. The selective wait waits for either of two entries or waits for a limited time.

Ada is often criticised, especially for its size and complexity, and this is attributed to its having been designed by committee. In fact, both Ada 83 and Ada 95 were designed by small design teams to be internally consistent and tightly integrated. By contrast, two possible competitors, Fortran 90 and C++ have both become products designed by large and disparate volunteer committees.

["Reference Manual for the Ada Programming Language", ANSI/MIL STD 1815A, US DoD (Jan 1983)]. Earlier draft versions appeared in July 1980 and July 1982. ISO 1987.

Ada 83 (computer, language)
The original Ada, as opposed to Ada 95.

Ada 95 (computer, language)
A revision and extension of Ada (Ada 83) begun in 1988 and completed on 1994-12-01 by a team lead by Tucker Taft of Intermetrics. Chris Anderson was the Project Manager. The printed standard was expected to be available around 1995-02-15.

Additions include object-orientation (tagged types, abstract types and class-wide types), hierarchical libraries and synchronisation with shared data (protected types) similar to Orca. It lacks multiple inheritance but supports the construction of multiple inheritance type hierarchies through the use of generics and type composition.

GNAT aims to be a free implementation of Ada 95.

You can get the standard from the Ada Joint Program Office.

["Introducing Ada 9X", J.G.P. Barnes, Feb 1993].

Ada 9X (computer, language)
The working title for Ada 95 before its adoption as an ISO standard.

Ada Core Technologies
(ACT) The company that maintains GNAT.

Ada Core Technologies was founded in 1994 by the original authors of the GNAT compiler. ACT provides software for Ada 95 development.

Ada Lovelace
(1811-1852) The daughter of Lord Byron, who became the world's first programmer while cooperating with Charles Babbage on the design of his mechanical computing engines in the mid-1800s. The language Ada was named after her.

["Ada, Enchantress of Numbers Prophit of the Computer Age", Betty Alexandra Toole].

Ada Programming Support Environment (computer, program)
(APSE) A program or set of programs to support software development in the Ada language.

Ada Semantic Interface Specification (computer, language)
(ASIS) An intermediate representation for Ada.
See also Diana.

Ada++ (computer, language)
An object-oriented extension to Ada, implemented as an Ada preprocessor. Obsoleted by Ada 95 which includes object-oriented features.

Ada-O (computer, language)
An Ada subset developed at the University of Karlsruhe in 1979, used for compiler bootstrapping. It lacks overloading, derived types, real numbers, tasks and generics.

["Revised Ada-O Reference Manual", G. Persch et al, U Karlsruhe, Inst fur Infor II, Bericht Nr 9/81].

Ada/Ed (computer, language)
An interpreter, editor, and run-time environment for Ada, intended as a teaching tool. Ada/Ed does not have the capacity, performance, or robustness of commercial Ada compilers. Ada/Ed was developed at New York University as part of a project in language definition and software prototyping.

AdaEd runs on Unix, MS-DOS, Atari ST, and Amiga.

It handles nearly all of Ada 83 and was last validated with version 1.7 of the ACVC tests. Being an interpreter, it does not implement most representation clauses and thus does not support systems programming close to the machine level.

Latest version: 1.11.0a+, as of 1994-08-18. A later version is known as GW-Ada.

ADABAS (computer, application, database)
A relational database system by Software AG. While it was initially designed for large IBM mainframe systems (e.g. S/370 in the late 1970s), it has been ported to numerous other platforms over the last few years such as several flavors of Unix including AIX.

ADABAS stores its data in tables (and is thus "relational") but also uses some non-relational techniques, such as multiple values and periodic groups.

Adaline (computer architecture)
Name given by Widrow to adaptive linear neurons, that is neurons (see McCulloch-Pitts) which learn using the Widrow-Huff Delta Rule. See also Madaline.

Adam7 (computer, graphics, algorithm)
One of the progressive coding methods used in PNG images. Adam7, named after its author, Adam M. Costello, consists of seven distinct passes over the image. Each pass transmits a subset of the pixels in the image. The pass in which each pixel is transmitted is defined by replicating the following 8-by-8 pattern over the entire image, starting at the top left:

1 6 4 6 2 6 4 6
7 7 7 7 7 7 7 7
5 6 5 6 5 6 5 6
7 7 7 7 7 7 7 7
3 6 4 6 3 6 4 6
7 7 7 7 7 7 7 7
5 6 5 6 5 6 5 6
7 7 7 7 7 7 7 7

Adamakegen (computer, program)
A program that generates makefiles for Ada programs. Adamakegen was written by Owen O'Malley . It requires Icon and runs under Verdix and SunAda.

ADAMO (computer, application, database)
A data management system written at CERN
based on the Entity-Relationship model.

Adaplan (computer, language)
A functional database language based upon Backus' FP language.
[Erwig&Lipeck, Proc. DBPL-3, 1991].

Adaplex (computer, application, database)
An extension of Ada for functional databases.
["Adaplex: Rationale and Reference Manual 2nd ed", J.M. Smith et al, Computer Corp America, Cambridge MA, 1983].

ADAPSO (computer)
Membership organisation made up mostly of timesharing service organisations that was formed in 1960, and was involved in studying and improving information management methodologies and specifying computer service performance and standards.

ADAPT (computer, language)
A subset of APT.
[Sammet 1969, p. 606].

Adaptable User Interface (computer, application)
(AUI, Oracle Toolkit) A toolkit from Oracle allowing applications to be written which will be portable between different windowing systems. AUI provides one call level interface along with a resource manager and editor across a range of "standard" GUIs, including Macintosh, Microsoft Windows and the X Window System.

Adaptec (computer)
A company specialising in the aera of movement of data between computers. Adaptec designs hardware and software products to transfer data from a computer to a peripheral device or network.

Founded in 1981, the company achieved profitability in 1984, went public in 1986, and to date has achieved 54 consecutive profitable quarters.

Revenues for fiscal 1997 were $934 million, a 42% increase over the prior year. Net income, excluding acquisition charges, for fiscal year 1997 was $198 million or $1.72 per share.

Adapter (Audio/Visual, communications, computer, multi/media)
Device that provides for connecting one system or component to another.

Adapter Card (communications, computer)
Printed wiring board with digital circuitry that plugs into connectors on the motherboard of a personal computer usually performing input/output functions.

Adaptive answering (communications)
A feature which allows a faxmodem to answer the telephone and decide whether the incoming call is a fax or data call. Most Class 1 faxmodems do this. The U.S. Robotics Class 1 implementation however seems not to do it, it must be set to answer as either one or the other.

Adaptive Communication Environment (communications)
(ACE) A C++ wrapper library for communications from the University of California at Irvine.

Adaptive Compression (communications, computer)
Compression technique that can dynamically adapt algorithms based on the content of the information that is being compressed.

Adaptive Digital Pulse Code Modulation (communications)
(ADPCM) A compression technique which records only the difference between samples and adjusts the coding scale dynamically to accomodate large and small differences. ADPCM is simple to implement, but introduces much noise.

Adaptive learning (computer, algorithm)
(Or "Hebbian learning") Learning where a system programs itself by adjusting weights or strengths until it produces the desired output.

Adaptive Server Enterprise (computer, applications, database)
(ASE) The relational database management system that started life in the mid-eighties [first release?] as "Sybase SQL Server". For a number of years Microsoft was a Sybase distributor, reselling the Sybase product for OS/2 and (later) Windows NT under the name "Microsoft SQL Server".

Around 1994, Microsoft basically bought a copy of the source code of Sybase SQL Server and then went its own way. As competitors, Sybase and Microsoft have been developing their products independently ever since. Microsoft has mostly emphasised ease-of-use and "Window-ising" the product, while Sybase has focused on maximising performance and reliability, and running on high-end hardware.

When releasing version 11.5 in 1997, Sybase renamed its product to "ASE" to better distinguish its database from Microsoft's. Both ASE and MS SQL Server call their query language "Transact-SQL" and they are very similar.

Sybase SQL Server was the first true client-server RDBMS which was also capable of handling real-world workloads. In contrast, other DBMSs have long been monolithic programs; for example, Oracle only "bolted on" client-server functionality in the mid-nineties. Also, Sybase SQL Server was the first commercially successful RDBMS supporting stored procedures and triggers, and a cost-based query optimizer.

As with many other technology-driven competitors of Microsoft, Sybase has lost market share to MS's superior marketing, though many consider it has the superior system.

Adaptive Simulated Annealing (computer, language)
(ASA) An algorithm for global optimisation of generic functions by Lester Ingber

Adaptive TRansform Acoustic Coding (computer, algorithm)
(ATRAC) An audio compression algorithm, introduced by Sony for its Mini Disk, which relies on the masking of low-amplitude frequency components by temporaly adjacent high-amplitude components. ATRAC consists of a three-band subband encoder (0...5.5, 5.5...11, 11...22 kHz) and a MDCT based transformation encoder.

Adaptive Equalization (communications)
Communications transmission method that can dynamically adapt to the modulation scheme being used, based on the quality of the physical transmission medium (line).

Adaptor (computer, program)
(Automatic DAta Parallelism TranslatOR) A source to source transformation tool that transforms data parallel programs written in Fortran 77 with array extensions, parallel loops, and layout directives to parallel programs with explicit message passing. ADAPTOR generates Fortran 77 host and node programs with message passing. The new generated source codes have to be compiled by the compiler of the parallel computer.

Version 1.0 runs on CM-5, iPCS/860, Meiko CS1/CS2, KSR 1, SGI, Alliant or a network of Suns or RS/6000s.

ADB (communications, computer)
Apple Desktop Bus – this was a communications access method or connector (port) for peripheral devices such as graphics tablets, stylus pens, a mouse, keyboard and other input devices that were supported by the Macintosh systems. There were generally two ADB connections included with each Mac II type system and Apple's portable system offerings.

ADC (communications, computer)
Analog-to-Digital Converter. The electronic device converting conventional analog audio and video signals to digital form. The digital form can be processed by the computer and stored as data on a computer's hard disk. It converts continuously variable analog signals that monitor air, movement, sound, temperature, etc., into digital form for analysis. ADCs are used in modems and codecs.

ADCCP (communications)
Advanced Data Communications Control Procedure - an ANSI (American National Standards Institute) communications protocol similar to the ISO/OSI (International Standards Organisation, Open System Interconnection) HDLC (High level Data Link Control), and IBM's SDLC (Synchronous Data Link Control).

AD/Cycle (computer, program)
Application Development cycle.

A set of SAA-compatible IBM-sponsored products for program development, running on workstations accessing a central repository on a mainframe. The stages cover requirements, analysis and design, production of the application, building and testing and maintenance. Technologies used include code generators and knowledge based systems as well as languages and debuggers.

ADDD (computer, development)
A Depository of Development Documents.

A public domain Software Engineering Environment from GMD developed as part of the STONE project.

Adder (computer)
Basic electronic circuit that can add two binary digits (0s and 1s) together. An adder is a logic circuit that forms the sum of two or more numbers represented in digital form. The simplest adder is the binary one-position adder, sometime called a full adder. A ripple carry adder is formed by connecting full adders in cascade. Carry-save adders are frequently employed to implement fast multiplication by means of multiple-operand summation. This technique of pipe-lining may be employed to further improve the effective speed of a Carry-save adder (CSA) implementation. Example: combine binary bits to generate SUM and CARRY of these bits; take the bits from the two binary numbers to be added (ADDEND and AUGEND) plus the CARRY from the preceding less significant bit and generate SUM and CARRY.

Additive (mathematics)
A function f : X -> Y is additive if

for all Z <= X f (lub Z) = lub { f z : z in Z } (f "preserves lubs"). All additive functions defined over cpos are continuous. ("<=" is written in LaTeX as \subseteq, "lub" as \sqcup ).

Additive Primary Colours (audio/visual, production)

Red, Green, Blue. Ordinary white light (sunlight) can be separated into the 3 primary light colours. When these three colours in the light spectrum are combined in various proportion, all other colours can be reproduced.

ADELE (computer, language)

A language for specification of attribute grammars, used by the MUG2 compiler compiler. ["An Overview of the Attribute Definition Language ADELE", H. Ganziger in GI3, Fachesprach "Compiler-Compiler", W. Henhapl ed, Munchen Mar 1982, pp.22-53].

ADES (computer, language)

An early system on the IBM 704. Version: ADES II. [Listed in CACM 2(5):16 (May 1959)]. Address (computer, networking) 1. e-mail address.
2. Internet address.
3. MAC address.
4. An unsigned integer used to select one fundamental element of storage, usually known as a word from a computer's main memory or other storage device. The CPU outputs addresses on its address bus which may be connected to an address decoder, cache controller, memory management unit, and other devices.

While from a hardware point of view an address is indeed an integer most strongly typed programming languages disallow mixing integers and addresses, and indeed addresses of different data types. This is a fine example for syntactic salt: the compiler could work without it but makes writing bad programs more difficult.

Address (Audio/Visual, computer, multi/media)
A binary address or number for a specific memory of storage location. Each element of memory and each location on a storage device has a unique address location. Once a program has been translated into machine language, every element of the program has a reference and actual address in a personal computer. In Audio/Visual terminology, an address is also called a "birthmark": a specific location in a television recording, as specified by time code.

Address Bus (computer)
All microprocessors have internal paths or channels from the processor to the memory unit which transmits the addresses of all data being sent across the channel. The number of paths, or copper substrate, or wires on the address bus, defines the amount of memory that can be directly addressed, as each path, or wire or line, carries one bit of the address. The early Intel 8086 microprocessors accommodated for 20 address lines, that can address up to 1 million bytes (1,048,576). All of the Microprocessors with 32 address paths, or lines, or channels, can address over 4 billion bytes. Newer Microprocessors with 64 address paths can address over 256 billion bytes. The next generation has 128 address paths, the next 256, the next 512, the next 1024.

Address bus (computer, processor)
The connections between the CPU and memory which carry the address from/to which the CPU wishes to read or write. The number of bits of address bus determines the maximum size of memory which the processor can access.
See also data bus.

Addressing (computer)
Computer instructions must indicate the operation to be performed and also the location of one or more operands, also where the result of the computation is to be deposited, and, in most cases, where the next instruction is to be found. All parts of the instruction are explicitly or implicitly given. Corresponding to each hardware aspect of addressing there must be techniques for specifying addresses in a program (i.e. Absolute Addressing, Relative Addressing, Symbolic Addressing, Indirect Addressing, Index Addressing).

Address mask (communications, networking)
(Or "subnet mask") A bit mask used to identify which bits in an IP address correspond to the network address and subnet portions of the address. This mask is often referred to as the subnet mask because the network portion of the address can be determined by the class inherent in an IP address. The address mask has ones in positions corresponding to the network and subnet numbers and zeros in the host number positions.

Address Mode (computer)
Technique for referencing instruction memory. Indexed address mode is modified by the contents of an index register before the instruction is executed. Indirect address mode points the instruction to another address. All instructions have absolute addresses, where the required information is located.

Address resolution (communications, networking)
Conversion of an Internet address into the corresponding physical address (Ethernet address). This is usually done using Address Resolution Protocol.

The resolver is a library routine and a set of processes which converts hostnames into Internet addresses, though this process in not usually referred to as resolution. See DNS.

Address Resolution Protocol (communications, protocol)
(ARP) A method for finding a host's Ethernet address from its Internet address. The sender broadcasts an ARP packet containing the Internet address of another host and waits for it (or some other host) to send back its Ethernet address. Each host maintains a cache of address translations to reduce delay and loading. ARP allows the Internet address to be independent of the Ethernet address but it only works if all hosts support it.

ARP is defined in RFC 826.
The alternative for hosts that do not do ARP is constant mapping.
See also proxy ARP, reverse ARP.

Address space (computer, operating system)
The range of addresses which a processor or process can access, or at which a device can be accessed. The term may refer to either physical address or virtual address.

The size of a processor's address space depends on the width of the processor's address bus and address registers.

Each device, such as a memory integrated circuit, will have its own local address space which starts at zero. This will be mapped to a range of addresses which starts at some base address in the processor's address space.

Similarly, each process will have its own address space, which may be all or a part of the processor's address space. In a multitasking system this may depend on where in memory the process happens to have been loaded. For a process to be able to run at any address it must consist of position-independent code. Alternatively, each process may see the same local address space, with the memory management unit mapping this to the process's own part of the processor's address space.

Address Strobe (computer, storage)
(AS) One of the input signals of a memory device, especially semiconductor memory, which is asserted to tell the memory device that the address inputs are valid. Upon receiving this signal the selected memory device starts the memory access (read/write) indicated by its other inputs.

It may be driven directly by the processor or by a memory controller.

Addressed call mode (communications)
(ACM) A mode that permits control signals and commands to establish and terminate calls in V.25bis.

Address Register (computer)
Circuits that hold the address of data or the next instruction that is to be acted upon (i.e. Index Registers, General Registers, Relocation Registers, etc.).

Address Space (computer)
Total memory that can be exploited by a program. Address Space can be restricted to a certain physical memory limit or to a virtual memory limit that can include internal chip memory and magnetic disk memory. The Intel 80386 class of microprocessors addressed over 4 billion bytes of main memory and 64 trillion bytes of virtual memory. Newer microprocessors can address over 4 trillion bytes of main memory and over 64 quadrillion bytes of virtual memory.

Address Translation (computer)
Translation of one address into another address. Assemblers and compilers translate symbolic addresses into binary addresses. Virtual memory requires the memory system to translate a virtual address into an absolute (real) address.

Addressee (communications)
One to whom something is addressed. E.g. "The To, CC, and BCC headers list the addressees of the e-mail message". Normally an addressee will eventually be a recipient, unless there is a failure at some point (an e-mail "bounces") or the message is redirected to a different addressee.
Addressing mode (computer, programming)

1. One of a set of methods for specifying the operand(s) for a machine code instruction. Different processors vary greatly in the number of addressing modes they provide. The more complex modes described below can usually be replaced with a short sequence of instructions using only simpler modes.

The most common modes are "register" - the operand is stored in a specified register; "absolute" - the operand is stored at a specified memory address; and "immediate" - the operand is contained within the instruction.

Most processors also have indirect addressing modes, e.g. "register indirect", "memory indirect" where the specified register or memory location does not contain the operand but contains its address, known as the "effective address". For an absolute addressing mode, the effective address is contained within the instruction.

Indirect addressing modes often have options for pre- or post- increment or decrement, meaning that the register or memory location containing the effective address is incremented or decremented by some amount (either fixed or also specified in the instruction), either before or after the instruction is executed. These are very useful for stacks and for accessing blocks of data. Other variations form the effective address by adding together one or more registers and one or more constants which may themselves be direct or indirect. Such complex addressing modes are designed to support access to multidimensional arrays and arrays of data structures.

The addressing mode may be "implicit" - the location of the operand is obvious from the particular instruction. This would be the case for an instruction that modified a particular control register in the CPU or, in a stack based processor where operands are always on the top of the stack.

2. In IBM System 370/XA the addressing mode bit controls the size of the effective address generated. When this bit is zero, the CPU is in the 24-bit addressing mode, and 24 bit instruction and operand effective addresses are generated. When this bit is one, the CPU is in the 31-bit addressing mode, and 31-bit instruction and operand effective addresses are generated.

["IBM System/370 Extended Architecture Principles of Operation", Chapter 5., 'Address Generation', BiModal Addressing].

Aditi (computer, application, database)
The Aditi Deductive Database System. A multi-user deductive database system from the Machine Intelligence Project at the University of Melbourne. It supports base relations defined by facts (relations in the sense of relational databases) and derived relations defined by rules that specify how to compute new information from old information.

Both base relations and the rules defining derived relations are stored on disk and are accessed as required during query evaluation. The rules defining derived relations are expressed in a Prolog-like language, which is also used for expressing queries.

Aditi supports the full structured data capability of Prolog. Base relations can store arbitrarily nested terms, for example arbitrary length lists, and rules can directly manipulate such terms. Base relations can be indexed with B-trees or multi-level signature files.

Users can access the system through a Motif-based query and database administration tool, or through a command line interface. There is also in interface that allows NU-Prolog programs to access Aditi in a transparent manner. Proper transaction processing is not supported in this release.

Adjacency (communications, networking)
A relationship between two network devices, e.g. routers, which are connected by one media segment so that a packet sent by one can reach the other without going through another network device. The concept of adjacency is important in the exchange of routing information.

Adjacent SNA nodes are nodes connected to a given node with no intervening nodes. In DECnet and OSI, adjacent nodes share a common segment (Ethernet, FDDI, Token Ring).

ADL (computer, application, games)

1. Adventure Definition Language.
2. Ada Development Language.

R.A. Lees, 1989.

3. API Definition Language.
A project for Automatic Interface Test Generation.

Ad Lib (A/V, production)
Speech or action that has not been scripted for nor specifically rehearsed for.

AdLog (computer, language)
A language which adds a Prolog layer to Ada.

["AdLog, An Ada Components Set to Add Logic to Ada", G. Pitette, Proc Ada-Europe Intl Conf Munich, June 1988].

ADM (computer, language)
A picture query language, extension of Sequel2.

["An Image-Oriented Database System", Y. Takao et al, in Database Techniques for Pictorial Applications, A. Blaser ed, pp. 527-538].

Administration Management Domain (communications, networking)

(ADMD) An X.400 Message Handling System public service carrier. The ADMDs in all countries worldwide together provide the X.400 backbone. Examples: MCImail and ATTmail in the U.S., British Telecom Gold400mail in the U.K.

See also PRMD.

[RFC 1208].

Administrative Alerts (computer/Windows)
Warning about problems in areas such as security and access, user sessions, server shutdown due to power loss (with Uninterruptable Power Supplies), directory replication, and printing (Windows network operating systems).

Administrative distance (communications, networking)

A rating of the trustworthiness of a routing information source set by the router administrator. In Cisco routers, administrative distance is a number between 0 and 255 (the higher the value, the less trustworthy the source).

Administrative Domain (communications, networking)

(AD) A collection of hosts and routers, and the interconnecting network(s), managed by a single administrative authority.

Administration Management Domain (communications, networking)
(ADMD) An X.400 Message Handling System public service carrier. The ADMDs in all countries worldwide together provide the X.400 backbone. Examples: MCImail and ATTmail in the U.S., British Telecom Gold400mail in the U.K.

See also PRMD.

[RFC 1208].

Admissible (computer, algorithm)
A description of a search algorithm that is guaranteed to find a minimal solution path before any other solution paths, if a solution exists. An example of an admissible search algorithm is A* search.

Adobe Systems, Inc. (computer, software, company)
A California font foundry and software house. Adobe created the PostScript page description language and wrote the Blue Book, Green Book, Red Book and White Book on it. They also developed PDF. Adobe took over Frame Technology Corporation in late 1995/early 1996.

Adobe Type Manager (computer, application)
(ATM) Software that produces PostScript outline fonts on screen and paper. There are versions that run under Microsoft Windows and on the Macintosh. ATM can do hinting, multiple master and anti-aliasing.

Adobe Type Manager (computer/printer)
Font Generator from Adobe Systems Inc; it scales outline fonts into bit-mapped fonts for use with non-PostScript printers. It can generate accurate screen fonts for point sizes.

ADPCM (communications, computer)
Adaptive Differential Pulse Code Modulation. A method of digital waveform sampling encoding the difference between successive samples rather than encoding their actual values. The differences are assigned different values based on the content of the sample. ADPCM was the storage format used by CD-ROM XA and CD-I discs.

ADT (computer, programming)
abstract data type(ADT) A kind of data abstraction where a type's internal form is hidden behind a set of access functions. Values of the type are created and inspected only by calls to the access functions. This allows the implementation of the type to be changed without requiring any changes outside the module in which it is defined.

Objects and ADTs are both forms of data abstraction, but objects are not ADTs. Objects use procedural abstraction (methods), not type abstraction.

A classic example of an ADT is a stack data type for which functions might be provided to create an empty stack, to push values onto a stack and to pop values from a stack.

Advanced Audio Coding (computer, audio)

(AGP) A bus specification by Intel which gives low-cost 3D graphics cards faster access to main memory on personal computers than the usual PCI bus.

AGP dynamically allocates the PC's normal RAM to store the screen image and to support texture mapping, z-buffering and alpha blending.

Intel has built AGP into a chipset for its Pentium II microprocessor. AGP cards are slightly longer than a PCI card.

AGP operates at 66 MHz, doubled to 133 MHz, compared with PCI's 33 Mhz. AGP allows for efficient use of frame buffer memory, thereby helping

2D graphics performance as well.

AGP provides a coherent memory management design which allows scattered data in system memory to be read in rapid bursts. AGP reduces the

overall cost of creating high-end graphics subsystems by using existing system memory.

AHPL (computer, language)
A Hardware Programming Language; a register-level language by Hill and Peterson, some of whose operators resemble APL.

AI (computer)
Artificial Intelligence - development of machines that exhibit cognitive or heuristic, human-like behaviour and decision making. The English Scientist, Alan Turing defined AI as: "A machine has artificial intelligence when there is no discernible difference between the conversation generated by the machine and that of an intelligent person". The Japanese industry attacked the problem of developing AI in the 1980's but has not, of late, produced what would be classified as human-like intelligence. AI should not be compared with Expert Systems that have been developed with finite geological, chemical, and medical information, to assist professionals in decision making where the known information on a finite portion of a science can be computed rapidly as a support tool.

AIX (computer)
Advanced Interactive Executive - one of the many versions of the UNIX operating system originally developed by Bell Labs, that was implemented by IBM for 80386 PS/2 and RT personal computers as well as the 370 series of mainframes (93xx, 43xx and 30xx). AIX was based on AT&T UNIX System V with UCSD Berkeley additions.

ALADIN (computer, language)
A Language for Attributed Definitions; a language for formal specification of attributed grammars. ALADIN is the input language for the GAG compiler generator. It is applicative and strongly typed. ["GAG: A Practical Compiler Generator", Uwe Kastens, LNCS 141, Springer 1982].

ALAM (language)
A language for symbolic mathematics, especially General Relativity.
See also CLAM.
["ALAM Programmer's Manual", Ray D'Inverno, 1970].

A-language (computer, language)
An early ALGOL-like surface syntax for Lisp. ["An Auxiliary Language for More Natural Expression--The A-language", W. Henneman in The Programming Language LISP, E.C. Berkeley et al eds, MIT Press 1964, pp.239- 248].

A-law (computer, standards)
The ITU-T standard for nonuniform quantising logarithmic compression.

ALCOR (language)
A subset of ALGOL.
[Sammet 1969, p. 180].

Aldat (language)
A database language, based on extended algebra.
[Listed by M.P. Atkinson & J.W. Schmidt in a tutorial in Zurich, 1989].

ALEF (language)
A programming language from Bell Labs. ALEF boasts few new ideas but is instead a careful synthesis of ideas from other languages. The result is a practical general purpose programming language which was once displacing C as their main implementation language. Both shared variables and message passing are supported through language constructs.

A window system, user interface, operating system network code, news reader, mailer and variety of other tools in Plan 9 are now implemented using ALEF.

aleph 0 (mathematics)
The cardinality of the first infinite ordinal, omega (the number of natural numbers).

Aleph 1 is the cardinality of the smallest ordinal whose cardinality is greater than aleph 0, and so on up to aleph omega and beyond. These are all kinds of infinity.

The Axiom of Choice (AC) implies that every set can be well-ordered, so every infinite cardinality is an aleph; but in the absence of AC there may be sets that can't be well-ordered (don't posses a bijection with any ordinal) and therefore have cardinality which is not an aleph.

These sets don't in some way sit between two alephs; they just float around in an annoying way, and can't be compared to the alephs at all. No ordinal possesses a surjection onto such a set, but it doesn't surject onto any sufficiently large ordinal either.

alert (operating system)
An audible and/or visual message intended to inform a system's users or administrators about a change in the operating conditions of that system or about some kind of error condition. In a graphical user interface, an alert would typically be displayed as a small window containing the message and a button to click to dismiss the window.

Alerter Service (computer/Windows)
Notification of administrative alerts that occur on a computer. Used by the Server and other services, in Windows. It requires the invoking of Messenger services (see administrative alerts).

Alex (language)
1. A polymorphic language being developed by Stephen Crawley of Defence Science & Tech Org, Australia. Alex has abstract data types, type inference and inheritance.

2. An ISWIM-like language with exception handling.

["An Exception Handling Construct for Functional Languages", M. Brez et al, in Proc ESOP88, LNCS 300, Springer 1988].

3. A scanner generator. Alexis is its input language.

["Alex: A Simple and Efficient Scanner Generator", H. Mossenbock, SIGPLAN Notices 21(5), May 1986].

Alexis (language)
Alex Input Specification.
The input language for the scanner generator Alex.

algebraic data type (programming)
(Or "sum of products type") In functional programming, new types can be defined, each of which has one or more constructors. Such a type is known as an algebraic data type. E.g. in Haskell we can define a new type, "Tree":

data Tree = Empty Leaf Int Node Tree Tree

with constructors "Empty", "Leaf" and "Node". The constructors can be used much like functions in that they can be (partially) applied to arguments of the appropriate type. For example, the Leaf constructor has the functional type Int -> Tree.

A constructor application cannot be reduced (evaluated) like a function application though since it is already in normal form. Functions which operate on algebraic data types can be defined using pattern matching:

depth :: Tree -> Int
depth Empty = 0
depth (Leaf n) = 1
depth (Node l r) = 1 + max (depth l) (depth r)

The most common algebraic data type is the list which has constructors Nil and Cons, written in Haskell using the special syntax "[]" for Nil and infix ":" for Cons.

Special cases of algebraic types are product types (only one constructor) and enumeration types (many constructors with no arguments). Algebraic types are one kind of constructed type (i.e. a type formed by combining other types).

An algebraic data type may also be an abstract data type (ADT) if it is exported from a module without its constructors. Objects of such a type can only be manipulated using functions defined in the same module as the type itself.

In set theory the equivalent of an algebraic data type is a discriminated union - a set whose elements consist of a tag (equivalent to a constructor) and an object of a type corresponding to the tag (equivalent to the constructor arguments).

Algebraic Logic Functional language (language)
(ALF) A language by Rudolf Opalla which combines functional programming and logic programming techniques.

ALF is based on Horn clause logic with equality which consists of predicates and Horn clauses for logic programming, and functions and equations for functional programming. Any functional expression can be used in a goal literal and arbitrary predicates can occur in conditions of equations. ALF uses narrowing and rewriting.

ALF includes a compiler to Warren Abstract Machine code and run-time support.

Algebraic Manipulation (computer)
Algebraic manipulation by computers involves their use to create and simplify mathematical formulas. The systems that support algebra provide the user with facilities in which, for example, the value taken by a variable may be an expression rather than a number, and where, besides the usually arithmetic operators, there are facilities for analytic differentiation; for substituting values for some variables in an expression; and for decomposing complex expressions into their constituent parts.

Algebraic Specification Language (language)
1. (ASL)
["Structured Algebraic Specifications: A Kernel Language", M. Wirsing, Theor Comput Sci 42, pp.123-249, Elsevier 1986].

2. (ASF) A language for equational specification of abstract data types.

["Algebraic Specification", J.A. Bergstra et al, A-W 1989].

ALGOL 58 (language)
An early version of ALGOL 60, originally known as "IAL".
Michigan Algorithm Decoder (MAD), developed in 1959, was based on IAL.
["Preliminary report - International Algebraic Language", CACM 1(12):8, 1958].

ALGOL 60 (language)
ALGOrithmic Language 1960.

A portable language for scientific computations. ALGOL 60 was small and elegant. It was block-structured, nested, recursive and free form. It was also the first language to be described in BNF.
There were three lexical representations: hardware, reference, and publication. The only structured data types were arrays, but they were permitted to have lower bounds and could be dynamic. It also had conditional expressions; it introduced :=; if-then-else; very general "for" loops; switch declaration (an array of statement labels generalising Fortran's computed goto). Parameters were call-by-name and call-by-value. It had static local "own" variables. It lacked user-defined types, character manipulation and standard I/O.

See also EULER, ALGOL 58, ALGOL 68, Foogol.

["Report on the Algorithmic Language ALGOL 60", Peter Naur ed., CACM 3(5):299-314, May 1960].

ALGOL 60 Modified (language)

["A Supplement to the ALGOL 60 Revised Report", R.M. DeMorgan et al, Computer J 19(4):364].

[SIGPLAN Notices 12(1) 1977].

An erratum in [Computer J 21(3):282 (Aug 1978)] applies to both.

ALGOL 60 Revised (language)
(Or "Revised ALGOL 60") A revision of Algol 60 which still lacked standard I/O.

["Revised Report on the Algorithmic Language ALGOL 60", Peter Naur ed, CACM 6(1):1-17 (Jan 1963)].

[Sammet 1969, p.773].

ALGOL 68 (language)
An extensive revision of ALGOL 60 by Adriaan van Wijngaarden et al. ALGOL 68 was discussed from 1963 by Working Group 2.1 of IFIP. Its definition was accepted in December 1968.

ALGOL 68 was complex, and posed difficulties for both implementors and users. It featured structural equivalence; automatic type conversion ("coercion") including dereferencing; flexible arrays; generalised loops (for-from-by-to-while-do-od), if-then-elif-fi, an integer case statement with an 'out' clause; skip and goto statements; blocks; procedures; user-defined operators; procedure parameters; concurrent execution (cobegin/coend); semaphores; generators "heap" and "loc" for dynamic allocation. It had no abstract data types or separate compilation.

ALGOL 68C
A variant of ALGOL 68 developed by S. Bourne and Mike Guy of Cambridge University in 1975 and used as the implementation language for the CHAOS OS for the CAP capability computer. ALGOL 68C was ported to the IBM 360, VAX/VMS, and several other platforms.

ALGOL 68 Revised (language)
A significant simplification of ALGOL 68.

["Revised Report on the Algorithmic Language ALGOL 68," A. Van Wijngaarden et al, Acta Informatica 5:1-236, 1975, also Springer 1976, and SIGPLAN Notices 12(5):1-70, May 1977].

ALGOL 68-R (language)
A restriction of ALGOL 68 permitting one-pass compilation, developed at the Royal Signals Radar Establishment, Malvern, Worcester, UK in April 1970.

Identifiers, modes and operators must be declared before use. There is no automatic proceduring and no concurrency. It was implemented in ALGOL 60 under GEORGE 3 on an ICL 1907F.

["ALGOL 68-R, Its Implementation and Use", I.F. Currie et al, Proc IFIP Congress 1971, N-H 1971, pp. 360-363].

ALGOL C (language)
A variant of ALGOL 60 developed by Clive Feather of Cambridge University ca. 1981. ALGOL C added structures and exception handling. It was designed for beginners and students.

ALGOL D (language)
["A Proposal for Definitions in ALGOL", B.A. Galler et al, CACM 10:204-219, 1967].

ALGOL N (language)
A successor to ALGOL 60 proposed by Yoneda.

ALGOL W (language)
A derivative of ALGOL 60. It introduced double precision, complex numbers, bit strings and dynamic data structures. It is parsed entirely by operator precedence and used the call-by-value-result calling convention.

["A Contribution to the Development of Algol", N. Wirth, CACM 9(6):413-431, June 1966].

["ALGOL W Implementation", H. Bauer et al, TR CS98, Stanford U, 1968].

ALGOL X (language)
A proposed successor to ALGOL 60, a "short-term solution to existing difficulties". Three designs were proposed, by Wirth, Seegmuller and van Wijngaarden.

[Sammet 1969, p. 194].

ALGOL Y (language)
A proposed successor to ALGOL 60, a "radical reconstruction". Originally a language that could manipulate its own programs at run time, it became a collection of features that were not accepted for ALGOL X.

Algorithm (computer, mathematics)
Set of instructions carrying out a single function, such as the calculation of a single value in a computer program. Given both the problem and the device, an algorithm is the characterisation of a method of solving the problem, presented in a language comprehensible to the device. In particular, an algorithm is characterised by:

a) Application to input problem description resulting in a finite sequence of actions;
b) The sequence of actions has a unique initial action;
c) Each action in the sequence has a unique successor;

Terminates with either a solution, or a statement that the problem is unsolvable.

ALgorithm DEScription (language)
(ALDES) ["The Algorithm Description Language ALDES", R.G.K. Loos, SIGSAM Bull 14(1):15-39 (Jan 1976)].

ALgorIthmic ASsembly language (language)
(ALIAS) A machine oriented variant of BLISS. ALIAS was implemented in BCPL for the PDP-9.

["ALIAS", H.E. Barreveld, Int Rep, Math Dept, Delft U Tech, Netherlands, 1973].

Algorithmic Model (algorithm)

A method of estimating software cost using mathematical algorithms based on the parameters which are considered to be the major cost drivers. These estimate of effort or cost are based primarily on the size of the software or Delivered Source Instructions (DSI)s, and other productivity factors known as Cost Driver Attributes.

See also Parametric Model.

Algorithmic Processor Description Language (language)

(APDL) An ALGOL 60-like language for describing computer design, for the CDC G-21.

["The Description, Simulation, and Automatic Implementation of Digital Computer Processors", J.A. Darringer, Ph.D Thesis EE Dept, CMU May 1969].

Algorithmic Test Case Generation (algorithm)
A computational method for identifying test cases from data, logical relationships or other software requirements information.

aliasing (hardware, software)

1. When several different identifiers refer to the same object. The term is very general and is used in many contexts.

See alias, aliasing bug, anti-aliasing.

2. (Or "shadowing") Where a hardware device responds at multiple addresses because it only decodes a subset of the address lines, so different values on the other lines are ignored.

Aliasing (A/V, computer, M/M)
Occurrence in sampling analog signals where the sampling rate and the frequency of the sample wave are congruous (fit, meet), and the sample values do not properly represent the original waveform. Aliasing is most pronounced when the fundamental frequency of a sound is more than half the sampling rate. In video images, aliasing causes straight lines (especially diagonal ones) to appear jagged. In Computer generated graphics, what will be seen is a stair-step distortion in the appearance of diagonal or curved lines.

Alice (graphics)
A parallel graph rewriting computer developed by Imperial College, University of Edinburgh and ICL.

ALJABR (program)
An implementation of MACSYMA for the Macintosh by Fort Pond Research.

A-Life = Artificial Life (computer, algorithm, application)
(a-life) The study of synthetic systems which behave like natural living systems in some way. Artificial Life complements the traditional biological sciences concerned with the analysis of living organisms by attempting to create lifelike behaviours within computers and other artificial media. Artificial Life can contribute to theoretical biology by modelling forms of life other than those which exist in nature. It has applications in environmental and financial modelling and network communications.

There are some interesting implementations of artificial life using strangely shaped blocks. A video, probably by the company Artificial Creatures who build insect-like robots in Cambridge, MA (USA), has several mechanical implementations of artificial life forms.

See also evolutionary computing, Life.

[Christopher G. Langton (Ed.), "Artificial Life", Proceedings Volume VI, Santa Fe Institute Studies in the Sciences of Complexity. Addison-Wesley, 1989].

Align (computer/microelectronics)
Put into proper position, agreement, coordination, when placing parts of a photomask together, or over an etched pattern in the oxide on a semiconductor wafer.

Alignment (computer/microelectronics)
Accuracy of coordination of images on a semiconductor oxide coating and on the photomask, or any other images placed in relation to those.

all-elbows (programming)
Said of a TSR (terminate-and-stay-resident) mess-dos program, such as the N pop-up calendar and calculator utilities that circulate on BBS systems: unsociable. Used to describe a program that rudely steals the resources that it needs without considering that other TSRs may also be resident. One particularly common form of rudeness is lock-up due to programs fighting over the keyboard interrupt.

Allegro (operating system)
The code name for the major Mac OS release in mid-1998.

ALLIANCE (application)
A complete set of CAD tools for teaching Digital CMOS VLSI Design in Universities. It includes a VHDL compiler and simulator, logic synthesis tools, and automatic place and route tools. ALLIANCE is the result of a ten years effort at University Pierre et Marie Curie (PARIS VI, France).

It runs on Sun-4, not well supported: MIPS/Ultrix, 386/SystemV.

ALLOY (language)
A language by Thanasis Mitsolides which combines functional programming, object-oriented programming and logic programming ideas, and is suitable for massively parallel systems.

Evaluating modes support serial or parallel execution, eager evaluation or lazy evaluation, nondeterminism or multiple solutions etc. ALLOY is simple as it only requires 29 primitives in all (half of which are for object oriented programming support).

It runs on SPARC.

Alloy Junction (computer/microelectronics)
Junction produced by alloying one or more impurity metals to a semiconductor. A small button of impurity metal is placed at each desired location on the semiconductor wafer, heated above its melting point, and cooled. The impurity metal "alloys" with the semiconductor material to form a "p" or "n" region, depending on the impurity employed.

Aloha (communications)
(From the Hawaiian greeting) A system of contention resolution devised at The University of Hawaii. Packets are broadcast when ready, the sender listens to see if they collide and if so re-transmits after a random time. Slotted Aloha constrains packets to start at the beginning of a time slot. Basic Aloha is appropriate to long propagation time nets (e.g. satellite). For shorter propagation times, carrier sense protocols are possible.

Aloha Net (communications)
(From the Hawaiian greeting) One of the first functioning networks in the USA, conceived and implimented at the University of Hawaii campus at Manoa. Its purpose was to link the University mainframe computer to client computers located on outer islands at University campuses. Put in place in the early 1970s, it was dubed the Aloha Net. Key punch cards were fed through a reader, and sent over the commercial phone lines.

ALP (application)
A list processing extension of Mercury Autocode.

["ALP, An Autocode List-Processing Language", D.C. Cooper et al, Computer J 5:28-31, 1962].

ALPAK (programming)
A subroutine package used by ALTRAN.

["The ALPAK System for Nonnumerical Algebra on a Digital Computer", W.S. Brown, Bell Sys Tech J 42:2081, 1963].

[Sammet 1969, p. 502].

Alpha (programming)
1. A compiler generator written by Andreas Koschinsky and described in his thesis at the Technische Universitaet Berlin. Alpha takes an attribute grammar and uses Bison and Flex to generate a parser, a scanner and an ASE evaluator (Jazayeri and Walter).

The documentation is in german.

Alpha AXP 21164 (processor)

A 1 GIPS version of the DEC Alpha processor. The first commercially available sequential 1 GIPS processor. Announced 1994-09-7.

alpha conversion (mathematics)

In lambda-calculus and reduction, the renaming of a formal parameter in a lambda abstraction. This does not change the meaning of the abstraction. For example:

\ x . x+1 <--> \ y . y+1

If the actual argument to a lambda abstraction contains instances of the abstraction's formal parameter then it is necessary to rename the parameter before applying the abstraction to avoid name capture.

Alpha Geek (computer, jargon)
The head geek or geek's geek. When no one else knows the answer, or several techno-types give conflicting advise, or the error message says "consult your administrator" and you *are* the administrator, you ask the Alpha Geek.

Alphamosaic (computer/screen)
Display technique for low resolution images used in computer graphics work whereby imaging is created from rudimentary graphics characters, as part of the character set.

Alphanumeric (computer)
Alphabetic letters and numbers with some special characters used in data capturing, typing, spreadsheets, text preparation, text editing, word processing, etc.

Alphard (language)
(Named after the brightest star in Hydra) A Pascal-like language developed by Wulf, Shaw and London of CMU in 1974. Alphard supports data abstraction using the 'form', which combines a specification and an implementation.

["Abstraction and Verification in Alphard: Defining and Specifying Iteration and Generators", Mary Shaw, CACM 20(8):553-563, Aug 1977].

ALPS (language, algebraic)

1. An early interpreted algebraic language for the Bendix G15 by Richard V. Andree of the University of Oklahoma. ALPS is said to have preceded and influenced development of BASIC.

Dale Peters reports that in the summer of 1966 he attended the second year of an NSF-sponsored summer institute in mathematics and computing at the University of Oklahoma. Richard Andree taught the computing class which mostly used the language GO-GO which was later renamed ALPS. Andree, Harold Wiebe, Ralph Howenstein, and another grad student were changing the language frequently during the class, which was occasionally a little disorienting. Dale believes it was used in the previous summer as well and that it was about this time that Kemeny (one of the designers of BASIC) saw it during a visit.

2. A parallel logic language.

["Synchronization and Scheduling in ALPS Objects", P. Vishnubhotia, Proc 8th Intl Conf Distrib Com Sys, IEEE 1988, pp. 256-264].

Alpha Testing (A/V, communications, computer, M/M)
Testing done on new hardware, software, and applications in the laboratory of a company before sending the product out for Beta Testing in controlled environments with users.

alpha/beta pruning (algorithim)
An optimisation of the minimax algorithm for choosing the next move in a two-player game. The position after each move is assigned a value. The larger this value, the better the position is for me. Thus, I will choose moves with maximum value and you will choose moves with minimum value (for me).

If it is my move and I have already found one move M with value alpha then I am only interested in other moves with value greater than alpha. I now consider another of my possible moves, M', to which you could reply with a move with value beta. I know that you would only make a different reply if it had a value less than beta. If beta is already less than alpha then M' is definitely worth less than M so I can reject it without considering any other replies you might make.

The same reasoning applies when considering my replies to your reply. An alpha cutoff is when your reply gives a lower value than the current maximum (alpha) and a beta cutoff is when my reply to your reply gives a higher value than the current minimum value of your reply (beta).

In short, if you've found one possible move, you need not consider another move which your opponent can force to be worse than the first one.

alt (hardware, keyboards)

/awlt/ 1. The alt modifier key on many keyboards, including the IBM PC. On some keyboards and operating systems, (but not the IBM PC) the alt key sets bit 7 of the character generated.

See bucky bits.

2. The "clover" or "Command" key on a Macintosh; use of this term usually reveals that the speaker hacked PCs before coming to the Mac (see also feature key). Some Mac hackers, confusingly, reserve "alt" for the Option key (and it is so labelled on some Mac II keyboards).

3. (Obsolete PDP-10; often "ALT") An alternate name for the ASCII ESC character (Escape, ASCII 27), after the keycap labelling on some older terminals; also "altmode" (/awlt'mohd/). This character was almost never pronounced "escape" on an ITS system, in TECO or under TOPS-10, always alt, as in "Type alt alt to end a TECO command" or "alt-U onto the system" (for "log onto the [ITS] system"). This usage probably arose because alt is easier to say.

4. One of the Usenet newsgroup hierarchies. It was founded by John Gilmore and Brian Reid. The alt hierarchy is special in that anyone can create new groups here without going though the normal voting proceduers, hence the regular appearence of new groups with names such as "alt.swedish.chef.bork.bork.bork".

Alta Vista (application, www)
A World-Wide Web site provided by Digital which features a very fast Web and Usenet search engine.

As of April 1996 its word index was 33GB in size. AltaVista was (June 1996) the largest Web index, with 30 million pages from 225,000 servers, and three million articles from 14,000 Usenet news groups. It was accessed over 12 million times per weekday.

ALTAC (language)
An extended Fortran II for the Philco 2000, built on TAC.

[Sammet 1969, p.146].

Altair 8800 (computer, processor)
An Intel 8080-based machine made by MITS. The Altair was the first popular microcomputer kit.

It appeared on the cover of the January 1975 "Popular Electronics" magazine with an article (probably) by Leslie Solomon. Leslie Solomon was an editor at Popular Electronics who had a knack for spotting kits that would interest people and make them buy the magazine. The Altair 8800 was one such. The MITS guys took the prototype Altair to New York to show Solomon, but couldn't get it to work after the flight. Nonetheless, he liked it, and it appeared on the cover as "The first minicomputer in a kit."

Solomon's blessing was important enough that some MITS competitors named their product the "SOL" to gain his favour. Some wags suggested SOL was actually an abbreviation for the condition in which kit purchasers would find themselves.

Bill Gates and Paul Allen saw the article on the Altair 8800 in Popular Electronics. They realized that the Altair, which was programmed via its binary front panel needed a high level language. Legend has it that they called MITS with the claim that they had a BASIC interpreter for the Altair. When MITS asked them to demo it in Albuquerque, they wrote one on the plane. On arrival, they entered the machine code via the front panel and demonstrated and sold their "product." Thus was born "Altair BASIC."

The original Altair BASIC ran in less than 4K of RAM because a "loaded" Altair had 4K memory. Since there was no operating system on the Altair, Altair BASIC included what we now think of as BIOS. It was distributed on paper tape that could be read on a Teletype. Later versions supported the 8K Altair and the 16K diskette-based Altair (demonstrating that, even in the 1970s, Microsoft was committed to software bloat). Altair BASIC was ported to the Motorola 6800 for the Altair 680 machine, and to other 8080-based microcomputers produced by MITS' competitors.

[Forrest M. Mimms, article in "Computers and Electronics", (formerly "Popular Electronics"), Jan 1985(?)].

Alternating bit protocol (communications, protocol)
(ABP) A simple data link layer protocol that retransmits lost or corrupted messages.

Messages are sent from transmitter A to receiver B. Assume that the channel from A to B is initialised and that there are no messages in transit. Each message contains a data part, a checksum, and a one-bit sequence number, i.e. a value that is 0 or 1.

When A sends a message, it sends it continuously, with the same sequence number, until it receives an acknowledgment (ACK) from B that contains the same sequence number. When that happens, A complements (flips) the sequence number and starts transmitting the next message.

When B receives a message from A, it checks the checksum. If the message is not corrupted B sends back an ACK with the same sequence number. If it is the first message with that sequence number then it is sent for processing. Subsequent messages with the same sequence bit are simply acknowledged. If the message is corrupted B sends back an negative/error acknowledgment (NAK). This is optional, as A will continue transmitting until it receives the correct ACK.

A treats corrupted ACK messages, and NAK messages in the same way. The simplest behaviour is to ignore them all and continue transmitting.

Alternating Current (AC)
Electric current that reverses direction periodically, many times per second. Electrical energy is generated by a utility and provided to customers as alternating current. One completed period, with current flow first in one direction and then in the other, is called a cycle, and 60 cycles per second (60 hertz or Hz) is the frequency of alternation in North America. In Europe, 50 Hz is the standard. On aircraft a higher frequency, often 400 Hz, is used to make possible lighter electrical systems. When used as an adjective, it is commonly abbreviated to ac, as in ac motor.

ALTRAN (language)
A Fortran extension for rational algebra developed by W.S. Brown of Bell Labs ca. 1968.

["The ALTRAN System for Rational Function Manipulation - A Survey", A.D. Hall, CACM 14(8):517-521 (Aug 1971)].

ALU (computer)
Arithmetic Logic Unit - circuit in a central processing unit (CPU) of a computer system that actually calculates and computes. Binary numbers are sent from memory to the ALU for computation and comparisons and the results are sent back to the memory source. The arithmetic logic unit is a functional part of the digital computer which carries out arithmetic and logic operations on machine words that represent the operands.

Alumina (computer/microelectronics)
Aluminium oxide used as a ceramic substrate material in microelectronics fabrication.

Aluminum Book (computer language)
["Common LISP: The Language, 2nd Edition", Guy L. Steele Jr., Digital Press 1990, ISBN 1-55558-041-6].

Alvey (computer association)
A funding programme for collaborative research in the UK.

AM (communications)

1. Amplitude Modulation.

2. AM - A program by Doug Lenat to discover concepts in elementary mathematics. AM was written in 1976 in Interlisp. From 100 fundamental concepts and about 250 heuristics it discovered several important mathematical concepts including subsets, disjoint sets, sets with the same number of elements, and numbers. It worked by filling slots in frames maintaining an agenda of resource-limited prioritised tasks.

AM's successor was Eurisko.

(1999-04-19)

Amanda (computer, language)

A functional programming language derived mostly from Miranda with some small changes. Amanda was written by Dick Bruin and implemented on MS-DOS and NeXT. It is available as an interperator only.

(1998-04-27)

amateur packet radio (communications, radio)

(PR) The use of packet radio by amateurs to communicate between computers. PR is a complete amateur radio computer network with "digipeaters" (relays), mailboxes (BBS) and other special nodes.

In Germany, it is on HF, say, 2m (300 and 1200 BPS), 70cm (1200 to 9600 BPS), 23cm (normally 9600 BPS and up, currently most links between digipeaters) and higher frequencies. There is a KW (short wave) Packet Radio at 300 BPS, too.

Satellites with OSCAR (Orbiting Sattelite Carring Amateur Radio) transponders (mostly attached to commercial satellites by the AMateur SATellite (AMSAT) group) carry Packet Radio mailboxes or digipeaters.

There are both on-line and off-line services on the packet radio network: You can send electronic mail, read bulletins, chat, transfer files, connect to on-line DX-Clusters (DX=far distance) to catch notes typed in by other HAMs about the hottest international KW connections currently coming up (so you can pile up).

PR uses AX.25 (an X.25 derivative) as its transport layer and sometimes even TCP/IP is transmitted over AX.25. AX.25 is like X.25 but the adressing uses HAM "calls" like "DG8MGV".

There are special "wormholes" all over the world which "tunnel" amateur radio traffic through the Internet to forward mail. Sometimes mails travels over satelites. Normally amateur satellites have strange orbits, however the mail forwarding or maibox satellites have very predictable orbits. Some wormholes allow HAMs to bridge from Internet to AMPR-NET, e.g. db0fho.ampr.org or db0fho.et-inf.fho-emden.de, but only if you are registered HAM.

Because amateur radio is not for profit, it must not be interconnected to the Internet but it may be connected through the Internet. All people on the (completely free) amateur radio net must be licensed radio amateurs and must have a "call" which is unique all over the world.

There is a special domain AMPR.ORG (44.*.*.*) for amateur radio reserved in the IP space. This domain is split between countries, which can further subdivide it. For example 44.130.*.* is Germany, 44.130.58.* is Augsburg (in Bavaria), and 44.130.58.20 is dg8mgv.ampr.org (you may verify this with nslookup).

Mail transport is only one aspect of packet radio. You can talk interactively (as in chat), read files, or play silly games built in the Packet Radio software. Usually you can use the autorouter to let the digipeater network find a path to the station you want. However there are many (sometimes software incompatible) digipeaters out there, which the router cannot use. Paths over 1000 km are unlikely to be useable for real-time communication and long paths can introduce significant delay times (answer latency).

Other uses of amateur radio for computer communication include RTTY (baudot), AMTOR, PACTOR, and CLOVER.

(2001-05-12)

Amber (computer, language)

1. A functional programming language which adds CSP-like concurrency, multiple inheritance and persistence to ML and generalises its type system. It is similar to Galileo. Programs must be written in two type faces, roman and italics! It has both static types and dynamic types.

There is an implementation for Macintosh.

["Amber", L. Cardelli, TR Bell Labs, 1984].

2. An object-oriented distributed language based on a subset of C++, developed at Washington University in the late 1980s.

(1994-12-08)

AMBIT (computer, mathematics)

Algebraic Manipulation by Identity Translation (also claimed: "Acronym May Be Ignored Totally").

An early pattern-matching language, developed by C. Christensen of Massachusetts Computer Assocs in 1964, aimed at algebraic manipulation

AMBIT/G (computer, mathematics)

AMBIT for graphs.

["An Example of the Manipulation of Directed Graphs in the AMBIT/G Programming Language", C. Christensen, in Interactive Systems for Experimental Applied Mathematics, M. Klerer et al, eds, Academic Press 1968, pp. 423-435].

(1994-12-08)

AMBIT/L (computer, mathematics)

AMBIT for lists.

A variant of AMBIT supporting list handling and pattern matching rules based on two-dimensional diagrams.

["An Introduction to AMBIT/L, A Diagrammatic Language for List Processing", Carlos Christensen, Proc 2nd ACM Symp Symb and Alg Manip (Mar 1971)].

AMBIT/S (computer, mathematics)

AMBIT for strings.

AMBUSH (computer, language)

A language for linear programming problems in a materials processing and transportation network.

["AMBUSH - An Advanced Model Builder for Linear Programming", T.R. White et al, National Petroleum Refiners Assoc Comp Conf (Nov 1971)].

(1995-06-19)

AMD (computer chip corporation)

1. Advanced Micro Devices.

(1995-01-16)

AMD 29000 (computer chip corporation)

A RISC microprocessor descended from the Berkley RISC design. Like the SPARC design that was introduced shortly afterward, the 29000 has a large register set split into local and global sets. But though it was introduced before the SPARC, it has a more elegant method of register management.

The 29000 has 64 global registers, in comparison to the SPARC's eight. In addition, the 29000 allows variable sized windows allocated from the 128 register stack cache. The current window or stack frame is indicated by a stack pointer, a pointer to the caller's frame is stored in the current frame, like in an ordinary stack (directly supporting stack languages like C, a CISC-like philosophy). Spills and fills occur only at the ends of the cache, and registers are saved/loaded from the memory stack. This allows variable window sizes, from 1 to 128 registers. This flexibility, plus the large set of global registers, makes register allocation easier than in SPARC.

There is no special condition code register - any general register is used instead, allowing several condition codes to be retained, though this sometimes makes code more complex. An instruction prefetch buffer (using burst mode) ensures a steady instruction stream. Branches to another stream can cause a delay, so the first four new instructions are cached - next time a cached branch (up to sixteen) is taken, the cache supplies instructions during the initial memory access delay.

Registers aren't saved during interrupts, allowing the interrupt routine to determine whether the overhead is worthwhile. In addition, a form of register access control is provided. All registers can be protected, in blocks of 4, from access. These features make the 29000 useful for embedded applications, which is where most of these processors are used, allowing it the claim to be "the most popular RISC processor". The 29000 also includes an MMU and support for the AMD 29027 FPU.

(1995-06-19)

AMD 29027 (computer chip)

The FPU for the AMD 29000.

(1995-01-16)

AMD Am2901 (computer chip)

A 4-bit bit-slice processor from Advanced Micro Devices. It featured sixteen 4-bit registers and a 4-bit ALU and operation signals to allow carry/borrow or shift operations and such to operate across any number of other 2901s. An address sequencer (such as the 2910) could provide control signals with the use of custom microcode in ROM.

(1994-11-16)

AMD Am2903 (computer chip)

A bit-slice prcessor from Advanced Micro Devices which featured hardware multiply.

(1994-11-16)

AMD Am2910

An address sequencer from Advanced Micro Devices.

(1994-11-16)

AMD K7 (computer chip)

Athlon

Amdahl

1. Amdahl Corporation.

2. Gene Amdahl.

(2000-04-03)

Amdahl Corporation (computer, corporation)

A US computer manufacturer. Amdahl is a major supplier of large mainframes, UNIX and Open Systems software and servers, data storage subsystems, data communications products, applications development software, and a variety of educational and consulting services.

Amdahl products are sold in more than 30 countries for use in both open systems and IBM plug-compatible mainframe computing environments.

Quarterly sales $397M, profits $13M (Aug 1994).

In 1997 Amdahl became a division of Fujitsu.

(1995-05-23)

America On-Line, Inc. (communications, on-line service provider)

(AOL) A US on-line service provider based in Vienna, Virginia, USA. AOL claims to be the largest and fastest growing provider of on-line services in the world, with the most active subscriber base. AOL offers its three million subscribers electronic mail, interactive newspapers and magazines, conferencing, software libraries, computing support, and on-line classes.

In October 1994 AOL made Internet FTP available to its members and in May 1995, full Internet access including World-Wide Web.

America's Multimedia Online (communications, internet company)

(AMO) An Internet technologies company which invented Never Offline in 1995 and was officially started in 1996.

American National Standard (standards)

(ANS) A common prefix for ANSI documents or standards, e.g.: "ANS Forth", or "American National Standard X3.215-1994".

(1998-07-01)

American National Standards Institute (standards institute)

(ANSI) The United States government body responsible for approving US standards in many areas, including computers and communications. ANSI is a member of ISO. ANSI sells ANSI and ISO (international) standards.

(1996-11-03)

American Society of Mechanical Engineers

(ASME) A group involved in CAD standardisation.

(1995-04-21)

American Standard Code, Information Interchange (computer, communications)

The basis of character sets used in almost all present-day computers. US-ASCII uses only the lower seven bits (character points 0 to 127) to convey some control codes, space, numbers, most basic punctuation, and unaccented letters a-z and A-Z. More modern coded character sets (e.g., Latin-1, Unicode) define extensions to ASCII for values above 127 for conveying special Latin characters (like accented characters, or German ess-tsett), characters from non-Latin writing systems (e.g., Cyrillic, or Han characters), and such desirable glyphs as distinct open- and close-quotation marks. ASCII replaced earlier systems such as EBCDIC and Baudot, which used fewer bytes, but were each broken in their own way.

Computers are much pickier about spelling than humans; thus, hackers need to be very precise when talking about characters, and have developed a considerable amount of verbal shorthand for them. Every character has one or more names - some formal, some concise, some silly.

Individual characters are listed in this dictionary with alternative names from revision 2.3 of the Usenet ASCII pronunciation guide in rough order of popularity, including their official ITU-T names and the particularly silly names introduced by INTERCAL.

See V ampersand, asterisk, back quote, backslash, caret, colon, comma, commercial at, control-C, dollar, dot, double quote, equals, exclamation mark, greater than, hash, left bracket, left parenthesis, less than, minus, parentheses, oblique stroke, percent, plus, question mark, right brace, right brace, right bracket, right parenthesis, semicolon, single quote, space, tilde, underscore, vertical bar, zero.

Some other common usages cause odd overlaps. The "#", "$", ">", and "&" characters, for example, are all pronounced "hex" in different communities because various assemblers use them as a prefix tag for hexadecimal constants (in particular, "#" in many assembler-programming cultures, "$" in the 6502 world, ">" at Texas Instruments, and "&" on the BBC Micro, Acorn Archimedes, Sinclair, and some Zilog Z80 machines). See also splat.

The inability of US-ASCII to correctly represent nearly any language other than English became an obvious and intolerable misfeature as computer use outside the US and UK became the rule rather than the exception (see software rot). And so national extensions to US-ASCII were developed, such as Latin-1.

Hardware and software from the US still tends to embody the assumption that US-ASCII is the universal character set and that words of text consist entirely of byte values 65-90 and 97-122 (A-Z and a-z); this is a major irritant to people who want to use a character set suited to their own languages. Perversely, though, efforts to solve this problem by proliferating sets of national characters produced an evolutionary pressure (especially in protocol design, e.g., the URL standard) to stick to US-ASCII as a subset common to all those in use, and therefore to stick to English as the language encodable with the common subset of all the ASCII dialects. This basic problem with having a multiplicity of national character sets ended up being a prime justification for Unicode, which was designed, ostensibly, to be the *one* ASCII extension anyone will need.

A system is described as "eight-bit clean" if it doesn't mangle text with byte values above 127, as some older systems did.

See also ASCII character table, Yu-Shiang Whole Fish.

(1995-03-06)

American Telephone and Telegraph, Inc. (communications)

(AT&T) One of the largest US telecommunications providers. Also noted for being the birthplace of the Unix operating system and the C and C++ programming languages.

AT&T was incorporated in 1885, but traces its lineage to Alexander Graham Bell and his invention of the telephone in 1876. As parent company of the former Bell System, AT&T's primary mission was to provide telephone service to virtually everyone in the United States. In its first 50 years, AT&T established subsidiaries and allied companies in more than a dozen other countries. It sold these interests in 1925 and focused on achieving its mission in the United States. It did, however, continue to provide international long distance service.

The Bell System was dissolved at the end of 1983 with AT&T's divestiture of the Bell telephone companies.

AT&T split into three parts in 1996, one of which is Lucent Tecnologies, the former systems and equipment portion of AT&T (including Bell Laboratories).

See also 3DO, Advanced RISC Machine, Berkeley Software Distribution, Bell Laboratories, Concurrent C, Death Star, dinosaurs mating, InterNIC, System V, Nawk, Open Look, rc, S, Standard ML of New Jersey, Unix International, Unix conspiracy, USG Unix, Unix System Laboratories.

(2002-06-21)

American Wire Gauge (standards)

(AWG, sometimes "Brown and Sharpe Wire Gauge") A U.S. standard set of non-ferrous wire conductor sizes. Typical household wiring is AWG number 12 or 14. Telephone wire is usually 22, 24, or 26. The higher the gauge number, the smaller the diameter and the thinner the wire.

Amiga (computer)

A range of home computers first released by Commodore Business Machines in early 1985 (though they did not design the original - see below). Amigas were popular for games, video processing, and multimedia. One notable feature is a hardware blitter for speeding up graphics operations on whole areas of the screen.

The Amiga was originally called the Lorraine, and was developed by a company named "Amiga" or "Amiga, Inc.", funded by some doctors to produce a killer game machine. After the US game machine market collapsed, the Amiga company sold some joysticks but no Lorraines or any other computer. They eventually floundered and looked for a buyer.

Commodore at that time bought the (mostly complete) Amiga machine, infused some money, and pushed it through the final stages of development in a hurry. Commodore released it sometime[?] in 1985.

Most components within the machine were known by nicknames. The coprocessor commonly called the "Copper" is in fact the "Video Timing Coprocessor" and is split between two chips: the instruction fetch and execute units are in the "Agnus" chip, and the pixel timing circuits are in the "Denise" chip (A for address, D for data).

"Agnus" and "Denise" were responsible for effects timed to the real-time position of the video scan, such as midscreen palette changes, sprite multiplying, and resolution changes. Different versions (in order) were: "Agnus" (could only address 512K of video RAM), "Fat Agnus" (in a PLCC package, could access 1MB of video RAM), "Super Agnus" (slightly upgraded "Fat Agnus"). "Agnus" and "Fat Agnus" came in PAL and NTSC versions, "Super Agnus" came in one version, jumper selectable for PAL or NTSC. "Agnus" was replaced by "Alice" in the A4000 and A1200, which allowed for more DMA channels and higher bus bandwidth.

"Denise" outputs binary video data (3*4 bits) to the "Vidiot". The "Vidiot" is a hybrid that combines and amplifies the 12-bit video data from "Denise" into RGB to the monitor.

Other chips were "Amber" (a "flicker fixer", used in the A3000 and Commodore display enhancer for the A2000), "Gary" (I/O, addressing, G for glue logic), "Buster" (the bus controller, which replaced "Gary" in the A2000), "Buster II" (for handling the Zorro II/III cards in the A3000, which meant that "Gary" was back again), "Ramsey" (The RAM controller), "DMAC" (The DMA controller chip for the WD33C93 SCSI adaptor used in the A3000 and on the A2091/A2092 SCSI adaptor card for the A2000; and to control the CD-ROM in the CDTV), and "Paula" (Peripheral, Audio, UART, interrupt Lines, and bus Arbiter).

There were several Amiga chipsets: the "Old Chipset" (OCS), the "Enhanced Chipset" (ECS), and AGA. OCS included "Paula", "Gary", "Denise", and "Agnus".

ECS had the same "Paula", "Gary", "Agnus" (could address 2MB of Chip RAM), "Super Denise" (upgraded to support "Agnus" so that a few new screen modes were available). With the introduction of the Amiga A600 "Gary" was replaced with "Gayle" (though the chipset was still called ECS). "Gayle" provided a number of improvments but the main one was support for the A600's PCMCIA port.

The AGA chipset had "Agnus" with twice the speed and a 24-bit palette, maximum displayable: 8 bits (256 colours), although the famous "HAM" (Hold And Modify) trick allows pictures of 256,000 colours to be displayed. AGA's "Paula" and "Gayle" were unchanged but AGA "Denise" supported AGA "Agnus"'s new screen modes. Unfortunately, even AGA "Paula" did not support High Density floppy disk drives. (The Amiga 4000, though, did support high density drives.) In order to use a high density disk drive Amiga HD floppy drives spin at half the rotational speed thus halving the data rate to "Paula".

Commodore Business Machines went bankrupt on 1994-04-29, the German company Escom AG bought the rights to the Amiga on 1995-04-21 and the Commodore Amiga became the Escom Amiga. In April 1996 Escom were reported to be making the Amiga range again but they too fell on hard times and Gateway 2000 (now called Gateway) bought the Amiga brand on 1997-05-15.

Gateway licensed the Amiga operating system to a German hardware company called Phase 5 on 1998-03-09. The following day, Phase 5 announced the introduction of a four-processor PowerPC based Amiga clone called the "pre\box". Since then, it has been announced that the new operating system will be a version of QNX.

On 1998-06-25, a company called Access Innovations Ltd announced plans to build a new Amiga chip set, the AA+, based partly on the AGA chips but with new fully 32-bit functional core and 16-bit AGA hardware register emulation for backward compatibility. The new core promised improved memory access and video display DMA.

By the end of 2000, Amiga development was under the control of a [new?] company called Amiga, Inc.. As well as continuing development of AmigaOS (version 3.9 released in December 2000), their "Digital Environment" is a virtual machine for multiple platforms conforming to the ZICO specification. As of 2000, it ran on MIPS, ARM, PPC, and x86 processors.

Amiga E (computer)

An Amiga E compiler by Wouter van Oortmerssen.

Amiga E compiles 20000 lines/minute on a 7 Mhz Amiga. It allows in-line assembly code and has an integrated linker. It has a large set of integrated functions and modules. V2.04 includes as modules a flexible type system, quoted expressions, immediate and typed lists, low level polymorphism and exception handling. It is written in assembly language and E.
Aminet

Aminet (Amiga network) A collection of FTP mirrors that contain several gigabytes of freely distributable software for the Amiga range of computers.

AML

A Manufacturing Language

AML/E

(AML Entry) A simple version of AML, implemented on the IBM PC, with a graphic display of the robot position.

(1995-10-03)

AMO

America's Multimedia Online

Amoeba (computer, operating system)

1. A distributed operating system developed by Andrew S. Tanenbaum and others of Vrije Universiteit, Amsterdam. Amoeba is only available under licence from the VUA, but is free of charge and includes all source, binaries and documentation.

2. A derogatory term for Commodore's Amiga personal computer.

[Jargon File]

(1997-05-07)

AMP

Algebraic Manipulation Package

amp off

(Purdue) To run in background. From the Unix shell "&" (ampersand) operator.

[Jargon File]

(1995-11-14)

ampersand

"&" ASCII character 38.

Common names: ITU-T, INTERCAL: ampersand; amper; and. Rare: address (from C); reference (from C++); bitand; background (from sh); pretzel; amp.

A common symbol for "and", used as the "address of" operator in C, the "reference" operator in C++ and a bitwise AND operator in several programming languages.

UNIX shells use the character to indicate that a task should be run in the background.

The ampersand is a ligature (combination) of the cursive letters "e" and "t", invented in 63 BC by Marcus Tirus [Tiro?] as shorthand for the Latin word for "and", "et".

The word ampersand is a conflation (combination) of "and, per se and". Per se means "by itself", and so the phrase translates to "&, standing by itself, means 'and'". This was at the end of the alphabet as it was recited by children in old English schools. The words ran together and were associated with "&". The "ampersand" spelling dates from 1837.

(2000-10-28)

AMPLE (computer, language)

A FORTH-like language for programming the 500/5000 series of add-on music synthesisers for the BBC Microcomputer. AMPLE was produced by Hybrid Technologies, Cambridge, England in the mid 1980s. Many AMPLE programs were published in Acorn User magazine.

(1995-11-01)

Amplitude Modulation (communications)

(AM) A method of encoding data by varying the amplitude of a constant frequency carrier.

Contrast Frequency Modulation.

(2001-04-30)

AMS

Andrew Message System

AMTRAN

Automatic Mathematical TRANslation

Amulet (computer, architecture)

An implementation or the Advanced RISC Machine microprocessor architecture using the micropipeline design style. In April 1994 the Amulet group in the Computer Science department of Manchester University took delivery of the AMULET1 microprocessor. This was their first large scale asynchronous circuit and the world's first implementation of a commercial microprocessor architecture (ARM) in asynchronous logic.

Work was begun at the end of 1990 and the design despatched for fabrication in February 1993. The primary intent was to demonstrate that an asynchronous microprocessor can consume less power than a synchronous design.

The design incorporates a number of concurrent units which cooperate to give instruction level compatibility with the existing synchronous part. These include an Address unit, which autonomously generates instruction fetch requests and interleaves (nondeterministically) data requests from the Execution unit; a Register file which supplies operands, queues write destinations and handles data dependencies; an Execution unit which includes a multiplier, a shifter and an ALU with data-dependent delay; a Data interface which performs byte extraction and alignment and includes an instruction prefetch buffer, and a control path which performs instruction decode. These units only synchronise to exchange data.

The design demonstrates that all the usual problems of processor design can be solved in this asynchronous framework: backward instruction set compatibility, interrupts and exact exceptions for memory faults are all covered. It also demonstrates some unusual behaviour, for instance nondeterministic prefetch depth beyond a branch instruction (though the instructions which actually get executed are, of course, deterministic). There are some unusual problems for compiler optimisation, as the metric which must be used to compare alternative code sequences is continuous rather than discrete, and the nondeterminism in external behaviour must also be taken into account.

The chip was designed using a mixture of custom datapath and compiled control logic elements, as was the synchronous ARM. The fabrication technology is the same as that used for one version of the synchronous part, reducing the number of variables when comparing the two parts.

Two silicon implementations have been received and preliminary measurements have been taken from these. The first is a 0.7um process and has achieved about 28 kDhrystones running the standard benchmark program. The other is a 1 um implementation and achieves about 20 kDhrystones. For the faster of the parts this is equivalent to a synchronous ARM6 clocked at around 20MHz; in the case of AMULET1 it is likely that this speed is limited by the memory system cycle time (just over 50ns) rather than the processor chip itself.

A fair comparison of devices at the same geometries gives the AMULET1 performance as about 70% of that of an ARM6 running at 20MHz. Its power consumption is very similar to that of the ARM6; the AMULET1 therefore delivers about 80 MIPS/W (compared with around 120 from a 20MHz ARM6). Multiplication is several times faster on the AMULET1 owing to the inclusion of a specialised asynchronous multiplier. This performance is reasonable considering that the AMULET1 is a first generation part, whereas the synchronous ARM has undergone several design iterations. AMULET2 (currently under development) is expected to be three times faster than AMULET1 - 120 kdhrystones - and use less power.

The macrocell size (without pad ring) is 5.5 mm by 4.5 mm on a 1 micron CMOS process, which is about twice the area of the synchronous part. Some of the increase can be attributed to the more sophisticated organisation of the new part: it has a deeper pipeline than the clocked version and it supports multiple outstanding memory requests; there is also specialised circuitry to increase the multiplication speed. Although there is undoubtedly some overhead attributable to the asynchronous control logic, this is estimated to be closer to 20% than to the 100% suggested by the direct comparison.

AMULET1 is code compatible with ARM6 and is so is capable of running existing binaries without modification. The implementation also includes features such as interrupts and memory aborts.

The work was part of a broad ESPRIT funded investigation into low-power technologies within the European Open Microprocessor systems Initiative (OMI) programme, where there is interest in low-power techniques both for portable equipment and (in the longer term) to alleviate the problems of the increasingly high dissipation of high-performance chips. This initial investigation into the role asynchronous logic might play has now demonstrated that asynchronous techniques can be applied to problems of the scale of a complete microprocessor.

(1994-12-08)

Amateur Radio (communications)
Two-way radio communications by private individuals. Amateur, or "ham" radio is defined in international treaty as a "service of self-training, intercommunications, and technical investigations carried on by amateurs; that is, by duly authorised persons interested in radio technique solely with a personal aim and without pecuniary interest".

Ambience (A/V, M/M, production)
Background sounds that add to and enhance an audio/visual or Multi-Media production.

Amdahl (computer)
Amdahl Corporation was a computer manufacturer that was founded in 1970 by Dr. Gene M. Amdahl who had been the chief architect for the IBM System/360 mainframe systems.

Amiga (computer, M/M)
Personal computers from Commodore Business Machines, Inc. that used the AmigaDOS operating system and provided a graphic, window-type interface called Workbench.

AML (computer, language, robotics)
A Manufacturing Language; a high-level language developed by IBM in the 1980s for industrial robots. ["AML: A Manufacturing Language", R.H. Taylor et al, Inst J Robot Res 1(3):19-43].

Ammeter (A/V, electronics)
Electrical instrument for the measurement of electric current. In the usual indicating ammeter, an electromechanical system causes a pointer to traverse a calibrated scale, its position on the scale indicating the value of the current.

AMN (computer, language)
Abstract Machine Notation

(AMN) A language for specifying abstract machines in the B-Method, based on the mathematical theory of Generalised Substitutions.

Amorphous Solid (communications, computer, electronics)
Rigid material whose structure lacks crystalline periodicity; that is the pattern of its constituent atoms or molecules does not repeat periodically in three dimensions. Oxide glasses, generally the silicates, are the most familiar amorphous solids. The uses for amorphous solids are as window glass, container glass, and the glassy polymers (plastics). Established electronic uses include the dielectrics and protective coating used in integrated circuits, and the active element in photocopying, which depends for its action upon photo-conduction in an amorphous semiconductor. In optical communications, a highly transparent dielectric glass in the form of a fibre (cable) is used as the transmission medium.

Ampere: amp (computer, electrical)
Unit of electrical current. Amps times Volts (the force or pressure behind the current) equal Watts (the total measurement of power).

Amplifier (A/V, computer, M/M)
AC or DC powered device that restores signal loss occurring during transmission. It is capable of increasing the magnitude or power level of a physical quantity that is varying with time, without distorting the wave shape of the quantity. The transistor, since its discovery in 1947, has played an important role as an active circuit element in amplifiers. The great majority of amplifiers employ transistors because of their low cost, long life, high reliability, better overall characteristics, and small size. The physical nature of the transistor makes possible circuits that are not possible with vacuum tubes. Amplifier classifications include: cascade, differential, operational, voltage amplifiers, summing amplifiers, integrators, and norton amplifiers.

Amplitude (A/V, communications, electronics)
Maximum magnitude (value without regard to sign) of the disturbance of a wave. The term "disturbance" refers to that property of a wave which perturbs or alters its surrounding. It may connote the displacement of mechanical waves, the pressure variations of a sound wave, or the electrical or magnetic field of light waves. Sometimes in older technical documentation, the word "amplitude" is used for the disturbance, itself.

Amplitude Modulation (AM) (communications)
Term describing the interaction of two signals: carrier and modulator. The modulation of the signal varies the amplitude (intensity) of the carrier by raising and lowering the amplitude of the carrier wave. In AM radio transmission, the carrier is a medium-frequency signal (AM band is from 540 kHz - 1550 kHz), and the modulator is the sound signal. In sound synthesis, a low-frequency oscillator modulates a carrier that is the sound's fundamental frequency. Other types of AM include: Single-sideband modulation (SSB); vestigial-sideband modulation (VSB).

Amplitude Modulation Detector (communications)
Device used for the recovery of the modulating signal from an amplitude-modulated carrier. A detector, like a modulator, must employ a non-linear device and usually includes either a diode or a non-linear amplifier. Detectors are also known as demodulators. Types of detector circuits are: diode detectors; square-law detectors; regenerative detectors; synchronous detectors.

Amplitude Modulation Radio: AM (communications)
Radio communication employing amplitude modulation of a radio-frequency carrier wave as the means of conveying the desired information. In amplitude modulation, the amplitude of the carrier wave is made to vary corresponding to the fluctuation of a sound wave, television image, or other information to be conveyed. Uses of AM Radio include: Low, Medium, High Frequency ranges, AM telephony and telegraphy, single-sideband (SSB) hf telephony, aviation and marine navigation; television broadcasting.

Amplitude Modulator (communications)
Device for amplitude-modulating a carrier signal. The carrier is the radio frequency (rf) in a communications system, but it may also be a carrier signal in a multi-channel cable system, a telemetering system, a control system, or a data-collection system.

Analog (A/V, communications, computer, M/M)
Representation of sound (or video) by an electrical signal where the amplitude is proportional to the signal voltage and the frequency of the sound or variations in brightness are represented by the signal's rate of change in voltage.

Analog Capabilities (A/V, communications, computer, M/M)
Representation of an object or signal that resembles the original. An analog watch can represent time with the rotating hands on the watch face. A digital watch simply represents time in numeric digits. Telephones turn voice vibrations into electrical vibrations of the same wave length or "shape". Analog implies continuous operation in contrast with digital, which is broken up into binary code (numbers). Other examples of analogous information: Photos, Film, Slides, Voice, Video (camera and/or VCRs), seismic measuring, live TV, your eye's images. A thermostat or a thermometer are good examples of a simple "analog computer".

Analog Channel (A/V, communications, computer, M/M)
Communications channel that can carry (transmit/receive) voice or video information, in analog form, from a variable range of signal frequencies.

Analog Computer (computer)
Computer that processes variable information signals. A seismic detector (earthquake detector) that is kept on all the time, that produces a continuously varying ink line is a type of analog computing device. A lie detector with memory storage can be another. A heart rate monitor with storage capacity could be another example, where, if certain variations are recorded, an alarm sequence is engaged. Waveform monitors that store, retrieve, and act upon certain sounds or frequencies could be another example. Direct analog computers are used in the solution of so-called field problems such as conductive and convective heat transfer, fluid flow, and structures. Indirect Analog computers, which are electronic differential analysers, are best suited for the solution of systems or ordinary differential equations. Combined Direct and Indirect Analog computers are used for so-called real-time simulators, where there is a requirement that the solution proceed exactly in step with real time because a person may be part of the overall computing loop. Such simulations allow realistic hardware testing as well as training and evaluation of complex "human-machine" interface systems. This combination of computers is sometimes called "fixed purpose" when the computing system is designed to be dedicated to the real-time simulation. This is the largest and fastest growing application of analog computing.

Analog Monitor (A/V, communications, computer, M/M)
Video display screen capable of synchronizing its display for television signals, video signals, and computer display standards. They have multiple inputs for Red/Green/Blue (RGB), component video such as luminance (Y), chrominance (C), and for NTSC composite video (television channels).

Analog Sound Recording (A/V, production)
Audio recording system in which the electrical sound signal fluctuates exactly like the original sound stimulus over its entire range.

Analog To Digital Converters (ADC) (communications, computer)
Device converting information contained in the value or magnitude of some characteristic of an input signal, compared to a standard or reference, to information in the form of discrete states of a signal, usually with numerical values assigned to the various combinations of discrete states of the signal. Whenever it is necessary to communicate between analog and digital systems, analog-to-digital (A-D) and/or digital to analog (D-A) converters are required. These converters form basic links between the world of "real" phenomena, where the variables are generally continuous analog quantities, and the sequential, systematic world of digital information processing and data communications, where the variables are discrete quantities. In general, the advantages of digital processing and transmission lie in the increased accuracy, noise immunity, processing flexibility, and storage facilities afforded by the digital format. Advantages of digital communications systems have resulted in extensive use of converters as parts of telemetering and voice communications. In telemetering, analog signals originating in remote locations are converted into digital signals, then transmitted to a receiving station. Remote weather and defense monitoring systems fall into this category of applications. In Voice communications systems, analog voice signals are digitized and transmitted over time-shared channels, with many conversations being simultaneously carried over the same channel. These systems can handle both speech and data at the same time while making nearly optimum use of the system's bandwidth capabilities. In Testing and Measurement Systems, many applications of A-D converters can be found such as digital voltmeters, for example, and the inclusion of digital readouts alongside analog displays.

Analytical Engine (Historic/Computer)
Mechanical device (Circa 1840) made up of cogs and wheels, designed by Charles Babbage (1791 - 1871), that embodied the key characteristics of modern computers.

Analytical Graphics (computer)
Traditional line graphs, bar charts, pie charts, used to illustrate and analyse data.

Angle Modulation (A/V, communications)
Modulation where the angle of a sinusoidal carrier is the parameter changed by the modulating wave. This variation in angle may be related to the modulating wave in any predetermined manner. Frequency (FM) and Phase Modulation (PM) are particular forms of Angle Modulation. Often the term Frequency Modulation is used to connote angle modulation. As the frequency of a sinusoidal signal input sweeps across the program frequency band, the output of a typical FM broadcast transmitter often varies from almost pure phase to almost pure Frequency Modulation, and in between, the angle changes.

Angstrom (computer, electrical, physics)
Unit of measurement close to biological density that is approximately 1/25 millionth of one inch. It is used to measure electronic elements in microprocessor design.

Animated Graphics (A/V, computer, M/M)
Moving diagrams, often appearing in computer-generated, animated drawings.
An Evolutionary System for On-line Programming

Analog Hardware Design Language (computer, language)
(AHDL) A language under development by the US Air Force.

(1995-04-09)

analogue (computer, communications)

(US: "analog") A description of a continuously variable signal or a circuit or device designed to handle such signals. The opposite is "discrete" or "digital".

Analogue circuits are much harder to design and analyse than digital ones because the designer must take into account effects such as the gain, linearity and power handling of components, the resistance, capacitance and inductance of PCB tracks, wires and connectors, interference between signals, power supply stability and more. A digital circuit design, especially for high switching speeds, must also take these factors into account if it is to work reliably, but they are usually less critical because most digital components will function correctly within a range of parameters whereas such variations will corrupt the outputs of an analogue circuit.

(1995-11-14)

analogue computer
A machine or electronic circuit designed to work on numerical data represented by some physical quantity (e.g. rotation or displacement) or electrical quantity (e.g. voltage or charge) which varies continuously, in contrast to digital signals which are either 0 or 1.

For example, the turning of a wheel or changes in voltage can be used as input. Analogue computers are said to operate in real time and are used for research in design where many different shapes and speeds can be tried out quickly. A computer model of a car suspension allows the designer to see the effects of changing size, stiffness and damping.

(1995-05-01)

Analogy Model
A method of estimating the cost of a proposed software project by extrapolating from the costs and schedules of similar completed projects.

(1996-05-28)

Analytical Engine

A design for a general-purpose digital computer proposed by Charles Babbage in 1837 as a successor to his earlier special-purpose Difference Engine.

The Analytical Engine was to be built from brass gears powered by steam with input given on punched cards. Babbage could never secure enough funding to build it, and so it was, and never has been, constructed.

anchor (computer, application, html)

(Or "span", "region", "button", "extent") An area within the content of a hypertext node (e.g. a web page) which is the source or destination of a link. A source anchor may be a word, phrase, image, or possibly the whole node. A destination anchor may be a whole node or some position within the node.

Typically, clicking with the mouse on a source anchor causes the link to be followed and the anchor at the opposite end of the link to be displayed. Anchors are highlighted in some way (either always, or when the mouse is over them), or they may be marked by a special symbol.

In HTML anchors are created with the .. construct. The opening A tag of a source anchor has an HREF (hypertext reference) attribute giving the destination in the form of a URL - usually a whole node or "page". E.g.

Destination anchors are only used in HTML to name a position within a page using a NAME attribute. E.g.

(Though it is generally better to break pages into smaller units than to have large pages with named sections).

(1997-11-15)

ANCP (computer)

An early system on the Datatron 200 series.

[Listed in CACM 2(5):16, May 1959].

(1995-11-15)

AND (computer, logic)

(Or "conjunction") The Boolean function which is true only if all its arguments are true. The truth table for the two argument AND function is:


A B A AND B
--+---+---------
F F F
F T F
T F F
T T T



AND is often written as an inverted "V" in texts on logic. In the C programming language it is represented by the && (logical and) operator.

(1997-11-15)

Andorra Kernel Language

(AKL) The successor to KAP by S. Janson .

A prototype implementation is available from the author.

["Programming Paradigms of the Andorra Kernel Language", S. Janson et al in Logic Programming: Proc 1991 Intl Symp, MIT Press 1991].

(1994-11-24)

Andorra-I (computer, language)

A parallel logic programming language with the OR-parallelism of Aurora and the AND-parallelism of Parlog.

["Andorra-I: A Parallel Prolog System that Transparently Exploits both And- and Or-Parallelism", V.S Costa et al, SIGPLAN Notices 26(7):83-93 (July 1991)].

(1995-11-24)

Andorra-Prolog (computer, language)
["Andorra-Prolog: An Integration of Prolog and Committed Choice Languages", S. Haridi et al, Intl Conf Fifth Gen Comp Sys 1988, ICOT 1988].

(1995-11-24)

Andrew File System (computer, application)
(AFS) The distributed file system of the Andrew Project, adopted by the OSF as part of their Distributed Computing Environment.

(1994-11-24)

Andrew Message System (computer, application)

A multimedia interface to electronic mail and bulletin boards, developed as part of the Andrew Project.

(1994-11-24)

Andrew Project (computer, application)

A distributed system project for support of educational and research computing at Carnegie Mellon University, named after Andrew Carnegie, an American philanthropist who provided money to establish CMU.

See also Andrew File System, Andrew Message System, Andrew Toolkit, class.

(1997-11-17)

Angel (computer, operating system)

A single address space, micro-kernel operating system for multiprocessor computers, developed at Imperial College and City University, London, UK.

(1995-11-24)

angle bracket (computer, application)

Either of the characters "<" (less-than, ASCII 60) and ">" (greater-than, ASCII 62). Typographers in the Real World use angle brackets which are either taller and slimmer (the ISO "Bra" and "Ket" characters), or significantly smaller (single or double guillemets) than the less-than and greater-than signs.

See broket.

(1995-11-24)

angry fruit salad (computer, application)

A bad visual-interface design that uses too many colours. (This term derives, of course, from the bizarre day-glo colours found in canned fruit salad). Too often one sees similar effects from interface designers using colour window systems such as X; there is a tendency to create displays that are flashy and attention-getting but uncomfortable for long-term use.

[Jargon File]

(1995-11-24)

Animated GIF (computer, application)

(GIF89a) A variant of the GIF image format, often used on World-Wide Web pages to provide moving icons and banners.

The GIF89a format supports multiple "frames" that give the impression of motion when displayed in sequence, much like a flip book. The animation may repeat continuously or play once.

Animated GIFs aren't supported by earlier web browsers, however the first frame of the image is still shown.

There are many utilities to create animated GIFs from a sequence of individual GIF files. There are also utilities that will produce animated GIFs automatically from a piece of text or a single image.

One problem with this format is the size of the files produced, as they are by definition a sequence of individual images. Apart from minimising the number of frames, the best way to decrease file size is to assist the LZW compression by using blocks of solid colour, avoid dithering, and use fewer colours. If areas of an image don't change from one frame to another, they don't need to be redrawn so make the area a transparent block in the second frame.

(1999-08-01)

animation (computer, application)

The creation of artificial moving images.

(1995-11-24)

Animus (computer, animation)

["Constraint-Based Animation: The Implementation of Temporal Constraints in the Animus System", R. Duisberg, PhD Thesis U Washington 1986].

(1995-11-24)

Annual Change Traffic (computer, application)

(ACT) The fraction of the software product's source code which changes during a year, either through addition or modification. The ACT can be used to determine the product size in order to estimate software maintenance effort.

(1996-05-29)

anonymous FTP (computer, application)

An interactive service provided by many Internet hosts allowing any user to transfer documents, files, programs, and other archived data using File Transfer Protocol. The user logs in using the special user name "ftp" or "anonymous" and his e-mail address as password. He then has access to a special directory hierarchy containing the publically accessible files, typically in a subdirectory called "pub". This is usually a separate area from files used by local users.

(2) means that files are available by anonymous FTP from the host called euagate.eua.ericsson.se in the directory (or file) /pub/eua/erlang/info. Sometimes the hostname will be followed by an Internet address in parentheses. The directory will usually be given as a path relative to the anonymous FTP login directory. A reference to a file available by FTP may also be in the form of a URL starting "ftp:".

See also Archie, archive site, EFS, FTP by mail, World-Wide Web.

(1995-11-26)

ANother Tool for Language Recognition (computer, application)

(ANTLR) The parser generator in the Purdue Compiler-Construction Tool Set.

(1995-10-26)

ANSI C (computer, standards)

(American National Standards Institute C) A revision of C, adding function prototypes, structure passing, structure assignment and standardised library functions. ANSI X3.159-1989.

cgram is a grammar for ANSI C, written in Scheme. unproto is a program for removing function prototypes to translate ANSI C to standard C. lcc is a retargetable compiler for ANSI C.

(1995-11-26)

ANSI X12 (computer, standards)

Standards defining the structure, format, and content of business transactions conducted through Electronic Data Interchange (EDI). ANSI X12 is produced by the committee ASC X12, supported by the Data Interchange Standards Association, Inc. (DISA).

(1999-09-18)

ANSI Z39.50 (computer, standard)

Information Retrieval Service Definition and Protocol Specification for Library Applications, officially known as ANSI/NISO Z39.50-1992, and ANSI/NISO Z39.50-1995. This standard, used by WAIS, specifies an OSI application layer service to allow an application on one computer to query a database on another.

Z39.50 is used in libraries and for searching some databases on the Internet. The US Library of Congress is the official maintanence agency for Z39.50.

Index Data, a Danish company, have released a lot of Z39.50 code. Their web site explains the relevant ISO standards and how they are amicably converging in Z39.50 version 4.0.
(1996-07-22)

ANSI/SPARC Architecture (computer)

ANSI/SPARC model") ANSI/SPARC's layered model of database architecture comprising a physical schema, a conceptual schema and user views.

ANSI (A/V, communications, computer, M/M)
American National Standards Institute - a non-profit organization, founded in 1918, that is involved in developing U.S. standards in both the public and the private sector. ANSI is the U.S. member to the IEC (International Electrotechnical Commission), and the ISO (International Standards Organisation).

ANSI Eight-Bit Character Set (computer/Windows)
Entire set of characters available in Windows fonts. The first 128 characters (including the control characters, the uppercase and lowercase alphabet, the numerals, and the standard punctuation symbols, are the same as the IBM PC character set. The high-bit section of the ANSI character set (characters with values from 128 through 255), however, differs from the high-bit section of the IBM PC character set.

ANSI.SYS (computer/DOS)
Screen control device driver that was included in the DOS operating system. It provided for screen control and cursor movement as well as clearing portions of the screen. It was also used as a keyboard macro-instruction processor to assign a string of commands to a function key or to re-assign different keyboard keys.

Antenna (communications)
Device or element of a radio system especially designed to couple electromagnetic energy between free space and transmission lines. At a radio transmitter the antenna couples energy from the transmitter circuits into free space, thus serving to radiate the transmitter output as radio waves. At the radio receiver, the antenna couples energy from the radio waves into the receiver circuits. An antenna used for transmission differs significantly from those used for reception because of the power levels they use to operate. A transmission antenna (to local, geographical, world-wide, satellite) must handle larger powers. The receiving antenna handles negligible power. For these reasons, antennas are classified by use. They may also be classified by their operating frequency. Some of the different types include: Array Antennas; Direct-Aperture; Doppler; Frequency-independent; Reflector and Two-Reflector; Resonant & Non-Resonant Antennas.

Anti-Aliasing (A/V, computer, M/M)
Method (hardware, filter, software algorithm) that prevents or minimises aliasing effects seen in video displays (softening and rounding jagged edges) or in audio, specific sound frequency losses, or unwanted sounds that occur during audio sampling or playback.

Anticipated Carry Adder (computer/microelectronics)
Parallel ADDER in which each stage is capable of looking back at all ADDEND and AUGEND bits of less significant stages and deciding whether the less significant bits provide a "0" or a "1" CARRY IN. Having determined the CARRY IN, it combines with its own ADDEND and AUGEND to give the SUM for that bit or state. Also called FAST ADDER or look ahead CARRY ADDER.

Antiresonance (communications)
Condition for which impedance of a given electric, acoustic, dynamic system is very high, approaching infinity. In an electric circuit with a capacitor and a coil in parallel, antiresonance occurs when alternating-current line voltage and the resultant current are in phase. Then, the line current is very small due to the high impedance of the parallel circuit at antiresonance. The branch currents are almost equal in magnitude and opposite in phase. The principle of antiresonance is used in wave traps, which are sometimes inserted in series with antennas for radio receivers to block the flow of alternating current at the frequency of an interfering station, while allowing other frequencies to pass.

Antivirus Software Packages (computer)
Application programs that can detect and remove a computer virus that was picked up via a diskette, a data transmission over a modem, etc.

APAREL (computer, language)
A PArse REquest Language; a PL/I extension to provide BNF parsing routines, for IBM 360. ["APAREL: A Parse Request Language", R.W. Balzer et al, CACM 12(11) (Nov 1969)].

Aperture (A/V, production)
Adjustable Diaphragm of a lens, usually measured in f-stops. Located in the camera lens it controls the amount of light reaching the film or video tube (also called Iris).

Aperture Grill (A/V, production)
Masking screen on video monitors serving the same function as a shadow mask; a perforated metal screen used as a component part of a kine tube on a picture, monitor , or TV receiver, which, through the use of holes or slots, aligns the three RGB (Red, Green, Blue) beams so they strike the correct phosphor coating on the viewing screen of the tube.

APL (computer, language)
A Programming Language; a language designed originally by Ken Iverson at Harvard University in 1957-1960 as a notation for the concise expression of mathematical algorithms. It went unnamed (or just called Iverson's Language) and unimplemented for many years. Finally a subset, APL\360, was implemented in 1964.

APL is an interactive array-oriented language and programming environment with many innovative features. It was originally written using a non-standard character set but now can use ISO8485. It is dynamically typed with dynamic scope. APL introduced several functional forms but is not purely functional.

Dyadic Systems APL/W is one of the languages available under Microsoft's .NET initative.

Versions: APL\360, APL SV, Dyalog APL, VS APL, Sharp APL, Sharp APL/PC, APL*PLUS, APL*PLUS/PC, APL*PLUS/PC II, MCM APL, Honeyapple, DEC APL, Cognos APL2000, IBM APL2.

See also Kamin's interpreters.

APLWEB translates WEB to APL.

Dijkstra said that APL was a language designed to perfection - in the wrong direction. ["A Programming Language", Kenneth E. Iverson, Wiley, 1962]. ["APL: An Interactive Approach", 1976].

APPEND (computer/DOS)
DOS Command used to direct DOS to look for files in locations other than current directory. DOS begins a search with a current directory and proceeds to all other directories in the order they are listed. Using the append command, only the first matching data file is returned.

API (communications, computer/Windows)
Application Program Interface - generically, a method of accessing or modifying the operating system of a program. In Windows, API refers to functions provided by Windows allowing applications to open and close windows, read the keyboard, interpret the mouse movements, etc. Programmers call these functions hooks to the operating system. In Local Area Network terminology, any standardised set of software interrupts, calls, and data format used to initiate network services.

APL (A/V)
Average signal level with respect to blanking level during the active picture scanning time expressed as a percentage of difference between blanking and reference white.
Apollo Computer

A company making workstations often used for CAD.

From 1980 to 1987, Apollo were the largest manufacturer of network workstations. Apollo workstations ran Aegis, a proprietary operating system with a Posix-compliant Unix alternative frontend. Apollo's networking was particularly elegant, among the first to allow demand paging over the network, and allowing a degree of network transparency and low sysadmin-to-machine ratio that is still unmatched.

Apollo's largest customers were Mentor Graphics (electronic design), GM, Ford, Chrysler, and Boeing (mechanical design). Apollo was acquired by Hewlett-Packard in 1989, and gradually closed down over the period 1990-1997.



Applet (computer/Windows)
Windows application designed to accomplish a single, often simple task. The applet is usually included with a commercial product, but it is not sold as a product by itself. The Packager and Character Map applications supplied with Windows 3.1 were early types of Applets.

applet (computer, Java program)

A Java program which can be distributed as an attachment in a World-Wide Web document and executed by a Java-enabled web browser such as Sun's HotJava, Netscape Navigator version 2.0, or Internet Explorer.

Navigator severely restricts the applet's file system and network access in order to prevent accidental or deliberate security violations. Full Java applications, which run outside of the browser, do not have these restrictions.

Web browsers can also be extended with plug-ins though these differ from applets in that they usually require manual installation and are platform-specific. Various other languages can now be embedded within HTML documents, the most common being JavaScript.

Despite Java's aim to be a "write once, run anywhere" language, the difficulty of accomodating the variety of browsers in use on the Internet has led many to abandon client-side processing in favour of server-side Java programs for which the term servlet was coined.

Merriam Webster "Collegiate Edition" gives a 1990 definition: a short application program especially for performing a simple specific task.

Apple Attachment Unit Interface

(AAUI) A 14-position, 0.050-inch-spaced ribbon contact connector. Early Power Macintosh and Quadras had an AAUI (Apple Attachment Unit Interface) port (rectangular shaped) for Ethernet, which requires a transceiver. To use twisted pair cabling, you would need to get a twisted pair transceiver for the computer with an AAUI port. Some Power Macintosh computers had both an AAUI and RJ-45 port; you can use one or the other, but not both.

The pin-out is:

Pin Signal Name Signal Description
---- -------------- ---------------------------------
1 FN Pwr Power (+12V @ 2.1W or +5V @ 1.9W)
2 DI-A Data In circuit A
3 DI-B Data In circuit B
4 VCC Voltage Common
5 CI-A Control In circuit A
6 CI-B Control In circuit B
7 +5V +5 volts (from host)
8 +5V Secondary +5 volts (from host)
9 DO-A Data Out circuit A
10 DO-B Data Out circuit B
11 VCC Secondary Voltage Common
12 NC Reserved
13 NC Reserved
14 FN Pwr Secondary +12V @ 2.1W or +5V @ 1.9W
Shell Protective Gnd Protective Ground

AAUI signals have the same description, function, and electrical requirements as the AUI signals of the same name, as detailed in IEEE 802.3-1990 CSMA/CD Standard, section 7.

Apple Computer, Inc.
Manufacturers of the Macintosh range of personal computers as well as the earlier Apple I, Apple II and Lisa. Founded on 1 April 1976 by Steve Jobs and Steve Wozniak.

Apples were among the first microcomputers. They originally used the 6502 processor and are still being made (August 1994), now using the 65816. The Apple II line, which includes the Apple I, is the longest existing line of microcomputers.

Steve Jobs left Apple (involuntarily) and started NeXT and later returned when Apple bought NeXT in late 1997(?).

Quarterly sales $2150M, profits $138M (Aug 1994). Home.

Apple Computers
Family of computers using Apple software and hardware (initially using Motorola chips). Apple holds about 05% of the PC market as opposed to IBM PCs and PC-compatibles (95%) (chips from Intel, AMD, NEC, Fujitsu, C&T, etc.).

Apple II
An 8-bit personal computer with a 6502 processor, from Apple Computer. It was invented by Steve Wozniak and was very popular from about 1980 until the first several years of MS-DOS IBM PCs.

Apple Newton

A Personal Digital Assistant produced by Apple Computer. The Newton provides a clever, user-friendly interface and relies solely on pen-based input. Eagerly anticipated, the Newton uses handwriting recognition software to "learn" the users handwriting and provide reliable character recognition.

Various third-party software applications are available and add-on peripherals like wireless modems for Internet access are being sold by Apple Computer, Inc. and its licensees.

Newton Inc.'s NewtonOS competes with Microsoft Corporation's Windows CE, and was to be compatible with DEC's StrongARM SA-1100, an embedded 200MHz microprocessor, which was due in 1998.

AppleScript
An object-oriented shell language for the Macintosh, approximately a superset of HyperTalk.

(1995-12-10)

Apple File Protocol (communications/LANs)
Suite of proprietary protocols that was associated with Apple's local area network.

AppleShare (computer)
Program from Apple Computer that converted a Macintosh workstation into a file server.

AppleSoftBASIC (computer)
Apple II version of BASIC that was already resident in the Apple II when it was ordered.

Apple Talk (communications, computer)
Apple Computer's Local Area Network that was based on the ISO/OSI model, and that was built into the Macintosh, the Apple IIGS and LaserWriter printers.

AppleWorks (computer)
Software package from Claris Corp. that ran on Apple II's that included communications, a database manager, graphics facility, spreadsheet facility, and word processor.

Application (computer)
Specific use of a computer at a given point in time and usage.

Application Developer (computer)
Generally, a programmer or systems analyst that develops an application.

Application Development System (computer)
Programming language that provides for the development of application programs.
Application Binary Interface

(ABI) The interface by which an application program gains access to operating system and other services. It should be possible to run the same compiled binary applications on any system with the right ABI.

Examples are 88open's Binary Compatibility Standard, the PowerOpen Environment and Windows sockets.

(1994-11-08)

Application Configuration Access Protocol
(ACAP) A protocol which enhances IMAP by allowing the user to set up address books, user options, and other data for universal access. Currently (Feb 1997) no Internet proprietary products have implemented ACAP because the Internet Engineering Task Force has not yet approved the final specification. This was expected early in 1997.

["Your E-Mail Is Obsolete", Byte, Feb 1997].

(1997-05-03)

Application environment specification (computer, programming)

(AES)
A set of specifications from OSF for programming and user interfaces, aimed at providing a consistent application environment on different hardware. It includes "O/S" for the operating system (user commands and program interfaces), "U/E" for the User Environment (Motif), and "N/S" for Network services.

(1994-12-07)

Application Executive
(AE) An embeddable language, written as a C interpreter by Brian Bliss at UIUC. AE is compiled with an application and thus exists in the same process and address space. It includes a dbx symbol table scanner to access compiled variables and routines, or you can enter them manually by providing a type/name declaration and the address. When the interpreter is invoked, source code fragments are read from the input stream (or a string), parsed, and evaluated immediately. The user can call compiled functions in addition to a few built-in intrinsics, declare new data types and data objects, etc. Different input streams can be evaluated in parallel on Alliant computers.

AE has been ported to SunOS (cc or gcc), Alliant FX and Cray YMP (soon).

(1992-04-21)

Application Generator (computer)
Software generating application programs from problem descriptions rather than program details.

Applications Icon (computer/Windows)
Graphic that appeared only after an application was started and then it was "minimized". Application icons were the only icons that appear on the desktop, outside window borders.

Application Layer (computer)
Seventh layer (highest) of the ISO/OSI protocol model, it includes interaction at the end user or application level, such as e-mail, database management, file-server software.

Application Programs/Packages (computer)
Programs that are written to solve specific problems, to produce specific reports, to update specific files: software products resulting from the creation of a program. A specific use for computers, synonymous with application programs or software packages. For example, Word, WordPerfect, Excel, Access, Lotus, Paradox, etc., are all application programs. It refers to the running programs and the files and databases that are being worked on. Contrast with system software (i.e. DOS, Windows AppleDOS, Unix, etc.). Applications are distinguished by the operating systems they are designed to run under (DOS, Windows, AppleDOS, Unix etc.).


Application Program Interface

(API, or "application programming interface") The interface (calling conventions) by which an application program accesses operating system and other services. An API is defined at source code level and provides a level of abstraction between the application and the kernel (or other privileged utilities) to ensure the portability of the code.

An API can also provide an interface between a high level language and lower level utilities and services which were written without consideration for the calling conventions supported by compiled languages. In this case, the API's main task may be the translation of parameter lists from one format to another and the interpretation of call-by-value and call-by-reference arguments in one or both directions.

(1995-02-15)

applicative language (computer, language)
A functional language. Sometimes used loosely for any declarative language though logic programming languages are declarative but not applicative.

(1995-12-24)

Applicative Language for Digital Signal Processing
(ALDiSP) A functional language with special features for real-time I/O and numerical processing, developed at the Technical University of Berlin in 1989.

["An Applicative Real-Time Language for DSP - Programming Supporting Asynchronous Data-Flow Concepts", M. Freericks in Microprocessing and Microprogramming 32, N-H 1991].

(1995-04-19)

applicative order reduction (computer, logic)

An evaluation strategy under which an expression is evaluated by repeatedly evaluating its leftmost innermost redex. This means that a function's arguments are evaluated before the function is applied. This method will not terminate if a function is given a non-terminating expression as an argument even if the function is not strict in that argument. Also known as call-by-value since the values of arguments are passed rather than their names. This is the evaluation strategy used by ML, Scheme, Hope and most procedural languages such as C and Pascal.

See also normal order reduction, parallel reduction.

Application Shortcut Key (computer/Windows)
Key combination that brought an application to the foreground when running the Windows Software Application Program, and when in 386 enhanced mode.

Application Swap File (computer/Windows)
Temporary disk file that was used by Windows to store some or all of the information used by a non-Windows application when switched away from that application. Windows used application swap files only when running in standard mode.

Application Window (computer/Windows)
One of the two main types of windows that were used in Windows; the other type was called a document window. An application window holds an entire application, or program. A document window holds a document used by an application.

APPLOG

A language which unifies logic programming and functional programming.

["The APPLOG Language", S. Cohen in Logic Programming, deGroot et al eds, P-H 1986, pp.39-276].

(1995-01-25)

APRIL (computer, logic)

Application Rational Interface Logic (computer, chip)

a logic chip from IBM that applied neural network concepts that included learning capabilities from the surrounding environment.

approximation algorithm (computer, algorithm)

An algorithm for an optimisation problem that generates feasible but not necessarily optimal solutions.

Unlike "heuristic", the term "approximation algorithm" often implies some proven worst or average case bound on performance. The terms are often used interchangeably however.

(1997-10-28)

AQL (computer, language)

A picture query language, extension of APL.

["AQL: A Relational Database Management System and Its Geographical Applications", F. Antonacci et al, in Database Techniques for Pictorial Applications, A. Blaser ed, pp. 569-599].

(1995-05-04)

Arbitration (computer)
Rules for allocating computer resources (memory, disks, printers) to more than one user.

Arc (A/V, production)
Move a camera with a dolly or truck movement. To "arc left" is to dolly in or out in a camera-left curve, or truck left in a curve around the object; to "arc right" means dolly in or out in a camera-right curve, or truck right in a curve around the object.
arc

1. An old archive format for IBM PC. The format is now so obscure that it is only likely to be supported by jack-of-all-trades decompression programs such as WINZIP.

2. An edge in a tree. "branch" is a generally more common synonym.

(1998-12-29)

ARC
Advanced RISC Computing Specification

Arc Discharge (communications, electronics)
Type of electrical conduction in gases characterised by high current density and low potential drop. It is closely related to the glow discharge but has a much lower potential drop in the cathode region as well as greater current density. Many applications exist for such devices, some with large commercial value: illuminating devices, high current rectifiers, high-current switches, welding devices.
archie

A system to automatically gather, index and serve information on the Internet. The initial implementation of archie by McGill University School of Computer Science provided an indexed directory of filenames from all anonymous FTP archives on the Internet. Later versions provide other collections of information.

See also archive site, Gopher, Prospero, Wide Area Information Servers.

(1995-12-28)

Archimedes (computer, microcomputers)
A family of microcomputers produced by Acorn Computers, Cambridge, UK. The Archimedes, launched in June 1987, was the first RISC based personal computer (predating Apple Computer's Power Mac by some seven years). It uses the Advanced RISC Machine (ARM) processor and includes Acorn's multitasking operating system and graphical user interface, RISC OS on ROM, along with an interpreter for Acorn's enhanced BASIC, BASIC V.

The Archimedes was designed as the successor to Acorn's sucessful BBC Microcomputer series and includes some backward compatibility and a 6502 emulator. Several utilities are included free on disk (later in ROM) such as a text editor, paint and draw programs. Software emulators are also available for the IBM PC as well as add-on Intel processor cards.

There have been several series of Archimedes: A300, A400, A3000, A5000, A4000 and RISC PC.

Architecture (communications, computer)
a) Organisational structure of micro-computing systems showing such detail as the number of registers, memory, distribution, software instructions, operating speeds, etc.

b) Organisational structure of a network (local, building, metropolitan, wide-area, national) showing such detail as outlets, zones, wiring closets, network control, PBXs, network hubs, network routing, terrestrial and satellite routing, inter and intra-networking.

Architecture Neutral Distribution Format

ANDF (computer, standards)

a) Data elements arranged in an established order: Vector = 1 dimensional array; Matrix = 2 dimensional array. An array element is one element of data in any array.

array (computer, data types)

1. A collection of identically typed data items distinguished by their indices (or "subscripts"). The number of dimensions an array can have depends on the language but is usually unlimited.

An array is a kind of aggregate data type. A single ordinary variable (a "scalar") could be considered as a zero-dimensional array. A one-dimensional array is also known as a "vector".

A reference to an array element is written something like A[i,j,k] where A is the array name and i, j and k are the indices. The C language is peculiar in that each index is written in separate brackets, e.g. A[i][j][k]. This expresses the fact that, in C, an N-dimensional array is actually a vector, each of whose elements is an N-1 dimensional array.

Elements of an array are usually stored contiguously. Languages differ as to whether the leftmost or rightmost index varies most rapidly, i.e. whether each row is stored contiguously or each column (for a 2D array).

Arrays are appropriate for storing data which must be accessed in an unpredictable order, in contrast to lists which are best when accessed sequentially.

See also associative array.

2. A processor array, not to be confused with an array processor.

(1995-01-25)

Array Theory

A theory developed by Trenchard More Jr. and used as the basis for the NIAL language.

Papers are available from the IBM Cambridge Scientific Center, Cambridge MA.

(1995-01-25)

b) Integrated circuits designed to perform subsystem operations. Characterised by high complexity and component density, each array package replaces a number of conventional integrated circuits. Arrays are classified as medium-scale or larger-scale according to functions performed. They can be monolithic or fabricated on a silicon wafer.

Array Processor (computer/microelectronics)
Processor or extension of an arithmetic logic unit (ALU), performing concurrent or parallel computations on array elements in differing dimensions, such as the animation of 3-dimensional objects, or data elements that can be read and acted upon concurrently.

Artwork (computer/microelectronics)
Original pattern or configuration produced in enlarged ratio, from which a circuit product is made using a technique of photographic reduction to achieve "micro" scale; also, layouts and photographic films created to produce thick film screens and thin film masks.
Artemis microkernel

A microkernel currently under development by Dave Hudson , scheduled for release under GPL in May 1995. It is targeted at embedded applications on Intel 80386, Intel 486 and Pentium based systems.

(1995-03-29)

Artifex (computer, distributed systems)

A CASE environment from ARTIS of Turin for the development of large event-driven distributed systems. It has code-generation and rapid prototyping features.

(1996-01-24)

artificial intelligence

(AI) The subfield of computer science concerned with the concepts and methods of symbolic inference by computer and symbolic knowledge representation for use in making inferences. AI can be seen as an attempt to model aspects of human thought on computers. It is also sometimes defined as trying to solve by computer any problem that a human can solve faster. The term was coined by Stanford Professor John McCarthy, a leading AI researcher.

Examples of AI problems are computer vision (building a system that can understand images as well as a human) and natural language processing (building a system that can understand and speak a human language as well as a human). These may appear to be modular, but all attempts so far (1993) to solve them have foundered on the amount of context information and "intelligence" they seem to require.

The term is often used as a selling point, e.g. to describe programming that drives the behaviour of computer characters in a game. This is often no more intelligent than "Kill any humans you see; keep walking; avoid solid objects; duck if a human with a gun can see you".

See also AI-complete, neats vs. scruffies, neural network, genetic programming, fuzzy computing, artificial life.

ACM SIGART. U Cal Davis. CMU Artificial Intelligence Repository.

(2002-01-19)


Artificial Life

(a-life) The study of synthetic systems which behave like natural living systems in some way. Artificial Life complements the traditional biological sciences concerned with the analysis of living organisms by attempting to create lifelike behaviours within computers and other artificial media. Artificial Life can contribute to theoretical biology by modelling forms of life other than those which exist in nature. It has applications in environmental and financial modelling and network communications.

There are some interesting implementations of artificial life using strangely shaped blocks. A video, probably by the company Artificial Creatures who build insect-like robots in Cambridge, MA (USA), has several mechanical implementations of artificial life forms.

See also evolutionary computing, Life.

artificial neural network

(ANN, commonly just "neural network" or "neural net") A network of many very simple processors ("units" or "neurons"), each possibly having a (small amount of) local memory. The units are connected by unidirectional communication channels ("connections"), which carry numeric (as opposed to symbolic) data. The units operate only on their local data and on the inputs they receive via the connections.

A neural network is a processing device, either an algorithm, or actual hardware, whose design was inspired by the design and functioning of animal brains and components thereof.

Most neural networks have some sort of "training" rule whereby the weights of connections are adjusted on the basis of presented patterns. In other words, neural networks "learn" from examples, just like children learn to recognise dogs from examples of dogs, and exhibit some structural capability for generalisation.

Neurons are often elementary non-linear signal processors (in the limit they are simple threshold discriminators). Another feature of NNs which distinguishes them from other computing devices is a high degree of interconnection which allows a high degree of parallelism. Further, there is no idle memory containing data and programs, but rather each neuron is pre-programmed and continuously active.

The term "neural net" should logically, but in common usage never does, also include biological neural networks, whose elementary structures are far more complicated than the mathematical models used for ANNs.

ARTSPEAK

simple language for plotter graphics.

["The Art of Programming, ARTSPEAK", Henry Mullish, Courant Inst (Nov 1974)].

(1995-02-21)

AS/400

An IBM minicomputer for small business and departmental users, released in 1988 and still in production in October 1998.

Features include a menu-driven interface, multi-user support, terminals that are (in the grand IBM tradition) incompatible with anything else including the IBM 3270 series, and an extensive library-based operating system.

The machine survives because its API layer allows the operating system and application programs to take advantage of advances in hardware without recompilation and which means that a complete system that costs $9000 runs the exact same operating system and software as a $2 million system. There is a 64-bit RISC processor operating system implementation.

Programming languages include RPG, assembly language, C, COBOL, SQL, BASIC, and REXX. Several CASE tools are available: Synon, AS/SET, Lansa.

Home.

(1999-07-26)

AS (computer)
Application System - a 4GL (fourth generation language) that ran on IBM mainframes under the MVS (Multiple Virtual Storage) Operating System.

ASA (A/V)
American Standards Association: publishes motion picture film dimensions and usage as well as sound and television standards.

asbestos (computer, jargon)

Used as a modifier to anything intended to protect one from flames; also in other highly flame-suggestive usages. E.g., asbestos longjohns, asbestos cork award.

[Jargon File]

(1996-02-06)

asbestos cork award (computer, jargon)

Once, long ago at MIT, there was a flamer so consistently obnoxious that another hacker designed, had made, and distributed posters announcing that said flamer had been nominated for the "asbestos cork award". (Any reader in doubt as to the intended application of the cork should consult the etymology under flame.) Since then, it is agreed that only a select few have risen to the heights of bombast required to earn this dubious dignity - but there is no agreement on *which* few.

[Jargon File]

(1996-02-06)

asbestos longjohns (computer, jargon)

Notional garments donned by Usenet posters just before emitting a remark they expect will elicit flamage. This is the most common of the asbestos coinages. Also "asbestos underwear", "asbestos overcoat", etc.

[Jargon File]

(1997-07-04)

ascender

A lowercase letter that extends above the "x-height" (the height of the letter "x"), such as "d", "t", or "h". Also used to denote the part of the letter extending above the x-height.

Compare descender.

ASCII (communications, computer)
American Standard Code for Information Interchange, it is a binary code for data that is used in communications, most minicomputers and all personal computers. ASCII is a 7-bit code providing 128 possible character combinations, the first 32 of which are used for printing and transmission control. Since the common storage unit is an 8-bit byte (256 combinations) and ASCII uses only 128, the extra bit is used to hold a parity bit or special symbols. The PC uses the additional values for foreign language and graphics symbols. Apple/Macintosh, use additional (proprietary) values for user-defined font enhancements. There is no standard for symbols or special characters beyond ASCII. That is why different Word Processors do not support each other's special characters. An ASCII file contains characters coded in ASCII. Only the first 128 characters within the 256 combinations in a byte conform to the ASCII standard. The rest are all used differently depending on the software application program.
ASCII character table

The following list gives the octal, decimal and hexadecimal ASCII codes for each character along with its printed representation and common name(s).


Oct Dec Hex Name
000 0 0x00 NUL
001 1 0x01 SOH, Control-A
002 2 0x02 STX, Control-B
003 3 0x03 ETX, Control-C
004 4 0x04 EOT, Control-D
005 5 0x05 ENQ, Control-E
006 6 0x06 ACK, Control-F
007 7 0x07 BEL, Control-G
010 8 0x08 BS, backspace, Control-H
011 9 0x09 HT, tab, Control-I
012 10 0x0a LF, line feed, newline, Control-J
013 11 0x0b VT, Control-K
014 12 0x0c FF, form feed, NP, Control-L
015 13 0x0d CR, carriage return, Control-M
016 14 0x0e SO, Control-N
017 15 0x0f SI, Control-O
020 16 0x10 DLE, Control-P
021 17 0x11 DC1, XON, Control-Q
022 18 0x12 DC2, Control-R
023 19 0x13 DC3, XOFF, Control-S
024 20 0x14 DC4, Control-T
025 21 0x15 NAK, Control-U
026 22 0x16 SYN, Control-V
027 23 0x17 ETB, Control-W
030 24 0x18 CAN, Control-X
031 25 0x19 EM, Control-Y
032 26 0x1a SUB, Control-Z
033 27 0x1b ESC, escape
034 28 0x1c FS
035 29 0x1d GS
036 30 0x1e RS
037 31 0x1f US
040 32 0x20 space
041 33 0x21 !, exclamation mark
042 34 0x22 ", double quote
043 35 0x23 #, hash
044 36 0x24 $, dollar
045 37 0x25 %, percent
046 38 0x26 &, ampersand
047 39 0x27 ', quote
050 40 0x28 (, open parenthesis
051 41 0x29 ), close parenthesis
052 42 0x2a *, asterisk
053 43 0x2b +, plus
054 44 0x2c ,, comma
055 45 0x2d -, minus
056 46 0x2e ., full stop
057 47 0x2f /, oblique stroke
060 48 0x30 0, zero
061 49 0x31 1
062 50 0x32 2
063 51 0x33 3
064 52 0x34 4
065 53 0x35 5
066 54 0x36 6
067 55 0x37 7
070 56 0x38 8
071 57 0x39 9
072 58 0x3a :, colon
073 59 0x3b ;, semicolon
074 60 0x3c <, less than 075 61 0x3d =, equals 076 62 0x3e >, greater than
077 63 0x3f ?, question mark
0100 64 0x40 @, commercial at
0101 65 0x41 A
0102 66 0x42 B
0103 67 0x43 C
0104 68 0x44 D
0105 69 0x45 E
0106 70 0x46 F
0107 71 0x47 G
0110 72 0x48 H
0111 73 0x49 I
0112 74 0x4a J
0113 75 0x4b K
0114 76 0x4c L
0115 77 0x4d M
0116 78 0x4e N
0117 79 0x4f O
0120 80 0x50 P
0121 81 0x51 Q
0122 82 0x52 R
0123 83 0x53 S
0124 84 0x54 T
0125 85 0x55 U
0126 86 0x56 V
0127 87 0x57 W
0130 88 0x58 X
0131 89 0x59 Y
0132 90 0x5a Z
0133 91 0x5b [, open square bracket
0134 92 0x5c \, backslash
0135 93 0x5d ], close square bracket
0136 94 0x5e ^, caret
0137 95 0x5f _, underscore
0140 96 0x60 `, back quote
0141 97 0x61 a
0142 98 0x62 b
0143 99 0x63 c
0144 100 0x64 d
0145 101 0x65 e
0146 102 0x66 f
0147 103 0x67 g
0150 104 0x68 h
0151 105 0x69 i
0152 106 0x6a j
0153 107 0x6b k
0154 108 0x6c l
0155 109 0x6d m
0156 110 0x6e n
0157 111 0x6f o
0160 112 0x70 p
0161 113 0x71 q
0162 114 0x72 r
0163 115 0x73 s
0164 116 0x74 t
0165 117 0x75 u
0166 118 0x76 v
0167 119 0x77 w
0170 120 0x78 x
0171 121 0x79 y
0172 122 0x7a z
0173 123 0x7b {, open curly bracket
0174 124 0x7c , vertical bar
0175 125 0x7d }, close curly bracket
0176 126 0x7e ~, tilde
0177 127 0x7f delete

See NUL, SOH, STX, ETX, ETX, EOT, ENQ, ACK, BEL, BS, HT, line feed, VT, FF, CR, SO, SI, DLE, XON, DC1, DC2, DC3, DC4, NAK, SYN, ETB, CAN, EM, SUB, ESC, FS, GS, RS, US, space, exclamation mark, double quote, hash, dollar, percent, ampersand, quote, open parenthesis, close parenthesis, asterisk, plus, comma, minus, full stop, oblique stroke, colon, semicolon, less than, equals, greater than, question mark, commercial at, open square bracket, backslash, close square bracket, caret, underscore, back quote, open curly bracket, vertical bar, close curly bracket, tilde, delete.

(1996-06-24)

ASDL (computer, language)
Abstract-Type and Scheme-Definition Language
A language developed as part of Esprit project GRASPIN, as a basis for generating language-based editors and environments. It combines an object-oriented type system, syntax-directed translation schemes and a target-language interface.

["ASDL - An Object-Oriented Specification Language for Syntax-Directed Environments", M.L. Christ-Neumann et al, European Software Eng Conf, Strasbourg, Sept 1987, pp.77-85].

As Fired (computer/microelectronics)
Description of properties of ceramic substrates (smoothness) or thick film resistors (values) as they emerge from furnace processing, before any trimming or polishing.

ASIC (computer)
Application Specific Integrated Circuit - specialised microprocessors that are programmed for a specific function or purpose. An example could be a digital signal processor that has been dedicated to digitising a range of audio sounds (frequencies). Because ASICs are task specific they can enhance the processing speed of a CPU by taking over the specific function, relieving clock cycles and memory access/retrieval from the main CPU (Central Processing Unit).

ASIS (computer/sciences)
American Society for Information Sciences - a non-profit professional association organised for scientific, literary, educational purposes, and dedicated to the creation, organisation, dissemination, and application of knowledge concerning information and its transfer, with particular emphasis on the applications of modern technologies. ASIS was founded on 13 March, 1937, as the American Documentation Institute (ADI).

ASM (computer)
Association for Systems Management - international organisation, founded in 1947, it is dedicated to the proper use of information resource management, and to the creation of a broader understanding and acceptance of the systems function as a component of effective management. ASM was charted in Delaware in 1947 as the Systems and Procedures Association (SPA). Its name was changed in 1969 to reflect the broader scope of the systems field. ASM is organised into 125 chapters in five regions covering North and South America, Europe, Africa, Middle East, Asia and the South Pacific.

ASN.1 (communications, computer)
Abstract Syntax Notation.1 - description of data format in the ISO/OSI Model (layer 7).

(ASN.1, X.208, X.680) An ISO/ITU-T standard for transmitting structured data on networks, originally defined in 1984 as part of CCITT X.409 '84. ASN.1 moved to its own standard, X.208, in 1998 due to wide applicability. The substantially revised 1995 version is covered by the X.680 series.

ASN.1 defines the abstract syntax of information but does not restrict the way the information is encoded. Various ASN.1 encoding rules provide the transfer syntax (a concrete representation) of the data values whose abstract syntax is described in ASN.1. The standard ASN.1 encoding rules include BER (Basic Encoding Rules - X.209), CER (Canonical Encoding Rules), DER (Distinguished Encoding Rules), and PER (Packed Encoding Rules).

ASN.1 together with specific ASN.1 encoding rules facilitates the exchange of structured data especially between application programs over networks by describing data structures in a way that is independent of machine architecture and implementation language.

OSI Application layer protocols such as X.400 MHS electronic mail, X.500 directory services and SNMP use ASN.1 to describe the PDUs they exchange.

Documents describing the ASN.1 notations: ITU-T Rec. X.680, ISO 8824-1; ITU-T Rec. X.681, ISO 8824-2; ITU-T Rec. X.682, ISO 8824-3; ITU-T Rec. X.683, ISO 8824-4

Documents describing the ASN.1 encoding rules: ITU-T Rec. X.690, ISO 8825-1; ITU-T Rec. X.691, ISO 8825-2.

aspect (computer, programming)
In aspect-oriented programming, a modular unit of control over emergent entities.

(1999-08-31)

ASpecT
Algebraic specification of abstract data types. A strict functional language that compiles to C.

Versions of ASpecT are available for Sun, Ultrix, NeXT, Macintosh, OS/2 2.0, Linux, RS/6000, Atari, Amiga.

ftp://wowbagger.uni-bremen.de/pub/programming/languages.

(1996-03-25)

ASPECT
An IPSE developed by an Alvey project, using Z to specify the object-management system and tool interface.

(1996-03-25)

aspect-oriented programming
(AOP) A style of programming that attempts to abstract out features common to many parts of the code beyond simple functional modules and thereby improve the quality of software.

Mechanisms for defining and composing abstractions are essential elements of programming languages. The design style supported by the abstraction mechanisms of most current languages is one of breaking a system down into parameterised components that can be called upon to perform a function.

But many systems have properties that don't necessarily align with the system's functional components, such as failure handling, persistence, communication, replication, coordination, memory management, or real-time constraints, and tend to cut across groups of functional components.

While they can be thought about and analysed relatively separately from the basic functionality, programming them using current component-oriented languages tends to result in these aspects being spread throughout the code. The source code becomes a tangled mess of instructions for different purposes.

This "tangling" phenomenon is at the heart of much needless complexity in existing software systems. A number of researchers have begun working on approaches to this problem that allow programmers to express each of a system's aspects of concern in a separate and natural form, and then automatically combine those separate descriptions into a final executable form. These approaches have been called aspect-oriented programming.

(1999-11-21)

Aspect Ratio (A/V, computer, M/M)
Ratio established between height and width of a screen or image so that when video or graphic images are transferred from one system to another the aspect ratio is maintained. The ratio for Television is: 3:4. (h:w). For 35mm Film the ratio is: 3:4 (h:w). For cinema with wide screen formats, in common use it is: 1:1.85 and 1:2.35. For emerging HDTV (high definition television) it is: 9:16 (h:w).

Aspirin (computer, language)

A freeware language from MITRE Corporation for the description of neural networks. A compiler, bpmake, is included. Aspirin is designed for use with the MIGRAINES interface.

Version: 6.0, as of 1995-03-08.

(1995-03-08)

ASPOL (computer, language)
A Simulation Process-Oriented Language; an ALGOL-like language for computer simulation. ["Process and Event Control in ASPOL", M.H. MacDougall, Proc Symp on Simulation of Computer Systems, NBS (Aug 1975)].

Assembler (computer)
An assembler (contraction for "assembly program") is a program that facilitates the preparation of programs at the machine language level by taking symbolic representations of individual (instruction or data) words and converting them into a form (binary or byte) suitable for input into a linker or loader. An assembler can also be described as an application that creates machine-readable (object) code from source code written in assembly language. MASM (the Microsoft Assembler) is the PC application commonly used to write assembly-language code. Assembly language is the low-level language that provides direct manipulation of PC hardware.

Assembly Language (computer)
Assembly language is hardware dependent and differs between microprocessors. Assembly language statements are translated into machine language instructions.
assembly language

(Or "assembly code") A symbolic representation of the machine language of a specific processor. Assembly language is converted to machine code by an assembler. Usually, each line of assembly code produces one machine instruction, though the use of macros is common.

Programming in assembly language is slow and error-prone but is the only way to squeeze every last bit of performance out of the hardware.

Filename extension: .s (Unix), .asm (CP/M and others).

See also second generation language.

(1996-09-17)

Assembly Listing (computer)
Computer printout in assembler showing, line by line, how it interprets assembly language program.

assertion
1. An expression which, if false, indicates an error. Assertions are used for debugging by catching can't happen errors.

2. In logic programming, a new fact or rule added to the database by the program at run time. This is an extralogical or impure feature of logic programming languages.

(1997-06-30)

asset management
The process whereby a large organisation collects and maintains a comprehensive list of the items it owns such as hardware and software. This data is used in connection with the financial aspects of ownership such as calculating the total cost of ownership, depreciation, licensing, maintenance, and insurance.

(1997-03-30)

ASSIGN (computer/DOS)
DOS Command that assigned a different drive letter to an existing drive.
assigned numbers

The RFC STD 2 documenting the currently assigned values from several series of numbers used in network protocol implementations. This RFC is updated periodically and, in any case, current information can be obtained from the Internet Assigned Numbers Authority (IANA). If you are developing a protocol or application that will require the use of a link, socket, port, protocol, etc., you should contact the IANA to receive a number assignment.

(1996-08-19)

assignment
Storing the value of an expression in a variable. This is commonly written in the form "v = e". In Algol the assignment operator was ":=" (pronounced "becomes") to avoid mathematicians qualms about writing statements like x = x+1.

Assignment is not allowed in functional languages, where an identifier always has the same value.

See also referential transparency, single assignment, zero assignment.

(1996-08-19)

assignment problem
(Or "linear assignment") Any problem involving minimising the sum of C(a, b) over a set P of pairs (a, b) where a is an element of some set A and b is an element of set B, and C is some function, under constraints such as "each element of A must appear exactly once in P" or similarly for B, or both.

For example, the a's could be workers and the b's projects.

The problem is "linear" because the "cost function" C() depends only on the particular pairing (a, b) and is independent of all other pairings.

Assignment Statement (computer)
Compiler directive that places a value into a variable.

Associate (computer/DOS/Windows)
Connect a document with the application that created it, so that the two can be opened with a single command. To identify a filename extension as "belonging" to a certain application. When a file is selected with an extension associated with an application, that application is opened automatically.

associative array
An array where the indices are not just integers but may be arbitrary strings.

awk and its descendants (e.g. Perl) have associative arrays which are implemented using hash coding.

(1995-02-16)

Associative Language Research (computer)
Research into Associative Language is motivated by two considerations. The languages may be useful in associative computers or could simply be a better way of stating algorithms. Applications have been suggested or carried out in all non-numerical problems and in a few special numerical ones such as sparse matrix calculations.

Associative Memory (computer)
Memory that does not rely on explicit addresses. A reference to information contained in a memory cell is specified by a partial description of its contents. All cells in the memory which meet the specification are referred to by the statement. To access a cell in special associated memory, one specifies the contents of one particular part (the address field) of a cell. In general associated memory, a cell can be accessed by specifying the contents of any part of a cell. Data in associative memory or content-addressable memory is not accessed by address as in conventional memory. Data is identified from properties of its own value. To retrieve a byte from associative store, a search key (descriptor) must be presented which represents particular values of all or some of the bits of the byte. This key is compared in parallel with the corresponding lock or tag bits of all stored bytes, and all bytes matching this key are signalled to be available.

Associative Storage (computer)
Method of storing data that allows it to be recognised solely by its content. A data key is compared against all stored keys at the same time, eliminating the requirement for addresses for the data stored.

AST (computer, compiler)
abstract syntax tree

A data structure representing something which has been parsed, often used as a compiler or interpreter's internal representation of a program while it is being optimised and from which code generation is performed. The range of all possible such structures is described by the abstract syntax.

Ashton-Tate Corporation

The original developer and vendor of the dBASE relational database and application development tool. In the early 1990s it was taken over by Borland International, Inc.

AST Computers, LLC
The private company formed in January 1999 when Mr. Beny Alagem, the former chairman of Packard Bell NEC, Inc., bought the name and intellectual property of AST Research, Inc.. AST Computers, LLC provide hardware, software, and services for small US businesses.

Samsung Electronics Co. Ltd., of Seoul, Korea, owns a minority stake.

AST Research, Inc.
A company, formed some time before 1980, that was a leading personal computer manufacturer. AST developed desktop, mobile, and server PCs that were sold in more than 100 countries worldwide. It is now (2000-03-02) trading as ARI Service. In January 1999 the name and intellectual property were acquired by a new company named AST Computers, LLC.

(2000-03-21)

Asymmetric Digital Subscriber Line (communications)

(ADSL, or Asymmetric Digital Subscriber Loop) A form of Digital Subscriber Line in which the bandwidth available for downstream connection is significantly larger then for upstream. Although designed to minimise the effect of crosstalk between the upstream and downstream channels this setup is well suited for web browsing and client-server applications as well as for some emerging applications such as video on demand.

The data-rate of ADSL strongly depends on the length and quality of the line connecting the end-user to the telephone company. Typically the upstream data flow is between 16 and 640 kilobits per second while the downstream data flow is between 1.5 and 9 megabits per second. ADSL also provides a voice channel.

ADSL can carry digital data, analog voice, and broadcast MPEG2 video in a variety of implementations to meet customer needs.

["Data Cooks, But Will Vendors Get Burned?", "Supercomm Spotlight On ADSL" & "Lucent Sells Paradine", Wilson & Carol, Inter@ctive Week Vol. 3 #13, p1 & 6, June 24 1996].

See also Carrierless Amplitude/Phase Modulation, Discrete MultiTone.

ADSL Forum.

(1998-05-18)

Asymmetric Modem (communications)
Full-Duplex modem that transmits data in one direction at one speed, and at the same time in a different direction at a different speed.
asymmetrical modulation

A scheme to maximise use of a communications line by giving a larger share of the bandwidth to the modem at the end which is transmitting the most information.

Only one end of the connection has full bandwidth, the other has only a fraction of the bandwidth. Normally, which end gets the full bandwidth is chosen dynamically.

Asymmetrical modulation was made famous by the HST mode of the early high-speed modems from US Robotics.

(1998-03-13)

Asynchronous (communications, computer)
Un-synchronised as in different lengths of time between one event and another.

Asynchronous (computer/microelectronics)
Terminals in a flip-flop (storage element) which can affect the output state of the flip-flop independent of the CPU clock (Called Set, Preset, Reset, or DC Set and Reset, or Clear).

Asynchronous Balanced Mode (communications, protocol)
A communication mode of HDLC and derivative protocols, supporting peer-oriented point-to-point communications between two nodes, where either node can initiate transmission.

Asynchronous Communications Server (communications/LANs)
Server device that enables local area network workstations to access asynchronous applications via switched communications lines.

Asynchronous Communications Interface Adapter
(ACIA) A kind of integrated circuit that provides data formatting and control to EIA-232 serial interfaces.

Asynchronous Operation (communications, computer)
Operation of a switching network where completion of one event initiates the next, there being no common time source employed.

Asynchronous Protocol (communications)
Communications protocol that controls an asynchronous transmission.

Asynchronous Transfer Mode (ATM) (communications)
Fast Packet Switching, wide area network (WAN) technology using cell-switching, cell-routing, solutions for communications (voice, data, video). ATM has grown out of the maturing of X.25 packet switching techniques. ATM is a connection-oriented protocol, for Connection Oriented Network Services (CONS). It can also support Connection-less Oriented Network Services (CLNS).

Asynchronous Transmission (communications)
Transmission of data where each element is self-contained with its own start and stop bits and intervals between characters may be uneven. It wa the most common transmission scheme between computers and lower speed analog modems. It was also called start/stop transmission.

AT (historic/computer)
Advanced Technology PC - the Intel 80286 equipped personal computer from IBM, first appeared in 1984. It included a new keyboard layout and a 16-bit data bus (see ISA).

AT Bus (computer)
16-bit data bus used in the AT Class Personal Computer (also called the ISA bus).

AT Class (historic/computer)
Personal Computers that used the Intel 80286 microprocessor and a 16-bit data bus. AT Bus architecture was generically referred to as ISA (Industry Standard Architecture).

AT Command Set (computer)
Hayes Microcomputer Products set of instructions for their modems (Hayes Standard AT Command Set), that became a de facto standard, used by most other modem producers.

AT&T (communications, computer)
American Telephone and Telegraph Company - the largest long distance common carrier in the U.S. - and once the largest corporation. On January 1, 1984, AT&T's monopoly was broken up by Federal court order. AT&T now competes with other companies like Sprint, for long distance communications as well as for value-added services. The company acquired NCR (original name was National Cash Register) and once marketed all levels of computers, from PCs to large mini-computer systems. AT&T owned a large share in Bell Labs later called Lucent Technologies where the transistor and early laser developments were invented. It sold small, medium, and large telecommunications switching and relay equipment (i.e., EPABX, PBX), in competition with companies such as NEC, Northern Telecom, and Siemens.

ATIS (computer, language)
A Tools Integration Standard: an object-oriented interface to a set of services that allowed the saving, accessing and managing of information in a common repository. Developed by Atherton Technology and DEC, based on an extended version of the Software BackPlane, proposed as an industry standard.

ATM (communications, computer)

a) Automatic Teller Machine: un-attended banking terminals that provide for deposits and withdrawals using magnetic cards and Personal Identification Numbers (PINs).

b) Asynchronous Transfer Mode: fast-packet, cell switching and routing protocol solution for all modes of communications (voice, data, video).

Atari (computer, game machines)

1. A maker of arcade games, home video game systems, and home computers, especially during the 1970s and 1980s. Atari are best known for their range of 16- and 32-bit microcomputers, notable for having a built-in MIDI interface. As of February 1994 the range included the Atari 520ST, 1040ST, Mega ST, STe, STacy, Mega STe, TT, and Falcon. There are also emulators for the Apple Macintosh and IBM PC/XT/AT available.

Atherton Technology

The company that developed the Software BackPlane CASE framework. Their Atherton Tool Integration Services were the basis for the ATIS standard.

(2000-02-24)

Athlon (computer, microprocessor)
(K7) AMD's 7th generation x86 processor, released in June 1999.

Athlon uses a Slot A motherboard and is not compatible with Slot 1 motherboards.

[Details? Reference?]

(1999-08-05)

Atlas Autocode
The Autocode for the Ferranti Atlas, which may have been the first commercial computer with hardware-paged virtual memory. Whereas other autocodes were basically assembly languages, Atlas Autocode was high-level and block-structured, resembling a cross between Fortran and ALGOL 60. It had call-by value, loops, declarations, complex numbers, pointers, heap and stack storage generators, dynamic arrays, and extensible syntax.

(2000-04-03)
ATLAS (computer, language, avionics)
Abbreviated Test Language for Avionics Systems

A Mil-spec language for automatic testing of avionics equipment. ATLAS replaced Gaelic and several other test languages.

["IEEE Standard ATLAS Test Language", IEEE Std 416-1976].

ATOLL (computer, language)

Acceptance, Test Or Launch Language
The language used for automating the checking and launch of Saturn rockets.
Attachment Unit Interface

(AUI) The part of the IEEE Ethernet standard located between the MAC, and the MAU. The AUI is a transceiver cable that provides a path between a node's Ethernet interface and the MAU.

(1996-12-08)

Atomic Operation (computer)
Operations that cannot be sub-divided into smaller parts, or processed separately.

Attached Processor (computer)
Additional, sometimes specialised microprocessor or CPU (central processing unit) that is connected to the primary CPU for multi-processing or specialised processing. It can perform as an extension of the system and can share software and peripherals.

Attenuate (A/V, production)
To reduce the strength of a signal.

Attenuator (A/V, communications)
Arrangement of fixed and variable resistors mounted in a compact package, used to reduce the strength of a radio or audio frequency signal by a desired amount without causing appreciable distortion. Attenuators are designed so that their impedance matches that of the circuit to which they are connected, regardless of the amount of attenuation introduced. Attenuators are used to control levels of: signal generators, oscilloscope input levels; audio levels in broadcasting. The corresponding, non-adjustable device is usually called a "pad".

Attribute (computer, DOS)

a) Special codes or characters that defined specific functions for word processing, database, or spreadsheet applications. Attributes were generally proprietary and non-standard (beyond the ASCII character set) and did not translate well between applications. In a relational database management application they can be fields within a record. For word processing and video display units, they can be used for changing type styles, fonts, bold, underline, italics, and inserting special characters.

b) DOS Command that displayed or changed attributes assigned to files. Files can be made to be Read-Only so that they cannot be accidentally deleted.

Attribute Translation System

(ATS) A BNF-based parser generator from the University of Saskatchewan(?). ATS generates table-driven LL1 parsers with full insert-only error recovery. It also has full left-attribute semantic handling, which is a dream compared to using YACC's parser actions.

(2000-04-08)

Attributed File System

(AtFS) The basis of the Shape_VC toolkit.

Cooperative work within projects is supported by a status model controlling visibility of version objects, locking, and "long transactions" for synchronising concurrent updates. The concept of object attributes provides a basis for storing management information with versions and passing this information between individual tools. This mechanism is useful for building integrated environments from a set of unrelated tools.

(2000-02-24)

Audio (A/V, communications, computer, M/M)
Range of radio frequencies that can be heard by the human ear (from 20 Hz or 20 cycles per second, to approximately 20,000 Hz). Audio devices such as radios and the telephone handset create audio signals that maintain the audio sound as sine-waves or analog sound waves. In A/V production, the sound portion of television and its production: the electronic reproduction of audible sound.

Audio Amplifier (A/V, communications)
Electronic circuit for amplification of signals within, and in some cases above, the audible range. The term may mean either the complete amplifier, consisting of the voltage-amplifier and power-amplifier stages, or it may mean just one stage. In the usual case, the term implies that the amplifier is not capable of amplifying a direct-current signal; such an amplifier would more likely be called a direct-coupled or dc amplifier. The function of an audio amplifier is to amplify a weak electrical signal, such as from a microphone or audio pickup, to a level capable of driving a loudspeaker at the desired output sound level. Sound power level may be small in devices such as hearing aids.

Audio Delayer (A/V, communications)
Device for introducing delay in the audio signal in a sound reproducing system. The loudspeaker-pipe-microphone combination, the magnetic tape recorder-reproducer, and the digital delayer are the most common. One of the major applications is in sound-reinforcement systems. Audio delay of up to 500 milliseconds can be obtained with any of these three systems. A signal-to-noise ratio of 60 dB is attainable. The audio frequency bandwidth is usually in the order of 12,000 Hz (12 kHz).

Audio Dubbing (A/V, production)
Changes in the audio of an original video tape without changing the video portion.

Audio Response Unit (A/V, computer)
There are two techniques which allow a computer to generate a "spoken reply". The first is to synthesise human speech by the generation of signals and frequencies similar to those produced in speech. The other technique is based on storing in computer memory or on magnetic disk, words spoken by humans, with the Audio Response Unit being able to select among a number of pre-recorded words to construct a meaningful response.

Audio Synchronizer (A/V, production)
Instrument that divided the audio tape into discrete frames, corresponding with those of the videotape, to synchronise audio and video in videotape post-production.

Audio Terminal (computer)
Computer peripherals which accept voice input commands and/or respond in the form of a simulated or recorded spoken replay.

Audio Track (A/V, production)
Area of the videotape used for recording audio information.

Audion (A/V)
Name given to the first electronic amplifying tube by Lee DeForest, in 1906. The Audion circuit design is illustrated in his patent application in 1907 (U.S. Patent 841,387).

Audio IFF
(AIFF) A format developed by Apple Computer Inc. for storing high-quality digital audio and musical instrument information. It is also used by SGI and several professional audio packages.

(1994-10-10)

Audio Processing Technology
(APT) A company that produces codecs based on predictive analysis rather than frequency coding.

(1996-01-15)

Auditing (computer/Windows)
Tracking activities of users by recording selected events in the security log of a server or a workstation.

Augmented Backus-Naur Form (computer, language)
An extension of Backus-Naur Form documented in RFC 2234.

Authentication (computer/Windows)
Validation of a user's logon information. When a user logs on to an account on a Windows network workstation, the authentication is performed by that workstation. When a user logs on to an account on an "Advanced Server" domain, that authentication may be performed by any server of that domain.

Authorization Code (communications, computer)
Identification code, password used to gain access to a computer system (local or remote).

Audit Policy (computer/Windows)
Defines type of security events that are logged (for Domain Servers, or single users).

A'UM (computer, language)
A stream-based, concurrent, logic, object-oriented language by K. Yoshida and Takashi Chikayama. ["A'UM - A Stream-based Concurrent Logic Object-Oriented Language", K. Yoshida et al, Proc 3rd Intl Conf Fifth Gen Comp Sys, Springer 1988, pp. 638-649].

authentication

The verification of the identity of a person or process. In a communication system, authentication verifies that messages really come from their stated source, like the signature on a (paper) letter.

(2001-03-16)

Auto Answer (communications)
Modem function that can accept calls and establish proper connection, speed, protocol.

Auto Attendant (communications)
Voice store and forward system directing callers to appropriate extensions, information, or to a voice-mail messaging facility.

Auto Bypass (communications, computer)
Automatic bypass of a device, terminal, node, in a network if it is non-operative or if it fails, allowing the remaining nodes to continue to function.

AutoCAD (computer)
Full-featured CAD (computer aided design) program from AutoDesk Inc, used by Architects and Engineers (floor plans) that runs on PCs, minis, mainframes. It was one of the first major CAD programs for personal computers and became a de-facto industry standard.

Auto Dial (communications)
Capability to select a signal path or telecommunications line, dial another device (i.e., telephone number) and establish a connection.

Auto Disconnect (communications)
Feature of a modem that allows it to automatically disconnect communications from another modem when it receives a disconnect message or when the other party hangs up.

AUTODIN (communications)
Automatic Digital Network – network of the U.S. Defence Communications System.

AUTOEXEC.BAT (computer/DOS)
Automatic Execute Batch file: Microsoft MS/DOS file that executed upon start-up. Th file contained instructions used to initialise system settings, load up TSRs (Terminate-Stay-Resident) and to launch various software application programs. The AUTOEXEC.BAT command was executed in IBM OS/2 systems when it was running in "real" mode, but the equivalent in OS/2 was STARTUP.CMD.

Auto Focus (A/V, production)
Feature that allows a camera or camcorder to focus the lens automatically.

Auto Key Tracking (A/V, production)
Automatic change of image size and position of the chroma key insert.

Auto Redial (computers)
Automatic re-dialling by a modem when it receives a busy signal.

Automata Theory (computer/mathematics)
Theory used in computer sciences for abstract devices called "automaton", that can perform a specific set of computations and recognition functions. Automata theory impinges on both mathematical systems theory and algebra. Automata theory is generally concerned with ways in which inputs to a system combine with current states of a system to produce outputs from the system. The subject matter can be divided into three areas: (1) abstract theory, (2) structural theory, (3) self-organising and self adaptive systems.

Automated Teller Machine (ATM) (computer)
Device connected to a computer used by bank customers for financial transactions.

Automatic Reformatting (computer)
In word processing, automatic adjustment of text to accommodate changes.

Automatic Network Routing
(ANR) A source routing protocol used to route LU6.2 session and control traffic from node to node through a High Performance Routing network or subnet. ANR operates at the lower end of the SNA Path Control layer.

Automatic Number Identification
(ANI) A service that tells the recipient of a telephone call the telephone number of the person making the call. This number can be passed to computer equipment to automatically retrieve associated information about the caller, i.e. account status, billing records, etc.

See CTI.

Automatic Rollback (communications/LANs)
Under TTS (transaction tracking system), when a system fails, the database can be reconstructed at the point just prior to the transaction during which the failure took place.

Automation (computer)
Replacement of manual to automated methods, it implies the use of any technique to make a system or process more automatic. The word has come to be associated with computers to attain these goals.

Autostart Routine (computer)
System instructions activated when the system is turned on, providing basic input/output system information (BIOS), diagnostics, domain and system environment information, checking system memory resources, loading of the Operating System and passing control over to the Operating System and to the end-user, through the keyboard or mouse.

A/UX (computer)
Apple Computer version of UNIX running on Macintosh systems. A/UX is AT&T's UNIX System V.2.2 with UCSD Berkeley extensions (University of California, Berkeley).

A/UX 3.x.x incorporates System 7 for the Macintosh, thus supporting the vast majority of Macintosh applications. System 7 and Unix are fully integrated under A/UX 3.x.x with the Unix file system being seen as a disk drive by the Finder.

Auxiliary Audio (A/V, computer, M/M)
Set of multimedia functions used to control the audio mixer of MPC-compatible (Multi-Media Personal Computer), sound-adapter cards. The term is also used to describe audio devices whose output may be mixed with Wave-Audio or MIDI (Musical Instrument Digital Interface) audio outputs to form a composite sound source.

Auxiliary Memory (computer)
Term used that is synonymous with Auxiliary Storage: term is also used to describe high-speed memory used in mainframes and supercomputers not directly addressable by the central processing unit (CPU). It functions similar to a disk peripheral with information being transferred from auxiliary memory to the main memory via high-speed, high bandwidth, hard-wired, parallel communications channels (usually cabling).

Auxiliary Storage (computer)
External storage devices connected to the CPU (peripheral disks, tape, CD's).

Avalanche Photodiode (APD) (computer/photonics)
Semiconductor light detector based on a diode, with internal gain.

avatar (computer, application, virtual reality)

1. An image representing a user in a multi-user virtual reality (or VR-like, in the case of Palace) space.

2. (CMU, Tektronix) root, superuser. There are quite a few Unix computers on which the name of the superuser account is "avatar" rather than "root". This quirk was originated by a CMU hacker who disliked the term "superuser", and was propagated through an ex-CMU hacker at Tektronix.

[Jargon File]

AVC (A/V, computer, M/M)
Audio Visual Connection - multimedia software application from IBM that functioned with IBM's Audio Capture and Video Capture add-on boards for the PS/2 systems. It provided for the integration of sound, pictures, graphics, into applications.

Average Access Time (computer)
Average time that it takes to move the read/write head to data on a disk or tape.
average seek time

The mean time it takes to move the head of a disk drive from one track to another, averaged over the source and destination cylinders.

The average seek time gives a good measure of the speed of the drive in a multi-user environment where successive read/write request are largely uncorrelated.

Ten ms is common for a hard disk and 200 ms for an eight-speed CD-ROM.

(1997-07-22)

AVI (A/V, computer, MDM)
Audio Video Interleaved - the Microsoft Applications Program Interface (API) designed to compete with Apple's QUICKTIME methodology. AVI techniques provided a software synchronisation and compression standard for audio and video signals, developing in compatibility with DVI (Digital Video Interactive from Intel).

Avionics (computer, electronics)
Electronics that provide for instrument read-outs and control systems used in the aircraft and aerospace industry.

AWK (computer)
UNIX programming utility developed by Aho, Weinberger, Kernighan (1977) most often used for data access/retrieval. DOS versions of AWK were also available.
Axiom of Choice

(AC, or "Choice") An axiom of set theory:

If X is a set of sets, and S is the union of all the elements of X, then there exists a function f:X -> S such that for all non-empty x in X, f(x) is an element of x.

In other words, we can always choose an element from each set in a set of sets, simultaneously.

Function f is a "choice function" for X - for each x in X, it chooses an element of x.

Most people's reaction to AC is: "But of course that's true! From each set, just take the element that's biggest, stupidest, closest to the North Pole, or whatever". Indeed, for any finite set of sets, we can simply consider each set in turn and pick an arbitrary element in some such way. We can also construct a choice function for most simple infinite sets of sets if they are generated in some regular way. However, there are some infinite sets for which the construction or specification of such a choice function would never end because we would have to consider an infinite number of separate cases.

For example, if we express the real number line R as the union of many "copies" of the rational numbers, Q, namely Q, Q+a, Q+b, and infinitely (in fact uncountably) many more, where a, b, etc. are irrational numbers no two of which differ by a rational, and


Q+a == {q+a : q in Q}

we cannot pick an element of each of these "copies" without AC.

An example of the use of AC is the theorem which states that the countable union of countable sets is countable. I.e. if X is countable and every element of X is countable (including the possibility that they're finite), then the sumset of X is countable. AC is required for this to be true in general.

Even if one accepts the axiom, it doesn't tell you how to construct a choice function, only that one exists. Most mathematicians are quite happy to use AC if they need it, but those who are careful will, at least, draw attention to the fact that they have used it. There is something a little odd about Choice, and it has some alarming consequences, so results which actually "need" it are somehow a bit suspicious, e.g. the Banach-Tarski paradox. On the other side, consider Russell's Attic.

AC is not a theorem of Zermelo Fränkel set theory (ZF). Gödel and Paul Cohen proved that AC is independent of ZF, i.e. if ZF is consistent, then so are ZFC (ZF with AC) and ZF(~C) (ZF with the negation of AC). This means that we cannot use ZF to prove or disprove AC.

(2003-07-11)

Axiomatic Architecture Description Language

(AADL) A language allowing concise modular specification of multiprocessor architectures from the compiler/operating-system interface level down to chip level. AADL is rich enough to specify target architectures while providing a concise model for clocked microarchitectures.

["AADL: A Net-Based Specification Method for Computer Architecture Design", W. Damm et al in Languages for Parallel Architectures, J.W. deBakker ed, Wiley, 1989].

(2003-06-30)

axiomatic set theory

One of several approaches to set theory, consisting of a formal language for talking about sets and a collection of axioms describing how they behave.

There are many different axiomatisations for set theory. Each takes a slightly different approach to the problem of finding a theory that captures as much as possible of the intuitive idea of what a set is, while avoiding the paradoxes that result from accepting all of it, the most famous being Russell's paradox.

The main source of trouble in naive set theory is the idea that you can specify a set by saying whether each object in the universe is in the "set" or not. Accordingly, the most important differences between different axiomatisations of set theory concern the restrictions they place on this idea (known as "comprehension").

Zermelo Fränkel set theory, the most commonly used axiomatisation, gets round it by (in effect) saying that you can only use this principle to define subsets of existing sets.

NBG (von Neumann-Bernays-Goedel) set theory sort of allows comprehension for all formulae without restriction, but distinguishes between two kinds of set, so that the sets produced by applying comprehension are only second-class sets. NBG is exactly as powerful as ZF, in the sense that any statement that can be formalised in both theories is a theorem of ZF if and only if it is a theorem of ZFC.

MK (Morse-Kelley) set theory is a strengthened version of NBG, with a simpler axiom system. It is strictly stronger than NBG, and it is possible that NBG might be consistent but MK inconsistent.

NF ("New Foundations"), a theory developed by Willard Van Orman Quine, places a very different restriction on comprehension: it only works when the formula describing the membership condition for your putative set is "stratified", which means that it could be made to make sense if you worked in a system where every set had a level attached to it, so that a level-n set could only be a member of sets of level n+1. (This doesn't mean that there are actually levels attached to sets in NF). NF is very different from ZF; for instance, in NF the universe is a set (which it isn't in ZF, because the whole point of ZF is that it forbids sets that are "too large"), and it can be proved that the Axiom of Choice is false in NF!

ML ("Modern Logic") is to NF as NBG is to ZF. (Its name derives from the title of the book in which Quine introduced an early, defective, form of it). It is stronger than ZF (it can prove things that ZF can't), but if NF is consistent then ML is too.

(2003-09-21)

Axis (computer)
Reference line of a graph. Horizontal axes is the x-axis. Vertical axis is the y-axis.

ayacc

A Yacc-like parser generator from the Irvine Research Unit in Software written in Ada that produce Ada output. Comes with aflex.

Version 1.2a.

Azimuth (A/V, communications)
a) Angle of a recording head in relation to the longitudinal axis of the tape.

b) Angle, usually in Degrees, for determining satellite ground station dish adjustment (from New York, for SATCOM 1 Reception, the Azimuth Angle in degrees is 250).