Free On-line Dictionary of Computing
FOLDOC is a searchable dictionary of acronyms, jargon,
programming languages, tools, architecture, operating systems,
networking, theory, conventions, standards, mathematics,
telecoms, electronics, institutions, companies, projects,
products, history, in fact anything to do with computing.
This dictionary is Copyright Denis Howe 1993, 1997.
Permission is granted to make and distribute verbatim copies
of this dictionary or modified versions or translations into
another language, provided that every such copy or derived
work carries the above copyright notice and is distributed
under terms identical to these. Individual definitions from
this dictionary may be used without restriction provided no
more than twenty are used in any one work.
Please refer to the dictionary as "The Free On-line Dictionary
of Computing, http://wombat.doc.ic.ac.uk/, Editor Denis Howe"
or similar.
The dictionary has been growing since 1985 and now contains
over 11000 definitions totalling more than four megabytes.
Entries are cross-referenced to each other and to related
resources elsewhere on the net. It services around 5000
queries per day.
Where {LaTeX} commands for certain non-{ASCII} symbols are
mentioned, they are described in their own entries. "\" is
also used to represent the Greek lower-case lambda used in
{lambda-calculus}. Cross-references to other entries look
{like this}. Note that not all cross-references actually lead
anywhere yet, but if you find one that leads to something
inappropriate, please let me know. Dates after entries
indicate when that entry was created, updated or first
date-stamped. They do not imply that it was up-to-date at
that time.
You can search the latest version of the dictionary by {WWW}
(URL http://wombat.doc.ic.ac.uk/). If you find an entry that
is wrong or inadequate please let me know.
See {Pronunciation} for how to interpret the pronunciation
given for some entries.
Denis Howe +44 (171) 606 7080 x8161
(09 Dec 1996)
Acknowledgements
Many thanks to the hundreds of contributors, and especially to
the {Guest Editors (editors.html)}, mirror site maintainers
and the maintainers of the following resources from which some
entries originate:
Mike Sendall's STING Software engineering glossary
, 13 Oct 1993,
Bill Kinnersley's {Language List
(http://cuiwww.unige.ch/langlist)} v2.2, 15 Jan 1994,
Mark Hopkins' catalogue of Free Compilers and Interpreters
v6.4, 28 Feb 1994,
The on-line hacker {Jargon File} v3.0.0, 27 Jul 1993,
Internet Users' Glossary (RFC 1392, FYI 18), Jan 1993.
John Cross's computer glossary, 01 Nov 1994.
John Bayko's Great Microprocessors of the Past and Present,
v4.0.0, 18 Aug 1994.
{Electronic Commerce Dictionary}.
(01 Aug 1997)
"
{double quote}
%
{percent}
,
{comma}
0
{zero}
0/1 knapsack problem
The {knapsack problem} restricted so that the
number of each item is zero or one.
(13 Mar 1995)
100BaseT
Any of several 100 {MBps} {CSMA/CD} {Ethernet}
standards for {twisted pair} cables, including: 100BaseTx (100
Mbps over two-pair {Cat5} or better cable), 100BaseT4 (100
Mbps over four-pair {Cat3} or better cable), 100BaseT2 (in
committee; 100 Mbps over two-pair Cat3 or better cable). All
are standards (or planned standards) under {IEEE} {802.3}.
(07 Jan 1997)
10base2
(Or "cheapernet") The variant of {Ethernet} that
uses thin {coaxial} cable (RG-58 or similar), as opposed to
"full spec" {10base5} yellow cable. The "10" means 10 {Mbps},
"base" means "baseband" as opposed to RF, and "2" means a
maximum single cable length of 200m.
(14 Nov 1995)
10base5
The original "full spec" variant of {Ethernet},
using a thick {coaxial} cable ("yellow cable"). The "10"
means 10 {Mbps}, "base" means "baseband" as opposed to RF, and
"5" means a maximum single cable length of 500m.
Compare {10base2}, {10baseT}.
(11 Nov 1995)
10BaseT
A variant of {Ethernet} which allows stations to
be attached via {twisted pair} cable.
(24 Jan 1995)
120 reset
/wuhn-twen'tee ree'set/ (After 120 volts, US mains
voltage) To cycle power on a computer in order to reset or
unjam it.
Compare {Big Red Switch}, {power cycle}.
(23 Nov 1994)
1-2-3
{Lotus 1-2-3}
1394
{High Performance Serial Bus}
1541
{Commodore 1541}
1581
{Commodore 1581}
16550
A version of the 16450 {UART} with a 16-byte {FIFO}
buffer. Now revised to the 16550A.
(24 Jan 1995)
16 bit
Using {words} containing sixteen
{bits}. This adjective often refers to the number of bits
used internally by a computer's {CPU}. E.g. "The {Intel 8086}
is a sixteen bit processor". Its external {data bus} or
{address bus} may be narrower. The term may also refer to the
size of an instruction in the computer's {instruction set} or
to any other item of data.
See also {16-bit application}.
(13 May 1996)
16-bit application
Software for {MS-DOS} or {Microsoft
Windows} which originally ran on the 16-bit {Intel 8088} and
{80286} {microprocessors}. These used a {segmented address
space} to extend the range of addresses from what is possible
with just a 16-bit address. Programs with more than 64
kilobytes of code or data therefore had to waste time
switching between {segments}. Furthermore, programming with
segments is more involved than programming in a {flat address
space}, giving rise to {warts} like {memory models} in {C} and
{C++}.
Compare {32-bit application}.
(06 Apr 1996)
1802
An 8-bit {microprocessor} currently manufactured
as CDP1802 by {HARRIS Semiconductor}. It has been around for
ten years at least and is ideally suited for {embedded}
applications. Some of its features are: 8-bit parallel
organisation with bidirectional {data bus} and {multiplexed
address bus}; static design -- no minimum clock frequency;
bit-programmable output port; four input pins which are
directly tested by branch instructions; flexible programmable
I/O mode; single-phase clock, with on-chip oscillator; 16 x 16
register matrix to implement multiple {program counters},
pointers, or {registers}
(21 Nov 1995)
1TBS
One True Brace Style.
See {indent style}.
(25 Jan 1995)
1.TR.6
A {control channel protocol} for
{ISDN}. It is a national {standard} in Germany but is being
replaced by {Euro-ISDN}.
(27 Mar 1995)
2
In names of translation software,
infix 2 often represents the word "to" with the connotation
"translate to", as in {dvi2ps} ({DVI} to {PostScript}),
int2string (integer to string) and {texi2roff} ({Texinfo} to
[nt]{roff}).
(25 Jan 1995)
20-GATE
An algebraic language for the {G-20}, developed at
{Carnegie} around 1965.
(27 Feb 1995)
2780
{Binary Synchronous Transmission}
2B1D
{2B+D}
2B1Q
{two-binary, one-quaternary}
2B+D
Two {bearer channels}, one {data channel}.
See {basic rate interface}. Note that the "B" in "{BRI}"
stands for "basic", while the "B" in "2B+D" stands for
"bearer".
(31 Mar 1997)
2.PAK
An {artificial intelligence} language with
{coroutine}s.
["The 2.PAK Language: Goals and Description", L.F. Melli, Proc
IJCAI 1975].
(25 Jan 1995)
320xx
A series of {microprocessors} from {National
Semiconductor}. The 320xx processors have a {coprocessor}
interface which allows coprocessors such as {FPU}s and {MMU}s
to be attached in a chain.
The 320xx was the predecessor of the {Swordfish} processor.
[Details?]
(17 Nov 1994)
3270
{IBM 3270}
32-bit application
{IBM PC} software that runs
in a 32-bit {flat address space}.
The term {32-bit application} came about because {MS-DOS} and
{Microsoft Windows} were originally written for the {Intel
8088} and {80286} {microprocessors}. These are {16 bit}
microprocessors with a {segmented address space}. Programs
with more than 64 kilobytes of code and/or data therefore had
to switch between {segments} quite frequently. As this
operation is quite time consuming in comparison to other
machine operations, the application's performance may suffer.
Furthermore, programming with segments is more involved than
programming in a flat address space, giving rise to some
complications in programming languages like "{memory models}"
in {C} and {C++}.
The shift from 16-bit software to 32-bit software on {IBM PC}
{clones} became possible with the introduction of the {Intel
80386} microprocessor. This microprocessor and its successors
support a segmented address space with 16-bit and 32 bit
segments (more precisely: segments with 16- or 32-bit address
offset) or a linear 32-bit address space. For compatibility
reasons, however, much of the software is nevertheless written
in 16-bit models.
{Operating system}s like {Microsoft Windows} or {OS/2} provide
the possibility to run 16-bit (segmented) programs as well as
32-bit programs. The former possibility exists for {backward
compatibility} and the latter is usually meant to be used for
new software development.
See also {Win32s}.
(11 Dec 1995)
3780
{Binary Synchronous Transmission}
386
{Intel 80386}
386BSD
A {free software} version of the {BSD Unix}
{operating system} originally derived from the generally
available parts of the "{Berkeley Net Release/2}". William
Jolitz played a key rôle and there have been many
contributors. Many new and innovative features have been
added to 386BSD since its original release in June 1992. An
unofficial patchkit, available from many {anonymous FTP}
archives, solves many of the problems associated with 386BSD
Version 0.1. In addition, many common Unix packages have been
ported.
386BSD has been superseded by {FreeBSD} and {NetBSD}.
{FAQ
(http://www.cis.ohio-state.edu/hypertext/faq/usenet/386bsd-faq/part1/faq.html)}.
(15 Feb 1995)
386SPART.PAR
(Or "{WIN386.SWP}") 386SPART.PAR is a
{hidden file} created by {Windows 3.1} for use as {virtual
memory} {swap file}. It is generally found in the {root
directory}, however it may appear elsewhere (typically in the
WINDOWS directory). Its size depends on how much virtual
memory you have set up under (Control Panel) Enhanced under
Virtual Memory. If you move or delete this file Windows will
complain the next time you start it with a Swap File error.
{Windows 95} uses a similar file, except it is named
WIN386.SWP, and the controls for it are located under Control
Panel - System - Performance tab - Virtual Memory.
(28 May 1996)
3Com
A manufacturer of {local area network}
equipment. They merged with {Convergent Technologies} in
March 1986 to become {Convergent, Inc.}.
(25 Jan 1995)
3DO
A set of specifications created and
owned by the 3DO company, which is a partnership of seven
different companies. These specs are the blueprint for making
a 3DO Interactive Multiplayer and are licensed to hardware and
software producers.
A 3DO system has an {ARM60} 32-bit {RISC} {CPU} and a graphics
engine based around two custom designed graphics and animation
processors. It has 2 Megabytes of {DRAM}, 1 Megabyte of
{VRAM}, and a double speed {CD-ROM} drive for main storage.
The {Panasonic} 3DO system can run 3DO Interactive software,
play audio CDs (including support for CD+G), view {Photo-CD}s,
and will eventually be able to play {Video CD}s with a special
add-on {MPEG}1 {full-motion video} cartridge. Up to 8
{controller}s can be {daisy-chain}ed on the system at once. A
keyboard, mouse, light gun, and other peripherals may also
some day be hooked into the system, although they are not
currently available (December 1993). The 3DO can display
{full-motion video}, fully {texture map}ped 3d landscapes,
all in 24-bit colour. {Sanyo} and {AT&T} will also release
3DO systems. Sanyo's in mid 1994 and AT&T in late 1994.
There will be a 3DO add-on cartridge based on the {PowerPC} to
enable the 3DO to compete with {Sony}'s {Playstation} console
and {Sega}'s {Saturn} console, both of which have a higher
specification than the original 3DO. The add-on is commonly
known as the M2 or Bulldog. It should hit the shops by
Christmas 1995 and will (allegedly) do a million flat shaded
polygons per second.
{(http://www.3do.com/)}
{Usenet} newsgroup: {news:rec.games.video.3do}.
(13 Dec 1994)
3GL
{third generation language}
3Station
The archtypal {diskless workstation},
developed by Bob Metcalfe at {3Com}.
[Features? Dates?]
(27 Mar 1995)
404
Someone who's clueless. From the {World-Wide Web}
message "404, URL Not Found" meaning that the document you've
tried to access can't be located.
"Don't bother asking him...he's 404, man".
(17 Apr 1997)
4.2BSD
{Berkeley System Distribution}
431A
The type of plug which fits a standard "type 600"
{British Telecom} telephone socket.
(25 Jan 1995)
4510
A {65CE02} with two {6526}s.
Used in the {Commodore 65}.
(06 Apr 1996)
473L Query
An English-like {query language} for the US Air
Force {473L} system.
[Sammet 1969, p. 665].
["Headquarters USAF Command and Control System Query
Language", Info Sys Sci, Proc 2nd Congress, Spartan Books
1965, pp.57-76].
(31 Oct 1994)
486
{Intel 486}
486SX
{Intel 486SX}
4GL
{fourth generation language}
51forth
A subroutine-{threaded} {Forth} for the {8051} by
Scott Gehmlich. It comes with source and documentation.
{(ftp://smis-novell-1.massey.ac.nz/giovanni/51forth.zip)}
(03 Apr 1993)
56kbps
(56,000 bit/s) The data capacity of a normal
single channel digital telephone channel in North America.
The figure is derived from the bandwidth of 4 kHz allocated
for such a channel and the 16 bit encoding (4000 times 16 =
64000) used to change analog signals to digital, minus the
8000 bit/s used for signalling and supervision.
There are currently (Oct 1997) two rival {modem} designs
capable of achieving this rate. [What are they?]
(30 Oct 1997)
56k line
A digital connection (possibly a {leased
line}, possibly switched) capable of carrying 56,000 bit/s.
Compare {DS0}.
(18 Dec 1995)
586
What {Intel}'s {Pentium} was not called.
5th Glove
A {data glove} and flexor strip
kit (5th Glove DFK) sold by {Fifth Dimension Technologies} for
$495 ($345 for the left-handed version, $45 for each extra
flexor strip). The DFK provides a data glove, a flexon strip
(with an elbow or knee-joint sensor), an interface card,
cables, and KineMusica software. The package uses flexible
optical-bending sensing to track hand and arm movement. The
glove can be used with 5DT's ultrasonic tracking system, the
5DT Head and Hand tracker ($245), which can track movement
from up to two metres away from the unit's transmitter.
(06 Feb 1998)
6.001
/siks dub*l oh wun/, /dub*l oh wun/ or rarely
/siks dub*l oh fun/ {MIT}'s introductory computer class for
majors, known for its intensity. Developed by {Gerald
Sussman} and {Hal Abelson}, the course is taught in {Scheme}
and introduces {recursion}, {higher-order function}s,
{object-oriented programming} and much more. Students who
grasp the {meta}circular {interpreter} gain entry into the
{Knights of the Lambda-Calculus}. 6.001 has been exported to
several other colleges, sometimes successfully. The textbook,
"Structure and Interpretation of Computer Programs", written
with Julie Sussman is a classic that can be found on the
shelves of many computer scientists, whether they took the
course or not. Legendary characters from the class, problem
sets, and book include the wise Alyssa P. Hacker, Ben
Bitdiddle, Lem E. Tweakit and Eva Lu Ator, the careless Louis
Reasoner and {Captain Abstraction}.
(22 Nov 1994)
610
The standard type of two-wire wall socket and
plug used for telephones in Australia.
[Other countries? Full name?]
(26 Jun 1997)
6309
{Hitachi 6309}
64 bit
A term describing a computer architecture based
around an {ALU}, {registers}, and {data bus} which are 64
{bit}s wide.
64-bit processors are quite common in 1996, e.g. {Digital}
{Alpha}, versions of {Sun} {SPARC}, {MIPS}, {IBM} {AS/4000}.
the {PowerPC} and {Intel} are expected to move to 64 bits at
their next generation - {PPC 620} and {Intel P7}.
A 64-bit {address bus} allows the processor to address 18
million {gigabytes} as opposed to the mere 4 gigabytes allowed
with 32 bits. There are in 1996 already {hard disks} which
can hold over 4GB. Floating point calculations can also be
more accurate.
A 64-bit {OS} is needed as well to take advantage of the CPU.
In 1986 there are only a few 64-bit operating systems,
including {OS/400}, {Digital} {Unix}, {Solaris} (partialy). A
32-bit OS can run on a 64-bit CPU.
(23 Dec 1996)
6502
An eight bit {microprocessor} designed by {MOS
Technologies} around 1975 and made by {Rockwell}.
Unlike the {Intel 8080} and its kind, the 6502 had very few
{register}s. It was an 8-bit processor, with 16-bit {address
bus}. Inside was one 8-bit data register ({accumulator}), two
8-bit {index register}s and an 8-bit {stack pointer} (stack
was preset from address 256 to 511). It used these index and
stack registers effectively, with more {addressing mode}s,
including a fast zero-page mode that accessed memory locations
from address 0 to 255 with an 8-bit address (it didn't have to
fetch a second byte for the address).
The 6502 also had undocumented instructions.
Back when the 6502 was introduced, {RAM} was actually faster
than {CPU}s, so it made sense to optimize for RAM access
rather than increase the number of registers on a chip.
The 6502 was used in the {BBC Microcomputer}, {Apple II},
{Commodore}, {Apple Computer} and {Atari} {personal
computer}s. {Steve Wozniak} described it as the first chip
you could get for less than a hundred dollars (actually a
quarter of the {6800} price).
The {65816} is an expanded version of the 6502.
There is a 6502 {assembler} by Doug Jones
which supports {macro}s and conditional features and can be
used for linkage editing of object files. It requires
{Pascal}.
See also {cross-assembler}, {RTI}, {Small-C}.
(31 Oct 1994)
650x
A family of {microprocessor}s from {MOS
Technologies}, based on the design of the {Motorola 6800}
(introduced around 1975). The family included the {6502} used
in several early {personal computer}s.
6510
An enhanced version of the {6502}. The 6510 was
used in the {Commodore 64}.
[More details?]
(29 Oct 1995)
65816
An expanded version of the {6502}, with which it
is compatible. It has 16-bit {index register}s and {stack
pointer}, a 16-bit direct page register and a 24-bit {address
bus}. Used in later models of the {Apple II}.
(31 Oct 1994)
6800
{Motorola 6800}
68000
{Motorola 68000}
68020
{Motorola 68020}
68030
{Motorola 68030}
68040
{Motorola 68040}
68050
{Motorola 68050}
68060
{Motorola 68060}
6809
{Motorola 6809}
680x0
{Motorola 680x0}
686
{Pentium Pro} or possibly {Cyrix 6x86}.
(26 May 1997)
68HC11
{Motorola 68HC11}
6x86
{Cyrix 6x86}
754
{IEEE Floating Point Standard}
80186
{Intel 80186} or compatible.
80188
{Intel 80188} or compatible.
802.2
{IEEE 802.2}
802.3
{IEEE 802.3}
80286
{Intel 80286} or compatible.
8031
{as31}
80386
{Intel 80386} or compatible.
80486
{Intel 486} or compatible.
8051
See {CAS 8051 Assembler}, {as31}, {51forth}.
[What is an 8051?]
(26 Jan 1995)
8080
{Intel 8080}
8086
{Intel 8086}
8088
{Intel 8088}
80x86
{Intel 80x86} or compatible.
822
{RFC 822}
82430FX
{Triton I}
82430HX
{Triton II}
82430MX
{Mobile Triton}
82430VX
{Triton VX}
8514
{eXtended Video Graphics Array}
88000
{Motorola 88000}
88open
A consortium with the aim of creating a multi-vendor
open computing environment based on the {Motorola 88000}
{RISC} processor family.
(26 Jan 1995)
8-bit clean
{eight bit clean}
8N1
Common shorthand for "eight data bits, no {parity},
one {stop bit}", the most common configuration for {serial
line}s, e.g. {RS-232}.
(31 Jan 1995)
8 Queens Problem
{Eight Queens Puzzle}
8 Queens Puzzle
{Eight Queens Puzzle}
8x86
{Intel 80x86}
90-90 Rule
{Ninety-Ninety Rule}
9PAC
709 PACkage.
A {report generator} for the {IBM 7090}, developed in 1959.
[Sammet 1969, p.314. "IBM 7090 Prog Sys, SHARE 7090 9PAC Part
I: Intro and Gen Princs", IBM J28-6166, White Plains, 1961].
(07 Feb 1995)
:-)
{emoticon}
;
{semicolon}
=
{equals}
@
{commercial at}
A#
/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 {abstraction}s. 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 {primitive}s 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
system}s: {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.
(07 Feb 1995)
A-0
(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].
(03 Dec 1995)
a1
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.
{(ftp://ftp.cs.mun.ca/pub/a1)}
(19 Jul 1994)
A1 security
{Orange Book}
A20 handler
{IBM PC} memory manager software providing
{HMA}. {XMM}s usually provide this functionality. Named
after the 21st address line (A20), controlling the access to
HMA.
(10 Jan 1996)
a56
An {assembler} for the {Motorola} {DSP56000} and
{DSP56001} {digital signal processor}s by Quinn Jensen
. Version 1.1 is available from an
{alt.sources} archive or {(ftp://wuarchive.wustl.edu/)}.
(10 Aug 1992)
AADL
{Axiomatic Architecture Description Language}
AAL
{ATM Adaptation Layer}
AAP
{Association of American Publishers}
AAP DTD
A {DTD} for a standard {SGML} document type for
scientific documents, defined by the {Association of American
Publishers}.
(08 Nov 1994)
aard
A tool to check memory use for {C++} programs. It
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 leak}s).
The tools works using a spliced-in {shared library} on
{SPARC}s running {C++} 3.0.1 under {SunOS} 4.X.
{(ftp://wilma.cs.brown.edu/pub/aard.tar.Z)}
E-mail: Steve Reiss .
[Why "aard"?]
(13 Oct 1994)
AARP probe packets
{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.
[What does AARP stand for?]
(03 May 1997)
A&B
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}.
[What does it stand for? Is this the same as "{bit
robbing}"?]
(05 May 1997)
abbrev
/*-breev'/, /*-brev'/ Common abbreviation for
"abbreviation".
(27 Feb 1995)
ABC
1. 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, {suggestion}s, {persistent variable}s 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}.
{Home (http://www.cwi.nl/cwi/projects/abc.html)}
{FTP eu.net (ftp://ftp.eu.net/programming/languages/abc)},
{FTP nluug.nl (ftp://ftp.nluug.nl/programming/languages/abc)},
{FTP uunet (ftp://ftp.uu.net/languages/abc)}.
Mailing list: .
E-mail: .
["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.]
(09 Feb 1995)
2. Argument, Basic value, C?.
An {abstract machine} for implementation of {functional
language}s and its intermediate code.
[P. Koopman, "Functional Programs as Executable
Specifications", 1990].
(09 Feb 1995)
ABC ALGOL
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].
(28 Oct 1994)
ABCL/1
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 {object}s. It requires
{Common Lisp}. Implementations in {KCL} and {Symbolics Lisp}
are available from the author.
{(ftp://camille.is.s.u-tokyo.ac.jp/)}
E-mail: .
["ABCL: An Object-Oriented Concurrent System", A. Yonezawa ed,
MIT Press 1990]. (23 May 1990).
(09 Feb 1995)
ABCL/c+
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].
(08 Nov 1994)
ABCL/R
A {reflective} subset of {ABCL/1}, written in
ABCL/1 by Yonezawa of {Tokyo Institute of Technology} in 1988.
{(ftp://camille.is.s.u-tokyo.ac.jp/pub/abclr)}
["Reflection in an Object-Oriented Concurrent Language",
T. Watanabe et al, SIGPLAN Notices 23(11):306-315 (Nov 1988)].
(08 Nov 1994)
ABCL/R2
An {object-oriented}, {concurrent}, {reflective}
language based on {Hybrid Group Architecture}. ABCL/R2 was
produced by ,
, ,
, at the {Tokyo Institute of
Technology} in 1992.
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}.
{(ftp://camille.is.s.u-tokyo.ac.jp/pub/abclr2/)}
(28 Jan 1993)
abduction
The generation of hypotheses to explain observations
or conclusions. Applications include fault diagnosis, plan
formation and {default reasoning}.
Both the {semantics} and the implementation of abduction can
be reduced to those for {deduction}. {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.
[Better explanation? Example?]
(08 Nov 1994)
ABEND
/o'bend/, /*-bend'/ ABnormal END. Abnormal
termination (of {software}); {crash}; {lossage}. Derives from
an error message on the {IBM 360}; used jokingly by hackers
but seriously mainly by {code grinder}s. Usually capitalised,
but may appear as "abend". Hackers will try to persuade you
that ABEND is called "abend" because it is what system
operators do to the computer late on Friday when they want to
call it a day, and hence is from the German "Abend" =
"Evening".
(08 Nov 1994)
ABI
{Application Binary Interface}
ABLE
A simple language for accountants.
["ABLE, The Accounting Language, Programming and Reference
Manual," Evansville Data Proc Center, Evansville, IN, Mar
1975].
[Listed in SIGPLAN Notices 13(11):56 (Nov 1978)].
(08 Nov 1994)
ABM
{Asynchronous Balanced Mode}
ABNF
{Augumented Backus-Naur Form}
abort
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}.
(07 Jan 1997)
ABP
A {data link layer} protocol.
[What does it stand for?]
(15 Jun 1996)
ABR
{automatic baud rate detection}
abscissa
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}.
(08 Jul 1997)
ABSET
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].
(08 Nov 1994)
absolute path
A {path} relative to the {root directory}. Its
first character must be the {pathname separator}.
(21 Nov 1996)
absolute pathname
A {pathname} relative to the {root directory}.
(21 Nov 1996)
abstract class
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.
(08 Nov 1994)
abstract data type
(ADT) A type whose internal form is hidden
behind a set of {access function}s. Objects 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.
Abstract data types are central to {object-oriented
programming} where every {class} is an ADT.
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.
(22 Feb 1995)
abstract interpretation
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 our 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 {domain}s
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 type}s
and {product type}s) 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}.
(08 Nov 1994)
abstraction
1. Generalisation, ignoring or hiding details. Examples are
{abstract data type}s (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 abstraction}s (making
a term into a function of some variable), {higher-order
function}s (parameters are functions), {bracket abstraction}
(making a term into a function of a variable).
Opposite of {concretisation}.
(08 Nov 1994)
abstract machine
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 {platform}s.
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}.
Examples: {Finite State Machine}, {Turing Machine}.
(13 Mar 1995)
Abstract Machine Notation
(AMN) A language for specifying {Abstract Machine}s
in the {B-Method}, based on the mathematical theory of
{Generalised Substitution}s.
(13 Mar 1995)
abstract syntax
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".
The syntax is abstract in two senses: it is independent of
machine-oriented structures and encodings and also 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}.
(08 Nov 1994)
Abstract Syntax Notation 1
(ASN.1) An {ISO}/{ITU-T} {standard}
language for the description of data, defined in 1988. {ITU}
TS X.208, {ISO} 8824.
{Basic Encoding Rules} (BER) provide a universal (contiguous)
{concrete} representation of the data values whose {abstract
syntax} is described in ASN.1. ASN.1 and BER facilitate the
exchange of structured data between {application program}s
over networks by describing data structures in a way that is
independent of machine architecture and implementation
language.
{OSI} {Application layer} {protocol}s such as {X.400} {MHS}
{electronic mail}, {X.500} directory services and {SNMP} use
ASN.1 to describe the {PDU}s they exchange. ASN.1 is used by
the {National Center for Biotechnology Information}.
[M. Sample et al, "Implementing Efficient Encoders and
Decoders for Network Data Representations", IEEE Infocom 93
Proc, v.3, pp. 1143-1153 (Mar 1993). Available from Logica,
UK].
See also {snacc}.
(30 Nov 1994)
abstract syntax tree
(AST) 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}.
(08 Nov 1994)
Abstract-Type and Scheme-Definition Language
(ASDL) A language developed as part of {Esprit}
project {GRASPIN}, as a basis for generating {language-based
editor}s 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].
(19 Feb 1996)
Abstract Windowing Toolkit
(AWT) {Java}'s {platform}-independent {windowing},
graphics, and user-interface {toolkit}.
["Java in a Nutshell", O'Reilly].
[On-line documentation?]
(23 Apr 1996)
ABSYS
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].
(08 Nov 1994)
ACA
{Application Control Architecture}
ACAP
{Application Configuration Access Protocol}
Accelerated Graphics Port
(AGP) A bus specification by {Intel} which gives
low-cost 3D {graphics cards} faster access to {main memory}
than the usual PCI bus.
AGP operates at 133 {MHz} compared to PCI's 66 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.
(09 Nov 1997)
accelerator
Additional hardware to perform some function faster
than is possible in software running on the normal {CPU}.
Examples include {graphics accelerator}s and {floating-point
accelerator}s.
(08 Nov 1994)
Accent
A very high level interpreted language from
{CaseWare, Inc.} with strings and tables. It is {strongly
typed} and has remote function calls.
(08 Nov 1994)
accept
{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.
{Unix manual pages}: accept(2), connect(2).
(08 Nov 1994)
Acceptable Use Policy
(AUP) Rules applied by many {transit network}s
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.
(08 Nov 1994)
acceptance testing
Formal testing conducted to determine whether a
system satisfies its acceptance criteria and thus whether the
customer should accept the system.
(10 May 1996)
Access
1. An English-like query language used in the
{Pick} {operating system}.
2. {Microsoft Access}.
(08 Nov 1994)
Access Control List
(ACL) A list of the services available on a
{server}, each with a list of the {host}s permitted to use the
service.
(08 Nov 1994)
access method
Software in an {SNA} processor that controls the
flow of information through a {network}. Generally, the way
that network devices access the network medium.
[Which {layer}?]
(05 May 1997)
access permission
{permission}
access time
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.
(14 Jun 1997)
ACCLAIM
A European Union {ESPRIT} {Basic Research Action}.
[What's it about?]
(08 Nov 1994)
Accounting File
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.
(08 Dec 1996)
accounting management
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}.
(05 May 1997)
ACCU
{Association of C and C++ Users}
accumulator
In a {central processing unit}, a {register} in
which intermediate results are stored. Without an
accumulator, it would be necessary to write intermediate
results 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).
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."
(02 Mar 1995)
ACE
1. {Advanced Computing Environment}.
2. {Adaptive Communication Environment}.
ACF
{Advanced Communications Function}
ACF/NCP
{Advanced Communication Function/Network Control Program}
ACIA
{Asynchronous Communications Interface Adapter}
ACID
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 part of the
{Object Services}, an adjunct to the {CORBA} specifications.
(15 May 1997)
ACIS
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}.
[How does this differ from "solid modelling"?].
(21 Mar 1996)
ACK
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.
(07 Jan 1997)
ACL
1. {Access Control List}.
2. {Association for Computational Linguistics}.
3. A Coroutine Language.
A {Pascal}-based implementation of {coroutine}s.
["Coroutines", C.D. Marlin, LNCS 95, Springer 1980].
(08 Nov 1994)
ACM
1. {Association for Computing Machinery}.
2. {addressed call mode}.
(07 May 1997)
ACME
/ak'mee/ 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}.
[What does it do?]
(08 Nov 1994)
ACOM
An early system on the {IBM 705}.
[Listed in CACM 2(5):16 (May 1959)].
(08 Nov 1994)
Acorn Archimedes
{Archimedes}
Acorn Computer Group
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.
(08 Nov 1994)
Acorn Computers Ltd.
A UK computer manufacturer, part of the {Acorn
Computer Group} plc. Acorn was founded 5th December 1978, 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. Seven out of ten
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 {microcomputer}s - 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 is
the premier supplier of {information technology} products to
UK education and has been the leading provider of 32-bit RISC
based {personal computers} since 1987. Acorn works with
industry partners, users and software developers to provide
products for the education, consumer, publishing and
international markets.
{Usenet} newsgroups: {news:comp.sys.acorn},
{news:comp.sys.acorn.announce}, {news:comp.sys.acorn.tech},
{news:comp.binaries.acorn}, {news:comp.sources.acorn},
{news:comp.sys.acorn.advocacy}, {news:comp.sys.acorn.games}.
{Acorn's FTP server (ftp://ftp.acorn.co.uk/)}
E-mail: .
{HENSA software archive
(http://micros.hensa.ac.uk/micros/arch.html)}. {Richard
Birkby's Acorn page (http://www.csv.warwick.ac.uk/~phudv/)}.
{RiscMan's Acorn page (http://www.geko.com.au/riscman/)}.
{Acorn On The Net (http://www.stir.ac.uk/~rhh01/Main.html)}.
{"The Jungle" by Simon Truss
(http://www.csc.liv.ac.uk/users/u1smt/u1smt.html)}.
(31 Oct 1994)
Acorn RISC Machine
The original name of the {Advanced RISC Machine}.
(07 Mar 1995)
ACOS
A {BBS} language for {PRODOS 8} on {Apple II}.
{Macos} is a hacked version of ACOS.
(08 Nov 1994)
acoustic coupler
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.
(08 Nov 1994)
ACP
{Algebra of Communicating Processes}
Acrobat
A product from {Adobe Systems}, 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
(http://www.acropolis.com/acropolis)}.
(21 Apr 1995)
acronym
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.
See also {TLA}.
(15 Mar 1995)
ACSE
{Association Control Service Element}
ACT
{Annual Change Traffic}
ACT++
A {concurrent} extension of {C++} based on
{actor}s.
["ACT++: Building a Concurrent C++ With Actors", D.G. Kafura
TR89-18, VPI, 1989].
(08 Nov 1994)
Act1
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].
(08 Nov 1994)
Act2
An {actor} language.
["Issues in the Design of Act2", D. Theriault, TR728, MIT AI
Lab, June 1983].
(08 Nov 1994)
Act3
A high-level {actor} language by {Carl Hewitt}. A
descendant of {Act2} which provides support for automatic
generation of {customer}s 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].
(08 Nov 1994)
Actalk
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].
(08 Nov 1994)
Actis
An approach to integrated {CASE} by {Apollo}.
(08 Nov 1994)
activation record
(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}.
(07 Mar 1995)
active DBMS
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}.
(08 Nov 1994)
Active Language I
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].
(08 Nov 1994)
active matrix display
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}.
(09 Dec 1995)
Active Monitor
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.
(18 Jun 1996)
active object
An {object} that encompasses its own {thread of
control}.
[What does this mean?]
(08 Nov 1994)
Active Reconfiguring Message
(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.
[In what contect is this term used?]
(06 Jun 1997)
Active Server Pages
(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.
{ASP (http://www.microsoft.com/iis/guide/whatisasp.asp)}.
{ASP in IIS 4
(http://www.microsoft.com/iis/guide/deploy.asp?A=2&B=4)}.
(10 Feb 1998)
ActiveX
{Microsoft}'s answer to {Java}. ActiveX is a
stripped down implementation of {OLE} designed to run over
slow {Internet} links.
[Details? URL?]
(09 Apr 1996)
ACT ONE
A specification language.
["An Algebraic Specification Language with Two Levels of
Semantics", H. Ehrig et al, Tech U Berlin 83-03 Feb 1983].
(08 Nov 1994)
Actor
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.
["Actor Does More than Windows", E.R. Tello, Dr Dobb's J
13(1):114-125 (Jan 1988)].
(08 Nov 1994)
actor
1. In {object-oriented} programming, an {object}
which exists as a {concurrent} process.
2. In {Chorus}, the unit of resource
allocation.
(08 Nov 1994)
Actors
A model for {concurrency} by {Carl Hewitt}. Actors
are autonomous and concurrent {object}s which execute
asynchronously. The Actor model provides flexible mechanisms
for building parallel and distributed software systems.
["Laws for Communicating Parallel Processes", C. Hewitt et al,
IFIP 77, pp. 987-992, N-H 1977].
["ACTORS: A Model of Concurrent Computation in Distributed
Systems", Gul A. Agha , Cambridge Press, MA,
1986].
(12 Jun 1995)
Actra
A {multi-processor} {exemplar}-based {Smalltalk}.
[LaLonde et al, OOPSLA '86].
(08 Nov 1994)
Actus
{Pascal} with parallel extensions, similar to the
earlier {Glypnir}. It has parallel constants and {index
set}s. 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)].
(08 Nov 1994)
AD
{Administrative Domain}
Ada
(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 {subtype}s and {derived type}s.
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 {exception}s and {exception handler}s.
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 package}s and subroutines, possibly parametrised.
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.
See also {Ada/Ed}, {Toy/Ada}.
{Home of the Brave Ada Programmers
(http://lglwww.epfl.ch/Ada/)}. {Ada FAQs
(http://lglwww.epfl.ch/Ada/FAQ/)} (hypertext), {text only
(ftp://lglftp.epfl.ch/pub/Ada/FAQ)}.
{(http://wuarchive.wustl.edu/languages/ada/)},
{(ftp://ajpo.sei.cmu.edu/)},
{(ftp://stars.rosslyn.unisys.com/pub/ACE_8.0)}.
E-mail: .
{Usenet} newsgroup: {news:comp.lang.ada}.
{An Ada grammar (ftp://primost.cs.wisc.edu/)} including a
lex scanner and yacc parser is available. E-mail:
,
.
Another {yacc} {grammar} and {parser} for {Ada} by Herman
Fischer is {here
(ftp://wsmr-simtel20.army.mil/PD2:GRAM2.SRC)}.
An {LR parser} and {pretty-printer} for {Ada} from NASA is
available from the {Ada Software Repository}. Michael Feldman
referred to this package in
comp.compilers, he also has a yacc grammar for ada.
{Adamakegen} generates {makefile}s for {Ada} programs.
["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.
(23 Jan 1995)
Ada++
An {object-oriented} extension to {Ada},
implemented as an Ada {preprocessor}. Obsoleted by {Ada 95}
which includes object-oriented features.
(19 Sep 1995)
Ada 83
The original {Ada}, as opposed to {Ada 95}.
(13 Mar 1995)
Ada 95
A revision and extension of {Ada} (Ada 83) begun in
1988 and completed in 1 Dec 1994 by a team lead by Tucker Taft
of {Intermetrics}. The printed standard was expected to be
available around 15 Feb 1995.
Additions include {object-orientation} ({tagged type}s,
{abstract type}s and {class-wide type}s), 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 {generic}s and {type
composition}.
{GNAT} aims to be a free implementation of Ada 95.
You can get the standard from the {Ada Joint Program Office
(ftp://ajpo.sei.cmu.edu/public/)}, {Ada Information
Clearinghouse (ftp://sw-eng.falls-church.va.us/public/)}.
E-mail: Chris Anderson (Ada 95
Project Manager).
["Introducing Ada 9X", J.G.P. Barnes, Feb 1993].
(19 Jan 1995)
Ada 9X
The working title for {Ada 95} before its adoption
as an {ISO} {standard}.
(19 Jan 1995)
ADABAS
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 {platform}s 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 value}s and {periodic group}s.
(30 Oct 1995)
Ada/Ed
An {interpreter}, editor and run-time
environment for {Ada}, intended as a teaching tool. It does
not have the capacity, performance or robustness of commercial
Ada compilers. Ada/Ed was developed at {New York University}
as part of a long-range project in language definition and
software prototyping.
AdaEd runs on {Unix}, {MS-DOS}, {Atari ST} and {Amiga}.
Version 1.11.0a+. 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
clause}s and thus does not support systems programming close
to the machine level.
A later version is known as {GW-Ada}.
E-mail: Michael Feldman .
{(ftp://ftp.wustl.edu/amiga/languages/ada)},
{(ftp://cnam.cnam.fr/pub/Ada/Ada-Ed)}. {For Amiga
(ftp://cs.nyu.edu/pub/adaed)}.
{RISC OS (ftp://micros.hensa.ac.uk/micros/arch/riscos/c/c052)}
(E-mail: ).
(18 Aug 1994)
Adaline
Name given by Widrow to {adaptive linear
neuron}s, that is {neuron}s (see {McCulloch-Pitts}) which
learn using the {Widrow-Huff Delta Rule}. See also
{Madaline}.
(14 Mar 1995)
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.
(20 Sep 1995)
ADAM
{A Data Management system}
Adamakegen
A program that generates {makefile}s for {Ada}
programs. Adamakegen was written by Owen O'Malley
. It requires {Icon}
and runs under {Verdix} and {SunAda}. The current version is
2.6.3.
{(ftp://spare.ics.uci.edu/ftp/pub/arcadia/)}
(02 Mar 1993)
ADAMO
A data management system written at CERN based on
the {Entity-Relationship model}.
(14 Mar 1995)
Ada-O
An {Ada} subset developed at the {University of
Karlsruhe} in 1979, used for {compiler} {bootstrapping}. It
lacks {overloading}, {derived type}s, {real number}s, tasks
and {generic}s.
["Revised Ada-O Reference Manual", G. Persch et al, U
Karlsruhe, Inst fur Infor II, Bericht Nr 9/81].
(14 Feb 1995)
Adaplan
A {functional database} language based upon
{Backus}' {FP} language.
[Erwig&Lipeck, Proc. DBPL-3, 1991].
(07 May 1995)
Adaplex
An extension of {Ada} for {functional
database}s.
["Adaplex: Rationale and Reference Manual 2nd ed", J.M. Smith
et al, Computer Corp America, Cambridge MA, 1983].
(14 Feb 1995)
Ada Programming Support Environment
(APSE) A program or set of programs to support
software development in the Ada language.
[Examples?]
(30 Jun 1997)
ADAPT
A subset of {APT}.
[Sammet 1969, p. 606].
(14 Feb 1995)
Adaptable User Interface
(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" {GUI}s, including {Macintosh},
{Microsoft Windows} and the {X Window System}.
(16 Mar 1995)
adaptive answering
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.
(16 Mar 1995)
Adaptive Communication Environment
A {C++} wrapper library for
communications from the {University of California at Irvine}.
(16 Mar 1995)
Adaptive Digital Pulse Code Modulation
(ADPCM) A {compression} technique.
ADPCM is used on the {Sony} minidisk.
[Details?]
(02 Nov 1994)
adaptive learning
(Or "{Hebbian} learning") Learning where a system
programs itself by adjusting weights or strengths until it
produces the desired output.
(16 Mar 1995)
adaptive routing
{dynamic routing}
Adaptive Simulated Annealing
(ASA) A language interface to a {neural net}
simulator(?) by Lester Ingber .
Version 1.53.
{(ftp://ftp.caltech.edu/pub/ingber/)}
Mailing list: .
(14 Nov 1993)
Adaptor
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 {Sun}s or {RS/6000}s.
{(ftp://ftp.gmd.de/gmd/adaptor/adp_1.0.tar.Z)}. E-mail:
Thomas Brandes .
(01 Jun 1993)
Ada Semantic Interface Specification
(ASIS) An intermediate representation for {Ada}.
E-mail: .
See also {Diana}.
(15 Feb 1995)
Ada Software Repository
A collection of {Ada} programs?
{Home (http://wuarchive.wustl.edu/languages/ada/asr/)}.
(06 Jan 1995)
ADC
{Analog to Digital Converter}
ADCCP
{Advanced Data Communications Control Protocol}
A/D converter
{Analog to Digital Converter}
AD/Cycle
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 system}s as well as languages
and debuggers.
(24 Oct 1994)
ADD 1 TO COBOL GIVING COBOL
(From COBOL's equivalent syntax to C's C++)
A tongue-in-cheek suggestion by Bruce Clement for an
{object-oriented} {COBOL}.
[SIGPLAN Notices 27(4):90-91 (Apr 1992)].
(17 Mar 1995)
ADDD
A Depository of Development Documents.
A {public domain} Software Engineering Environment from {GMD}
developed as part of the {STONE} project.
(03 Feb 1995)
additive
A function f : X -> Y is additive if
for all Z <= X
f (lub Z) = lub { f z : z in Z }
(f "preserves {lub}s"). All additive functions defined over
{cpo}s are {continuous}.
("<=" is written in {LaTeX} as {\subseteq}, "lub" as \sqcup ).
(03 Feb 1995)
address
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.
(01 Jul 1997)
address bus
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}.
(22 Mar 1995)
addressed call mode
(ACM) A mode that permits control signals and
commands to establish and terminate calls in {V.25bis}.
(07 May 1997)
addressing mode
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 {stack}s 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].
(30 Mar 1995)
address mask
(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.
(21 Mar 1996)
address resolution
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}.
(09 Apr 1996)
Address Resolution 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}.
(20 Mar 1995)
address space
1. The range of addresses which a processor
can access. This usually depends on the width of the
processor's {address bus} and address {register}s. Address
space may refer to either {physical address} or {virtual
address}.
2. The range of {physical address}es or {virtual address}es
allocated to a process.
(12 May 1995)
Address Strobe
(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}.
(02 Oct 1996)
ADELE
A language for specification of {attribute
grammar}s, 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].
(23 Jan 1995)
ADES
An early system on the {IBM 704}.
Version: ADES II.
[Listed in CACM 2(5):16 (May 1959)].
(20 Mar 1995)
ad hoc
Contrived purely for the purpose in hand rather than planned
carefully in advance. E.g. "We didn't know what to do about
the sausage rolls, so we set up an ad-hoc committee".
(25 Mar 1995)
ad-hockery
/ad-hok'*r-ee/ (Purdue) 1. Gratuitous assumptions
made inside certain programs, especially {expert system}s,
which lead to the appearance of semi-intelligent behaviour but
are in fact entirely arbitrary. For example, {fuzzy-matching}
of input tokens that might be typing errors against a symbol
table can make it look as though a program knows how to spell.
2. Special-case code to cope with some awkward input that
would otherwise cause a program to fail, presuming normal
inputs are dealt with in some cleaner and more regular way.
Also called "ad-hackery", "ad-hocity" (/ad-hos'*-tee/),
"ad-crockery".
See also {ELIZA effect}.
(05 Jan 1995)
ad-hoc polymorphism
{overloading}
Aditi
The Aditi Deductive Database System. A
multi-user {deductive database} system from the Machine
Intelligence Project at the {University of Melbourne}. It
supports base {relation}s defined by {fact}s (relations in the
sense of {relational database}s) and {derived relation}s
defined by {rule}s 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-tree}s 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.
The beta release runs on {SPARC}/{SunOS4}.1.2 and
{MIPS}/{Irix}4.0.
E-mail: .
(17 Dec 1992)
adjacency
A relationship between selected neighboring
{routers} and {end nodes} for the purpose of exchanging
routing information. Adjacency is based upon the use of a
common media segment.
[Better explanation?]
(07 May 1997)
adjacent
A description of {SNA} {nodes} that are connected
to a given node with no intervening nodes. In {DECnet} and
{OSI}, adjacent nodes are nodes that share a common segment
({Ethernet}, {FDDI}, {Token Ring}).
(07 May 1997)
ADL
1. {Adventure Definition Language}.
2. {Ada} Development Language.
R.A. Lees, 1989.
3. {API} Definition Language.
A project for Automatic Interface Test Generation.
(17 Nov 1995)
AdLog
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].
(21 Mar 1995)
ADM
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].
(21 Mar 1995)
ADMD
{Administration Management Domain}
admin
{system administrator}
Administration Management Domain
(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].
(07 May 1997)
administrative distance
A rating of the trustworthiness of a {routing}
information source. In {Cisco} {routers}, administrative
distance is a number between 0 and 255 (the higher the value,
the less trustworthy the source).
[Algorithm?]
(07 May 1997)
Administrative Domain
(AD) A collection of {host}s and {router}s, and
the interconnecting network(s), managed by a single
administrative authority.
(24 Nov 1994)
Adobe
{Adobe Systems, Inc.}
Adobe Systems, Inc.
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.
{Home (http://www.adobe.com/)}.
E-mail: .
Address: Silicon Valley, California, USA.
(13 Dec 1996)
Adobe Type Manager
(ATM) Software that produces
{PostScript} {outline font}s on screen and paper. There are
version s that run under {Microsoft Windows} and on the
{Macintosh}.
[What font features does it support?]
(01 Feb 1995)
ADPCM
{Adaptive Digital Pulse Code Modulation}
ADS
An {expert system}.
ADSL
{Asymmetric Digital Subscriber Line}
ADSP
{AppleTalk Data Stream Protocol}
ADSU
{ATM Data Service Unit}
ADT
{abstract data type}
Advanced Communication Function/Network Control Program
(ACF/NCP) The primary {SNA} {network control
program}. ACF/NCP rides in the {communications controller}
and interfaces with the SNA {access method} in the {host
processor} to control network communications.
[Communication or Communications? Is ACF/NCP one of the {ACF}
products?]
(07 May 1997)
Advanced Communications Function
(ACF) A group of {SNA} products that provide
{distributed processing} and resource sharing.
[Communication or Communications?]
(07 May 1997)
Advanced Computing Environment
(ACE) A consortium to agree on an {open} architecture
based on the {MIPS R4000} chip. A computer architecture ARCS
will be defined, on which either {OS/2} or {Open Desktop} can
be run.
(03 Feb 1995)
Advanced Data Communications Control Protocol
An {ANSI} {standard} {bit-oriented} {data link}
control {protocol}.
(07 May 1997)
Advanced Interactive eXecutive
(AIX) {IBM}'s version of {Unix}, taken as
the basis for the {OSF} {standard}.
{Usenet} newsgroup: {news:comp.sys.unix.aix}.
(24 Nov 1994)
Advanced Micro Devices, Inc.
(AMD) The fifth-largest, US manufacturer of
{integrated circuit}s, founded in 1969. AMD focuses on the
personal and networked computation and communications market.
They produce {microprocessor}s, {embedded processor}s and
related peripherals, memories, {programmable logic device}s,
circuits for telecommunications and networking applications.
AMD has 12000 employees in the USA and elsewhere and
manufacturing facilities in Austin, Texas; Aizu-Wakamatsu,
Japan; Bangkok, Thailand; Penang, Malaysia; and Singapore.
AMD made the {AMD 2900} series of {bit-slice} {TTL} components
and make clones of the {Intel 80386} and {Intel 486}
{microprocessor}s.
{Home (http://www.amd.com/)}
Address: Sunnyvale, CA, USA.
(27 Feb 1995)
Advanced Network Systems Architecture
(ANSA) A "{software bus}" based on a model for
distributed systems developed as an {ESPRIT} project.
{Home (http://www.ansa.co.uk/)}
(01 Apr 1996)
Advanced Peer-to-Peer Networking
(APPN) IBM data communications support
that routes data in a network between two or more {APPC}
systems that need not be adjacent.
(03 Feb 1995)
Advanced Power Management
(APM) A feature of some displays, usually but not
always, on {laptop computers}, which turns off power to the
display after a preset period of inactivity to conserve
electrical power. Monitors with this capability are usually
refered to as "green monitors", meaning environmentally
friendly.
Not to be confused with a {screen blanker} which is {software}
that causes the display to go black (by setting every {pixel}
to black) to prevent {burn-in}.
(25 Aug 1997)
Advanced Program-to-Program Communications
(APPC) An implementation of the {IBM}
{SNA}/{SDLC} {LU6.2} {protocol} that allows interconnected
systems to communicate and share the processing of programs.
(03 Feb 1995)
Advanced Research Projects Agency
(ARPA) An agency of the US Department of Defense
responsible for the development of new technology for use by
the military. ARPA was its original name, then it was known
as DARPA (for Defense) and now it is ARPA again. It was
responsible for funding development of {ARPANET} (which grew
into the {Internet}), the {Berkeley} version of {Unix} and
{TCP/IP}.
{Home (http://www.arpa.mil/)}
[When was it renamed?]
(18 Jan 1995)
Advanced Research Projects Agency Network
(ARPANET) A pioneering longhaul {wide area
network} funded by {ARPA}. It became operational in 1968 and
served as the basis for early networking research, as well as
a central {backbone} during the development of the {Internet}.
The ARPANET consisted of individual {packet switching}
computers interconnected by {leased line}s. {Protocol}s used
include {FTP} and {telnet}. It has now been replaced by
{NSFnet}.
[1968 or 1969?]
(17 Nov 1994)
Advanced Revelation
(AREV) A {database development environment} for
{personal computers} available from {Revelation Software}
since 1982. Originally based on the {PICK} {operating
system}, there are over one million users worldwide in 1996.
(12 Dec 1996)
Advanced RISC Computing Specification
(ARC) The baseline hardware requirements
for an {ACE}-compatible system.
(16 Jan 1995)
Advanced RISC Machine
(ARM, Originally {Acorn} RISC Machine). A series
of low-cost, power-efficient 32-bit {RISC} {microprocessors}
for embedded control, computing, {digital signal processing},
{games}, consumer {multimedia} and portable applications. It
was the first commercial RISC microprocessor (or was the {MIPS
R2000}?) and was licensed for production by {Asahi Kasei
Microsystems}, {Cirrus Logic}, {GEC Plessey Semiconductors},
{Samsung}, {Sharp}, {Texas Instruments} and {VLSI Technology}.
The ARM has a small and highly {orthogonal} {instruction set},
as do most RISC processors. Every instruction includes a
four-bit code which specifies a condition (of the {processor
status register}) which must be satisfied for the instruction
to be executed. Unconditional execution is specified with a
condition "true".
Instructions are split into load and store which access memory
and arithmetic and logic instructions which work on
{registers} (two source and one destination).
The ARM has 27 registers of which 16 are accessible in any
particular processor mode. R15 combines the {program counter}
and processor status byte, the other registers are general
purpose except that R14 holds the {return address} after a
{subroutine} call and R13 is conventionally used as a {stack
pointer}. There are four processor modes: user, {interrupt}
(with a private copy of R13 and R14), fast interrupt (private
copies of R8 to R14) and {supervisor} (private copies of R13
and R14). The {ALU} includes a 32-bit {barrel-shifter}
allowing, e.g., a single-{cycle} shift and add.
The first ARM processor, the ARM1 was a prototype which was
never released. The ARM2 was originally called the Acorn RISC
Machine. It was designed by {Acorn Computers Ltd.} and used
in the original {Archimedes}, their successor to the {BBC
Micro} and {BBC Master} series which were based on the
eight-bit {6502} {microprocessor}. It was clocked at 8 MHz
giving an average performance of 4 - 4.7 {MIPS}. Development
of the ARM family was then continued by a new company,
{Advanced RISC Machines Ltd.}
The {ARM3} added a {fully-associative} on-chip {cache} and
some support for {multiprocessing}. This was followed by the
{ARM600} chip which was an {ARM6} processor {core} with a
4-kilobyte 64-way {set-associative} {cache}, an {MMU} based on
the MEMC2 chip, a {write buffer} (8 words?) and a
{coprocessor} interface.
The {ARM7} processor core uses half the power of the {ARM6}
and takes around half the {die} size. In a full processor
design ({ARM700} chip) it should provide 50% to 100% more
performance.
In July 1994 {VLSI Technology, Inc.} released the {ARM710}
processor chip.
{Thumb} is an implementation with reduced code size
requirements, intended for {embedded} applications.
An {ARM800} chip is also planned.
{AT&T}, {IBM}, {Panasonic}, {Apple Coputer}, {Matsushita} and
{Sanyo} either rely on, or manufacture, ARM 32-bit processor
chips.
{Usenet} newsgroup: {news:comp.sys.arm}.
(05 Aug 1997)
Advanced RISC Machines Ltd.
(ARM) A company formed in 1990 by {Acorn Computers}
Ltd., {Apple Computer, Inc.} and {VLSI Technology} to market
and develop the {Advanced RISC Machine} {microprocessor}
family, originally designed by Acorn.
ARM Ltd. also designs and licenses peripheral chips and
supplies supporting software and hardware tools. In April
1993, Nippon Investment and Finance, a Daiwa Securities
company, became ARM's fourth investor. In May 1994 Samsung
became the sixth large company to have a licence to use the
ARM processor core.
The success of ARM Ltd. and the strategy to widen the
availability of RISC technology has resulted in its chips now
being used in a range of products including the {Apple
Newton}. As measured by an independent authority, more ARM
processors were shipped than {SPARC} chips in 1993. ARM has
also sold three times more chips than the {PowerPC}
consortium.
{Home (http://www.systemv.com/armltd/index.html)}
E-mail: armltd.co.uk.
Address: Advanced RISC Machines Ltd. Fulbourn Road, Cherry
Hinton, Cambridge CB1 4JN, UK.
Telephone: +44 (1223) 400 400. Fax: +44 (1223) 400 410.
(03 Nov 1994)
Advanced Software Environment
(ASE) An {object-oriented} {application support
system} from {Nixdorf}.
(12 Sep 1995)
Advanced Technology Attachment
(ATA, AT Attachment) {ANSI}
group X3T10's official name for the {disk drive} interface
{standard} commonly known as {Integrated Drive Electronics}
(IDE).
{(http://www.symbios.com/x3t10/)}.
(21 Mar 1996)
Advanced Technology Attachment Interface with Extensions
(ATA-2) A proposed (May 1996 or earlier?)
{standard} from {X3T10} (document 948D rev 3) which extends
the {AT Attachment} interface while maintaining compatibility
with current {IBM PC} {BIOS} designs.
{Marketroids} call ATA-2 "Fast ATA" or "Fast ATA-2" since the
main changes are increased interface speed. Optional support
for power saving modes and removable devices is also in the
standard.
(16 Oct 1996)
Advanced WavEffect
(AWE) The kind of synthesis used by the
{EMU 8000} music synthesizer {integrated circuit} found on the
{SB AWE32} card.
(15 Dec 1996)
ADVENT
/ad'vent/ The prototypical computer {Adventure} game,
first implemented by Will Crowther for a {CDC} computer
(probably the 6600?) as an attempt at computer-refereed
fantasy gaming.
ADVENT was ported to the {PDP-10}, and expanded to the
350-point {Classic} puzzle-oriented version, by Don Woods of
the {Stanford Artificial Intelligence Laboratory} (SAIL). The
game is now better known as Adventure, but the {TOPS-10}
{operating system} permitted only six-letter filenames. All
the versions since are based on the SAIL port.
David Long of the {University of Chicago} Graduate School of
Business Computing Facility (which had two of the four
{DEC20}s on campus in the late 1970s and early 1980s) was
responsible for expanding the cave in a number of ways, and
pushing the point count up to 500, then 501 points. Most of
his work was in the data files, but he made some changes to
the {parser} as well.
This game defined the terse, dryly humorous style now expected
in text adventure games, and popularised several tag lines
that have become fixtures of hacker-speak: "A huge green
fierce snake bars the way!" "I see no X here" (for some noun
X). "You are in a maze of twisty little passages, all alike."
"You are in a little maze of twisty passages, all different."
The "magic words" {xyzzy} and {plugh} also derive from this
game.
Crowther, by the way, participated in the exploration of the
Mammoth & Flint Ridge cave system; it actually *has* a
"Colossal Cave" and a "Bedquilt" as in the game, and the "Y2"
that also turns up is cavers' jargon for a map reference to a
secondary entrance.
See also {vadding}.
[Was the original written in FORTRAN?]
(01 Apr 1996)
Adventure Definition Language
(ADL) An {adventure} game language
{interpreter} designed by Ross Cunniff and
Tim Brengle in 1987. ADL is semi-{object-oriented} with
{Lisp}-like {syntax} and is a superset of {DDL}. It is
available for {Unix}, {MS-DOS}, {Amiga} and {Acorn}
{Archimedes}.
{(ftp://ftp.uu.net/usenet/comp.sources.games/volume2)},
{(ftp://ftp.wustl.edu/systems/amiga/fish/fish/f0/ff091)}.
(20 Mar 1995)
ADVSYS
An {adventure} game language designed by
David Betz in 1986. ADVSYS is {object-oriented} and
{Lisp}-like.
{(ftp://ftp.uu.net/usenet/comp.sources.games/volume2)}
(20 Mar 1995)
AE
{Application Executive}
AED
{Automated Engineering Design}
AEGIS
A {Unix} variant that was used on {Apollo}
{workstations} before Apollo was bought by {Hewlett Packard}.
AEGIS has some advantages over standard {BSD} or {System V}
Unix. It includes faster file access and a richer command
set; there are commands to find out which {process} is running
on a particular node, which process is locking a particular
file, etc.
(25 Feb 1997)
Aegis
A {CASE} tool for project change
management, from the {GNU} project.
(27 Mar 1995)
Aeolus
A {concurrent} language with {atomic transaction}s.
["Rationale for the Design of Aeolus", C. Wilkes et al, Proc
IEEE 1986 Intl Conf Comp Lang, IEEE 1986, pp.107-122].
(27 Mar 1995)
AEP
{Application Environment Profile}
aeroplane rule
"Complexity increases the possibility of failure; a
twin-engine aeroplane has twice as many engine problems as a
single-engine aeroplane."
By analogy, in both software and electronics, the rule that
simplicity increases robustness. It is correspondingly argued
that the right way to build reliable systems is to put all
your eggs in one basket, after making sure that you've built a
really *good* basket.
See also {KISS Principle}.
(04 Apr 1995)
AES
{Application environment specification}
AESOP
{An Evolutionary System for On-line Programming}
AFAC
An early system on the {IBM 704}.
[Listed in CACM 2(5):16 (May 1959)].
(04 Apr 1995)
AFAIK
as far as I know.
affine transformation
A {linear transformation} followed by a
{translation}. Given a {matrix} M and a {vector} v,
A(x) = Mx + v
is a typical affine transformation.
(10 Apr 1995)
AFIPS
{American Federation of Information Processing Societies}
AFJ
{April Fool's Joke}
AFK
away from keyboard.
aflex
A {Lex}-like {scanner generator} that produce {Ada}
output from IRUS (Irvine Research Unit in Software). aflex
comes with {ayacc}.
Version 1.2a.
Mailing list: .
{(ftp://liege.ics.uci.edu/pub/irus/aflex-ayacc_1.2a.tar.Z)}
(06 Jan 1993)
AFNOR
Association Francaise pour la Normalisation.
The French national {standard}s institute, a member of {ISO}.
(14 Dec 1994)
AFP
{Appletalk Filing Protocol}
AFS
{Andrew File System}
AFUU
{Association Française des Utilisateurs d'Unix}
agent
In the {client-server} model, the part of the
system that performs information preparation and exchange on
behalf of a {client} or {server}. Especially in the phrase
"intelligent agent" it implies some kind of automatic process
which can communicate with other agents to perform some
collective task on behalf of one or more humans.
(09 Apr 1995)
aggregate type