Dictionary of Computer Science, Engineering and Technology
Dictionary of Computer Science, Engineering and Technology
OF
COMPUTER
SCIENCE,
ENGINEERING,
AND TECHNOLOGY
EDITOR-IN-CHIEF
Phillip A. Laplante
CRC Press
Boca Raton London New York Washington, D.C.
Library of Congress Cataloging-in-Publication Data
This book contains information obtained from authentic and highly regarded sources. Reprinted material is quoted with
permission, and sources are indicated. A wide variety of references are listed. Reasonable efforts have been made to publish
reliable data and information, but the authors and the publisher cannot assume responsibility for the validity of all materials
or for the consequences of their use.
Neither this book nor any part may be reproduced or transmitted in any form or by any means, electronic or mechanical,
including photocopying, microfilming, and recording, or by any information storage or retrieval system, without prior
permission in writing from the publisher.
All rights reserved. Authorization to photocopy items for internal or personal use, or the personal or internal use of specific
clients, may be granted by CRC Press LLC, provided that $.50 per page photocopied is paid directly to Copyright Clearance
Center, 222 Rosewood Drive, Danvers, MA 01923 USA The fee code for users of the Transactional Reporting Service is
ISBN 0-8493-2691-5/01/$0.00+$.50. The fee is subject to change without notice. For organizations that have been granted
a photocopy license by the CCC, a separate system of payment has been arranged.
The consent of CRC Press LLC does not extend to copying for general distribution, for promotion, for creating new works,
or for resale. Specific permission must be obtained in writing from CRC Press LLC for such copying.
Direct all inquiries to CRC Press LLC, 2000 N.W. Corporate Blvd., Boca Raton, Florida 33431.
Trademark Notice: Product or corporate names may be trademarks or registered trademarks, and are used only for
identification and explanation, without intent to infringe.
One can only appreciate the magnitude of effort required to develop a dictionary by actually
experiencing it. Although I had written nine other books, I certainly did not know what I was getting
into when in January of 1996 I agreed to serve as Editor-in-Chief of CRC Press's Comprehensive
Dictionary of Electrical Engineering. Published 2 1/2 years later in 1999,1 finally understood what I
had gotten myself into. Unlike other books that I had written, creating that dictionary was more a test
of will and stamina and an exercise in project management than in mere writing. And although I have
managed organizations of up to 80 academics, nothing is more like "herding cats" than motivating an
international collection of more than 100 distinguished engineers, scientists, and educators scattered
around the globe, almost entirely via email. Yet, I think there is no other way to develop a dictionary.
I still marvel at how Noah Webster must have managed to construct his English Dictionary without
the benefits of modern communication.
But I learned many lessons from the Electrical Engineering Dictionary project that made the
development of this dictionary far easier. For example, I put the development schedule on a much
faster track, and I didn't burden the contributors with excessive formatting guidelines. Neverthe-
less, like the Electrical Engineering Dictionary, this dictionary, as much as it is an organizational
achievement, is really the collaborative work of many brilliant and dedicated men and women. This
is their dictionary and your dictionary. I hope you refer to it regularly and enjoy it.
• Computer Graphics
• Database Systems
• Numerical Computing
• Operating Systems
• Programming Languages
• Software Engineering
While sufficient hardware terms were included to understand the basics of digital electronics,
those interested in additional electrical engineering terms should consult CRC's Comprehensive
Dictionary of Electrical Engineering which includes many more such terms.
Given the area editor structure, constructing the dictionary then consisted of the following steps:
Acknowledgments
A project of this scope literally requires hundreds of participants. I would like to take this moment
to thank these participants both collectively and individually. I thank, in no particular order:
• Susan Fox for providing excellent copy editing of the final manuscript.
This achievement is as much theirs as it is mine. Please accept my apologies if anyone was left
out — this was not intentional and will be remedied in future printings of this dictionary.
Finally, thank you to my wife Nancy and children Christopher and Charlotte for their incredible
patience and endurance while I literally spent hundreds of hours giving birth to this dictionary.
Robotics and Synthetic Environments: John Draper, Oak Ridge National Laboratories
Software Engineering: Paolo Nesi, University of Florence
Trade and Service Marks
• The Graphics Interchange Format is the copyright property of CompuServe Incorporated.
• GIF (sm) is a service mark property of CompuServe Incorporated.
Companies
• AT&T Bell Laboratories
• Digital Equipment Corporation
• Hewlett-Packard Corporation
• IBM Corporation
• Inmos Corporation
• IEEE
• Intel Corporation
• Interactive Corporation
• Lotus Development Corporation
• Microsoft Corporation
• Motorola
• Santa Cruz Operation (SCO)
• Unhnation, Inc.
CONTRIBUTORS
Joshua Hale
John Draper University of Glasgow
Oak Ridge National Laboratories Glasgow, Scotland
Oak Ridge, Tennessee
John Harauz MartMoIle
John Harauz, Engineering Standards University of California
Toronto, Ontario, Canada Riverside, California
Special
force-writing logs at all participating sites. The
second phase involves either committing or un-
doing the transactions depending on the out-
Terms
come of the first phase.
2D two-dimensional.
0-8493-2691-5/Ol/SO 00+S.50
© 2001 by CRC Press LLC 1
abstract data type (ADT)
A
a pattern and light sources and detectors. The
combination of light detectors receiving light
depends on the position of the rotor and the pat-
tern employed (typically the Gray code). Thus,
absolute position information is obtained. The
A* search See best first search. higher the resolution required, the larger the num-
ber of detectors needed. See also encoder.
A/D See analog-to-digital converter.
absolute error the difference between the
abdominal simulator a virtual reality simu- actual result and computed result. Sometimes
lation of the human abdomen, used for training confusingly used for the magnitude of the dif-
and surgery planning in telemedicine. ference.
abnormal event any external or program- absolute form for time in temporal logic
generated event that makes further normal pro- systems, when time is referenced to a general
gram execution impossible or undesirable, re- system clock and the value is expressed in sec-
sulting in a system interrupt. Examples of onds (milliseconds). See relative form for time.
abnormal events include: system detection of
power failure, attempt to divide by 0, attempt absolute input device an input device that
to execute privileged instruction without privi- reports its actual position, rather than relative
leged status, memory parity error. movements. A data tablet or Polhemus tracker
operates in this way. See also relative input de-
abort to terminate the attempt to complete the vice.
transaction, usually because there is a deadlock
or because completing the transaction would re- absolute path See full path.
sult in a system state that is not compatible with
"correct" behavior, as defined by a consistency absolute performance guarantee an approx-
model, such as sequential consistency. Syn- imation algorithm with an absolute performance
onym for rollback. guarantee is guaranteed to return a feasible so-
lution whose value differs additively from the
absolute address an address within an in- optimal value by a bounded amount.
struction which directly indicates a location in
the program's address space. Programming lan- absolute position the position of an object
guages may or may not support the use of ab- in space as referenced to its environment; dif-
solute addresses, depending upon their design. ferent from relative position, which expresses
See also relative addressing, position with regard to some other object in the
environment.
absolute addressing an addressing mode
where the address of the instruction operand in abstract class a class defined such that no
memory is a part of the instruction so that no objects of the class can ever be created. The
calculation of an effective address by the CPU value of an abstract class is that other classes,
is necessary. objects of which can be created, can be derived
For example, in the Motorola M68000 ar- classes or subclasses of the abstract class. Also
chitecture instruction: ADD 5000,D1, a 16-bit known in some languages as pure classes.
word operand, stored in memory at the word
address 5000, is added to the lower word in reg- abstract data type (ADT) a data type which
ister Dl. The address "5000" is an example of hides its implementation. It may be a user-
using the absolute addressing mode. See also defined type or a base type in the language.
addressing mode. The behavior of an abstract data type should be
0-8493-2691-5A)1/$0 00+S.50
© 2001 by CRC Press LLC 3
abstract interpretation
entirely deducible from the specification of its pendent of the source syntax (concrete syntax)
methods, and not require understanding the de- of the language being compiled (though it will
tails of its implementation. Instances of the type often be very similar). A parse tree is similar to
are created and inspected only by using calls to a syntax tree but it also contains features such
the access functions. This allows the implemen- as parentheses which are syntactically signifi-
tation of the type to be changed without requir- cant but which are implicit in the structure of
ing any changes outside the module in which it the syntax tree. In some cases, a description
is defined. ADTs are central to object-oriented of a data structure is independent of machine-
and object-based programming. A classic ex- oriented structures and encodings.
ample of an ADT is a stack data type for which
functions might be provided to create an empty abstract system a system defined by a func-
stack, to flush a stack, to push values onto a tional design. It is not a physical system to be
stack, and to pop values from a stack. found in the real world, but a conceptual system
behaving as specified in the functional design.
abstract interpretation a partial execution It is in the understanding of the abstract system
of a program which gains information about its that it is possible to reason about the specified
semantics (e.g., control structure, flow of in- behavior and verify if it will satisfy the func-
formation) without performing all the calcula- tional requirements.
tions. Abstract interpretation is typically used
by compilers to analyze programs in order to A-buffering an antialiased extension to Z-
decide whether certain optimizations or trans- buffering. An A-buffer identifies visible seg-
formations are applicable. The objects manipu- ments within a sub-pixel area which are repre-
lated by the program (typically values and func- sented with bit masks and area sampled for pixel
tions) are represented by points in some domain. intensity. The technique employs logical oper-
Each abstract domain point represents some set ations on the bit masks and thus avoids floating
of real values. point geometry calculations.
4
access time
acceptance testing formal testing conducted capsulation by identifying the visibility of at-
to determine whether a system satisfies its ac- tributes and classes with respect to clients.
ceptance criteria and thus whether the customer
should accept the system. access line a communication line that con-
nects a user's terminal equipment to a switching
accepting state any state in an automaton node.
which is designated as a state that is entered upon
processing the last symbol of an input string access matrix a matrix with a row for each
when the input string constitutes a valid sentence subject and a column for each subject and each
in the grammar recognized by the automaton. object. Records authorized access modes (such
as read, write, execute) subjects may be to ob-
access control a means of allowing access to jects. Represents the current access authoriza-
an object based on the type of access sought, the tion policy, but never implemented directly as
accessor's privileges, and the owner's policy. an array because it would be too sparse.
access control list a list of items associated access mechanism a circuit board or an inte-
with a file or other object; the list contains the grated chip that allows a given part of a computer
identities of users that are permitted access to system to access another part. This is typically
the associated file; there is information (usually performed by using a specific access protocol.
in the form of a set of bits) about the types of
access (such as read, write, or delete) permitted access method a method in which a file is
to the user. accessed. The access methods possible depend
on the file organization.
access control matrix a tabular representa-
tion of the modes of access permitted from active access mode a file's complete set of access
entities (programs or processes) to passive enti- permissions.
ties (objects, files, or devices). A typical format
associates a row with an active entity or sub- access path (1) a pair (name, index) which
ject and a column with an object; the modes of allows the selection of a value from an object.
access permitted from that active entity to the Note that for composite objects the index may
associated passive entity are listed in the table not be a simple value such as an integer but may
entry. include such concepts as field selection.
(2) a designation in a machine instruction of
accessibility refers to the ease with which the computation of an operand location, usually
a human may enter an environment and ranges as a (name, index) pair, where the name desig-
from high (for example, an office building) to nates a storage class.
low (for example, a human blood vessel). Two
aspects of the work environment, variability and access protocol a set of rules that establishes
accessibility, determine the applicability of au- communication among different parts. These
tonomous robots, humans, and teleoperators. Ac- can involve both hardware and software specifi-
cessibility determines whether a human is appli- cations.
cable: if a human cannot enter an environment
or the environment is harmful, an autonomous access right permission to perform an opera-
robot or a teleoperator is the best choice. Where tion on an object, usually specified as the type of
accessibility is low but variability is high, tele- operation that is permitted, such as read, write,
operators are best. See also complexity. or delete. Access rights can be included in ac-
cess control lists, capability lists, or in an overall
access level equivalent to visibility inside access control matrix.
classes. In the C++ language three types of ac-
cess levels are defined: private, protected, and access time the total time needed to retrieve
public. The access level is used to enforce en- data from memory. For a disk drive this is the
5
access transparency
sum of the time to position the read/write head accuracy (1) in a floating-point number rep-
over the desired track and the time until the de- resentation, this is the number of significant bits
sired data rotates under the head. contained. (Note that this is different from con-
ventional usage, although it is related.) Also
access transparency a system property by referred to as effective accuracy.
which the complications involved in providing (2) the degree of precision with which a robot
access to something (e.g., data) are not apparent is able to move to a position in space.
to the accessor. (3) the capability of a software or system to
provide the right or agreed results or effects with
accident an event characterized by the un- the needed degree of precision. See precision.
wanted release of energy or toxic material, pos-
sibly resulting in death, injury, or environmen- achromatic light without color. The quan-
tal damage. An accident may be due to a tity of light is the only attribute associated with
critical failure of an item, but not necessarily achromatic light. In physical terms, this is the
(e.g., it may be due to an external cause). The intensity or luminance or in the psychological
term mishap covers other types of unacceptable sense it is the perceived intensity in which case
events, e.g., large financial loss. the term brightness is used. In the YIQ or YUV
representations, this is the Y component. In the
accommodation (1) the ability of a robot to HSV representations, it is the V (value) com-
respond to forces and adjust itself to compensate ponent. In the HSL representations, it is the L
for positioning errors; may be active, using sen- (lightness or intensity) component.
sors, a control loop, and actuators, or passive,
taking advantage of compliance. achromatic visual field that portion of the
(2) changes made to the shape of the lens of visual field within which color vision is not pos-
the human eye with the goal of focusing images sible.
on the retina.
ACID an acronym meaning atomic, consis-
account (1) an interface and set of resources tent, isolated, and durable.
available to a user on a computer system.
(2) a unique data collection point for financial Ackermann's function a function of two pa-
or measurement data. For instance, the AXE45 rameters whose value grows very fast. It is de-
can be an account for a public telephony switch, fined as A(l, j) = 2', A(i, 1) = A(i - 1,2),
and as such uniquely identifiable. and A(i, j) = A(i - 1, A(i, j - 1)).
accumulation error image error caused acknowledge (1) a signal which indicates
mainly by the discretization process. that some operation, such as a data transfer, has
been successfully completed.
accumulator historically, the single register (2) to detect the successful completion of an
on a machine in which a computation would pro- operation and produce a signal indicating the
duce a result. Currently, any register in the CPU success.
(processor) that stores one of the operands prior
to the execution of an operation, and into which acoustic memory a form of circulating mem-
the result of the operation is stored. An accu- ory in which information is encoded in acoustic
mulator serves as an implicit source and des- waves. Now obsolete.
tination of many of the processor instructions.
For example, register A of the Intel 8085 is an acoustic tracker device using a sound emit-
accumulator. Generally, however, usage of this ter attached to the target to sense its position;
term is considered archaic. See also CPU and used in sets of at least three trackers to allow
processor. triangulation of the emitter.
6
active object
acquirer an organization that acquires or pro- call of a procedure or function. This informa-
cures a system, product, or service from a sup- tion includes: the return address of the caller,
plier. The acquirer could be one of the follow- the procedure's parameters and local variables,
ing: buyer, customer, owner, user, purchaser. and the frame pointer of the caller.
acquisition (1) the process of obtaining a active agent a program sent to another com-
system, software product, or software service. puter for execution on behalf of the sending
(2) in digital communications systems, the computer.
process of acquiring synchronism with the re-
ceived signal. There are several levels of acqui- active class in object-based or oriented pro-
sitions and for a given communication system gramming, a class that generates objects with
several of them have to be performed in the pro- the autonomous behavior. An object instanti-
cess of setting up a communication link: fre- ated by a pure active class does not receive re-
quency, phase, spreading code, symbol, frame, quests from any other objects.
etc.
(3) in vision processing, the process by which active contour a deformable template match-
a scene (physical phenomenon) is converted into ing method that, by minimizing the energy func-
a suitable format that allows for its storage or tion associated with a specific model (i.e., a spe-
retrieval. See also synchronization. cific characterization of the shape of an object),
deforms the model in conformation to salient
action an operation performed by a system image features. Also called a snake.
or object.
active database a database within which the
action expression the expression specifying DBMS monitors the database and triggers cer-
the rule behind the action to be performed. tain actions to occur.
action semantics a variation of denotational active device a device that can convert en-
semantics where low-level details are hidden by ergy from a DC bias source to a signal at an RF
use of modularized sets of operators and com- frequency. Active devices are required in oscil-
binators. lators and amplifiers.
action state the state associated with the ac- active error handling the action of reporting
tion. Typically, the state of the system in which and managing unexpected program errors.
the action is performed.
active logic digital logic which operates all
activation the event in which a latent fault of the time in the active, dissipative region of
gives rise to a failure in response to a trigger. the electronic amplifiers from which it is con-
Same as manifestation of a fault. structed. The output of such a gate is determined
primarily by the gate and not by the load. Such
activation function in an artificial neural net- logic is generally faster than saturated logic, but
work, a function that maps the net output of a it dissipates much more energy. See saturated
neuron to a smaller set of values. This set is logic.
usually [0,1]. The original idea was to approx-
imate the way neurons fired, and the activation active neuron a neuron with a non-zero out-
function took on the value 0 until the input be- put. Most neurons have an activation threshold.
came large and the value jumped to 1. Typical The output of such a neuron has zero output until
functions are the sigmoid function or singularity this threshold is reached.
functions like the step or ramp.
active object an object instantiated from
activation record a record containing all of an active class. An active object presents a
the information associated with an activation or given degree of autonomy and is typically re-
7
active quality assurance
sponsible for the activities of other objects. In actuator (1) a transducer which converts elec-
object-oriented systems, active objects produce tric, hydraulic, or pneumatic energy to effective
asynchronous actions without the stimulation of motion. For example, in robots, actuators set
other objects. Typically, in software applica- the manipulator in motion through actuation of
tions there exist only few active objects manag- the joints. Industrial robots are equipped with
ing all the other application objects. These can motors which are typically electric, hydraulic,
be pure passive or may present a certain degree or pneumatic. See industrial robot.
of autonomy. In some texts, the non-pure active (2) in computers, a device, usually mechan-
objects are considered active objects as well. A ical in nature, that is controlled by a computer,
high number of active objects identify a high de- e.g., a printer paper mechanism or a disk drive
gree of parallelism for the application producing head positioning mechanism.
problems of synchronization.
actuator subsystem components of a robotic
active quality assurance a quality assurance system including actuators, means of transmit-
group that plays an active role in reviews, test- ting actuator forces to links, and means for pro-
ing, and other quality related issues, as opposed viding actuators with power.
to passive quality assurance. The difference is
often the amount of money that is spent on the
Ada a programming language developed by
quality assurance group. If it is not enough it is
the U.S. Department of Defense to support writ-
passive; otherwise it can be active.
ing reliable applications. Named after Augusta
Ada Byron, Countess Lovelace (1815-1852),
active redundancy the adoption of redun-
often called the world's first programmer be-
dant components working simultaneously to al-
cause she prepared algorithms for Charle's Bab-
low or prevent the recovering from failure.
bages Analytical Engine, an early mechanical
calculator.
active rule a rule that states a condition and
an associated action. If the condition is satisfied,
the rule is triggered and the specified action oc- adaptability the capability of the software
curs. product to be adapted for different specified en-
vironments without applying actions or means
active transaction a transaction which is other than those provided for this purpose for
pending, and not yet committed or aborted. the software considered. Adaptability includes
the scalability of internal capacity (e.g., screen
activity (1) in a software lifecycle, a het- fields, tables, transaction volumes, report for-
erogeneous collection of tasks which, together, mats). If the software has to be adapted by the
define a large-scale goal to be achieved. end user, adaptability corresponds to suitability
(2) in state modeling of a class, any operation for individualization and may affect operability.
which takes a significant time to execute.
adaptation process that allows humans to ad-
activity diagram the diagram reporting the just to changing conditions (e.g., illumination)
activities of software components. A type of or relationships (e.g., control order) in their envi-
flow chart to describe the behavior of class meth- ronment; for example, adaptation allows a user
ods or of the whole class. This is typical of UML to see in low lighting, and to perform teleop-
notation. eration when the line of gaze from camera to
end-effector is not the same as the normal one
activity packet See template. from head to hands.
actual parameter the value or reference com- adaptive algorithm an algorithm whose
puted at the time of a function call of a function. properties are adjusted continuously during ex-
Some language definitions refer to this as an ar- ecution with the objective of optimizing some
gument. See also parameter. criterion.
8
add instruction
adaptive coding a coding scheme that adapts load may be used in arriving at the partition size
itself in some fashion to its input or output. to be allocated to a job.
adaptive control advanced control scheme adaptive predictor a digital filter whose co-
in which a sensor or sensors monitor a task or efficients can be varied, according to some error
process and adjust robot parameters to optimally minimization algorithm, such that it can predict
meet the needs of the mission. the value of a signal, say N sampling time inter-
vals, into the future. The adaptive predictor is
adaptive forward differencing an efficient useful in many interference cancellation appli-
way to evaluate parametric functions describing cations.
curves or surfaces. Each value of the function is
determined as the sum of the previous value and adaptive resonance theory (ART) network
a difference term. The distance between points a clustering network developed to allow the learn-
at which the function is evaluated is adapted to ing of new information without destroying what
the flatness of the function. The value can be a has already been learned. Each cluster is repre-
vector as well as a scalar, and this is useful for sented by a prototype and learning is achieved
calculating B-splines. by comparing a new input pattern with each pro-
totype. If a prototype is found that is acceptably
adaptive fuzzy system fuzzy inference sys- close to that input, the new pattern is added to
tem that can be trained on a data set through that prototype's cluster and the prototype is ad-
the same learning techniques used for neural justed so as to move closer to the new input. If
networks. Adaptive fuzzy systems are able to no prototype is acceptable, the pattern becomes
incorporate domain knowledge about the target a new prototype around which a new cluster may
system given from human experts in the form develop.
of fuzzy rules and numerical data in the form of
input-output data sets of the system to be mod- adaptive sampling a method of reducing
eled. See also neural network, fuzzy inference aliasing artifacts when rendering by adapting the
system. sampling rate in response to the local character-
istic of the object being rendered. This tech-
adaptive logic network tree-structured net- nique is often useful to reduce the jagged edges
work whose leaves are the inputs and whose root at the edges of objects (or jaggies).
is the output. The first hidden layer consists of
linear threshold units and the remaining layers adaptive sorting algorithm a sorting algo-
are elementary logic gates, usually AND and OR rithm that can take advantage of existing order
gates. Each linear threshold unit is trained to fit in the input, reducing its requirements for com-
input data in those regions of the input space putational resources as a function of the disorder
where it is active (i.e., where it contributes to in the input.
the overall network function).
adaptive subdivision a paradigm for repre-
adaptive maintenance the maintenance ac- senting data in a hierarchical manner by repeat-
tions performed on a system in order to modify edly dividing and classifying it until no further
its behavior for satisfying new needs or environ- definition is«neeessary, given an error tolerance.
mental features. Classical adaptive maintenance See octree and quadtree.
tasks could be the porting, the addition of new
functionalities, etc. fulder a logic circuit used for adding binary
numbers.
adaptive partitioning an approach for paral-
lel job scheduling in which the size of the parti- add instruction a machine instruction that
tion allocated to a job is adaptable to system load causes two numeric operands to be added to-
and is computed before starting job execution on gether. The operands may be from machine reg-
the system. Both user input and current system isters, memory, or from the instruction itself, and
9
additive adder
the result may be placed in a machine register address bus the set of wires or tracks on a
or in memory. backplane, printed circuit board, or integrated
circuit to carry binary address signals between
additive adder an adder in which addition is different parts of a computer. The number of
not realized as a subtraction, i.e., A + B is not bits of address bus (the width of the bus) deter-
realized as A — (—B). mines the maximum size of memory that can be
addressed. Modern microchips have 32 address
additive color model colors are defined as a lines, thus 4 gigabytes of main memory can be
sum of contributions from primary colors. The accessed.
most commonly used additive color model is the
Red-Green-Blue model. address-calculation sort a sort algorithm
which uses knowledge of the domain of the items
to calculate the position of each item in the sorted
additive normalization a procedure used
array. See also radix sort, bucket sort.
in the computation of mathematical functions,
such as sine, cosine, etc. To compute /(*), two
address decoder logic which decodes an ad-
variables, say X and Y, are maintained such that
dress.
as X is reduced to some known constant (usu-
ally 0 or 1), Y tends to /(*). The reduction of 1. A partial decoder responds to a small
X is by the addition of a sequence of constants. range of addresses and is used when rec-
ognizing particular device addresses on an
additive rule given sets A, B, and C, if A -» I/O address bus, or when recognizing that
C and A -* B (= A -» 5C. addresses belong to a particular memory
module.
address a unique identifier for the place
where information is stored (as opposed to the 2. A full decoder takes N bits and asserts
contents actually stored there). Most storage one of 2N outputs, and it is used within
devices may be regarded by the user as a lin- memories (often within RAM chips them-
ear array, such as bytes or words in RAM or selves).
sectors on a disk. The address is then just an or-
dinal number of the physical or logical position.
address error an exception (error interrupt)
In some disks, the address may be compound,
consisting of the cylinder or track and the sector caused by a program's attempt to access un-
aligned words or long words on a processor that
within that cylinder.
does not accommodate such requests. The ad-
In more complex systems, the address may dress error is detected within the CPU. This con-
be a "name" which is more relevant to the user trasts with problems that arise in accessing the
but which must be translated by the underlying memory itself, where a logic circuit external to
software or hardware. the CPU itself must detect and signal the error
to cause the CPU to process the exception. Such
addressable unit a specification of the small- external problems are called bus errors. See bus
est value that can be "named" by a computer error.
implementation. Although most modern archi-
tectures have chosen the byte of 8 bits as the address field the portion of a program in-
basic addressable unit, historically the address- struction word that holds an address.
able unit has been as many bits as the architect
has chosen. Many machines, and even modern address generation interlock (AGI) a mech-
machines used as digital signal processors, have anism to stall the pipeline for one cycle when
only words as addressable units, with lengths an address used in one machine cycle is being
such as 16,32,64, and even 80 bits. calculated or loaded in the previous cycle. Ad-
dress generation interlocks cause the CPU to be
address aliasing See cache aliasing. delayed for a cycle. (AGIs on the Pentium are
10
adjacency-matrix representation
even more important to remove, because two address size prefix a part of a machine in-
execution time slots are lost). struction that provides information as to the
length or size of the address fields in the instruc-
addressing (1) in processors, a mechanism to tion.
refer to a device or storage location by an identi-
fying number, character, or group of characters address space (1) an area of memory which
which may contain a piece of data or a program is seen or used by a program and generally man-
step. aged as a continuous range of addresses. Many
(2) In networks, the process of identifying computers use separate address spaces for code
a network component, for instance, the unique and data; some have other address spaces for
address of a node on a local area network. system. An address space is usually subject to
protection, with references to a space checked
for valid addresses and access (such as read
addressing fault an error that halts the map-
only).
per when it cannot locate a referenced object in
main memory. The physical address space of a computer
(232 bytes, and up to 264 bytes) is often larger
addressing mode a form of specifying the than the installed memory. Some parts of the
address (location) of an operand in an instruc- address range (often at extreme addresses) may
tion. Some of the addressing modes, found in be reserved for input-output device addresses.
most processors, are: direct or register direct, See also byte, memory, memory mapped I/O,
and processor.
where the operand is in a CPU register; regis-
ter indirect (or simply indirect), where a CPU (2) the range of potential addresses returned
register contains the address of the operand in by a hash function.
memory; and immediate, where the operand is
a part of the instruction. See also central pro- address spoofing any enemy computer's im-
cessing unit. personation of a trusted host's network address.
addressing range numbers that define the address translation See address mapping.
number of memory locations addressable by the
CPU. For a processor with one address space, ad hoc query a query in which data is re-
the range is determined by the number of signal trieved from a database using a query of the form
lines on the address bus of the CPU. "return all data from a given set in the database
that matches these conditions."
address locking a mechanism to protect a
specific memory address so that it can be ac- adjacency graph a graph in which each node
cessed exclusively by a single processor. represents an object, component, or feature in an
image. An edge between two nodes indicates
address map a table that associates a base two components that are touching or connected
address in main memory with an object (or page) in the image.
number.
adjacency-matrix representation a repre-
address mapping the translation of virtual sentation of a directed graph with n vertices us-
addresses into real (i.e., physical) addresses for ing an n x n matrix, where the entry at (i, j) is
memory access. See virtual memory. 1 if there is an edge from vertex i to vertex j\
otherwise the entry is 0. A weighted graph may
address register a register used primarily to be represented using the weight as the entry. An
hold the address of a location in memory. The undirected graph may be represented using the
location can contain an operand or an executable same entry in (i, j) and (jf, i) or using an upper
instruction. triangular matrix.
11
admissibility condition
admissibility condition in artificial intelli- after image a copy of a database object after
gence and optimization theory, the necessity that it is updated.
the heuristic measure never overestimates the
cost of the remaining search path, thus ensuring agent (1) a computational entity that acts on
that an optimal solution will be found. behalf of other entities in an autonomous fash-
ion.
ADT See abstract data type. (2) in the client-server model, the part of the
system that performs information preparation
advanced manufacturing system (AM£) and exchange on behalf of a client or server.
modern manufacturing system combining com- Especially in the phrase "intelligent agent" it
puter assisted design, automation, robotics, and implies some kind of automatic process which
humans in a manner that maximizes product can communicate with other agents to perform
quality, optimizes production costs, and in- some collective task on behalf of one or more
creases the flexibility of the means of produc- humans.
tion.
agent-based system an application whose
adversary the input sequence can be thought components are agents. See agent.
of as being generated by an adversary that uses
information about the past moves of the on-line aggregate class a class that contains an ag-
algorithm to choose inputs that maximize the gregation of other objects.
ratio between the cost to the algorithm and the
optimal cost. aggregate function a function supported in
SQL (not expressible in the relational algebra)
aerodynamic head See disk head. that applies mathematical functions to a collec-
tion of values. Examples include average, count,
afferent filter a filter acting on information sum, etc.
coming in to a receiving system.
aggregate traffic in an analytic model that
affine function a geometric image transfor- has multiple classes of service, or multiple
mation including one or more translations, ro- chains of customers, the aggregate traffic is the
tations, scales, and shears that is represented combined traffic from one or more classes of
by a 4 x 4 matrix allowing multiple geometric service. In this case, the performance metrics
transformations in one transform step. Affine obtained are for the combination of classes. A
transformations are purely linear and do not in- class may be aggregated (combined) with an-
clude perspective or warping transformations. other when no performance metrics are desired
Affine functions are functions of several vari- for the class, or when individual class measure-
ables which can be defined as ments are difficult to obtain.
12
algorithm animation
puter. The Mark I was essentially a mechani- algebraic surface a surface defined by the set
cal computer. The Mark II was an electronic of points for which an algebraic function is equal
computer. Unlike UNIVAC (see Eckert, John), to a constant value. For an algebraic function
these machines had a stored memory. Aiken was /(p) at point p and a constant value c the surface
a professor of mathematics at Harvard Univer- 5 can be formally defined as S = {p : /(p) =
sity, Cambridge, Massachusetts. He was given c}.
the assignment to develop these computers by
the Navy. Among his colleagues in this project Algol acronym for algorithmic language,
were three IBM scientists and Grace Hopper. a family of languages starting with Algol-58
It was while working on the Mark I that Grace (1958), Algol-60 (the best-known member of
Hopper pulled the first "bug" (a moth) from a the family, 1960), and Algol-68 (1968). Histor-
computer. ically important because Algol-60 is the proto-
type for most modern language designs, includ-
AIP cube autonomy, interaction, presence; ing SIMULA, Pascal, Ada, C, and C++.
three axes of a space describing key character-
istics of synthetic environments. algorithm (1) a systematic and precise, step-
by-step procedure (such as a recipe, a program,
or set of programs) for solving certain kinds of
air gap See magnetic recording air gap. problems or accomplishing a task, for instance
converting a particular kind of input data to a
algebra See Boolean algebra. particular kind of output data, or controlling a
machine tool. An algorithm may be expressed
algebraic language (1) a language in which in ordinary language, in a programming lan-
the traditional algebraic operators (add, sub- guage, or in machine code. An algorithm trans-
tract, multiply, divide, and, depending on the forms some initial data to another form, which
language, a few others) are available. is its result. An algorithm can be executed by a
machine.
(2) a language in which the operator prece-
(2) in image processing, algorithms can be ei-
dence follows the traditional algebraic hierar-
ther sequential, parallel, or ordered. In sequen-
chy (for example, multiply binds operands more
tial algorithms, pixels are scanned and processed
closely than add).
in a particular raster-scan order. As a given pixel
is processed, all previously scanned pixels have
algebraic method a specification method updated (processed) values, while all pixels not
that sees the system and its parts as a type. The yet scanned have old (unprocessed) values. The
type is defined with a set of operators that are algorithm's result will, in general, depend on the
specified with a logical language asserting how order of scanning. In a parallel algorithm, each
the elements of the type are changed. Typical pixel is processed independently of any changes
algebraic methods are Z and VDM. in the others, and its new value is written in a
new image, such that the algorithm's result does
algebraic reconstruction the process of re- not depend on the order of pixel processing. In
constructing an image x from a noise-corrupted an ordered algorithm, pixels are put in an or-
and blurred image y. An arbitrary image is se- dered queue, where priority depends on some
lected as the initial condition of an iterative al- value attached to each pixel. At each time step,
gorithm for solving a set of linear equations. A the first pixel in the queue is taken out of it and
set of linear constraints is specified. In each iter- processed, leading to a possible modification of
ation, one constraint is applied to a linear equa- priority of pixels in the queue. By default, an al-
tion. The constraints are repeated in a cyclic gorithm is usually considered as parallel, unless
fashion until convergence is reached. The lin- stated otherwise.
ear constraints are vectors in a vector space with
specified basis images for the type of problem algorithm animation the process of ab-
to be solved. stracting the data, operations, and semantics of
13
algorithmic state machine (ASM)
computer programs and then creating animated variable. All paths between the definition of a
graphical views of those abstractions. This tech- variable and the use of that definition are now
nique is frequently used for better showing the identified. A test case is selected and executed
algorithm's evolution especially for teaching. for each such path.
14
American National Standards institute (ANSI)
alpha channel (1) the collection of alpha val- alternation a model of computation pro-
ues associated with an image where each alpha posed by Chandra, Stockmeyere, and Kozen,
value represents the coverage of each pixel in the which has two kinds of states, AND and OR.
image. The alpha values are used in the process The definition of accepting computation is ad-
of alpha blending. justed accordingly. See also time/space com-
(2) a grayscale image associated with the plexity, Hiring machine.
color channels of an image that dictates the
opacity/transparency of the corresponding color ambient some computer languages or object
channel pixels. If the color channels are multi- models support the notion of an object inherit-
plied by the alpha channel when stored, the im- ing properties not from a superclass but from an
age is referred to as premultiplied; otherwise it "ambient context" in which the object is embed-
is known as unpremultiplied. ded.
alpha-channel compositing See alpha blend- ambient lighting a global (artificial) illumi-
ing. nation level representing infinite diffuse reflec-
tions from all surfaces within a scene ensuring
alpha motion a code motion characterized by that all surfaces are visible (lit) particularly those
moving a computation to the head of a branch- without direct illumination. Ambient lighting is
ing construct such that it is executed once, be- usually treated as a constant in local shading
fore any branch is taken. Contrast with omega functions but is simulated directly in radiosity
motion. calculations.
15
American standard code for information interchange (ASCII)
cations. ANSI is a member of ISO. ANSI sells activity in which the problem do-
ANSI and ISO (international) standards. main is understood and in which there should
(2) informally, refers to the standard ANSI- be no constraints related to any possible solu-
X3.4, which defined the 8-bit extension to tion. In some cases, a model of the analysis is
the 7-bit ASCII character set standard. See produced in some formal or semiformal model.
also ASCII, International Standards Organiza-
tion (ISO). analysis-by-synthesis coding refers to the
class of source coding algorithms where the cod-
ing is based on parametric synthetization of the
American standard code for information in-
source signal at the encoder. The synthesized
terchange (ASCII) a binary code comprised
signal is analyzed, and the parameters that give
of seven digits, originally used to transmit tele-
the "best" result are chosen and then transmitted
graph signal information.
(in coded form). Based on the received parame-
Originally defined as a 7-bit standard, it has ters, the speech is re-synthesized at the receiver.
been extended in various ways providing some
limited international support. (See ASCII Code analysis method a notation and heuristics
Chart on page 17). for creating models of customer needs and con-
straints; for instance, the unified modeling pro-
amortized cost the cost of an operation con- cess using UML and use case driven analysis.
sidered to be spread over a sequence of many See analysis.
operations.
analysis reuse See reuse analysis.
amortized worst case See amortized cost.
analysis time the capability of a software
AMS See advanced manufacturing system. system or component to be diagnosed for defi-
ciencies or causes of failures, or for the parts to
be modified to be identified.
anaglyph a stereoscopic picture consisting
of two images of the same object, taken from analytical benchmarking the quantification
slightly different angles, in two complementary
of how effectively each machine in a heteroge-
colors. When viewed through colored specta-
neous computing environment can perform dif-
cles, the images merge to produce a stereoscopic
ferent categories of computation. The fact that
sensation.
a given high-performance machine can achieve
near-peak performance for only a relatively
analog control Control scheme in which a small set of code types is the underlying moti-
continuous, as opposed to digital, input signal is vation for heterogeneous computing. Although
mapped onto system actions. some general frameworks and tools for the pro-
cess of analytical benchmarking have been pro-
analog-to-digital (A/D) conversion a posed, more research is needed to achieve com-
method by which a continuously varying sig- plete and effective automation of this process.
nal (voltage) is sampled at regularly occurring
intervals. Each sample is quantized to a discrete anatomical model virtual model of the hu-
value by comparisons to preestablished refer- man anatomy, used for training or planning.
ence levels. These quantized samples are then
formatted to the required digital output (e.g., ancestor in object-oriented programming, a
binary pulse code words). The A/D converter class from which the current class has been spe-
is "clocked" to provide updated outputs at reg- cialized. It is another term for super-class.
ular intervals. In order not to lose any base-
band information, sampling must occur at a rate anchored instruction instructional design
higher than twice the highest incoming signal methodology in which learning takes place in
frequency component. a meaningful context (the context serves as the
16
anchored instruction
00 mil 20 sp 40 @ 60 \
01 soh 21 ! 41 A 61 a
02 stx 22 ii 42 B 62 a
03 etx 23 # 43 C 63 c
04 eot 24 $ 44 D 64 d
05 enq 25 % 45 E 65 e
06 ack 26 & 46 F 66 f
/
07 bel 27 47 G 67 g
08 bs 28 < 48 H 68 h
09 ht 29 )* 49 I 69 i
OA If 2A 4A J 6A J
OB vt 2B 4B K 6B k
OC ff 2C / 4C L 6C 1
OD cr 2D - 4D M 6D m
OE so 2E . 4E N 6E n
OF si 2F / 4F 0 6F 0
10 die 30 0 50 P 70 P
11 del 31 1 51 Q 71 g
12 dc2 32 2 52 R 72 r
13 dc3 33 3 53 S 73 s
14 dc4 34 4 54 T 74 t
15 nak 35 5 55 U 75 u
16 syn 36 6 56 V 76 V
17 etb 37 7 57 W 77 W
18 can 38 8 58 X 78 X
19 em 39 9 59 Y 79 y
1A sub 3A : 5A Z 7A z
IB esc 3B 7 5B t 7B {
1C
ID
fs
gs
3C
3D
<
=
5C
5D
\
1
7C
7D }
1
IE rs 3E > 5E ^ 7E ~
_
IF us 3F ? 5F 7F
17
anchor record
"anchor** for knowledge or skill acquisition); a (e.g., gray-level gradient, curvature, etc.) in
potential application for virtual reality (VR) in order to smooth image noise while preserving
education because of the ability of VR to provide crisp edges. The progressively smoothed im-
such context. age/(x, y, t) (where *, y are spatial coordinates
and t is time) satisfies the differential equation
anchor record the first record in each block
of the data file. 31/Bt = div(cVI),
where the diffusion factor c is a decreasing func-
AND The Boolean operator that implements tion of the spatial gradient V7. When c is con-
the conjunction of two predicates. The truth stant, this reduces to the heat diffusion equation
table for A m X and Y is
31/dt = cA7 .
X Y X/\Y
F F F Other mathematical formulations have been
F T F given, where edge-preserving smoothing is re-
T F F alized by a selective diffusion in the direction
T T T perpendicular to the gradient. See also multires-
olution analysis, mathematical morphology.
n-ary ands can be obtained as conjunction of
binary ands. anisotropic filtering image filtering that
produces different amounts of filtering (e.g.,
and See AND. smoothing filtering in different directions at
each pixel in an image). Two uses of anisotropic
AND gate a device which implements the filtering in graphics are to: (1) produce textures
Boolean AND operation. See AND. with different spatial frequency distributions in
different directions, and (2) to reduce aliasing
AND/OR tree a tree that enables the expres- effects along edges without blurring the edges
sion of the decomposition of a problem into sub- as much. Anisotropic filtering can be done in
problems, thus enabling alternate solutions to either the image or the frequency domains.
subproblems through the use of AND/OR mode
labeling schemes. annul bit a bit that is used to reduce the ef-
fect of pipeline breaks by executing the instruc-
animation (1) a medium that provides the tion after a branch instruction. The annul bit
illusion of a moving scene using a sequence of in a branch allows us to ignore the delay-slot in-
still images. struction if the branch goes the wrong way. With
(2) techniques used in the production of ani- the annul bit not set, the delayed instruction is
mated films. In computer graphics this primar- executed. If it is set, the delayed instruction is
ily concerns controlling the motion of computer annulled.
models and the camera.
(3) the process by which the behavior defined anomaly any detected difference between the
by a formal specification is examined and vali- expected values and functionalities with respect
dated against the informal requirements. to verified old versions or documents.
(4) graphic representation with movements
of complex algorithms or for simple visualiza- ANSI See American National Standards In-
tion of moving drawn object. It can be 2D or stitute.
3D.
ANSI X3J11 ANSI standard definition for
anisotropic diffusion a process of progres- the C language.
sive image smoothing as a function of a time
variable /, such that the degree and orienta- anthropometry study of human dimensions,
tion of smoothing at a point vary according particularly as related to designing appropriately
to certain parameters measured at that point for the size of users.
18
aperiodic task
19
aperture problem
execution, nothing can be said of its next occur- they may be written in different programming
rence. languages.
(2) a term used to distinguish programs that
aperture problem given a sequence of im- run outside the operating system, hence with
ages over time, we would like to infer the motion lower privilege than the operating system.
(optical flow) field. Based on local image infor-
mation (i.e., based on the values of those pixels application context the set the application
falling within some aperture), only the compo- features that establish the description of the en-
nent of motion along the gray-level gradient can vironmental aspects in which the application is
be inferred; the fact that the component of mo- used or is supposed to be used.
tion perpendicular to the gray-level gradient can
only be known by resorting to global methods application family a generic classification
is known as the aperture problem. See optical of application systems. One purpose is to al-
flow, optical flux. low several abstract systems, possibly defined
using different design languages, to be com-
API See application program interface. posed in one application. A second purpose
is to factor out the support systems, which are
APL (1) acronym: a programming language. generic and evolve independently from appli-
An abstract notation developed by Ken Iverson cations. The concept supports heterogeneous
of IBM T. J. Watson Research, which he used in applications, not easily covered by a single sys-
a formal description of the IBM 7360 computer tem description expressed in one of the design
architecture. languages.
(2) an implementation of the abstract nota-
tion of (1) that embodies many constructs of application gateway a relay and filtering
programming languages such as functions, as- program that operates layer seven of the network
signment, and goto. stack.
a posteriori probability See posterior statis- application generator a program that takes
tics. as input a specification of the required product.
This specification can be in a high level language
apparent concurrency within an interval of (a 4GL program). The product of the generator
time more than one process executes on a com- can only be usually modified by the generator
puter, although at the instruction level, instruc- by changing the input specification. Applica-
tions from only one process run at any single tion generators for some problem domains are
point in time. See also concurrency. typically complex applications.
20
approximate reasoning
language and lower level utilities and services applicative order evaluation an execution
which were written without consideration for the order in which the arguments in a function call
calling conventions supported by compiled lan- are evaluated before the body of the function.
guages. In this case, the API's main task may
be the translation of parameter lists from one applicative-order reduction a reduction
format to another and the interpretation of call- strategy in which the argument must be reduced
by-value and call-by-reference arguments in one to evaluated form before a function application
or both directions. can be reduced. Also called call-by-value re-
Many languages abstract greatly from the duction.
API, providing operations such as "file open",
"read data", "create new object", and leave it applied software measurement the practi-
as an exercise for the writer of the compiler and cal set of soft factors, productivity data, quality
run-time system to map these general operations data, project size, and risk information needed to
to the underlying API. In many cases, the value manage software projects and to assess software
representation of the language is unsuited to products.
passing values to the underlying API (for exam-
ple, most FORTRAN programs could not easily appraisal See assessment.
create the sequence of values required by some
operating systems), and a suitable layer of sub- approval cycle the process of gaining fund-
routine library must provide language-specific ing or management approval to introduce a new
access to the API. tool or method into an organization.
Examples of APIs include OpenGL, JavaSD,
Allegro. approximate coding a process, defined with
respect to exact coding, which deals with ir-
application semantics the part of the soft- reversible and information-lossy processing of
ware that is not the user interface. two-level pictures to improve compression ratio
with significant degradation of picture quality.
application software a complete, self- Exact coding schemes depend on the ability to
contained program that performs a specific func- predict the color of a pixel or the progression of a
tion directly for the user. contour from line-to-line. Irreversible process-
ing techniques try to reduce prediction errors by
application-specific integrated circuit (ASIC) maintaining the continuity of the contours from
in the broadest sense, integrated circuits that are line-to-line. With predictive coding, the number
designed for a specific application. The term is of pixels can be changed to reduce those having
used to describe VLSI circuits of standard form nonzero prediction error. With block coding, the
which can be configured either in manufacture compression efficiency can be improved by in-
or on site to meet the specific needs of the appli- creasing the probability of occurrence of the all
cation. The configuration process is generally zero block. The third approximate block coding
so inexpensive that such circuits are economical scheme is pattern matching. In this scheme the
to produce in extremely small runs. identification codes of the repeated patterns are
transmitted to the receiver. A library of patterns
application system the application part of is maintained for continuous checking. See ex-
a system instance implementation. An applica- act coding.
tion system defines the application (the behav-
ior) a customer wants to buy in terms of imple- approximate reasoning an inference proce-
mentation code. It is normally a partial imple- dure used to derive conclusions from a set of
mentation lacking the necessary support to exe- fuzzy if-then rules and some conditions (facts).
cute. An application system is used to produce The most used approximate reasoning methods
the concrete systems that actually execute and is are based on the generalized modus ponens. See
expressed using some high-level programming generalized modus ponens, fuzzy if-then rule,
language. linguistic variable, imprecise computation.
21
approximation algorithm
approximation algorithm for solving an op- (2) a set of inference rules that apply to func-
timization problem. An algorithm that runs in tional dependencies.
time polynomial in the length of the input and
outputs a feasible solution that is guaranteed to archive library See archive.
be nearly optimal in some well-defined sense
called the performance guarantee. argument (1) the formal parameter to a func-
tion.
a priori probability See prior statistics. (2) the actual parameter to a function. Some
languages distinguish between a formal param-
APT See automatic programming of tools. eter value, as specified in a function definition,
and the actual parameter value, as determined at
arc a connection between two nodes of a a call site, by calling the former a "parameter"
graph. If the arc has a specified direction of and the latter an "argument". Other languages
traversal, it is known as a directed arc. Also make no such distinction. See also parameter.
referred to as an edge of the graph. (3) a piece of data given to a hardware oper-
ator block.
architectural design the process for defin-
ing the modules and their use relationships of a arithmetic and logic unit (ALU) a com-
system. Large systems are divided into smaller binational logic circuit that can perform basic
subsystems and modules. The term has been arithmetic and logical operations on n-bit binary
initially used for processors. More recently, it operands.
has also been used for defining complex sys-
tems, e.g., software architecture, network archi- arithmetic coding a method (due to Elias,
tecture. Pasco, Rissanen, and others) for lossless data
compression. This incremental coding algo-
architectural visualization use of virtual rithm works efficiently for long block lengths
reality to simulate, examine, and interact with and achieves an average length within one bit
building designs before design finalization or of the entropy for the block. The name comes
construction. from the fact that the method utilizes the struc-
tures of binary expansions of the real numbers
architecture the software architecture of a in the unit interval.
program or computing system is the structure or
structures of the system, which comprise soft- arithmetic error the error that is generated
ware components, the externally visible proper- because a machine operation is only an approx-
ties of those components, and the relationships imation of the true mathematical operation or
among them. In object oriented modeling, the because a machine operator propagates onto its
architecture is at high level the general system output errors in the operands; that is, it is the
decomposition into the main sub-systems. In sum of the generated error and the propagated
some cases it may include the system descrip- error.
tion in terms of class hierarchy.
arithmetic instruction a machine instruc-
archive (1) generally, a collection of objects, tion that performs computation, such as addition
such as text files, stored as a unit; in a Unix or multiplication.
environment, often called an archive library or
simply a library, a collection of executable func- arithmetic-logic unit See arithmetic-logic
tions (in object code format) stored in a single unit.
file suitable for linking into an executable pro-
gram; often containing a group of related func- arithmetic operation any of the following
tions that provide a set of reusable programming operations and combinations thereof: addition,
utilities. subtraction, multiplication, division.
22
artificial life
arithmetic operator an operator which per- neous or heterogeneous depending on the pro-
forms a numeric computation. In most algebraic gramming language. The nature of the subscript
languages, the traditional infix operators such as is language-dependent, and although most lan-
"+" (add), ••-" (subtract), "*" (multiply), and guages support the use of a subrange of integers
"/" (divide) are in common usage to indicate as subscripts, other data types are possible. See
operations on individual values, but other oper- also associative array.
ators such as truncating integer division (Pas-
cal's " " operator), modulo (C's "%" operator) array bounds checking a form of execution
and exponentiation (FORTRAN'S "**" opera- semantics in which the indices of the array ac-
tor) are provided. These operators may be ex- cess are checked to see that they are valid for the
tended to other arithmetic data types, such as implementation of the array. In many imple-
complex numbers, arrays, and the like, or to rep- mentations, the programmer can disable array
resent more complex computations such as polar bounds checking to improve performance.
coordinate arithmetic or vector arithmetic. In a
more general sense, an arithmetic operator may array processor an array of processor el-
be represented syntactically as a function call ements operating in lockstep in response to a
but nonetheless be an arithmetic operator, for single instruction and performing computations
example sin(*). on data that are distributed across the processor
elements.
ARM (1) acronym, the Annotated Reference
Manual (for C++). articulation vertex a vertex whose deletion
(2) acronym, «Advanced RISC Machine», a disconnects a graph into two or more connected
computer architecture. components. Also called cut vertex.
arm a part of a robot. A robot is composed artifact (1) an error or aberration in a signal
of an arm (or mainframe) and a wrist plus a tool. that is the result of aliasing, a quantization error,
For many industrial robots the arm subassembly some form of noise, or the distorting effects of
can move with three degrees of freedom. Hence, some type of processing. See also outlier.
the arm subassembly is the positioning mecha- (2) a classifiable visual error, e.g., a loss of
nism. See industrial robot. resolution when zooming into an image or incor-
rect depth sorting due to the painter's algorithm.
Armstrong's axioms a set of inference rules
that applies to functional dependencies. artificial intelligence the study of computer
techniques that emulate aspects of human in-
Armstrong's inference rules See Arm- telligence, such as speech recognition, logical
strong's axioms. inference, and ability to reason from partial in-
formation.
ARQ See automatic repeat request.
artificial life the attempt to understand the
array a data structure which is typically or- emergence of life by re-creating possible life-
ganized so that it represents an ordered set of forms as simulation programs on computers and
values that can be accessed by supplying one studying their behaviors. In other words, rather
or more values which uniquely identify one of than using a descriptive approach as in biologi-
the values of the set. These values are called cal disciplines, a synthetic approach is adopted
subscripts. The dimension of an array is the to understand those aspects of the life phenome-
number of subscript values required to uniquely non that are independent of the media in which
identify a member. An array with one dimension it is implemented. According to Langton, the
is sometimes called a vector. A partial specifi- artificial life approach allows us to understand
cation of an array (for an n-dimensional array, not only the current existing lifeforms ("life-as-
specifying no more than n-1 subscripts) is re- we-know-it"), but also other lifeforms which are
ferred to as a slice. An array may be homoge- feasible but not yet created in nature ("life-as-
23
artificial muscle
it-could-be"). Evolutionary computation is usu- aspect ratio (1) the size invariant ratio of
ally adopted to simulate the evolutionary aspect length to width for a rectangular box enclosing
of life emergence. Examples of artificial life a shape, the orientation of the box being chosen
programs include Tierra, Swarm, and Boids. to maximize the ratio. This measure is used to
characterize object shapes as a preliminary to,
artificial muscle actuator designed to work or as a quick procedure for, object recognition.
in a fashion similar to human muscles, that is, (2) In a computer display, the ratio of the
by linear extension and contraction. length of the ^-coordinate range to the y-coordi-
nate range.
artificial neural network a complex non-
linear modeling technique based on a model of assembler (1) a computer program that trans-
a human neuron. A neural net is used to pre- lates an assembly-code text file to an object file
dict outputs (dependent variables) from a set suitable for linking.
of inputs (independent variables) by taking lin- (2) a program for converting assembly lan-
ear combinations of the inputs and then mak- guage into machine code (object code).
ing nonlinear transformations of the linear com-
binations using an activation function. In par-
assembly code a symbolic notation that tra-
ticular, artificial neural networks have been de-
ditionally has a one-to-one relationship with the
signed and used for performing pattern recog-
generated machine code. Translated to machine
nition operations. See also pattern recognition,
code by use of an assembler. The output of many
perceptron.
compilers is assembly code, which must be pro-
cessed by an assembler before it can be linked.
artificial neuron an elementary analog of a
See also assembly language.
biological neuron with weighted inputs, an in-
ternal threshold, and a single output. When the
activation of the neuron equals or exceeds the assembly language a low-level programming
language that represents machine code in a sym-
threshold, the output takes the value +1, which
is an analog of the firing of a biological neuron. bolic, easier-to-read form of a processor's. See
When the activation is less than the threshold, also assembler.
the output takes on the value 0 (in the binary
case) or —1 (in the bipolar case) representing assertion (1) a Boolean expression for stat-
the quiescent state of a biological neuron. ing the behavior of the program or, if hardware
implemented, of a circuit.
artificial reality See virtual reality. (2) a logical expression specifying a program
state that must exist or a set of conditions that
artificial repelling force form of virtual force program variables must satisfy at a particular
used to resist movement of a teleoperated ma- point during program execution. In formal the-
nipulator or avatar into selected parts of remote ory, used to specify the weakest preconditions
space. and the postconditions applicable to a block of
code.
ART network See adaptive resonance theory (3) any business rule that is a constraint on
network. the property values of an object. Assertions may
be one of three kinds: a pre-condition is any as-
ASCII See American standard code for infor- sertion that must hold before the execution of
mation interchange. See also ANSI, ISO, Uni- an associated operation(s); a post-condition is
code. any assertion that must hold after the execution
of the associated operation(s); and a (class) in-
ASIC See application-specific integrated cir- variant is any assertion that must hold both be-
cuit. fore and after the execution of all operations. In
logic programming, an assertion can be a logic
ASM See algorithmic state machine. expression specifying a program feature or a set
24
associative memory
of features that a program/system has to present. association a relationship between two en-
See also invariant, proof of correctness. tities, expressed between concepts but denoting
connections between instances. It is a struc-
assessment the process by which the behav- tural relationship that establishes potential in-
ior defined by a formal specification is examined teractions. In database, entity relationship mod-
and validated against the informal requirements. eling, and the Unified Modeling Language the
The term is also used for identifying the process default is that associations are bi-directional. In
of formal evaluation by means of measures. See object modeling based on message passing para-
product assessment, process assessment. digm, including the OPEN Modeling Language,
the default is unidirectional. In object model-
ing, use of bi-directional relationships has been
assessment tool a tool that allows the assess-
shown to destroy encapsulation and informa-
ment of software products or processes. These
tion hiding which are, together, one of the main
can be used for taking under control the design,
tenets of object technology.
the development, and the maintenance of a sys-
tem. Assessment tools may evaluate quality fac-
association rules a class of rules used in data
tors and system indexes calculated, directly on
mining. An association rule states an associa-
the system source, or selected metrics according
tion or relation between sets of data. For exam-
to predefined assessment procedures.
ple, "When prospectors buy picks, they also buy
shovels 14% of the time."
assignment in an imperative language, a means
to change the value in a named or computable associative (1) a mathematical property stat-
location in memory. ing how sequences of identical operations, or
operations of identical operator precedence, are
assignment problem the problem of finding to be interpreted.
a matching maximum (or minimum) weight in (2) in a language, a specification of how the
an edge-weighted graph. associative rule is to be applied to computations
in that language. See also commutative, left-
assignment scope the amount of work for associative, right associative.
which one person will normally be responsible. (3) a rule which is used in compilers to deter-
For instance, the maintenance assignment scope mine evaluation order; while traditionally eval-
of a certain COBOL system is 15.000 lines per uation order follows the rules of mathematics,
year. Meaning that if the system is 45.000 lines including the associative rule, in fact often all
of code we need three people. that is semantically required is that the appli-
cation of operations to the computed values fol-
low the associative rule without stating the exact
assimilation of borrow subtraction without
evaluation order.
the inclusion of an incoming borrow produces a
partial difference and a partial borrow. Assimi-
associative array a data structure, in the ab-
lation is the combining of a partial borrow and
stract an array but in practice which can have
a partial difference.
any implementation, where the desired value is
selected not by a position (numerical subscript)
assimilation of carry addition without the but by specifying a key value by which the ele-
inclusion of an incoming carry produces a par- ment may be retrieved.
tial sum and a partial carry. Assimilation is the
combining of a partial sum and a partial carry. associative memory a memory which is in-
terrogated by contents rather than by address or
associate mode an operating mode of con- data location. When presented with a word, or
tent addressable memories, in which a stored part of a word, it returns to the location where
data item is retrieved that contains a field that that data may be found and possibly the entire
matches a given key. word.
25
associative processor
Associative memories are most often found in asymptotical complexity the limit for the
translation buffers or page translation tables of factors that tend to infinite of computational com-
the hardware to support virtual memory. Given plexity.
the user-space address of a page, they return the
physical address of that page in main memory. asymptotically self-similar refers to sets for
Other important applications are in the recog- which the self-similarity (at any point) does not
nition of destination addresses in computer net- become apparent after a single magnification
works. In 8802.3 networks, a given node may and rotation, but when the reseating procedure
have to recognize its own unique physical ad- is repeated over and over, the resulting objects
dress, one or more broadcast addresses, and pos- converge to a set that is self-similar at a point.
sibly some other addresses derived from the user The Mandelbrot set and the Julia sets are exam-
network address. A small associative memory ples of sets that are asymptotically self-similar
can test for all of these addresses in parallel. at a point.
An important aspect of associative memories
asymptotically tight when the asymptotic
is their very fast operation, with all entries tested
complexity of an algorithm exactly matches the
in parallel to complete the interrogation within
theoretically proven asymptotic complexity of
one system clock.
the corresponding problem. Informally, when
In neural networks, this type of memory is not an algorithm solves a problem at the theoretical
stored on any individual neuron but is a property minimum. See also 0, asymptotic upper bound,
of the whole network, which is accomplished by asymptotic lower bound.
inputting to the network part of the memory.
Also called content addressable memory asymptotic lower bound an asymptotic bound,
(CAM). See also mask register and response as a function of the size of the input, on the best
store. (fastest, least amount of space used, etc.) an al-
gorithm can possibly achieve to solve a problem.
associative processor a parallel processor That is, no algorithm can use fewer resources
consisting of a number of processing elements, than the bound. See also Q9 asymptotic upper
memory modules, and input/output devices un- bound, asymptotically tight.
der a single control unit. The capability of the
processing elements is usually limited to the bit- asymptotic upper bound an asymptotic
serial operations. bound, as a function of the size of the input, on
the worst (slowest, most amount of space used,
associativity (1) as a mathematical property, etc.) an algorithm will take to solve a problem.
an operator ® is associative over the set X if for That is, no input will cause the algorithm to use
all r, s, t € X, more resources than the bound. See also big-O
notation, asymptotic lower bound, asymptoti-
r 0 (s ® 0 = (r ® s) 01. cally tight.
26
atmosphere effect
action. Avoids the necessity to know system Atanasoff, John Vincent (1903- ) Born:
delays in advance and allows different timing Hamilton, New York.
for different transactions. See also synchronous Atanasoff is best known for his invention,
bus. along with Clifford Berry, of the first digital
computer, known as the ABC (Atanasoff-Berry
asynchronous communication a type of Computer). Unlike the many World War II com-
communication without the presence, at the puter pioneers, Atanasoff's interest in the topic
same time, of the sender and the receiver(s). It dated to his Ph.D. thesis research at the Univer-
is the opposite of synchronous communication. sity of Wisconsin. After graduation Atanasoff
It is usually implemented with a buffer for the taught physics and mathematics at Iowa State
receiver process. See synchronous communica- College and continued to work on the problem of
tion. solving lengthy calculation by electronic means.
Legend has it that Atanasoff worked out the ba-
asynchronous event an event that occurs at sic structure for his new machine while hav-
unpredictable points in the flow-of-control and ing a drink at an Illinois road house. Clifford
is usually caused by external sources such as a Berry, an electrical engineer joined Atanasoff to
clock signal. help with the construction of the device based on
Atanasoff's ideas. John Mauchly, another com-
puter pioneer often visited and consulted with
asynchronous message passing message
Atanasoff. These discussions resulted in a later
passing protocol where the sending process al-
lawsuit which established Atanasoff as the first
lows messages to be buffered and the sending
person to build an electronic digital computer.
process may continue after the send is initiated;
the receiving process will block if the message
atatic scope a scope which is in effect defined
queue is empty.
for the entire execution of a program, indepen-
dent of any lexical or dynamic execution con-
asynchronous system a (computer, circuit, text. Names declared in the static scope (for ex-
device) system in which events are not executed ample, in the outermost block of the program, or
in a regular time relationships; that is, they are at the module level, or in other ways determined
timing independent. Each event or operation is by the definition of the language) are potentially
performed upon receipt of a signal generated by accessible by every piece of the program, al-
the completion of a previous event or operation, though various languages may have other rules
or upon availability of the system resources re- that limit or permit such accessibility.
quired by the event or operation.
AT bus bus typically used in personal com-
asynchronous transfer mode (ATM) meth- puter IBM AT for connecting adapters and ad-
od of multiplexing messages onto a channel in ditional memory boards. It is also called 16 bit
which channel time is divided into small, fixed- ISA BUS since it presents a data BUS at 16 bit.
length slots or cells. In ATM systems the bind- It presents an additional connector with respect
ing of messages to slots is done dynamically, to the classical ISA BUS (at 8 bit) of IBM PCs
allowing dynamic bandwidth allocation. ATM based on Intel 8088. See also EISA.
is asynchronous in the sense that the recurrence
of cells containing information from an individ- ATM See asynchronous transfer mode.
ual user is not necessarily periodic.
ATM cell loss probability See loss proba-
asynchronous updating in artificial intelli- bility.
gence, process by which one unit at a time is
selected from within a neural network to have atmosphere effect atmospheric effects arise
its output updated. Updating an output at any because light is affected by the properties of the
time is achieved by determining the value of the medium through which it passes. The main ef-
unit's activation function at that time. fects are attenuation, where distant objects get
27
at-most-once property
lower contrast (see depth cueing) and blurring, attention allocation deployment of atten-
such as might occur with dust, fog, or haze, tional resources to process and respond to stim-
which scatter the light. uli; resource allocation.
28
autoassociative backpropagation network
tribute is a component used for defining the class augmentation rule a type of relation in data-
structure. These are called local attributes and base systems. Given sets of attributes A, B, and
are hidden from the outer objects, according to C, then if A -> fi, |= AC -» BC.
the data hiding mechanism. The attribute has
a relationship of is-part-of with the class. In augmented reality the idea that an observer's
the classes, attributes are inherited from super- experience of an environment can be augmented
classes (inherited attributes) or locally defined. with computer generated information. Usually
The attributes are the internal components of ob- this refers to a system in which computer graph-
jects. In most cases, the behavior of a class de- ics are overlaid onto a live video picture or pro-
pends on their behavior. jected onto a transparent screen as in a head-up
(2) in a relational algebra, a named column display.
or domain of a relation type.
(3) in assessment, an observable property of
an entity; a measure may be defined for an at- augmented reality display display that sup-
tribute. In this view, attributes can be internal or plements remote real world scenes by projecting
external. computer graphic images onto video images of
them; for example, a display of task edges gener-
attribute grammar a formal specification ated from design drawings, added to a television
of a language which includes a specification image.
of a set of inherited attributes which propagate
downward in a tree and a set of synthesized at- augmented reality system synthetic en-
tributes which are computed upwards in the tree, vironment featuring a combination of virtual
and a set of equations that describe the values. and real-world environments; computer assisted
The equations compute synthesized attributes teleoperation.
but may involve the inheritance of attributes
whose values are defined by similar equations. augmenting path a path with alternating free
To evaluate an attribute grammar involves a con- and matched edges which begins and ends with
vergence algorithm that guarantees a fixed-point free vertices. Used to augment (improve or in-
at which all the attribute equations are simulta- crease) a matching or flow. See also alternating
neously satisfied. path.
audio coding the process of compressing an
audio signal for storage on a digital computer authentication the process of confirming user
or transmission over a digital communication identity.
channel.
authorization permission. A user is autho-
audio feedback presentation of information rized to perform certain actions if the user has
by sound. sufficient privileges.
29
autoincrementing
autoincrementing (1) an addressing mode (2) specification of extent which specifies that
in which the value in a register is incremented the object exists only during the execution of a
by one word when used as an address. syntactically specified segment of the program,
(2) in high-level languages: operation usually a function or a block.
30
availability
31
avatar
the same as time to repair, since repair may be See also blurring, image smoothing, mean filter,
done off-line. Availability is the capability of noise smoothing, smoothing.
the software product to be in a state to perform a
required function at a given point in time, under AVL-tree a binary search tree such that the
stated conditions of use. Externally, availability subtrees of each node have heights that differ by
can be assessed by the proportion of total time at most one.
during which the software product is in an up
state. Availability is therefore a combination of awk a string-pattern-matching language
maturity (which governs the frequency of fail- named after its creators, Alfred Aho, Peter
ure), fault tolerance and recoverability (which Weinberger, and Brian Kernighan.
governs the length of down time following each
failure). axiomatic semantics the meaning of a pro-
gram as a property or specification in logic.
avatar a representation of a user present
within a virtual environment; a virtual actor rep- axis a vector of motion; 2 axes describe a
resenting a user. plane; 3 axes describe a volume; machines that
can be positioned around 3 axes and oriented
average-case cost the sum of costs of an al- around each of them can position and orient their
gorithm over all possible inputs divided by the endpoints anywhere in their workspace; also, a
number of possible inputs. See also worst-case joint or degree of freedom of a robotic manipu-
cost, amortized cost. lator
Specifically, in robotic manipulators, two can
average daily peak hour traffic the mean be described:
traffic observed in the peak hour of several days. prismatic: a joint whose movement is along
the axis of the connecting links, i.e., in and out.
averaging the sum of N samples, images, rotational: a joint whose movement causes
or functions, followed by division of the result a link to rotate around an axis perpendicular to
by N. Has the effect of reducing noise levels. the link itself, and usually at one end of the link.
32
backing memory
B
and translates it into target language.
back door an unofficial (and generally un- backing memory the largest and slowest lev-
wanted) entry point to a service or system. el of a hierarchical or virtual memory, usually a
disk. It is used to store bulky programs or data
back end the part of a compiler that depends (or parts thereof) which are not needed imme-
only on the target language and is independent diately and need not be placed in the faster but
more expensive main memory or RAM. Migra- no training patterns for the outputs of intermedi-
tion of data between RAM and backing memory ate ("hidden") layer neurons. Hence, the errors
is under combined hardware and software con- between the outputs and the training patterns are
trol, loading data to RAM when it is needed and propagated to the nodes of the intermediate neu-
returning it to the backing store when it has been rons. The amount of error that is propagated is
unused for a while. proportional to the strength of the connection.
(2) the process of calculating weights by
backing storage See backing memory. which the perceptron neural network is "trained"
to produce good responses to a set of input pat-
backlash the amount of free movement in a terns. In light of this, the perceptron network is
power transmission system, i.e., movement that sometimes called a "backprop" network.
is a result of free play in the actuator, transmis-
sion system, or links and not driven by the actu- backpropagation algorithm a supervised
ator. learning algorithm that uses a form of steepest
descent to assign changes to the weights in a
backplane See backplane bus. feedforward network so as to reduce the network
error for a particular input or set of inputs. Cal-
backplane bus a special data bus which is es- culation of the modifications to be made to the
pecially designed for easy access by users and weights in the output layer allows calculation
allows the connection of user devices to the com- of the required modifications in the preceding
puter. It is usually a row of sockets, each pre- layer, and modifications to any further preced-
senting all the signals of the bus, and each with ing layers are made a layer at a time proceeding
appropriate guides so that printed circuit cards backwards toward the input layer; hence, the
can be inserted. A backplane differs from a name of the algorithm.
motherboard in that a backplane normally con-
tains no significant logic circuitry and a mother- backside bus a term for a separate bus from
board contains a significant amount of circuitry; the processor to the second level cache (as op-
for example, the processor and the main mem- posed to the frontside bus connecting to the main
ory. memory).
backprojection an operator associated with back-to-back testing a testing phase in which
the Radon transform two or more programs are used at the same time
+oo /»+oo by sending to them the same inputs and com-
/ /<*,y) paring their outputs in order to see related dif-
/ -00 J—OO
ferences. See mutation testing.
8(xcos0 + ysinO — s)dxdy .
backtracking a component process of many
The backprojection operator is defined as search techniques whereby recovery from un-
f* fruitful paths is sought by backing up to a junc-
fe(x,)0= / g(xcosO + y$me,0)dO . ture where new paths can be explored. Many
h languages oriented to artificial-intelligence-
b(x, y) is called the backprojection of g(s, 0). style problem solving and searching implement
b(x, y) is the sum of all rays that pass through backtracking mechanisms.
the point (x,y).
backup (1) a copy, duplicate, or version kept
backpropagation (1) the way in which error for the purpose of saving the contents of mass
terms are propagated in a multilayer neural net- storage on a different medium.
work. In a single layer feed-forward network, (2) the act or process of creating a backup.
the weights are changed if there are differences
between the computed outputs and the training Backus-Naur form (BNF) a notation devel-
patterns. For multiple layer networks, there are oped by John Backus and Peter Naur to represent
34
bandwidth
the formal syntactic grammar of Algol-60, and compatibility processing can lead to intractably
adapted for many other languages since. Also complex software.
known by its acronym BNF. A production of the
form N -* x, f or N a member of the set of non- backwards ray tracing technique used to
terminal symbols Vn and x is a string of zero or render a scene on a view plane by tracing imag-
more symbols of the vocabulary of the grammar inary "eye rays" from the viewer's eye to the
V = Vn U Vt. In BNF, nonterminal symbols are surface of the objects in a scene, to determine
represented by a name contained in <> sym- the objects' visibility. A grid on the view plane
bols, for example, <number>. Terminals are is used to cast eye rays from the center of pro-
represented by their own appearance, and the jection (the viewer's eye). It is convenient for
-> symbol is represented by the sequence ::=. the grid to correspond to the pixels of the display
Two or more rules with the same left-hand side screen. For every pixel on the view plane, an eye
may be combined by using the alternation sym- ray is cast from the center of projection through
bol "|", for example < number >: :=< digit > | < the center of the pixel and into the scene. The
number >< digit >. pixel's color is determined by the eye ray's point
Many formal grammars are based on vari- of first intersection with an object in the scene.
ants of BNF, following slightly different rules The basic backwards ray tracing algorithm
for representing terminal symbols, nonterminal can be extended to render shadows in a scene.
symbols, and the production arrow. Sometimes This extension involves firing an additional ray
called Backus-normal form. See also context- from the first point of intersection to each of the
free grammar, grammar. scene's light sources. If the ray intersects with
an object on its path to the light source, then the
point of first intersection is in shadow for that
backward chaining a style of reasoning in
light source. The combination of the effect of
deductive databases, which traverses the arrows
each ray to the light source determines the first
of rules in a backward direction, like SLD-reso-
intersection point's color.
lution: if the head of a rule should be inferred,
then all elements of the body of the rule are tried
balanced code a binary line code which en-
to be inferred.
sures an equal number of logic ones and logic
zeros in the encoded bit sequence. Also called
backward error recovery a software dynam- a DC-free code because the continuous compo-
ic redundancy technique that uses previously nent of the power spectral density of a balanced
saved correct state information as the starting encoded sequence falls to zero at zero frequency.
point after a failure; examples are checkpoint-
ing and journaling. Also called rollback. balanced delimiters a pair of symbols which
act as delimiters and which must occur in prop-
backwards compatibility a property of erly balanced pairs. Examples are parentheses
hardware or software revisions in which pre- (), square brackets [], and angle brackets <>.
vious protocols, formats, layouts, etc. are ir-
revocably discarded in favor of "new and im- balanced merge sort a k-way merge sort
proved" protocols, formats, and layouts, leaving in which the number of input and output data
the previous ones not merely deprecated but ac- streams is the same. See also merge sort.
tively defeated. (Too often, the old and new ver-
sions cannot definitively be distinguished, such bandpass filter a filter which allows only sig-
that lingering instances of the previous ones nals between given set points to propagate, pre-
yield crashes or other infelicitous effects, as venting propagation of signals below the lower
opposed to a simple "version mismatch" mes- bound and above the upper bound.
sage.) A backwards compatible change, on the
other hand, allows old versions to coexist with- bandwidth (1) generally, the range of fre-
out crashes or error messages, but too many ma- quencies present in a signal; mathematically, the
jor changes incorporating elaborate backwards frequency at which output signal amplitude is
35
bang-bang control
reduced to 50% of input signal amplitude; col- tirety into a continuous range of physical mem-
loquially, the amount of information that may ory addresses. Translation of the addresses is
be processed or transmitted by a system. performed by adding the contents of an appro-
(2) in performance analysis, bandwidth rep- priate base address register to the user address.
resents the maximum rate at which a given de-
vice can perform work. This device may be a base class in object-oriented programming, a
processor, storage unit, etc., which must han- class that has classes derived from it by means of
dle transactions or other requests at some given inheritance. The base class contains the subset
rate, or a communications channel, which must common to all the derived classes.
transmit data at some given speed.
base code the quantity of source code of an
bang-bang control control scheme which is existing program. Normally used in reference
inherently digital; that is, goes from one state to to updates of an original version of software.
another with no intermediate stages.
based pointer See relative pointer.
bang metric a complex synthetic metric giv-
ing an indication of the "size" of the software. base index See first index.
Related to function points.
baseline a major version of a system selected
banker's algorithm a deadlock avoidance for release to customers and/or for the purpose
scheme in which resource allocations that could of measuring some attribute, e.g., reliability. A
potentially lead to deadlock are not made. The formally approved version of a configuration
algorithm is analogous, in some ways, to the item, regardless of media, formally designated
management of lines of credit belonging to and fixed at a specific time during the config-
customers in a small-town bank. Hence, the uration item's life cycle. Versions of a product
moniker. can be distinguished both by a baseline identifier
and by lower level identifiers. The baseline is
barrel shifter an implementation of a shifter, altered only when large modifications are made,
which contains Iog2 (max number of bits shifted) e.g., functional enhancement. Small changes,
stages, where each stage shifts the input by a dif- e.g., for corrective maintenance, do not alter the
ferent power of two number of positions. It can baseline. For the purpose of reliability growth
be implemented as a combinational array with monitoring, it is necessary to regard the baseline
compact layout that can shift the data by more as unaltered by corrective maintenance actions.
than one bit using only one gate. For instance, The decision to declare a version as a baseline
for a 4-bit word, it can execute instructions shl, is part of configuration management and is, to
sh!2, sh!3, and sh!4. This shifter lends itself well some extent, arbitrary.
to being pipelined.
baseline management in configuration man-
barrier a synchronization structure that re- agement, the set of actions defining documents
quires all processes to reach it before any of them and changes to define a baseline at a time instant
can proceed any further. of the configuration item life-cycle.
base address (1) an address to which an index base register the register that contains the
or displacement is added to locate the desired component of a calculated address that exists
information. The base address may be the start in a register before the calculation is performed
of an array or data structure, the start of a data (the register value in "register+immediate" ad-
buffer, the start of page in memory, etc. dressing mode, for example).
(2) as a simpler alternative to a full virtual
memory, the code space or data space of a pro- base register addressing addressing using
gram can be assumed to start at a convenient the base register. Base register is the same as
starting address (usually 0) and relocate in its en- base address register, i.e., a general purpose reg-
36
baud
ister that the programmer chooses to contain a batch (1) several requests arriving or being
base address. served at the same time.
(2) one measurement interval during the ex-
basic See BASIC. ecution of a long simulation run. Confidence
intervals for a model statistic may be obtained
BASIC an acronym for Beginner's All- from its sample mean and variance, derived from
purpose Symbolic Instruction Code, a very sim- the output of several independent replications of
ple language developed at Dartmouth Univer- the simulation experiment, in combination with
sity in the 1960s. See also Visual Basic. Also the Student's t distribution. These samples can
referred to as Basic. be obtained by measuring the statistic during
each of several runs of the simulator, or by par-
basic block any computation not containing titioning a single long run into several batches
a control transfer. In imperative languages, a se- and separately measuring the statistic over each
quence of statements not containing conditional batch. If these batches are long enough, then
computations. A basic block is a fundamental batch results can be considered mutually inde-
entity used in flow analysis, used for computing pendent.
code motions and other code optimizations.
batch arrival process the process govern-
basic input-output system (BIOS) part of a ing the arrival of batches (1). A batch arrival
low-level operating system that directly controls process is usually described by a point process
input and output devices. determining the time instances of arrivals and by
a discrete random variable describing the num-
basin of attraction the set of all points which ber of simultaneous arrivals.
when iterated by a function /, attract to the same
point. batch file a file containing a series of com-
mands for an interpreter, such as the DOS com-
basis function one of a set of functions used
mand interpreter.
in the transformation or representation of some
function of interest. A linear transformation T
batch model model for a system that can be
of continuous functions is of the form
described as a batch system (1). See also closed
-foo
x(t)b(s,t)dt model.
/ -oo
where b(s, t) is a basis function. For discrete batch processing the processing of data or
sequences T would be of the form the accomplishment of jobs, accumulated in ad-
vance, in such a manner that the user cannot
+00
further influence its processing while it is in
y(k] = T{x(n]}= £ x[n]b[k,n}. progress.
n=-oo
The function to be transformed is projected onto batch system (1) a system allowing requests
the basis function corresponding to the specified to arrive or to start being served at the same time.
value of the index variable s or k. y(s) is the in- (2) in computing, a mode in which low-prior-
ner product of *(0 and the basis function b(s, t). ity jobs are queued for processing, so that only
For the Laplace transform b(s, t) = e~st, and one job in a priority class is active at a time.
for the Fourier transform b((#, t) = e~J**'. For
the discrete-time Fourier transform b[k, n] = bathtub curve a graph that shows that the
j2nkn
~ , and for the Z-transform b[z, n] = z n. frequency of malfunctions in hardware compo-
nents dramatically increases both very early and
basis spline a spline curve or surface that very late in the life of the component.
can be formulated as a weighted sum of poly-
nomial basis functions. Commonly known as a baud the signaling rate, or rate of state transi-
b-spline. tions, on a communications medium. One baud
37
baud rate
Bayesian classifier a function of a realiza- Bayes risk function with respect to a prior
tion of an observed random vector X and returns distribution of a parameter 0 and a decision rule
a classification w. The set of possible classes is 0, the expected value of the loss function with
finite. A Bayesian classifier requires the con- respect to the prior distribution of the parameter
ditional distribution function of X given w and and the observation X.
the prior probabilities of each class. A Bayesian
classifier returns the wi such that P(u;,|X) is r(F e ,*)= /* f L[0,4>(x)}
JeJx
maximized. By Bayes' rule
p x| fx\e(x\0)f\e(0)dxdO.
f(»,ix)- ' py>. The loss function is the penalty incurred for es-
timating the parameter ® incorrectly. The de-
Since P(X) is the same for all classes, it cision rule (j>(x) is the estimated value of the
can be ignored and the u;,- that maximizes parameter based on the measured observation
P(X\Wi)P(wi) is returned as the classification. x.
38
benign failure
Bayes' rule a rule that relates the conditional behavioral modeling the representation of
probability of an event A given B and the con- the mode of behavior (or a state) of an applica-
ditional probability of the event B given A: tion and the events that cause transitions from
P(B\A)P(A) its states.
P(A\B) =
P(B) behavioral repertoire the set of actions which
a person or machine is capable of executing at
BCD See binary-coded decimal. any given time.
BCNF See Boyce-Codd Normal Form. behavior model portion of a virtual model
describing the actions that an object may take
BCPL Basic Computer Programming Lan- and their implications for the virtual image.
guage. Designed by Martin Richards in the late
1960s. The language C is a lineal descendant of behavior sharing a mechanism of the object-
BCPL. oriented programming. When a class inherits
from a superclass, it also inherits the superclass
beacon signature line or expression that sug-
behavior via the superclass methods. This means
gests the presence of a programming plan.
that the class shares the behavior with its super-
el ass (es). All the instances of a class share the
beam tracing a method of rendering simi-
same generic behavior of the class. The differ-
lar to ray tracing but using an arbitrarily shaped
ence resides in the internal status of the object
projection, commonly a polygonal cone, rather
in terms of the status of its attributes.
than a single ray. It is an improvement on ray
tracing since it reduces the CPU overhead and
behavior transducer device for sensing hu-
reduces aliasing artifacts by taking advantage of
man actions and translating those actions into
known spatial coherence in the beam.
digitized inputs to a computer system.
before image a copy of a database object
before it is updated. Belady's anomaly the observation that in
FIFO page replacement rule, increasing the num-
behavior the set of actions and responses that ber of pages in memory may not reduce the num-
characterize an object or system. It can be re- ber of page faults.
garded as the set of possible states and reasons
for the transitions of the systems with the as- Bell-LaPadula model a widely used formal
sociated actions that are performed by systems. model of mandatory access control. It requires
It can be typically modeled by means of opera- that the simple security property and the "'-prop-
tional approaches, such as state diagrams, Petri erty be applied to all subjects and objects.
nets, etc. In object-oriented programming, the
behavior is specified by means of class methods. benchmark a controlled experiment that
measures the execution time, utilization, or
behavioral animation computer animation throughput for a system using an artificial work-
technique depending on modeling an object's load chosen to represent the actual operational
actions rather than individually specifying and use of the system. Benchmarks are used to ob-
creating each frame of each motion. tain an estimate of performance, to compare
similar systems, or to parameterize a model
behavioral aspect the aspects of an entity, of the system that will be used to determine
class, or object related to the evolution of its whether it will operate effectively as a compo-
state along the time. nent of a larger system.
behavioral feature a specific feature that benign failure a failure whose severity is
characterizes the behavior of a software com- slight enough to be outweighed by the advan-
ponent. tages to be gained by normal use of the system.
39
Bernoulli distribution
The point is that the benefits gained from using of a software product in a slightly different con-
the system (when it is operable) outweigh the tent with respect to its classical application.
severity associated with such a benign failure of
the system. beta test the process of testing a pre-release
(potentially unreliable) version of apiece of soft-
Bernoulli distribution a random variable X ware or product by making it available to se-
with alphabet {0, 1} and parameter a such that lected users. This term was used in the early
its probability mass function is 1960s by IBM, and has become a "de-facto"
standard in industrial environment. Software
P(x) = (l-cC)xal-x. systems often go through two stages of testing:
Alpha (in-house) and Beta (out-house). Beta
Berry, Clifford Edward Berry is best known releases are generally made available to a small
as the co-developer, along with John Vincent number of trusted customers.
Atanasoff, of the first functioning electronic
digital computer. Berry was recommended to beta version the software version
Atanasoff by the Dean of Engineering at Iowa produced for beta testing. Typically, the beta
State College as a most promising student who testing is performed by a set of selected end-
understood the electronics well enough to help users.
Atanasoff implement his ideas for a computing
machine. Unfortunately, Berry's contributions Bezier curve a spline curve that (in the usual
as a computing pioneer were not honored until case of a cubic Bezier curve) is represented by
after his death. four control points defining a cubic polynomial.
best first search (1) a heuristic search tech- BHCA See busy hour call attempts.
nique that finds the most promising node to ex-
plore next by maintaining and exploring an or- bias the systematic (as opposed to random)
dered open node list. error of an estimator. See rounding bias.
(2) a search strategy for speech recognition
in which the theories are prioritized by score, biased exponent an exponent to which a
and the best scoring theory is incrementally ad- known constant (the bias) has been added. The
vanced and returned to the stack. An estimated biasis usually chosen so that the smallest (neg-
future score is included to normalize theories. ative) exponent corresponds to zero.
The search is admissible if the estimated future
score is an upper-bound estimate, in which case BiCapitalization The use of capital letters
it can be guaranteed that the overall best-scoring within a name to visually delimit names that are
theory will arrive at the end first. Also called A* composite words, for example, "the InsertString
search. function".
best-fit memory allocation a memory allo- biconnected graph a graph that has no ar-
cator for variable-size segments must search a ticulation/cut vertices.
table of available free spaces to find memory
space for a segment. In "best-fit" allocation, the bicubic surface a type of parametric two-
free spaces are linked in increasing size and the variable polynomial surface patch where the
search stops at the smallest space of sufficient polynomials are cubic in both parameters.
size.
bidirectional bus a bus that may carry infor-
best-practice a term to describe a project or mation in either direction but not in both simul-
a test case that highlights/demonstrates the typ- taneously.
ical aspects of the practical use of a technology.
Best-practice projects may include the custom bidirectional search a search algorithm that
installation of complex systems, or the adoption replaces a single search graph, which is likely
40
binary code
to grow exponentially, with two smaller graphs: bilateral Z-transform a Z-transform of the
one starting from the initial state and one starting form
-t-oo
from the goal state.
Z{x] = £ X[n]z-n .
/!=—OO
bifurcation diagram a diagram of an iterated
function against the value of a swept constant.
In many cases this generates a fractal that tends bilevel image coding See binary image cod-
to have two zones of activity. ing.
big endian a storage scheme in which the bilinear interpolation interpolation of a value
most significant unit of data or an address is in 2D space from four surrounding values by
stored at the lowest memory address. For exam- fitting a hyperbolic paraboloid. The value at
ple, in a 32-bit or four-byte word in memory, the (*» 30. denoted /(jc, y), is interpolated using
most significant byte would be assigned address /(*» y) = a* + by 4- cxy -f d, where a, fe,
i, and the subsequent bytes would be assigned c, and d are obtained by substituting the four
the addresses i + 1, i + 2, and i + 3. Thus, the surrounding locations and values into the same
least significant byte would have the highest ad- formula and solving the system of four simulta-
dress of i +3 in a computer implementing the big neous equations so formed.
endian address assignment. "Big-endian" com-
puters include IBM 360, MIPS R2000, Motorola binary (1) having two states, such as true/false,
M68000, SPARC, and their successors. See lit- on/off, or 0/1.
tle endian, big endian/little endian problem. (2) arithmetically expressed in radix 2. Fun-
damental representation of information for com-
puters.
big endian/little endian problem the prob- (3) in common usage, a synonym for exe-
lem caused by the passing code from an archi- cutable file. See also octal, hexadecimal.
tecture based on big-endian ordering of bytes to
one adopting the little-endian approach and vice binary association a formal/mathematical
versa. See also big endian, little endian. relationship between two sets of entities.
big-O notation a theoretical measure of binary code a code, usually for error control,
the execution of an algorithm, usually the time in which the fundamental information symbols
or memory needed, given the problem size w, which the codewords consist of are two-valued
which is usually the number of items. Infor- or binary and these symbols are usually denoted
mally saying some equation f ( n ) = O(g(n)) by either T or *0'. Mathematical operations
means it is less than some constant multiple of for such codes are defined over the finite or Ga-
g(ri). More formally it means there is some c lois field consisting of two elements denoted by
and*, such that 0 < f ( n ) < eg (/i) for all n > k. GF(2). The mathematical operations for such a
The values of c and k must be fixed for the func- Galois field are addition and multiplication. For
tion / and must not depend on n. See also SI (n), addition over GF(2) one finds that:
G(n), little-o notation, asymptotic upper bound,
np-complete. 1 + 1=0, l + 0 = l a n d O + 0 = 0.
41
binary-coded decimal (BCD)
See also block coding, convolutional binary heap a complete binary tree where
coding, error control coding. every node has a key more extreme (greater or
less) than or equal to the key of its parent. See
binary-coded decimal (BCD) a notation in also heapify, heap, binomial heap.
which a value is represented as sequences of 4-
bit values, where each 4-bit value represents a binary hypothesis testing a special two-
single decimal digit. Within each 4-bit value, the hypothesis case of the M-ary hypothesis test-
codes representing the binary values 10 through ing problem. The problem is to assess the
16 are illegal. Thus: 0 = 0000, 1 = 0001, 2 = relative likelihoods of two hypotheses H\, Hi,
0010,3 = 0011,4 = 0100,5 = 0101,6 = 0110, normally given prior statistics P(H\)y P(#2),
7 = 0111,8=1000,9=1001. and given observations y whose dependence
A BCD value may encode its sign in the low- p(y|#i), p(y|#2) on the hypotheses is known.
order 4 bits (often by using one of the illegal The receiver operating characteristic is an ef-
values in this position to represent positive or fective means to visualize the possible decision
negative sign), or in the high-order 4 bits, de- rules. See also m-ary hypothesis testing, condi-
pending on the nature of the machine which im- tional statistic, prior statistic, posterior statistic.
plements the code.
binary image an image whose pixels can
Many programming languages designed to
have only two values, 0 or 1 (i.e., "off* or "on").
support commercial applications such as pay-
The set of pixels having value 1 ("on") is called
roll, inventory, and similar tasks provide support
the figure or foreground, while the set of pixels
for BCD data as a separate data type.
having value 0 ("off") is called the background.
Examples include black/white photographs and
binary constant a constant that has the value facsimile images.
Oorl.
binary image coding compression of two-
binary-decimal decimal representation in level (black/white) images, typically documents.
which each decimal digit is represented by a Bilevel coding is usually lossless and exploits
four-bit binary equivalent; for example, dec- spatial homogeneity by runlength, relative ad-
imal 35 may be represented as 00110101, in dress, quadtree, or chain coding. Also called
which 0011 represents 3 and 0101 represents 5, bilevel image coding.
instead of as 100011 (in conventional binary).
Many binary-coded decimal (BCD) representa- binary large object (BLOB) an unstructured
tions exist, all of which are convenient for in- complex object, such as a graphical image or
put/output but are not as efficient, in terms of a very long text string, which is required by a
storage, as conventional binary. database application.
binary erase channel a channel where an binary lock a lock that has only two states,
error detecting circuit is used and the erroneous either locked or unlocked.
data is rejected as erasure asking for retransmis-
sion. The inputs are binary and the outputs are binary notation See binary.
ternary, i.e., 0,1, and erasure. Used for ARQ
(automatic request for retransmission) type data binary operator any mathematical operator
communication. that requires two data elements with which to
perform the operation. Addition and Logical-
binary executable a program file whose in- AND are examples of binary operators; in con-
structions are in machine code form. trast, negative signs and Logical-NOT are ex-
amples of unary operators.
binary function a function with two argu-
ments. See also constant function, unary func- binary relation a relation that is between
tion, N-ary function. exactly two items at a time, such as "greater
42
binding
than" (>), "not equal to" (^), "proper subset correct usage, but is often used in reference to
of (C), or "is connected to" (has an edge to) for parse trees even when the language has unary
vertices of a graph. See also binary function. operators or n-ary (for n > 2) operators.
binary search a divide-and-conquer tech- binary tree predictive coding predictive im-
nique in which the range of the search is halved age coding scheme in which pixels are ordered
each time. It begins with an interval covering in a pyramid of increasingly dense meshes. The
the whole search range. If the search value is sparsest mesh consists of subsamples of the orig-
less than the item in the middle of the interval, inal image on a widely spaced square lattice;
narrow the interval to the lower half. Otherwise succeeding meshes consist of the pixels at the
narrow it to the upper half. Repeatedly check centers of the squares (or diamonds) formed by
until the value is found or the interval is empty. all preceding meshes. Each mesh has twice the
number of pixels as its predecessor. Pixel val-
binary search tree a binary tree that is lex- ues are predicted by non-linear adaptive inter-
icographically arranged so that, for every node polation from surrounding points in preceding
in the tree, the nodes to its left are smaller and meshes. The prediction errors, or differences,
those to its right are larger. are quantized, ordered into a binary tree to pro-
vide efficient coding of zeros, and then entropy
binary semaphore a semaphore that has coded.
only two values, locked and unlocked. See also
counting semaphore, mutex, semaphore. binary variable a variable that can only take
on the values 0 or 1.
binary space partition tree a method for
representing a polyhedron that explicitly uses binaural having to do with hearing using
the planes that bound the polyhedron. The tech- both ears.
nique represents the object as a binary tree, with
planes at each non-leaf node. The planes bound bind to associate an absolute address, vir-
a face of the polyhedron, and divide space into tual address or device identifier with a symbolic
two subregions, which in turn can be further address or label in a computer program.
bounded by the two children at a node. Leaf
nodes (at the edge of the tree) are either com- binding (1) mechanism for associating the
pletely object or completely free space. A simi- call to a specific procedure/method. Binding
lar idea can be used in 2D for representing poly- can be static or dynamic. It is called static when
gons. This representation is useful for hidden it is performed at the compilation/linking time,
surface removal and point classification (deter- and it is called dynamic when it is performed
mining whether a point is inside or outside the at run-time. Dynamic binding is typically used
object). by interpreted languages and by object oriented
languages. In some languages the presence of
binary tree (1) formally, a directed graph dynamic binding is stated by using specific key-
characterized by nodes which have exactly two words, such as "virtual" in C++. Hierarchies
arcs leading to other nodes, or no outgoing arcs; and sub-hierarchies of abstract classes are the
a designated node, the root node, which has no main place in which the dynamic binding is
incoming arcs; and the property that there is at used. See also overriding, overloading.
most one arc leading into any node. (2) the time at which a value is bound to an
(2) recursively defined as a set of nodes entity that represents it. For example, the time
(n\,... nk) one of which is designated the root at which an expression is evaluated. Usually ap-
and the remaining k -1 nodes form at most two plied to expressions that are used to pass values
sub-trees. as parameters to subroutines. Depending on the
(3) informally (and incorrectly), a tree char- nature of the language, the binding time can be
acterized by nodes which usually have two arcs early, for example, at the time the call is per-
leading to other nodes. This designation is in- formed, or late, that is, whenever the value is
43
bingo sort
actually required. In languages such as LISP where p is the parameter of the Bernoulli distri-
and Algol (Algol's call-by-name binding), the bution of any X,-.
binding time is deferred to the time the value
is needed, and consequently other factors may binomial heap a priority queue made of a
change the actual value computed, each time it forest of binomial trees with the heap property
is computed. See FUNARG. numbered k = 0,1,2,...,», each containing
either 0 or 2k nodes. Each tree is formed by
bingo sort a variant of selection sort which linking two of its predecessors, by joining one
orders items by repeatedly looking through re- at the root of the other. The operations of insert
maining items to find the greatest value and mov- a value, decrease a value, delete a value, and
ing all items with that value to their final loca- merge or join (meld) two queues take O(logn)
tion. This is more efficient if there are many time. The find minimum operation is a constant
duplicate values. 0(1). See also Fibonnaci heap.
The probability mass function of such a K is bipartite graph a graph in which the vertex
set can be partitioned into two sets X and F,
such that each edge connects a node in X with
PF(*)=(J)A!-JO"'*, a node in Y.
44
bit line
bipartite matching (1) a perfect matching bit allocation the allocation of bits to sym-
between vertices of a bipartite graph; that is, a bols with the aim of achieving some compres-
subgraph which pairs every vertex with exactly sion of the data. Not all symbols occur with the
one other vertex. same frequency. Bit allocation attempts to rep-
(2) the problem of finding such a matching. resent frequently occurring symbols with fewer
bits and assign more bits to symbols that rarely
appear, subject to a constraint on the total num-
bisector for two elements £,• and ej, the lo-
ber of bits available. In this way, the average
cus of points equidistant from e\ and ej. That
string requires fewer bits. The chosen assign-
is [p\d(p, ei) = d(p(ej], where d is some dis-
ment of bits is usually the one that minimizes the
tance metric.
corresponding average coding distortion of the
source over all possible bit assignments that sat-
bisimulation an alternative to contextual isfy the given constraint. Typically sub-sources
equivalence, replacing the quantification over all with larger variances or energy are allocated
contexts with the more tractable requirements more bits, corresponding to their greater impor-
that equivalent expressions should be able to tance.
match each other's behavior step-by-step.
bitBLT See bit-oriented block transfer.
bisimulation equivalence an equivalence re-
lation, defined in the context of process algebras,
BitBlt/RasterOp an abbreviation of bit block
which is a finer equivalence relation than trace transfer. This is an efficient technique for copy-
equivalence and distinguishes states based on ing rectangular arrays of pixels which exploits
branching properties. the fact that computer memory is organized into
multi-bit words.
BIST See built-in self-test.
bite error rate (BER) the probability of a
bi-stable pertaining to a device with two sta- single transmitted bit being incorrectly deter-
ble states, e.g., bi-stable multivibrator; circuit mined upon reception.
that has two possible output states and that will
remain in its current state without requiring ex- bit error probability the probability that a
ternal inputs; a flip-flop. single bit being transmitted will be received in-
correctly.
bit (1) the fundamental unit of information
representation in a computer, short for "binary bit error rate (BER) an estimate for the bit
digit" and with two values usually represented error probability. It can be measured as the ratio
by '0' and T. Bits are usually aggregated into of the number of bits received incorrectly vs. the
"bytes" (7 or 8 bits) or "words" (12 to 60 bits). total number of bits received.
A single bit within a word may represent the
coefficient of a power of 2 (in numbers), a logi- bit line used in, for example, RAM mem-
cal TRUE/FALSE quantity (masks and Boolean ory devices (dynamic and static) to connect all
quantities), or part of a character or other com- memory cell outputs of one column together us-
pound quantity. In practice, these uses are often ing a shared signal line. In static RAM, the
confused and interchanged. "bit" line together with its complemented sig-
(2) in Information Theory, the unit of infor- nal "-bit" feeds a "sense amplifier" (differential
mation. If an event E occurs with a probability in this case) at the bottom of the column serving
P(E), it conveys information of Iog2 (l/P(E)) as a driver to the output stage. The actual cell
binary units or bits. When a bit (binary digit) has driving the bit line (and -bit) is controlled via
equiprobable 0 and 1 values, it conveys exactly an access transistor in each cell. This transistor
1.0 bit (binary unit) of information; the average is turned on/off by a "word" line, a signal run
information is usually less than this. across the cells in each row.
45
bit-line capacitance
bit-line capacitance the equivalent capaci- the pixels of an N x N image are represented
tance experienced in each "bit line" in a RAM using k bits.
or ROM device. See also bit line.
bit plane encoding lossless binary encoding
bitmap strictly a one-bit-per-pixel represen- of the bit planes is termed bit plane encoding.
tation for a defined area of a display. The image is decomposed into a set of k, N x N
bit planes from the least significant bit to k - 1
bitmapped image a digital image composed most significant bits and then encoded for image
of pixels. Bitmapped images are resolution- compression.
dependent; i.e., if the image is stretched, the
resolution changes. Also called a raster image. bit rate a measure of signaling speed; the
See also image, pixel, vector image. number of bits transmitted per second. Bit rate
and baud are related but not identical. Bit rate is
bit normalization the process of shifting a equal to baud times the number of bits used to
binary pattern to the left until the most signifi- represent a line state. For example, if there are
cant bit is a 1. 16 line states, each line state encodes four bits,
and the bit rate is thus four times the baud. See
baud.
bit-oriented block transfer (bitBLT) a type
of processing used mainly for video informa-
bit serial processing of one bit per clock cy-
tion characterized by minimal operations per-
cle. If word length is W, then one sample or
formed on large data blocks; a processor de-
word is processed in W clock cycles. In con-
signed for such operations. BitBLT operations
trast, all W bits of a word are processed in the
include transfers, masking, exclusive-OR, and
same clock cycle in a bit-parallel system.
similar logical functions.
For example: a bit serial adder with 4-bit data
has one input signal for each bit of data, one bit
bit parallel method to transmit or process for carry-in, and two 4-bit shift registers for data.
information in which several bits are transmitted
in parallel: e.g., a bit parallel adder with 4-bit bit-slice processor a processor organization
data has 8 input ports for them (plus an initial that performs separate computations (via mul-
carry bit); an 8-bit parallel port includes true tiple processing units) separately upon subsec-
8-bit bi-directional datalines. tions of an incoming channel.
bit period the time between successive bits bits per pixel the number of bits used to de-
in data transmission or data recording. At the scribe the color or intensity of a pixel. For exam-
transmitter (or recorder) the timing is estab- ple, using 8 bits to store a value from the RGB
lished by a clock. At the receiver (or reader) color model would permit 3 bits to be used for
an equivalent clock must be recovered from the both red and green values and 2 bits for the blue
bit stream. value. Blue gets a smaller range because the hu-
man eye contains less blue cones and thus is less
bit per second (bps) measure of transfer rate sensitive to blue variations. True color images
of a modem or a bus or any digital communica- have 24 bits per pixel, or 8 bits for each of the
tion support, bps and baud are not equivalent red, green, and blue pixels. Typical grayscale
because bps is a low-level measure and media; images have 8 bits per pixel, giving 256 differ-
thus, it includes the number of bits sent for the ent gray levels. Compressed image sizes are
low-level protocol, while baud is typically re- often represented in bits per pixel, i.e., the total
ferred to as a higher level of transmission. See number of bits used to represent the compressed
also baud and baud rate. image divided by the total number of pixels.
bit plane the binary N x N image formed by bitwise an operation, typically a logical oper-
selecting the same bit position of the pixels when ation such as and, or, complement, or exclusive
46
Witter
OR, whose result is determined as a sequence of contracts of the interface without regard to the
bits resulting from the combination of the cor- style or detail of the internal implementation.
responding bits from each of the input operands
(if a binary operation) or the input operand (if blend surface a surface added to two or more
a unary operation). See bitwise AND, bitwise other surfaces to provide a continuous join be-
OR. tween them.
bitwise AND an operation that combines two blind deconvolution the recovery of a signal
values in the computer using the AND operation, x[n] from y[n] - the convolution of the signal
applying the operation individually to each of with an unknown system h[n]:
the bits of the values. See also logical AND.
Depending on the programming language, the y[n] = h[n] * x[n].
bitwise AND operation may or may not have
different semantics from the logical AND oper- Occasionally some knowledge of h[n] is avail-
ation. able (e.g., that it is a high-pass or low-pass fil-
ter). Frequently, detailed knowledge is available
bitwise OR an operation that combines two about the structure of x. See also convolution.
values in the computer using the OR operation,
applying the operation individually to each of blind search a characterization of all search
the bits of the values. See also logical OR, ex- techniques that are heuristically uninformed.
clusive OR. Depending on the programming lan- Included among these would normally be state-
guage, the bitwise OR operation may or may not space search, means-ends analysis, generate and
have different semantics from the logical OR op- test, depth-first search, and breadth-first search.
eration.
blind write a write of an object that has not
bfc tree a binomial tree of order (height) k. been previously read by the transaction.
blackboard a public data structure used as blink in computer display systems, a tech-
a communications area between users or pro- nique in which a pixel is alternatively turned on
cesses. See blackboard system. and off.
blackboard architecture an expert systems BLISS a language now largely obsolete, but
design in which several independent knowledge historically important because it was the first
bases each examine a common working mem- language that was an imperative language de-
ory, called a "blackboard". signed to implement "systems software" (such
as operating systems) that was designed with-
blackboard system a system where several out a goto statement. (Earlier languages such as
independent modules interact and coordinate LISP did not possess the goto but were intended
with each other by accessing and posting results for other domains). Designed at Carnegie Mel-
on the blackboard. lon University in 1969 by William Wulf and oth-
ers.
black box reuse a style of reuse based on ob-
ject composition without knowing the internal blitter a special-purpose chip or hardware
implementation of the reused component (the system used for fast implementations of bit-
box). Composed objects reveal no internal de- mapped graphics. Blitters are used to copy sec-
tails to each other and are thus analogous to tions of video memory from one place to an-
'black-boxes'. other. During the copy operation several source
areas may be used and logical operations may
black-box testing testing accomplished on be performed on them. One application of Wit-
the external features of the entity (subprogram, ters is the provision of fast animated graphics,
object). It tests whether an object satisfies the known as sprites.
47
BLOB
BLOB See binary large object. Typically, the lower the rate of a code the
greater the number of errors detectable and cor-
block (1) generally, a grouping of data read rectable by the code. Block codes in which the
or written in one contiguous operation. block of information symbols and parity sym-
(2) in architecture, a group of sequential lo- bols are readily discernable are known as sys-
cations held as one unit in a cache and selected tematic block codes. The receiver uses the parity
as whole. Also called a line. See also memory symbols to determine whether any of the sym-
block. bols were received in error and either attempts
(3) in programming languages, a syntactic to correct errors or requests a retransmission of
construct in most languages which is used to the information. See also binary code, convolu-
group statements to indicate a unit of execution. tional coding, error control coding.
Depending on the language, a block may allow (2) refers to (channel) coding schemes in
or forbid variable declarations within a block, or which the input stream of information symbols
limit the nature of blocks in which such decla- is split into non-overlapping blocks which are
rations may appear. In most languages, a block then mapped into blocks of encoded symbols
may be permitted to contain no statements at all (codewords). The mapping only depends on
(an empty block). Languages may limit control the current message block. Compare with trellis
transfers into or out of a block of statements. coding.
block anchor See anchor record. block diagram a system diagram in which
the components are represented with geomet-
block cipher an encryption system in which rical elements. Different meanings are as-
a successive number of fundamental plain text signed to different geometrical figures. These
information symbols, usually termed a block of in turn are connected to each other by means of
plain text information, are encrypted according line speechifying their relationships. Different
to the encryption key. All information blocks meanings are assigned to different modalities
are encrypted in the same manner according to of drawing lines. Lines specifying the relation-
the transformation determined by the encryption ships can be oriented or not. Synonymous with
key. This implies that two identical blocks of configuration diagram, systems resource chart.
plain text information will always result in the See also box diagram, bubble chart, flow chart,
same cipher text when a particular block cipher structure chart.
is employed for encryption. See also encryption,
stream cipher.
48
blurring
blocked transaction a transaction that can- square error. Used in data compression, mo-
not proceed because it requires a resource cur- tion estimation, vector quantization, and tem-
rently locked by another transaction. plate matching schemes.
blocking (1) the temporary unavailability of block multiplexer channel an I/O channel
a resource to a request. The term usually refers that can be assigned to more than one data trans-
to an unsuccessful connection set-up or to the fer at a time. It always transfers information in
unavailability of a path through a switching ma- blocks, with the channel released for competing
trix. transfers at the end of a block. See also byte
(2) a closed queueing network with blocking multiplexer channel, selector channel.
is one with finite queues.
block structure a syntactic mechanism in
blocking artifact the visibility in an image which a name has a scope determined by, and
of rectangular subimages or blocks after certain limited to, the syntactic context in which it ap-
types of image processing. Also called blocking pears. This may or may not be related to the
effect distortion. lifetime, or extent, of the value.
blocking call a call that requires the recipient block transfer the transmission of a signifi-
to be present for the data to be passed. cantly larger quantity of data than the minimum
size an interconnect is capable of transmitting,
blocking factor the number of records that without sending the data as a number of small
fit per block. Given an unspanned organization, independent transmissions (the goal being to re-
the blocking factor is = L (Block Size/Record duce arbitration and address overhead).
Size) J. For a spanned organization, the aver-
age number of records per block is taken as the block transform a transform that divides the
blocking factor. image into several blocks and treats each block
as an independent image. The transform is then
blocking flow a flow function in which any applied to each block independently. This oc-
directed path from s to t contains a saturated curs in the JPEG standard image compression
edge. algorithm, where an image is divided into 8 x 8
blocks and the DCT is applied independently to
blocking probability the fraction of requests each block. Usually the blocks do not overlap
arriving at a system that cannot be served or each other: that is, they have no signal samples
queued. Blocking can occur in a waiting/loss in common.
system if there is no more space left in the queue
or in a loss system if all servers are busy. The block truncation coding (BTC) technique
blocking probability is an important grade of ser- whereby an image is segmented into n x n non-
vice measure. overlapping blocks of pixels, and a two-level
quantizer is designed for each block. Encod-
block I/O the conversion of application reads ing is essentially a local binarization process
and writes of records with arbitrary numbers consisting of an n x n bit map indicating the
of bytes into reads and writes that can be done reconstruction level associated with each pixel.
based on the block size and alignment required Decoding is a simple process of associating the
by the underlying hardware. reconstructed value at each pixel as per the bit
map.
block matching the process of finding the
closest match between a block of samples in a blossom an odd length cycle which appears
signal and a block of equal size in another sig- during a matching algorithm on general graphs.
nal (or a different part of the same signal) over
a certain search range. Closeness is measured blurring the broadening of image
by correlation or an error metric such as mean features, relative to those that would be seen
49
BNF
in an ideal image, so that features partly merge if the operand is a zero and vice versa. It is
into one another, thereby reducing resolution. usually denoted by a bar over the operand.
The effect also applies to ID and other types of
signal. Boolean expression an expression consist-
ing solely of Boolean variables and values and
BNF See Backus-Naur form. Boolean operations, such as and, or, not, im-
plies, etc. Boolean expressions are used for
board the physical structure that houses describing the behavior of digital equipment or
multiple chips and connects them with traces stating properties/conditions in programs.
(busses).
Boolean function a function whose range is
body See function body, loop body. {0,1}. It can be understood to evaluate the truth
or falsity of each element of its domain. See also
Boltzmann machine an undirected network binary function, predicate, Boolean expression.
of discrete valued random variables, where an
energy function is associated with each of the Boolean logic the set of rules for logical op-
links, and for which a probability distribution is erations on binary numbers.
defined by the Boltzmann distribution.
Boolean operator the classical Boolean op-
Booch diagram a representation of object- erators are AND, OR, NOT. There are poten-
oriented design using the Booch method. tially 16 unique Boolean operators between two
binary values, although very few languages im-
Booch method an object-oriented design plement these operators, other than Exclusive
methodology created by Grady Booch. OR. All these operators such as XOR, NAND,
NOR, etc. can be easily obtained based on the
Boolean an operator or an expression of George fundamental ones. In hardware these are im-
Boole's algebra (1847). A Boolean variable or plemented with gates. See, for example, AND
signal can assume only two values: TRUE or gate.
FALSE. This concept has been ported in the
field of electronic circuits by Claude Shannon Boolean OR operation a logical operation
(1938). He had the idea to use Boole's algebra on binary variables and constants that produces a
for coding the status of a circuit: TRUE/FALSE one if one or both operands are one. It is usually
as HIGH/LOW as CLOSE/OPEN, etc. denoted as +.
Boolean algebra the fundamental algebra at Boolean value a value which can be set to one
the basis of all computer operations. A Boolean of two values, designated true and false. In many
algebra is a ring over a two-valued domain implementations of languages, either value may
such as 0, 1 or false, true. See also Boolean, be represented by a set of values in the underly-
Boolean OR operation, Boolean AND opera- ing machine representation.
tion, Boolean complement, Boolean expression,
Boolean function, Boolean logic, Boolean oper- Boolean variable a variable which holds the
ator, Boolean value, Boolean variable. value true or false.
Boolean AND operation a logical operation BOOM viewer acronym for "binocular omni-
on binary variables and constants that produces oriented monitor"; a system featuring a stereo-
a one only if both operands are one. It is usually scopic display mounted on an articulated arm,
denoted as •. allowing the display to be positioned to suit the
user.
Boolean complement a logical operation on
a binary variable or constant that produces a one boot to load an operating system.
50
bottom-up
bootable disk a disk that contains the boot piler). A technique more useful in the days be-
portion of the operating system on it; also called fore portable compilers.
a system disk. (4) the process of compiling a compiler des-
tined to run on one architecture by using a cross-
boot area an area on a disk that contains a compiler to compile it on an existing platform,
special code that allows the operating system to producing executable code for the target system.
start. If the compiler is written in its own language, it
can then be compiled on the target system by the
Booth's algorithm an algorithm originally compiler created in the first step.
developed for the multiplication of signed num-
bers but now used for high-speed multiplication.
Using a large radix, the algorithm reduces the bootstrap code special code stored in the
number of multiplicand-multiples that are added boot area of a disk that allows the operating sys-
and so reduces the number of addition cycles. tem to start.
For radix-r multiplication, the reduction of the
number of multiples is by an on-the-fly conver- border a string v is a border of a string u if v
sion of the representation of the multiplier from is both a prefix and a suffix of u. String v is said
one based on the digit-set 0,1 to one based on to be the border of u if it is the longest proper
the digit-set -r, -(r - 1),... , 0,..., r - 1, r border of u.
for radix-r multiplication and is known as re-
coding. borrow-save subtractor an adder in which
carries are not assimilated but are saved and
booting the process of actually starting the assimilated later when they can no longer be
computer's operating system. saved. Typically used in high-speed dividers,
in which saving the carries until the last ad-
boot record (1) the structure at the beginning dition/subtraction cycle enhances performance.
of a hard disk that specifies information needed Borrow-save subtracters are not as widely used
for the startup and initialization of a computer as carry-save adders, which can perform similar
and its operating system. actions.
(2) record kept and displayed by the booting
program. bottleneck the device in a system with the
largest utilization. As the number of customers
bootstrap (1) program, typically stored in in the system is increased, the bottleneck device
a read-only-memory (ROM), which is used to will be the one limiting overall system perfor-
load other programs, most commonly an oper- mance.
ating system. From the phrase "to lift oneself
by one's bootstraps".
bottom node the designated node in a lattice
(2) to initialize a computer system into a
that has the property that any path through the
known beginning state by loading the operat-
lattice starting at the top node (or root node) will
ing system from a disk or other storage to a
reach the bottom node.
computer's working memory. This is done by
a firmware boot program. Also called boot for
short. bottom-up (1) design process by which
(3) the process of creating a compiler by writ- larger chunks are constructed from smaller ones.
ing a small compiler (often in assembly code) An example would be creating a software ap-
that compiles a subset of the language in which plication by combining together a number of
the compiler is written. This is used to compile classes from a pre-existing library of classes.
a more powerful compiler written in the sub- (2) a parsing algorithm that constructs the
set, which can then compile the compiler writ- parse tree from the leaves to the root. Bottom-up
ten in its own language (although the number algorithms include LR and LALR parsers, such
of steps required varies from compiler to com- as those produced by yacc.
51
bottom-up analysis
bottom-up analysis an analysis of a context- boundary scan test a technique for applying
free grammar which uses rightmost derivation. scan design concepts to control/observe values
See also LR(k). Contrast with top-down analy- of signal pins of 1C components by providing a
sis. dedicated boundary-scan register cell for each
signal I/O pin.
bottom-up reasoning See forward chaining.
boundary value analysis a black box testing
boundary a curve that separates two sets of method that designs test cases that exercise data
points. boundaries.
boundary condition a condition represent- bounded distance decoding decoding of an
ing an extreme point. For example, a computa-
imperfect /-error correcting forward error cor-
tion that fails when presented with zero values
rection block code in which the corrected error
to act upon suffers a boundary condition error. patterns are limited to those with t or fewer er-
Boundary conditions usually introduce special-
rors, even though it would be possible to correct
case code into otherwise straightforward com- some patterns with more than t errors.
putations, and the lack of the special-case code
causes the computation to fail. Boundary con-
ditions may represent discrete conditions (exact bounding box the smallest regularly shaped
values, such as 0, the empty list, the largest pos- box that encloses an object, usually rectangular
sible positive integer, an empty string) or a class in shape. Bounding boxes are used to acceler-
of values (for example, computing the tangent ate tests such as visibility or ray-object intersec-
of angles very close to 90°). See also fencepost tion by providing a pre-test which can eliminate
error. many cases.
boundary scan a technique for applying scan box diagram a diagram describing the con-
design concepts to control/observe values of the trol flow among components. It consists of rect-
signal pins of 1C components by providing a angles internally subdivided by lines with spe-
dedicated boundary-scan register cell for each cific semantics to represent selection conditions,
signal I/O pin. sequential steps, repetitions, etc. Synonymous
with program structure diagram, Nassi-
boundary scan interface a serial clocked Shneiderman chart, Chapin chart. See also block
interface used to shift in test pattern or test in- diagram, bubble chart, flow chart.
struction and to shift out test responses in the
test mode. Boundary scan interface comprises
Boyce-Codd Normal Form (BCNF) a rela-
shift-in, shift-out, clock, reset, and test select
tion is in Boyce-Codd normal form (BCNF) if
mode signals.
all determinants are candidate keys.
boundary scan path a technique which uses
a standard serial test interface to assure easy ac- BPR See business process reengineering.
cess to chip or board test facilities such as test
registers (in an external or internal scan path) branch address the address of the instruc-
or local BIST. In particular, it assures complete tion to be executed after a branch instruction if
controllability and observability of all chip pins the conditions of the branch are satisfied. Also
via shift in and shift out operations. called a branch target address.
52
breakpoint
53
breakpoint instruction
breakpoint instruction a debugging instruc- brute force search See exhaustive search.
tion provided through hardware support in most
microprocessors. When a program hits a break- BSD acronym for Berkeley Software Distri-
point, specified actions occur that save the state bution, a proprietary version of Unix.
of the program, and then switch to another pro-
gram that allows the user to examine the stored b-spline (1) the shortest cubic spline con-
state. The user can suspend the execution of a sisting of different three-degree polynomials on
program, examine the registers, stack, and mem- four intervals; it can be obtained by convolving
ory, and then resume the program's execution, four box functions.
which is very helpful in a program's debugging.
(2) a multi-segment spline curve representa-
Brent-Kung adder a type of carry- tion based on local polynomials having conti-
lookahead adder; the organization is based on nuity of curve orientation and curvature at the
computing carries that are parallel prefixes. points (knots) where different segments join.
Cubic b-splines are popular, but linear, qua-
Bresenham's algorithm a technique devel- dratic, quartic, etc. splines are also used. The b
oped in the framework of raster graphics for in b-spline stands for basis because the b-spline
generating lines and circles. These algorithms segments are formed from the weighted sum of
use only integer arithmetic, avoid rounding, and four local basis functions. The local shape of
perform an iterative computation of the prim- the spline segment is controlled by four con-
itive points by approximating the distance to trol points; in the case of b-splines, these con-
the nearest pixel center along either the x or y trol points do not lie on the curve itself (i.e.,
axis. These characteristics make for efficient b-splines are not interpolating). One important
algorithms. advantage of b-splines is that the movement of
a control point affects only four segments of the
bridge an edge of a connected graph whose curve. B-spline surfaces can be defined from b-
removal would make the graph unconnected. spline curves lying in both directions on the sur-
face. Here, 16 non-interpolated control points
brightness the perceived intensity of a radi- are needed per patch, but each patch then has
ating object. tangent and curvature continuity where it joins
a neighboring patch. The b-spline is defined
British museum algorithm a general ap- over a uniform parameter domain, and is eval-
proach to find a solution by checking all possi- uated as a simple polynomial function. More
bilities one by one, beginning with the smallest. complex forms, such as NURBS, relax these as-
The term refers to a conceptual, not a practical, sumptions.
technique where the number of possibilities is
enormous. See also breadth-first search, brute BTB See branch target buffer.
force search, exhaustive search.
BTC See block truncation coding.
broadcast to send a message to all recipients.
Brownian motion a stochastic process with b-tree a balanced search tree in which every
independent and stationary increments. The deriva- node has between t — 1 and 2t — 1 children. In-
tive of such a process is a white noise process. sertion and deletion algorithms are modified to
A Brownian motion process Xt is the solution ensure the tree remains balanced. For example,
to a stochastic differential equation of the form on insertion into a full block (i.e., a collision),
the block is split and the middle value is prop-
^=*(f,X,) + c r ( f , X , ) . W , , agated up a level to the parent node. All values
at less than the middle value are placed in the left
where Wt is a white noise process. child of the parent; other values are placed in
the right child. This is a good structure if much
browse to read uncommitted. of the tree is on disk, since the tree height, and
54
building blocks hypothesis
hence the number of disk accesses, can be kept buffered input/output input/output which
small, say one or two. See also b*-tree. transfers data through a "buffer" or temporary
storage area. The main purpose of the buffer is
bubble chart a data flow diagram in which to reduce time dependencies of the data and to
the elements are represented as circles (bubbles). decouple input/output from the program execu-
Relationships among bubbles are represented tion. Data may be prepared or consumed at an
with arrows and typically represent the flowing irregular rate, whereas the transfer to or from
of data/information from one bubble to the next. disk is at a much higher rate, or in a burst.
A buffer is used in "blocked files", where the
record size as seen by the user does not match
bucket one or several consecutive disk pages
the physical record size of the device.
corresponding to one value of a hashing func-
tion.
buffering (1) the process of moving data into
or out of buffers or to use buffers to deal with
bucket array implementation of a dictionary input/output from devices. See buffer, buffered
by means of an array indexed by the keys of the input/output.
dictionary elements. See dictionary. (2) assigning buffer space for the duration of
the execution of a computer program.
bucketing method a data organization method
that decomposes the space from which spatial bug simplistically, an error in a program.
data is drawn into regions called buckets. Some However, many behavioral aspects of a program
conditions for the choice of region boundaries may be labeled "bugs" when they are simply be-
include the number of objects that they contain havior the programmer does not wish to have;
or their spatial layout (e.g., minimizing overlap for example, the failure of columns of numbers
or coverage). to line up in some desired manner. A "bug"
can represent anything from an error in the fun-
bucket sort See radix sort. damental requirements to an incorrect coding
of the algorithm. Often considered an unac-
buddy system a memory allocation strat- ceptable term from a software engineering per-
egy which recursively divides allocatable blocks spective (the correct term is "fault"), the term
of memory into pairs of adjacent equal-sized is attributed to Grace Hopper's discovery of a
blocks called "buddies". short-circuit created by a moth in the ENIAC
computer.
buffer (1) a temporary data storage area building block schemata with low order, short
in memory that compensates for the different defining length and above-average fitness val-
speeds at which different elements are trans- ues. Due to the high fitness values of these
ferred within a system. Buffers are used when schemata and their capability to avoid the dis-
data transfer rates and/or data processing rates ruptive effects of crossover and mutation, the
between sender and receiver vary, for instance, number of their representatives in the popula-
a printer buffer, which is necessary because the tion will quickly increase. More precisely, the
computer sends data to the printer faster than schema theorem states that this number will in-
the data can be physically printed. See buffered crease at an exponential rate. See also schema
input/output. theorem.
(2) a unit for temporary storage of requests.
Requests to be stored can be data (in a com- building blocks hypothesis the hypothesis
puter), call or connection requests (in a commu- that the genetic algorithm searches by first de-
nication system), etc. A buffer is characterized tecting biases toward higher fitness in some low-
by its size (in units of number of requests or sum order schemas (those with a small number of
of request sizes) and by its queueing discipline defined bits) and converging on this part of the
(e.g., FCFS, LCFS, etc.). search space. Over time, it then detects biases
55
buiKI-in predicates
in higher-order schemas by combining informa- burden rate the cost that must be paid on top
tion from low-order schemas via crossover and of a salary for an employee. As software cost
eventually converges on a small region of the estimator this must be taken into account.
search space that has high fitness. The build-
ing blocks hypothesis states that this process is burn-in test the process of letting a computer
the source of the genetic algorithm's power as a or other electronic device run for some extended
search and optimization method. period of time after it has been assembled to
flush out major problems quickly.
built-in predicates for computations in
rule bodies often special built-in predicates are burstiness a measure for the variability of a
needed in practical applications, e.g., the arith- process, e.g., a rate process. There are several
metic predicates +, —, *, -T-, or the comparison different mathematical definitions for burstiness,
predicates >, <, >, <, =, ^. the most common being the ratio of peak rate to
mean rate of a process.
built-in self-test (BIST) special hardware
embedded into a device (VLSI chip or a board)
burstiness factor used in traffic description,
used to perform self testing. On-line BIST as-
sures testing concurrently with normal operation the ratio of the peak bit rate to the average bit
(e.g., accomplished with coding or duplication rate.
techniques). Off-line BIST suspends normal op-
eration and it is carried out using built-in test pat- burst refresh in DRAM, carrying out all
tern generator and test response analyzer (e.g., required refresh actions in one continuous se-
signature analyzer). quence — a burst See also distributed refresh.
bulk transfer a class of network traffic that burst transfer the sending of multiple re-
involves the reliable transmission of large vol- lated transmissions across an interconnect, with
umes of data without a strict delay requirement. only one initialization sequence that takes place
at the beginning of the burst.
bump map a pattern of surface normal dis-
placements, simulating the undulations of a bursty arrival process an arrival process
bumpy surface that is to be mapped onto a geo- with a greater variance than what a Poisson pro-
metric surface during rendering. cess with the same mean rate would have.
bump mapping a technique used to increase bursty traffic traffic resulting from a bursty
the realism of a surface by changing how light arrival process or generated with a high variance
reflects from that surface. Usually, the surface of interarrival times or packet sizes.
normal at a given point on a surface is used in
the calculation of the brightness of the surface
bus (1) a data path connecting the different
at that point. In bump mapping, the true surface
subsystems or modules within a computer sys-
normal n is perturbed a small amount 3n as a
tem. A computer system will usually have more
function of position on the surface. The pertur-
than one bus; each bus will be customized to fit
bation can be regular, so as to give a regular tex-
the data transfer needs between the modules that
tured shape to the surface, or it can be random, so
it connects.
as to increase the natural appearance of the sur-
face. Part of what gives this technique its appeal (2) a conducting system or supply point, usu-
is that the original surface maintains its original ally of large capacity. May be composed of one
(usually smooth) shape, and the bump-mapping or more conductors, which may be wires, cables,
distortion is specified by a compact function of or metal bars (busbars).
shape. This is usually much simpler and more
compact than specifying the surface texture by bus acquisition the point at which a bus ar-
explicitly representing the textured surface. biter grants bus access to a specific requestor.
56
bus idle
bus arbiter the unit responsible for choosing 3. The bus master issues a read command
which subsystem will be given control of the bus with the read address.
when two or more requests for control of the bus
occur simultaneously. Some bus architectures, 4. The bus slave responds with data.
such as Ethernet, do not require a bus arbiter. 5. The master acknowledges receipt of the
data.
bus arbitration function performed by a bus
controller to resolve simultaneous competing re- 6. The bus master releases the bus.
quests for control of the bus and select one candi-
The first two steps may be overlapped with
date to become bus master. Arbitration is usu-
the preceding data transfer. See bus controller,
ally by a combination of hard-wired requester
bus master.
priority and the physical position along the bus.
Refer to bus priority. bus driver the circuits that transmit a signal
across a bus.
bus bandwidth the data transfer rate in bits
per second or bytes per second. It is approxi- bus error a problem (external to the CPU)
mately equal to the width of the data bus, mul- that causes an inability to access one or more
tiplied by the transfer rate in bus data words per words of memory. See also address error.
second. Thus, a 32-bit data bus, transferring
25 million words per second (40 ns clock) has a bus grant an output signal from a proces-
bandwidth of 800 Mb/s. sor indicating that the processor has relinquished
The useful bandwidth may be lowered by the control of the bus to a DMA device.
time to first acquire the bus and possibly trans-
fer addresses and control information. The bus bus hierarchy a network of buses linked
bandwidth is the transfer rate which it is guar- together (usually multiple smaller buses con-
anteed that no user will exceed. nected to one or more levels of larger buses),
used to increase the number of elements that
bus broadcast a bus-write operation which may be connected to a high-performance bus
is intended to be recognized by more than one structure.
attached device.
Bush, Vannevar (1890-1974) Born: Ev-
bus controller the logic which coordinates erett, Massachusetts.
the operation of a bus. A device connected to the Bush is best know as the developer of early
bus will issue a bus request when it wishes to use electro-mechanical analog computers. His "dif-
the bus. The controller will arbitrate among the ferential analyzer", as it was called, arose from
current requests and grant one requester access. his position as a professor of power engineer-
The bus controller also monitors possible errors, ing at the Massachusetts Institute of Technol-
such as use of an improper address, a device not ogy. Transmission problems involved the solu-
releasing the bus, and control errors. tion of first and second order differential equa-
tions. These equations required long and labo-
bus cycle the sequence of steps involved in a rious calculations. His interest in mechanical
single bus operation. A complete bus cycle may computation arose from this problem. Bush's
require that several commands and acknowledg- machines were used by the military during WW
ments are sent between the subsystems in addi- II to calculate trajectory tables for artillery. Van-
tion to the actual data that is sent. For example, nevar Bush was also responsible for inventing
the antecedent of our modern electric meter. He
1. The would-be bus master requests access was also scientific advisor to President Roo-
to the bus. sevelt on the Manhattan Project.
2. The bus controller grants the requester ac- bus idle the condition that exists when the
cess to the bus as bus master. bus is not in use.
57
business process reengineering (BPR)
business process reengineering (BPR) a bus parking a priority scheme which allows
business-focused, integrated, and radical a bus master to gain control of the bus without
approach to redesigning a business system. arbitration.
58
Byzantine general's problem
bus state triggering a data acquisition mode of doubtful origin, but was used in some early
initiated when a specific digital code is selected. computers to denote any field within a word
(e.g., DEC PDF-10). Since its use on the IBM
bus tenure the time for which a device has "Stretch" computer (IBM 7030) and especially
control of the bus, so locking out other re- the IBM System/360 in the early 1960s, a byte is
questers. In most buses the bus priority ap- now generally understood to be 8 bits, although
plies only when a device completes its tenure; 7 bits is also a possibility. See also word, half-
even a low priority device should keep its tenure word, longword, quadword.
as short as possible to avoid interference with
higher priority devices. See bus priority. byte code a sequence of machine instructions
for a virtual machine, encoded as a sequence
bus transaction the complete sequence of of bytes. Traditionally, a byte code has been
actions in gaining control of a bus, performing executed by an interpreter running on the ac-
some action, and finally releasing the bus. See tual machine, although nothing precludes build-
bus cycle. ing actual hardware that executes the byte codes
directly. Typically used to create a platform-
bus watching See bus snooping. independent representation of object code. Con-
trast with threaded code.
bus width the number of data lines in a given
bus interconnect. byte multiplexer channel an I/O channel
that can be assigned to more than one data trans-
busy pertaining to a system or component fer at a time and can be released for another de-
that is in use. vice following each byte transfer. (In this regard,
it resembles a typical computer bus.) Byte mul-
busy hour call attempts (BHCA) the aver- tiplexing is particularly suited to lower speed
age number of call attempts expected per hour devices with minimal device buffering. (IBM
on a telephone switch during the busiest time of terminology.) See also selector channel, multi-
the day, busy hour, peak hour: Sixty consecutive plexer channel.
minutes in a day in which the mean of a traffic
measure has its maximum. The traffic measure byte serial a method of data transmission
under consideration can be, e.g., traffic volume where bits are transmitted in parallel as bytes
or call rate. Different traffic measures often have and the bytes are transmitted serially. For ex-
different peak hours. ample, the Centronics-style printer interface is
byte-serial.
busy waiting a processor state in which it is
reading a lock and, finding it busy, it repeats the Byzantine agreement See Byzantine gener-
read until the lock is available, with attempt to al's problem.
divert to another task. The name derives from
the fact that the program is kept busy with this Byzantine general's problem the problem
waiting and is not accomplishing anything else of reaching a consensus among distributed units
while it waits. The entire "busy loop" may be if some of them give misleading answers. The
only two or three instructions. Busy waiting is original problem concerns generals plotting a
generally deplored because of the waste of pro- coup. Some generals lie about whether they will
cessing facilities. support a particular plan and what other gen-
erals told them. What percentage of liars can
byte in most computers, the unit of memory a decision-making algorithm tolerate and still
addressing and the smallest quantity directly correctly determine a consensus?
manipulated by instructions. The term "byte" is
59
cache hit
c
cache aliasing a situation where two or more
entries (typically from different virtual
addresses) in a cache correspond to the same
address(es) in main memory. Considered unde-
sirable, as it may lead to a lack of consistency
(coherence) when data is written back to main
memory.
C a language developed at AT&T Bell Lab-
oratories in the 1970s, a derivative of BCPL. cache associativity the number of cache en-
tries that can be searched concurrently.
C&P See capture and playback.
cache block the number of bytes transferred
C++ a language developed at AT&T Bell as one piece when moving data between levels
Laboratories in the 1980s, an object-oriented in the cache hierarchy or between main mem-
variant of the C language. A language based ory and cache. The term line is sometimes
loosely on the principles of SIMULA-67. used instead of block. Typical block size is 16-
128 bytes and typical cache size is 1-256 KB.
The block size is chosen so as to optimize the
cable drive in robotic manipulators, trans-
relationship of the "cache miss ratio", the cache
mission of motive forces from actuators to links
size, and the block transfer time.
via wire cables.
cache coherence the problem of keeping
cache (1) an intermediate memory store hav-
consistent the values of multiple copies of a sin-
ing storage capacity and access times some-
gle variable, residing either in main memory and
where in between the general register set and
cache in a uni-processor, or in different caches in
main memory. A cache is usually invisible to
a multi-processor computer. In a uni-processor,
the programmer, and its effectiveness comes
the problem may arise if the I/O system reads
from being able to exploit program locality to
and writes data into the main memory, causing
anticipate memory-access patterns and to hold
the main memory and cache data to be inconsis-
closer to the CPU; most accesses to main mem-
tent, or if there is aliasing. Old (stale) data could
ory can be satisfied by the cache, thus making
be output if the CPU has written a newer value
main memory appear to be faster than it actually
in the cache, and this has not been transported
is.
to the memory. Also, if the I/O system has input
There may be more than one cache; if so, they a new value to main memory, new data would
are traditionally numbered by their nearness to reside in main memory, but not in the cache.
the processor. The closest, and usually smallest
but fastest, cache is called the "LI cache", the cache coherence protocol a mechanism to
next one out is called the "L2 cache", and so on. maintain data coherence among multiple caches
A compiler may be able to take advantage of the so that every data access will always return the
presence of a cache to optimize the performance latest version of that datum in the system.
of code.
See code cache, data cache, direct mapped cache consistency in a system with multiple
cache, fully associative cache, set-associative processors, each with its own local cache, the
cache, cache line, cache line size, and unified caches are consistent if each cache always con-
cache. tains exact copies of remote data. The problem
(2) a data structure which holds a (typically of keeping local cache copies up to date with
small) number of values, used to expedite ac- changes in remote data is known as the cache
cess to larger data structures. When a cache is consistency problem.
filled and a new element must be placed in it,
a cache replacement algorithm is used to deter- cache hit when the data referenced by the
mine which element to discard. processor is already in the cache.
0-8493-2691-5A)l/$0.00+$.50
© 2001 by CRC Press LLC 61
cache hit ratio
cache hit ratio the percentage of time in cache synonym See cache aliasing.
which a requested instruction or data is actually
in the cache. cache tag a bit field associated with each
block in the cache. It is used to determine
cache line (1) the fundamental quantum of where (and if) a referenced block resides in the
caching. From the notion of a hardware cache, cache. The tags are typically housed in a sep-
in which some number of bits, bytes, or other arate (and even faster) memory (the "tag direc-
storage units are transferred to the next outer tory"), which is searched in for each memory
cache as a single unit of information. This unit reference. In this search, the high order bits
of information is a cache line. Each level of of the memory address are associatively com-
cache in a multilevel system may have its own pared with the tags to determine the block lo-
cache line size. cation. The number of bits used in the tag de-
(2) a block of data associated with a cache pends on the cache block "mapping function"
tag. used: "Direct-mapped", "Fully associative" or
the "Block-set-associative" mapped cache.
cache line size the number of bits, bytes, or
cactus stack a representation of a stack in
other storage units that can be stored in a single
which multiple threads of control share the stack-
cache line. Knowledge of the cache line size
defined namespace hierarchy; so named because
and the cache replacement algorithm can allow
a diagram of the stack relationships resembles a
a compiler to optimize the code to work with,
saguaro cactus.
rather than against, the cache. Speedups by fac-
tors of 20 or more have been seen for FORTRAN
CAD See computer-aided design.
programs accessing array data.
calculus of communicating system (CCS)
cache memory See cache.
Robin Milner's algebraic theory to formalize the
notion of concurrent computation. This pro-
cache miss a reference by the processor to cess algebra is used to describe process behavior,
a memory location currently not housed in the mainly used in the study of parallelism. It has
cache. operators for the parallel composition of pro-
cesses, for synchronization, to hide events, etc.
cache replacement when a "cache miss" oc- Programs written in CCS can be compared us-
curs, the block containing the accessed loca- ing the notion of observational equivalence that
tion must be loaded into the cache. If this is checks if two processes have the same external
full, an "old" block must be expelled from the behavior. See process algebra, CSP.
cache and replaced by the "new" block. The
"cache replacement algorithm" decides which calendar time synonymous with real-time.
block should be replaced. An example of this
is the Least Recently Used (LRU) algorithm, calibration process of adjusting system pa-
which replaces the block that has gone the longest rameters to optimize accuracy or to ensure con-
time without being referenced. formity to a standard.
62
camera
This led to interesting problems in side effects. side effects is quite different, particularly when
See also call-by-reference, call-by-value. aliasing occurs, and it can also support alternate
value representations between the actual param-
call-by-name reduction See normal-order eter type and formal parameter type. See also
reduction. call-by-name, call-by-reference, call-by-value.
call-by-reference a mechanism for parame- callee a function which has been called.
ter passing in many languages which states that
the value of the actual parameter is not passed caller the code which calls a function.
to the called function, but rather a reference
(memory address) to the value is passed instead.
call graph (1) a human-readable representa-
Use of the actual parameter in the function body
tion of which functions call which other func-
uses or modifies the value thus referenced. Also
tions. Useful for analyzing complex programs,
called call-by-address. See also call-by-name,
to reverse-engineer, or otherwise understand
call-by-value, call-by-value-result.
their behavior.
call-by-result a mechanism for parameter (2) a representation of which functions call
passing in many languages which states that the which other functions used within compilers to
actual parameter must reference a value that can determine feasible global optimizations.
be modified. In the body of the function, the
appearance of the formal parameter can only
be as the target of an assignment (or it can be
passed as a call-by-result parameter to another
function). The formal parameter represents a
local variable. Upon return from the function,
the contents of the local variable representing
the formal parameter are copied to the location
specified by the actual parameter. See also call-
by-value, call-by-value-result. A call graph.
63
camera calibration
scene in the same way as a photographer would advantage is its capability for allowing edges
position a camera. and their orientations to be detected to sub-pixel
accuracy. It uses a convolution with a Gaussian
camera calibration a process in which cer- to reduce noise and a derivative to enhance edges
tain camera parameters, or equivalently some in the resulting smoothed image. The two are
quantities which are required for determination combined into one step—a convolution with the
of the perspective projection on an image plane derivative of a Gaussian. A hysteresis threshold-
of a point in the 3D world, are calculated by ing stage is included to allow closed contours to
using the known correspondence between some remain closed.
points in the 3D world and their images in the
image plane. canonical if E and F form a decomposition
of image W, meaning E U F = W, then the pair
camera model a mathematical model by (£, F) is said to be canonical.
which the perspective projection on an image
plane of a point in the 3D world can be deter- canonical complexity classes the classes de-
mined. fined by logarithmic, polynomial, and exponen-
tial bounds on time and space, for deterministic
canceled project a software project that is and nondeterministic machines. These are the
canceled and never completed. This is a fairly most central to the field, and classify most of the
common issue among large projects. About important computational problems.
25% of large projects are cancelled.
canonical form given a set of queries g, a
candela derived from candle and denoted by subset of this set of queries, C, is said to be
the symbol "cd", it is the basic SI unit of lu- the canonical form of Q if every query in Q is
minous intensity. It is defined as the radiation equivalent to a query in the subset C.
intensity, in a perpendicular direction, of a sur-
face of 1/600000 square meter of a black body Cantor middle third argument a recursive
at the temperature of freezing platinum under a mathematical procedure involving the removal
pressure of 101325 newtons per square meter. of the middle third of a line segment.
candidate consistency testing the stage of
Cantor set the result of applying the Cantor
two-dimensional matching where it is checked
middle third argument.
whether a candidate occurrence of the pattern is
checked against the "witness" table.
canvas a two-dimensional region of graph-
candidate key any key in a relation that has ics information. The canvas may be displayed
more than one key. on screen or be recorded in off-screen display
memory.
canned transaction a standard query or up-
date that is run on a regular basis. capability (1) an object that contains both a
pointer to another object and a set of access per-
Canny operator an edge detector devised by missions that specify the modes of access per-
John Canny as the optimal solution to a varia- mitted to the associated object from a process
tional problem with three constraints. The gen- that holds the capability.
eral solution obtained numerically can be ap- (2) a unique, global name for an access right
proximated in practical contexts by the first to an object.
derivative of a Gaussian. Canny operator usu-
ally refers to the extension to two dimensions of capability maturity model (CMM) a five-
this approximation: i.e., to use a set of oriented layer model against which an industry can eval-
operators whose orthogonal cross-sections are a uate its organizational maturity with respect to
Gaussian and the derivative of a Gaussian. Its software development. The levels are 1. Ini-
64
carry look-ahead adder
tial, 2. Repeatable, 3. Defined, 4. Managed, and the ball" would commit an error if recreating that
S. Optimizing. sequence while playing baseball.
capacity (1) in performance evaluation, the capture register internal register which, trig-
capacity of a system is the maximum rate at gered by a specified internal or external signal,
which it can perform useful work under the given stores or "captures" the contents of an internal
set of constraints. These constraints could be, timer or counter.
for example, the blocking probability or the end-
to-end delay of packets in a system. card computer component constructed of
(2) in communications, the capacity of a plastic laminates that holds dozens or even hun-
channel is the maximum bit rate at which in- dreds of chips and other electronic parts such
formation can be transmitted reliably. as resistors, capacitors, transistors, and the like.
Also called board.
(3) in graph theory, the maximum amount of
flow that is allowed to be sent through an edge
cardinality ratio specifies the number of re-
or a vertex.
lationship instances in which an entity can par-
ticipate.
capacity miss a category of cache misses
denoting the case where the cache is not large carrier the socket into which a chip is in-
enough to hold all blocks needed during execu- serted. Sometimes called a chip pack.
tion of a program. See also conflict miss, cold
start miss. carry overflow signal which occurs when the
sum of the operands at the inputs of the adder
capture and playback (C&P) a tool for sys- equals the base. A binary adder, adding 1 + 1
tem testing. It allows the capture of all the ac- will produce a sum of 0 and carry of 1.
tions performed by (i) the user on the machine
interface (for instance, via mouse, keyboard, carry bit See carry.
etc.) and by (ii) the computer towards the user
(visualization and changes on the screen, disk carry-bypass adder See carry-skip adder.
access, etc.). The actions and the response of
the program are typically registered on disk by carry chain in an adder, the logic used to
using a specific language. Once the description pass along carries.
is saved, it can be reapplied on the system simu-
lating the human's actions (the playback). This carry-completion adder an asynchronous
allows the comparison of the expected results adder in which the propagation of carries is mon-
against the obtained one, and, thus, the perform- itored and the addition is considered complete
ing of the regression testing at low cost. C&P so- as soon as there are no more carries to be prop-
lutions can be intrusive and non-intrusive. The agated. This is nominally faster than a cor-
first are applications running on a separate com- responding synchronous adder, in which time
puter that acquire the actions by means of wiring must be always allowed for the worst-case carry-
connections on the cables of mouse, video, key- propagation.
board, and disk. The second are run directly on
the same computer as resident tasks, thus reduc- carry flag a single bit of state in the computer
ing the estimation precision and partially influ- that records the state of a previous arithmetic
encing the system behavior, since the CPU is operation.
shared with the application under test.
carry look-ahead adder an adder in which
capture error human error caused by habit- carries are determined prior to the addition prop-
uation to a behavior sequence that is no longer er. An adder stage therefore need not wait for a
valid; for example, a soccer player accustomed carry from a lower stage, and the addition pro-
to the sequence "see the ball, run to the ball, kick cess is thus speeded up.
65
carry-prediction adder
66
catastrophic failure
folding, case-insensitive, case-preserving, case- case study a typical case for verifying the
sensitive. functionalities of a system or the capabilities of
an approach.
(2) a control construct by which the sequence
of operations is determined by the computation
CASE tool See computer-aided software en-
of a value, typically of an enumerable type such
gineering tool.
as integer, character, and the like, and said value
is used to select the next computation performed.
cast See type cast.
See also switch.
(3) the actual statement selected according to casting down the hierarchy an operation by
definition (2). See also otherwise, default. which an object of a general class is declared
to be an object of a more restricted subclass.
case based reasoning (CBR) reasoning con- In some languages this can be done even if the
cerning the nature of a situation based upon an object is not an instance of the subclass. Such
empirical inquiry that investigates a contempo- languages are not type-safe under this casting
rary phenomenon within its real-life context es- operation.
pecially when the boundaries between the phe-
nomenon and context are not clearly evident. It casting up the hierarchy an operation by
is a technique for problem solving that uses pre- which an object of a specific class is declared to
vious examples for solving the current problem. be an object of a more general class.
67
catch
quired functions of an item. The use of the word face. The classic example is the caustic on the
"catastrophic" is unfortunate since it confuses surface of a liquid. Refraction may make it hap-
failure mode with severity. Software is particu- pen too. The caustic shape is the envelope of the
larly prone to sudden complete failure, due to the reflected rays.
lack of continuity of cause and effect in digital
systems: since they operate according to logical cautious waiting a currency control algo-
rules, not physical laws, a very small change in rithm that uses a mixture of waiting and aborting
input or internal state can produce a vast change transactions.
in output. See also wild failure. Synonymous
with cataleptic failure. CAVE See computer augmented virtual en-
vironment.
catch an operation in languages that support
a structured nonlocal control transfer in a nested CBR See case based reasoning.
control hierarchy. The control transfer is initi-
ated by a throw operation and intercepted by a CCD See charge-coupled device.
catch. Ada and C++ are instances of such lan-
guages. CCDF See complementary cumulative dis-
tribution function.
catenation symbols strung together to form a
larger sequence, such as the characters in a word CCD memory See charge-coupled-device
and the digits in a number. memory.
cathode ray tube (CRT) a vacuum tube us- CCITT See Comit6 Consulatif International
ing cathode rays to generate a picture on a fluo- T£16graphique.
rescent screen. These cathode rays are in fact the
electron beam deflected and modulated, which CCS See calculus of communicating system.
impinges on a phosphor screen to generate a pic-
ture according to a repetitive pattern refreshed CD See compact disk.
at a frequency usually between 25 and 72 Hz.
CDF See cumulative distribution function.
Cauchy distribution the density function for
a Cauchy distributed random variable X is CD-I See compact disk interactive.
fx(x)
- nb • CDMA See code division multiple access.
Note that the moments for this random variable CDR See critical design review.
do not exist, and that the cumulative distribu-
tion function is not defined. See also probability CD-ROM a read-only compact disk. See
density function, moment. compact disk.
68
central processing unit (CPU)
Forum [TMS4.0] give definitions both for a one- center of viewpoint See center of projection.
point and a two-point ATM cell delay variation,
measured at both ends of a connection (two- center weighted median a type of weighted
point) or at one end (one-point) using a reference median filter that is found by repeating only the
clock. Also called delay variation. value at the window center.
cell probe model model of computation where central absolute moment for random vari-
the cost of a computation is measured by the able *, the pth central absolute moment is given
total number of memory accesses to a random by E[\x - E[x]\p. See also central moment.
access memory with flog"! bits cell size. All
other computations are not accounted for and centralized arbitration a bus arbitration
are considered to be free. scheme in which a central bus arbiter (typically
housed in the CPU) accepts requests for and
cell switching means of switching data among gives grants to any connected device wishing to
the ports (inputs and outputs) of a switch such transmit data on the bus. The connected devices
that the data is transferred in units of a fixed size. typically have different priorities for bus access,
so if more than one device wants bus access si-
cellular automaton a computational multaneously, the one with the highest priority
paradigm for an efficient description of SIMD will get it first. This prioritization is handled by
massively parallel systems. Cellular automata the bus arbiter.
are designed from many discrete cells, usually
assembled in one- or two-dimensional regular centralized mechanism a mechanism in
arrays, each of which'is a standard finite state which decisions are made on the local system,
machine. Each cell may change its state only at based on data located on that system.
fixed, regular intervals, and only in accordance
with fixed rules that depend on the cells' own centralized memory in a multiprocessor sys-
values and the values of neighbors within a cer- tem, memory that is centralized and equally ac-
tain proximity (usually two for one-dimensional, cessible to all processors, as opposed to memory
and four for two-dimensional cellular automata). that is distributed among the processors.
Cellular automata are a base of cellular com-
central limit theorem in probability, the the-
puters; fine grain systems that are usually data-
orem that the density function of some func-
driven and used to implement neural networks,
tion of n independent random variables tends
systolic arrays, and SIMD architectures.
towards a normal curve as n tends to infinity, as
long as the variances of the variables are bounded:
center of attention that portion of the envi-
0 < a < Vi\ < y < oo. Here cr and y are pos-
ronment to which the preponderance of human
itive constants, and t;, is the variance of the ith
information processing resources is devoted.
random variable. See also Gaussian distribu-
tion.
center of interest a point in space toward
which the virtual camera is always aimed.
central moment for random variable X the
nth central moment is given by
center of projection the point within a pro-
jector from which all the light rays appear to di-
verge. When a 3-dimensional object is captured E \(X
L
- m)2J] = f° (x - m)2fx(x)dx
as an image by a 2-dimensional camera, lines
J-oo
may be drawn from each point on the object where fx(x) is the probability density function
onto the image, and the point behind the image of X. See also central absolute moment.
plane where these lines intersect is the center
of projection; the size of an image is inversely central processing unit (CPU) a part of a
proportional to the distance from the center of computer which performs the actual data pro-
projection to the object. cessing operations and controls the whole com-
69
central server model
puting system. It is subdivided into two major cific normative or law. A specific enabled insti-
parts: tute or center typically issues a certificate.
1. The arithmetic logic unit (ALU), which
performs all arithmetic, logic, and other process- CGA See color graphics adapter.
ing operations;
2. The control unit (CU), which sequences CGI See common gateway interface.
the order of execution of instructions, fetches
the instructions from memory, decodes the in- chain (1) to link objects together, as in a
structions, and issues control signals to all other linked list.
parts of the computing system. These control (2) a way of resolving a hash collision by
signals activate the operations performed by the creating a linked list rooted at the location in the
system. hash table where a hash collision occurred. The
chain represents an equivalence class of symbols
central server model a model for a multi- under the hash function.
programmed computer system in which a fixed (3) a linearly ordered subset of a partially
number k of jobs is assumed to move from the ordered set.
central server to one of a fixed number n — 1 See also Markov chain.
of peripheral devices. Each job in the central
server may move to one of the peripheral de- chain code a method for coding thin con-
vices or stay in the central server. The latter tours or lines, for example in a bilevel picture,
event models the real-life case of one job leav- which encodes the direction of movement from
ing the system and another arriving. Jobs in one point to the next. For eight-connected con-
the peripheral devices will return to the central tours, a three-bit code may be used at each point
server with probability 1. to indicate which of its eight neighbors is the
succeeding point.
centroidal profile a method for characteriz-
ing and analyzing the shape of an object having chaining a collision resolution policy where-
a well-defined boundary. The centroid of the by, upon collision, the hashed record is stored in
shape is first determined. Then a polar (r, 0) temporary extra storage location (an overflow
plot of the boundary is computed relative to this location). This location is then referenced from
origin: this plot is the centroidal profile, and has the original location. Retrieval of a record is
the advantage of permitting template matching facilitated by hashing followed by a linear search
for a 2D shape to be performed relatively effi- of overflow locations.
ciently as a ID process.
chamfer distance a digital distance based
centroid defuzzification a defuzzification on a chamfer mask, which gives the distance
scheme that builds the weighted sum of the peak between a pixel and those in its neighborhood;
values of fuzzy subsets with respect to the firing then the chamfer distance between two non-
degree of each fuzzy subset. Also called height neighboring pixels (resp., voxels) is the smallest
defuzzification. weighted length of a digital path joining them.
The word "chamfer" comes from the fact that
Centronics a type of cable connector typi- with such a distance a circle is in fact a polygon.
cally used for connecting printers. The n-dimensional Manhattan and chessboard
distances are chamfer distances; the Euclidean
certificate for any graph property P, and distance is not. In the 2D plane, the best chamfer
graph G, a certificate for G is a graph G' such distances are given by the (3,4) and (5,7,11)
that G has property P if and only if G' has the Chamfer masks: in the (3,4) mask, a pixel is
property. at distance 3 from its horizontal/vertical neigh-
bors and at distance 4 from its diagonal neigh-
certification the formal processes of obtain- bors, while in the (5,7,11) mask, it is at dis-
ing any certification paper according to a spe- tance 5 from its horizontal/vertical neighbors,
70
channel density
at distance 7 from its diagonal neighbors, and at channel architecture a computer system ar-
distance 11 from its neighbors distant by 1 and chitecture in which I/O operations are handled
2, respectively, along the two axes. See chess- by one or more separate processors known as
board distance, Euclidean distance, Manhattan channel subsystems. Each channel subsystem
distance. is itself made up of subchannels, in which con-
trol unit modules control individual I/O devices.
changeability the capability of the software Developed by IBM, and used primarily in main-
product to enable a specified modification to frame systems, the channel architecture is capa-
be implemented. Implementation includes cod- ble of a very high volume of I/O operations.
ing, designing, and documenting changes. If
the software has to be modified by the end user, channel capacity a fundamental limit on the
changeability may affect operability. Attributes rate at which information can be reliably com-
of software that bear on the effort needed for municated through the channel. Also referred
modification, fault removal, or environmental to as "Shannon capacity", after Claude Shan-
change. non, who first formulated the concept of chan-
nel capacity as part of the noisy channel coding
theorem.
change control an umbrella process that en-
ables a project team to accept, evaluate, and act For an ideal band-limited channel with ad-
on changes in a systematic manner. ditive white Gaussian noise, and an input av-
erage power constraint, the channel capacity is
C = 0.5 log(l + S/N) bits/Hz, where S/N is
change dump a selective dump of those
the received signal-to-noise ratio.
memory locations that have changed since some
specified event. channel coding the process of introducing
controlled redundancy into an information se-
change in scale replacing one sampling pe- quence mainly to achieve reliable transmission
riod by another for some measurement process. over a noisy channel. Channel coding can be
Used to detect self-similarity in stochastic pro- divided into the areas of block coding and trellis
cesses. coding. Also called error control coding. See
block coding, trellis coding, and convolutional
change report a report providing details on coding.
the nature of work required to make a change.
channel command word an "instruction"
change request a document reporting details to an I/O channel. The commands consist of
on the type of change that is requested. parameters (e.g., "operation", "data address",
"count") giving the channel processor informa-
tion on the type of I/O operation requested (e.g.,
channel (1) a data structure that may be im-
"read" or "write"), where the data is to be read
plemented in software or hardware over which
or written, and the number of bytes involved in
processes send messages.
the data transfer.
(2) the medium along which data travel be- In the IBM mainframe architecture there are
tween the transmitter and receiver in a commu- six different types of channel control words:
nication system. This could be a wire, co-axial READ, READ BACKWARD, WRITE, CON-
cable, free space, etc. See also I/O channel. TROL, SENSE, and JUMP.
(3) a rectangular region for routing wires,
with terminals lying on two opposite edges, channel control word See channel command
called the "top" and "bottom". The other two word.
edges contain no terminals, but wires may cross
these edges for nets that enter the channel from channel density a measure of physical chan-
other channels. The routing area of a layout is nel capacity. Orient a channel so that the top and
decomposed into several channels. bottom are horizontal edges. Then the density at
71
channel I/O
any vertical line cutting the channel is the num- characteristic a property by which an item
ber of nets that have terminals both to the left and can be assessed. See software quality character-
right of the vertical line. Nets with a terminal on istic and feature. See also biased exponent.
the vertical line contribute to the density unless
all of the terminals of the net lie on the verti- characteristic function a transformed prob-
cal line. The channel density is the maximum ability density function,
density of any vertical cut of the channel.
4>x(ft>) = E [exp (>Tx)]
channel I/O an approach to I/O processing useful in the analytic computation of higher or-
in which I/O operations are processed indepen- der moments and convolutions of probability
dently from the CPU by a channel system. See densities.
also channel architecture.
characteristic polynomial a polynomial as-
channel matched vector quantization See sociated with a square matrix. If A is a square
channel optimized vector quantization. matrix, then its characteristic polynomial c(A)
is given by:
channel optimized vector quantization c(A) = det(x/ - A)
(COVQ) a combined source-channel code
for block-based source coding (vector quanti- where det( ) is the determinant and / is the iden-
zation) and block channel coding. A channel tity matrix.
optimized vector quantizer can be designed us-
ing a modified version (taking channel induced character recognition See optical
distortion into account) of the generalized Lloyd character recognition.
algorithm). Also referred to as channel matched
VQ. See also noisy channel vector quantization. character set (1) a specification of the rep-
resentation of characters in a computer, for ex-
ample, ANSI X3.4 or ISO-8859.
channel robust vector quantization a vec-
(2) a specification of the characters of a pro-
tor quantizer that has been made robust against
gramming language, independent of their repre-
channel errors. See also noisy channel VQ.
sentation.
channel routing the problem of determining character string (1) a series of continuous
the routes, i.e., paths and layers, for wires in a bytes in memory, where each byte represents
routing channel. one character.
(2) data structure corresponding to ordered
chaos a state of disorder. sequence of characters.
chaotic systems systems that when they are charge-coupled device (CCD) a solid-state
in equilibrium are in unstable equilibrium. device used to record images. A CCD is a digital
device which counts the photons that strike it
Chapin chart See box diagram. by making use of the photoelectric effect. In
a typical CCD array, a large number of such
devices is collected into a 2D grid. Each device
character (1) letter, number, or symbol as
corresponds to a single pixel, and the number of
used on a computer keyboard.
electrons in the device is linearly related to the
(2) data type that represents an alphanumeric brightness or intensity value at that point in the
character as a group of bits, usually as an eight- CCD.
bit byte.
charge-coupled-device memory large-
character driver a device driver of a device capacity shift registers making use of charge-
that transmits data in characters. coupled-devices (CCD), i.e., MOS devices in
72
Chinese postman problem
which data bits are stored dynamically as charge is examined (possibly after being received over
between a gate and the substrate. This forms a a serial line), the sum of the data values and
multi-gate MOS transistor with the source and checksum should be zero.
drain terminals "stretched" apart, and a number
of gate terminals in between. The first gate ter- checksum character in data communication
minal (closest to the source) inserts bits (charge) and storage devices, an extra character added at
into the register, and the following gates are the end of the data so that the total number of
controlled with overlapping clocks allowing the ones in a block is even. The checksum character
charge to move along the array. At the far end, is used to detect errors within the data block.
the bit under the final gate terminal is detected
as a change in current. chessboard distance the distance between
discrete points arising from the L°° norm. Given
checkerboarding See fragmentation. two discrete points x = (x\,... , xn), y =
Cvi» • • • » y n ) on an AI-dimensional integer lat-
checking mechanism for controlling the sys- tice, the chessboard distance between x and y
tem or component correctness. The checking is is max [\x\ - y\\,..., \xn - yn\}. So called be-
typically a control process in which obtained in- cause it equals the number of moves made by a
formation is verified correct against the known king when going from one position to another
information. The lists of actions to be performed in the game of chess. See norm.
or objects to be taken are typically called check-
lists. See type checking. chief programmer The lead programmer of
the chief programmer team model.
checkpoint (1) time in the history of execu-
tion at which a consistent version of the system's
chief programmer team a popular team struc-
state is saved so that if a later event causes poten-
ture advocated by Brooks. The lead technical
tial difficulties, the system can be restarted from
person who also supervises the other team mem-
the state that had been saved at the checkpoint.
bers is called the chief programmer.
Checkpoints are important for the reliability of
a distributed system, since timing problems or
child term used as an adjective to describe a
message loss can create a need to "backup" to a
created entity such as a process or directory.
previous state that has to be consistent in order
for the overall system to operate functionally.
(2) a point in a transaction, other than the child directory a directory that descends
beginning of the transaction, which is saved and from another directory; that is, a directory that
can be rolled back to. is the successor of another directory. Compare
with parent directory.
(3) an internal database mechanism to record
that all pending data has been written to data
files. child node in a directed acyclic graph, a node
which has one or more arcs leading into it. The
checkpointing a form of backward error re- nodes from which these arcs originate are the
covery in which some subset of the system states parent nodes.
(data, program, etc.) is saved at specific points
(checkpoints) during the process execution, to child process a process that has been created
be used for recovery if a fault is detected. by another process.
checksum a value used to determine if a child record type the type of a record acting
block of data has changed. The checksum is as a child in a hierarchical database.
formed by adding all of the data values in the
block together, and then finding the 2s comple- Chinese postman problem the problem of
ment of the sum. The checksum value is added finding a minimum length tour that traverses
to the end of the data block. When the data block each edge at least once.
73
Chinese remainder theorem
A-» EC
chip-to-chip optical interconnect optical
interconnect in which the source and the detec- or
tor are connected to electronic elements in two A -> a
separate chips.
where A, fi, and C are nonterminals and a is a
terminal.
chi square automatic interaction detection
(CSAID) a decision tree technique used for chopping in computer arithmetic, a rounding
classification of a dataset that provides a set of procedure that consists of simply dropping all
rules to be applied to a new (unclassified) dataset those digits beyond the ones to be retained. Also
to predict which records will have a given out- known as truncation or round-towards-zero. One
come. It segments a dataset by using chi square of the four rounding methods in DEEE-754.
tests to create multi-way splits.
choreography in computer animation, the
chi-squared distribution a probability dis- timing and sequencing of activity and represen-
tribution with n degrees of freedom and proba- tation.
74
circuit switched
chroma (1) characterization of how much a ness. YUV and YIQ are chrominance/luminance
color differs from both the pure color and the color models.
gray of the same intensity. Also called satura-
tion. chromosome an elongated structure in the
(2) the color component of a composite video cell nucleus which physically carries the genes
signal. of an organism. In genetic algorithms, the term
also refers to a string of symbols in the popu-
chroma keying See color keying. lation which denotes a potential solution to the
underlying optimization problem.
chromatic index the minimum number of
colors with which the edges of a graph can be chunking a design state in which develop-
colored. ers divide the content of their on-line support
systems into discrete, easily identifiable units.
chromaticity coordinates coordinates based
on the Commission Internationale de 1'ficlairage CIE diagram the projection of the plane
(CIE) color scheme, which uses three stan- (X + Y + Z) = 1 onto the XY plane, where
dard (but physically unrealizable) primary col- X, F, Z are the respective tristimulus values as
ors called X, F, and Z. (These are different from defined by the CIE (See tristimulus value and
red, green, and blue, and are chosen to represent Commision Internationale de PEclairage). The
human color matching performance.) Any visi- CIE diagram shows all of the visible chromatic-
ble color c can be expressed as a weighted sum of ity values and maps all colors with the same
these primary colors: c = wxX + wyY + wzZ. chromaticity but different values (luminances)
The weights (wx, wy,wz) are called the tri- onto the same points. See chromaticity coordi-
stimulus values and are a way of objectively en- nates.
coding all visible colors. (Actually, each set of
weights represents an infinite set of colors which circle detection the location of circles in an
are indistinguishable.) Normalizing the colors image by a computer. Often accomplished with
by: the Hough transform.
wx circuit a network of input, output, and logic
x as
WX + Wy + WZ gates, contrasted with a Turing machine in that
y _
wiv its hardware is static and fixed.
WX + Wy + WZ
circuit complexity the study of the size, depth,
Z = * and other attributes of circuits that decide spec-
WX+Wy + WZ
ified languages or compute specified functions.
generates the chromaticity coordinates (*, y),
which are independent of the brightness of the circuit relay a relay and filtering program
color. NotethaU = 1-*—y, so we can recover that operates at the transport layer (level four)
z, but we have lost the absolute brightness of the of the network protocol stack.
color.
circuit switched in communications, a switch-
chromatic number the minimum ing mode that reserves some resources for the
number of colors needed to color the vertices given connection along the entire length of a
of a graph. specific path. Hence all data in one connection
are transmitted over the same path. If the cir-
chromatic visual field the subset of the vi- cuit is not blocked during the call setup phase,
sual field within which color vision is possible. then subsequent data will not experience any re-
source contention (i.e., queueing delay or loss).
chrominance information describing hue, or A circuit may be, e.g., a wire in space division
the color components orthogonal to the bright- multiplexing, a time slot or a set of time slots in
75
circuit value problem
time division multiplexing, or a frequency band circular self-test path a BIST technique
in frequency division multiplexing. based on pseudorandom testing assured by ar-
ranging flip-flops of a circuit (during test) in a
circuit value problem given an encoding a circular register in which each flip-flop output is
of a Boolean circuit a, inputs x\,... , xn, and a ex-ored with some circuit signal and feeds the
designated output y, the problem of deciding if input of the subsequent flip-flop. This register
output y of a is true on input x\,... , #„. simultaneously provides test pattern generation
and test result compaction.
76
classifier system
external view) and an implementation (the in- plementation inheritance should be flagged ac-
ternal view). The internal view is defined as cordingly. A class hierarchy may comprehend
a collection of class attributes with their corre- more class trees. Also called class tree.
sponding types, together with the methods that
operate on them. The interface defines the set classic life-cycle a linear, sequential ap-
of services that can be required from the class proach to process modeling (also called water-
and is the only way for modifying the internal fall life-cycle).
attributes.
In the context of object-oriented languages, classification (1) the process of finding clas-
a class represents an abstract data type and its sification rules.
associated operations. Values in such languages (2) an area of data mining that attempts to pre-
represent instances of classes. Generally, new dict the category of categorical data by building
classes can be specified by the programmer, a model based on some predictor variables.
often as being subclasses, also called derived
classes, of one or more existing classes, inherit- classification rule any one of a class of rules
ing some or all of the characteristics of the class used in data mining. A classification rule parti-
from which they are derived. tions the given data into disjoint sets.
class behavior the sequence of operations classifier (1) a method of assigning an object
performed by one class with respect to the rest to one of a number of predetermined classes.
of collaborating objects in the system. The class (2) given a set of patterns of different classes,
behavior is defined by means of class methods. a system capable of determining the member-
ship of each pattern.
class definition in object oriented languages,
the class definition contains the description of classifier system a rule-based machine learn-
class interface in terms of attributes and meth- ing system where a specific task is achieved
ods. The class definition also contains the ac- through the interactive action of a set of clas-
cess level for each class member, like public, sifiers. Each classifier is capable of accepting
protected, or private. a set of specific messages which form its con-
dition part, and will perform a specific action
class diagram a common name for a diagram by generating a new message when its condi-
type in object modeling. The diagram shows the tion is satisfied. In addition to the classifiers,
static architectural view of the object oriented the system consists of a set of feature detectors
system, which typically shows classes or types which monitor the environment, a global mes-
and their interrelationships but may also some- sage list which allows individual classifiers to
times show instances. observe and post messages, and a set of effec-
tors for performing an action in response to the
class feature properties and operations of a environment. Each message on the list is in the
class are collectively called features (in UML form of a binary string, and the condition and
and Eiffel). In other languages this concept is action of each classifier is specified as a symbol
assigned to class members. string of equal length over the alphabet {0,1, #},
where the "don't care" symbol allows the clas-
class global member in object-oriented lan- sifier to accept more than one message type. To
guages, a value which is shared among all in- perform a specific task, the feature detectors ob-
stances of objects. In C++, it is called a static tain a set of measurements from the environment
member. Contrast with instance variable. and represent these as messages on the global
list. Each classifier then matches the messages
class hierarchy a configuration of classes with its own conditions, and on satisfaction gen-
in which all the relationships are inheritance. erates new messages which are again posted on
Ideally these inheritance relationships should be the list. External actions are performed by the
specialization (subtyping) and any uses of im- system when messages on the global list directly
77
class implementation
activate the effectors. See also learning classi- cleanroom development a software devel-
fier system. opment method where defect prevention and re-
moval are performed when a software deliver-
class implementation description of the hid- able is being created, before the document is
den features which are typically methods (de- passed to the next step in the software process.
scribing the functional aspects) and attributes
(data). It is the code of the class.
clear (1) to set the value of a storage location
to zero (often used in the context of flip-flops or
class instance See object, instance.
latches).
class library a library of reusable classes. (2) clearing a bit (register) means writing a
These can be organized in one or more class zero in a bit (register) location. Opposite of
hierarchies. "set".
78
closed kinematic chain
79
closed loop control
80
codebook generation
quired to share data and other resources may conversations take place within hearing at the
counteract this advantage. See workload char- same time.
acterization.
COCOMO See constructive cost model.
clustering field a non-key field on which a
file is physically ordered. CODASYL acronym for Conference on Data
System Languages, one of the standards-setting
clustering index an index built upon a clus- bodies for the COBOL language.
tering field.
CODASYL model model defined by CODA-
clutter the name given to background signals SYL (Conference of Data Systems Language).
which are currently irrelevant to a detection sys- A network model.
tem; clutter is a form of structured noise.
code (1) the act of writing software.
CMM See capability maturity model. (2) a technique for representing information
in a form suitable for storage or transmission.
CMOS See complementary metal-oxide- (3) a mapping from a set of messages into
semiconductor. binary strings.
coalesce an operation performed on a heap code acquisition the process of initial code
that locates adjacent unused blocks of storage synchronization (delay estimation) between the
and combines them into larger blocks of unused transmitter and receiver in a spread-spectrum
storage. system before the actual data transmission starts.
It usually requires the transmission of a known
coarse grained transaction a transaction sequence. See also code tracking.
that performs a large number of updates.
code and fix a simple approach for program
coarsening to coarsen a problem instance is developing on the basis of which the program-
to alter it, typically restricting to a less complex mers write the code, test and fix the found er-
feasible region or objective function, so that the rors without following a formalized develop-
resulting problem can be efficiently solved, typ- ment life-cycle.
ically by dynamic programming.
codebook a set of code vectors (or code-
coaxial joint joint at which one or more words) that represent the centroids of a given
movement axes intersect; a joint capable of more pattern probability distribution. See vector quan-
than one movement, as is the human shoulder. tization.
81
codebook training
ages that are representative of the images to be code fork from the Macintosh, a synonym
encoded. The best training image to encode a for code segment.
single image is the image itself. This is called
a local codebook. The main question addressed code generation (1) the process by which the
here is "what code vectors should be included code in a given language is automatically gen-
in the codebook?". See vector quantization. erated by a tool. Typically, the code produced
consists of a sort of skeleton of the application.
codebook training the act of designing a This has to be filled in to complete the whole ap-
codebook for a source coding system. The LEG plication. In the literature, there exists several
algorithm is often used to design the codebook CASE tools for code generation that allow the
for vector quantizers. description of the system by using a higher level
model such as: state machines, Petri nets, etc.
codec word formed from encoder and de- Code generation is also performed by simpler
coder. A device that performs encoding and de- applications that allow the generation of the code
coding of communications protocols. related to the user interface components, such as
that for managing dialog windows, menus, etc.
code cache a cache that only holds instruc- (2) that stage of the compilation process in
tions of a program (not data). Code caches which the object code is generated. This may be
generally do not need a write policy, but see done directly as a transformation of the source
self-modifying code. Also called an instruction code but more commonly is based on the in-
cache. See cache. termediate representation. The generated code
may be instructions for the target machine, but
code combining an error control code tech- can also be byte code for a virtual machine.
nique in which several independently received Code generation may include code optimiza-
estimates of the same codeword are combined tions. See also code selection, peephole opti-
with the codeword to form a new codeword of mization.
a lower rate code, thus providing more power-
ful error correcting capabilities. This is used code motion an operation performed by an
in some retransmission protocols to increase optimizing compiler by which a computation is
throughput efficiency. performed at a point in the control flow other
than where the statement actually appears in the
code converter a device for changing codes code. The goal of code motion is to produce
from one form to another. a semantically identical program that performs
computations in a more efficient fashion.
code division multiple access (CDMA) a
technique for providing multiple access to com- code optimization any transformation of a
mon channel resources in a communication sys- program performed by an optimizing compiler
tem. CDMA is based on spread spectrum whose goal is to eliminate, as much as possible,
techniques where all users share all the chan- unnecessary, redundant, and unused computa-
nel resources. Multiple users are distinguished tions, while producing a semantically identical
by assigning unique spreading codes to each program. While traditionally code optimiza-
user. Traditionally, individual detection is ac- tions are performed internally in a compiler,
complished at the receiver through correlation many code optimization tools are "source-to-
or matched filtering. source" transformations, reading in a program
and producing a semantically identical program
code efficiency the unitless ratio of the aver- that has a lower cost metric along some perfor-
age amount of information per source symbol to mance axis (smaller, faster, or both, for exam-
the code rate, where the amount of information ple). See also peephole optimization.
is determined in accordance with Shannon's def-
inition of entropy. It is a fundamental measure code rate in forward error control and line
of performance of a coding algorithm. codes, the ratio of the source word length to the
82
co-evolution
codeword length, which is the average number the comprehension process. Examples are pro-
of coded symbols used to represent each source gram slices, call-graphs, data-flow, definition-
symbol. use graphs, or control dependencies.
code reuse the act or discipline of reusing codeword the channel symbol assigned by
code from one system in another. Code may be an encoder to a source symbol. Typically the
reused in many ways. Chunks of code, which codeword is a quantized scalar or vector.
may be subroutines or objects, can be reused by
incorporating them into other programs either by coding (1) the process of programming, gen-
combination (possibly aggregation) or, in object erating code in a specific language. Note that
oriented environments, by inheritance. Reuse is coding in the strict sense is only the task of writ-
facilitated if the interfaces of the code chunks are ing code, but this word is also used for other
clearly specified and well tested and can thus be activities such as design.
regarded as "trusted components". (2) the process of translating data from a rep-
resentation form into a different one by using
code segment that portion of an executable a set of rules or tables. See ASCII, EBCDIC,
file that contains executable code. Typically, binary.
multiple instances of the program running on
the same machine will share a single instance coding at primary rates for videoconferenc-
of the code segment. Depending on the oper- ing See image coding for videoconferencing.
ating environment, a program may be allowed
to have more than one code segment. A code coding of line drawings use of a represen-
segment is typically assumed to be read-only. tation scheme for line drawings. Line drawings
Also known as a code fork (Macintosh) or text are typically coded using chain codes where the
segment (Unix). vector joining two successive pixels is assigned
a codeword. Higher efficiency is obtained by
code selection that part of the code genera- differential chain coding in which each pixel is
tion process in which the machine code neces- represented by the difference between two suc-
sary to implement a computation is represented cessive absolute codes.
in the intermediate representation. See also ma-
chine simulation. coding redundancy See redundancy.
code transformation that part of the code coefficient an old term for significant
generation process that transforms one or more
fully or partially specified machine instructions coercion the implicit conversion of a value of
into a new instruction or sequence of instruc- one data type to another. Generally, a coercion is
tions. A form of rewrite rule. an implicit operation, often confused with a type
cast or transfer function. In some languages, the
code V a widely employed computer code for rules of coercion are fixed by the compiler; in
design of optical systems by Optical Research others, they may be redefined or extended by
Associates. the programmer. See also type cast, transfer
function.
code view any representations of the source
code that cover the same information as the code co-evolution an evolutionary process in
(or parts of it) but in a manner that accelerates which the fitness landscape structure associated
83
co-existence
with one population may depend on particular cognitive science science concerned with
evolutionary steps taken in another population. how humans acquire and use information; a
branch of psychology.
co-existence the capability of the
software product to co-exist with other indepen- cognitive workload the level of mental effort
dent software in a common environment sharing required during work.
common resources.
cohesion a measure of how well the different
parts of the class "hang together" and create a
cognition the process of acquiring informa-
class which fully describes the concept it is be-
tion and selecting and controlling responses to
ing used to model; i.e., there are no extraneous
it; decision making or thinking, the application
features and no missing features. See tempo-
of intelligence to shape behavior; the process of
ral cohesion, logical cohesion, procedural cohe-
cogitating.
sion.
84
color image
the order in which the statements are written. ergy of a moving object is (partially) transferred
See also execution sequence. to the object it collides with, making the second
object move.
collating sequence the rules of comparison
of textual data. Traditionally, the collating se- collision resolution policy a technique to
quence has been defined by the representation handle problems caused by collisions; the al-
of characters used on a particular machine. The gorithm used to find another space to store the
need for portability of code and for national lan- record currently being hashed.
guage support has generally resulted in more
rigorous specification of collating sequence, in-
color visual sensation associated with the
dependent of the underlying character represen-
wavelength or frequency content of an optical
tation. See locale.
signal.
collection (1) a grouping of homogeneous
individuals, possibly in space or time. See con- color blooming phenomenon where the ex-
tainment. cess charge at a photo receptor can spread to
(2) a style of heap in which allocations of a neighboring receptors and change their values in
similar type are allocated from a common pool proportion to the overload. For RGB cameras,
of similar objects. Often used because it is not this effect can modify not only the luminance
only more efficient, but reduces storage frag- but also the chrominance of pixels. See color
mentation. clipping, chrominance, luminance.
collective recursion a special form of tail color burst burst of eight to ten cycles of the
recursion, where the results are produced during 3.579545 MHz (3.58 MHz) chrominance sub-
the recursive calls and nothing is returned. The carrier frequency that occurs during the hori-
recursion may be optimized away by executing zontal blanking of the NTSC composite video
the call in the current stack frame, rather than signal. The color burst signal synchronizes the
creating a new stack frame, or by deallocating television receiver's color demodulator circuits.
the entire recursion stack at once rather than a
little at each return. See also tail recursion. color clipping phenomenon where the in-
tensity of the light on a photoreceptor exceeds
collision when, on insertion of a record via some threshold, the receptor becomes saturated,
hashing, the address returned from the hash and its response is no longer linear but limited
function is already occupied. See hash collision. to some bound. For RGB cameras, this effect
can modify not only the luminance but also the
collision avoidance in a robotic system, chrominance of pixels. See color blooming,
functions designed to prevent unintended, un- chrominance, luminance.
expected, or inappropriate contact with objects
in the robot's environment.
color discrimination the ability to distin-
guish among different wavelengths of energy in
collision detection (1) in a robotic system,
the visible spectrum.
functions designed to detect imminent contact
with objects in the robot's environment.
(2) in virtual reality, used to monitor the rel- color graphics adapter (CGA) a video a-
ative locations of solid objects. If the virtual dapter proposed by IBM in 1981. It is capable
environment manager detects that the proximity of emulating MDA. In graphic mode, it allows
of two or more objects is sufficiently close, a the image to reach 640 x 200 (wide per high)
collision event occurs. As a result of this event, pixels with 2 colors or 320 x 200 with 4 colors.
the object's movement can be controlled so their
surfaces do not intersect. In an environment color image image represented with 16,24,
which models a natural system, the kinetic en- or more bits/sample.
85
color image coding
color image coding compression of color im- column-access strobe See two-dimensional
ages is usually done by transforming RGB color memory organization.
space into a YC\C2 space, where Y represents
luminance and C\ and €2 are color difference column decoder logic used in a direct-access
signals. The C\ and €2 signals are then subsam- memory (ROM or RAM) to select one of a num-
pled, but coded with the same algorithm as the ber of rows from a given column address. See
Y signal. Standard algorithms do not attempt to also two-dimensional memory organization.
exploit correlations between the three signals.
column distance the minimum Hamming
color keying using the pixel color of one distance between sequences of a specified length
image to designate that pixel data from another encoded with the same convolutional code which
image should replace the first pixel's color. The differ in the first encoding interval.
first image might be a binary image, which
would select regions of interest from the second COM acronym for Common Object Model,
image. Another use is in blue-screening, where or Component Object Model (both definitions
an actor works against a blue background. In are used for this acronym, which describes the
the output image, the blue pixels get replaced same technology). An object methodology de-
by another image. For example, a weather map veloped by Microsoft. A specification for the
can be placed behind the weather presenter who naming, invocation, and manipulation of objects
is actually standing in front of a blue screen. and the values they contain. See also OLE.
color model a method of specifying a color
combinational circuit a logic circuit whose
(position) in color space, often using a coordi-
output is a function only of its inputs. Apart
nate system. Examples include RGB and the
from propagation delays, the output always rep-
Munsell color system.
resents a logical combination of its present in-
puts. To be contrasted with a sequential circuit,
color representation a method of defining a
where the output changes to represent the input
signal or an image pixel value to be associated
data only upon a clock or synchronizing signal.
with a color index.
combinational lock interconnections of
color saturation a color with the domi-
memory-free digital elements.
nant wavelength located at the periphery of
Maxwell's chromaticity diagram. A fully sat-
urated color is pure because it has not been con- combinational logic a digital logic, in which
taminated by any other color or influence. external output signals of a device are totally
dependent on the external input signals applied
color signal the portion of a modulated signal to the circuit.
that determines the colors of the intended output
display. combinator a lambda-expression with no
free variables.
color space a mathematical space defining a
range and encoding of colors. See RGB color comfort a state of physical and mental well
model, LUV space, HS V, HSL, YIQ color space, being.
YUV color palette, and XYZ color space.
Comite Consulatif International
column in relational database systems, a mul- Telegraphique (CCITT) French translation
tiset of values that may vary over time. All val- for International Consultative Committee for
ues of the same column are of the same data type Telegraphy and Telephony. This institution,
and are values in the same table. A value of a based in Geneva, Switzerland, issues recom-
column is the smallest unit of data that can be mendations concerning all fields related to
selected from a table or updated in a table. telecommunications. See also IRE.
86
common gateway interface (CGI)
87
common memory
now support CGI interfaces as part of the lan- time systems if the communication time is less
guage definition. then the time unit.
communications bit error rate See bit error compacting the process of defragmenting a
rate, bit error probability. disk. See fragmentation.
inal number of bits before converting it into an competitive ratio the worst-case ratio be-
analog signal. Typically used in telecommuni- tween the cost incurred by an on-line algorithm
cations systems to minimize bandwidth without and the optimal cost.
degrading low-amplitude signals.
compiler a translator that converts a source
comparative analysis a particular form of program in some specified language to a more
"what if" question, that is, how a physical sys- directly executable form. Historically, a "com-
tem changes in response to the perturbation of piler" translated a program to machine code while
one of its parameters. the term interpreter was used to designate trans-
lation to a higher-level representation that was
compare instruction an instruction used to executed by "interpreting" the resulting output.
compare two values. The processor flags are up- Modern usage recognizes the translation pro-
dated as a result. For example, the instruction cess as separate from the execution process, and
CMP AL,7 compares the contents of register AL refers to the translation component of a system
with 7. The zero flag is set if AL equals 7. An as a "compiler". See linker, assembler, inter-
internal subtraction is used to perform the com- preter, cross-assembler, cross-compiler.
parison.
compiler-compiler a term usually designat-
ing a parser generator.
comparison-based algorithm a sorting
method that uses comparisons, and nothing else
compile time a designation used to identify
about sorting keys, to rearrange the input into
information known at the time a compilation
ascending or descending order.
is performed, which allows decisions (such as
code generation) to be bound, or partially bound,
compass gradients a set of eight images that based on said information. See also link time,
when used in windowed convolution provides run-time.
an edge filter.
complement (1) to swap 1 s for Os and Os for
competition in evolutionary computation, Is in a binary number.
the process of comparing the fitness values of (2) opposite form of a number system.
individuals in a population to allow selection
based on the comparison results. In evolutionary complementary arithmetic a method of per-
strategies and evolutionary programming, com- forming integer arithmetic within a computer,
petition is carried out explicitly by ranking the in which negative numbers are represented in
associated fitness values or tournament scores such a way that the arithmetic may be performed
of individuals in descending order. In genetic without regard to the sign of each number.
algorithms, the competition step is implicitly
performed in proportional selection by directly complementary cumulative distribution
representing the fitness values as selection prob- function (CCDF) a function describing the
abilities. probability p(x) of achieving all outcomes in
an experiment greater than x.
competitive analysis a performance analysis
in which an on-line algorithm is evaluated by complementary metal oxide semiconductor
comparing its performance to the best that could (CMOS) (1) refers to the process that
have been achieved if all the inputs had been combines n-channel and p-channel transistors
known in advance. on the same piece of silicon (complementary).
The transistors are traditionally made of lay-
competitive learning a process in which a ers of metal, oxide, and semiconductor mate-
network can exhibit self-organization by having rials, though the metal layer is often replaced by
hidden layer nodes 'compete' to represent cer- polysilicon. There are a number of variations
tain features of the input training patterns. such as HCMOS, high-speed CMOS which
89
complement of a fuzzy set
scales down the elements compared to the stan- all values of the parameter. In other words, if W
dard MOS process and thus increases the speed is real-valued function, then T is complete if
and reduces the power consumption for each
transistor in the CPU. EeW(T)=W0e®
(2) a CMOS memory device used in comput- =*P6[W(T) = 0] = 1V0€®.
ers to store information that must be available
at startup. The information is maintained in the
device by a small battery. complete theory a logical theory in which
all true statements have formal proofs within the
complement of a fuzzy set the members out- theory.
side of a fuzzy set but within the universe of
discourse. Represented by the symbol -«. complex conjugate if z = a+bi is a complex
Let A be a fuzzy set in the universe of dis- number then its complex conjugate, denoted z,
course X with membership function /i^ (jc), x e isz = 0 — bi.
X. The membership function of the complement
of A, for all x e X, is complex instruction set computer
(CISC) a processor with a large quan-
M-A(*) = I - ^ A ( X ) . tity of instructions, some of which may be
quite complicated, as well as a large quantity
See also complement, fuzzy set, membership
of different addressing modes, instruction
function.
and data formats, and other attributes. The
designation was put forth to distinguish CPUs
complement operator the logical NOT op-
such as those in the Motorola M68000 family
eration. In a crisp (non-fuzzy) system, the com-
and the Intel Pentium from another approach
plement of a set A is the set of the elements
to CPU design that emphasized a simplified
which are not members of A. The fuzzy comple-
instruction set with fewer but possibly faster
ment represents the degree to which an element
executing instructions, called RISC processors.
is not a member of the fuzzy set.
One CISC processor, the Digital VAX has over
complete deductive system a deductive sys- 300 instructions, 16 addressing modes and its
tem that can produce all true statements of a instruction formats may take up 1 to 51 bytes.
theory. A CISC processor usually has a relatively
complicated control unit. Most CISC proces-
complete failure a failure that results in the sors are microprogrammed. See also micropro-
inability of an item to perform all required func- gramming and RISC processor.
tions. One of the benefits of a CISC is that the code
tends to be very compact. When memory was
completeness the capability of a system of an expensive commodity, this was a substantial
addressing a behavior for all the possible aspects benefit. Today, speed of execution rather than
of its specification. compactness of code is the dominant force.
See also microprogramming and reduced in-
complete schedule a schedule S of n transac- struction set computer.
tions 7\, TI, . . . , TN where 5 contains exactly
the operations of T\ , Ti, . . . , TN and the order complexity (1) a measure of how compli-
of any pair of operations in 7} is the same as that cated a chunk (typically of code or design) is. It
in 5. The order of conflicting operations must represents how complex it is to understand (al-
also be defined. though this also involves cognitive features of
the person doing the understanding) and/or how
complete statistic a sufficient statistic T complex it is to execute the code (for instance,
where every real- valued function of T is zero the computational complexity). The complexity
with probability one whenever the mathemati- evaluation can be performed by considering the
cal expectation of that function of T is zero for computational complexity of the functional part
90
component
of the system, i.e., the dominant instructions in oriented database systems was the need to rep-
the most iterative parts of the system. The com- resent complex objects. Complex objects fall
plexity may be also a measure of the amount of into one of two categories. Structured Com-
memory used or the time spent in execution of plex Objects are composed of other objects and
an algorithm. hence their structure can be determined by the
(2) an attribute of an environment or task OODMS. Unstructured Complex Objects are
that drives the decision to apply an autonomous data types that require a large and unpredictable
robot vs. a teleoperated robot. Complexity amount of storage capacity, such as a BLOB.
may be spatial, referring to the number of ob-
jects in the target environment and to the struc- complex plane a map where complex num-
ture inherent in object location. Complexity bers are plotted. It is similar to the Cartesian
may also be temporal, referring to the degree plane except that the y-axis is labeled as "*>".
to which the environment is dynamic and to
the predictability of changes that occur. Gen- complex variable placeholders for complex
erally, highly complex environments (cluttered variables. Usually denoted by some variant of
and unpredictable) require teleoperated robots the letter z.
and autonomous robots function best in low-
complexity environments (sparsely populated compliance (1) the capability of the software
and highly predictable). product to adhere to standards, conventions or
(3) See computational complexity. regulations in laws and similar prescriptions. It
is a sub-feature of functionality.
complexity analysis the analysis of the com- (2) the degree to which a robotic manipula-
plexity of a system. This is performed on the tor can adapt to forces acting on it by means of
basis of the estimated system complexity. The elasticity or backlash in the mechanical system.
system complexity can be evaluated in several
different manners. The complexity is typically compliance test an operation that compares
estimated by using specific tools on the basis of relevant attributes of a product with applica-
complexity metrics. A different kind of com- ble standard requirements for determining the
plexity can also be used in the analysis: the achievement of the level of quality required.
computational complexity. It gives the order of
complexity of the algorithm under analysis. compliant motion motion of the manipula-
tor (robot) when it is in contact with its "envi-
complexity class any of a set of computa- ronment", such as writing on a chalkboard or
tional problems with the same bounds (®) on assembling parts.
time and space, for deterministic and nonde-
terministic machines. See also canonical com- complimentary force feedback in telema-
plexity classes, complexity class p-space, Tur- nipulation, presentation of force feedback that
ing machine. is the sum of force information from the remote
world, after application of a low-pass filter, and
complexity class p space the class of lan- predicted forces (computer generated) that have
guages that can be accepted by a Turing machine passed through a high-pass filter; a synergistic
in polynomial space. combination of real force information and vir-
tual force information.
complex number a number that has both
real and imaginary parts. For example, in the component physical part of a subsystem
complex number 3 + 4i, 3 is the real part and 4 that can be used to compose larger systems. A
is the imaginary part. reusable encapsulation which is typically larger
scale than an individual class. Components can
complex object an object which cannot be be bought and sold and are therefore real not
represented by atomic values. One of the mo- conceptual. Any self-contained item or equip-
tivating reasons for the development of object- ment that is part of a larger item and contributes
91
component diagram
to the function performed by the larger item. In that are instances of other classes. The class
object-oriented programming, the components components are class attributes.
are (groupings of) objects.
composite key a key that comprises a set of
component diagram a diagram describing attributes.
the relationships among the components of a
systems. In object-oriented programming it is composite object an object made up of one
frequently called object diagram and includes or more (typically two or more) other objects. In
relationships of is-part-of and those by means this sense, simple values such as integer, floating
of method calls. point, or character may be interpreted as objects.
The objects that form a composite object may
component failure the failure of a compo- be selected by a computation (such as a numeric
nent of a larger item. This leads to a component value in an array) or by a name (such as a field
fault and an internal error, which may propagate name), depending on the rules of the language.
and lead to a system failure unless error recovery See also record, variant record, union.
is performed. See local fault.
composite state a state hiding a more detailed
component fault a fault in a component of set of substates.
a larger item. This may lead to an internal error
that may propagate and lead to system failure composite type a data type which is made
unless error recovery is performed. See local up of one or more (typically two or more) other
fault. types. See also record, variant record, union.
component services provide the underlying compositing the process of combining mul-
component software infrastructure for manag- tiple images into a single image. Usually this is
ing compound documents, i.e., cross-platform performed in films to make a computer graph-
portability, and interoperability. ics generated character appear on a previously
filmed background. The term is also used in tra-
component software an object-based model ditional photographic manipulation to refer to
that facilitates interactions between independent the process by which cell animation is recorded
programs. This approach aims to simplify the onto film under a rostrum camera. In film, the
design and implementation of applications, and "mechanical" process is usually called matte pho-
simplify human-computer interaction. Com- tography (See color keying), and the process,
ponent software addresses the general problem when used in film sequences, is ambiguously
of designing systems from application elements called traveling matte.
that were constructed independently by differ-
ent vendors using different languages, tools, and composition a class that contains other ob-
computing platforms. The goal is to have end- jects. In system design, the process of compo-
users and developers enjoying the same level of sition is performed when components are de-
plug-and-play application interoperability that fined for composition of already available com-
is available to hardware manufacturers. ponents, for instance, those taken from libraries
or other already available components of the sys-
component testing the testing of single or tem under development. See bottom-up.
groups of components. Synonymous with mod-
ule testing. See also integration test, unit test. compositional modeling a methodology for
organizing domain theories so that models for
composite attribute an attribute that may be specific systems and tasks can be automatically
divided into smaller constituents. formulated and reasoned about.
92
computational load
two universes of discourse, let A be a fuzzy set compression (1) in information theory, the
of X, and let R be a fuzzy relation in X x Y. compact encoding (with a smaller number of
The compositional rule of inference associates bits) 7C of a digital image or signal / obtained
a fuzzy set B in Y to A in three steps: by removing redundant or non-significant infor-
mation, thus saving storage space or transmis-
1. cylindrical extension of A in X x F; sion time. Compression is termed lossless if the
2. intersection of the cylindrical extension transformation of / into lc is reversible; other-
with #; wise it is termed lossy.
(2) in signal processing, at given bias levels
3. B is the projection of the resulting fuzzy and frequency, the ratio between the small sig-
set on Y.
nal power gain (Pwtss/Pincitentss) under small
If we choose intersection as triangular norm signal conditions and the large signal power gain
and union as triangular co-norm, then we have (PoutLS/PindtemLs) at a given input power, ex-
the so-called max-min composition B = A o /?, pressed in dB. As the input amplitude of a signal
i.d. is increased, the output signal will eventually
cutoff and/or clip due to saturation, resulting in
HB(y) = \/[l*AW/\ltR(x.y)] • compression. If the large signal is insufficiently
x large to cause cutoff and/or clipping, then the
If we choose algebric product for triangu- compression will be at or near 0 dB.
lar norm and #mo/z as triangular co-norm* then
we have the so-called max-product composition OCR = lOlog^CpoutfS/pincidentSs)
B = Ao/?, i.d. - 101og10(poutLS/PincidentLs) •
/M?) = Vfo*x(*)M*(*.y)] •
x
compression ratio the ratio of the number of
The compositional rule of inference is the
bits used to represent a signal before compres-
principal rationale behind approximate reason-
sion to that used after compression.
ing.
See also approximate reasoning, cylindrical
extension of a fuzzy set, fuzzy relation, inter- compulsory miss See cold start miss.
section of fuzzy sets, projection of a fuzzy set.
computable a function that can be calculated
compound document an object-based by an algorithm. The class of computable func-
model that facilitates automatic transparent up- tions is exactly the class of primitive recursive
dates. A compound document is a con- functions.
tainer for sharing heterogeneous data, which
includes mechanisms that manage contain- computational complexity an algebraic ex-
ment, association with an application, presenta- pression describing the relationships among the
tion of data/applications, user interaction with factors that mainly influence the computational
data/applications, provision of interfaces for cost of an algorithm or process. There exists
data exchange, and more notably linking and several forms and definitions for expressing the
embedding. Data can be incorporated into a theoretical limits of the computational complex-
document by a pointer (link) to the data con- ity. See asymptotical complexity.
tained elsewhere in the document, or in another
document. Linking techniques reduce the stor- computational cost the cost in terms of time
age requirements for managing compound doc- (elapsed CPU time) for executing an algorithm
uments when these are shared. or a process.
93
computation-bound
94
concatenate
computer augmented virtual environment computer relay a protective relay which dig-
(CAVE) a multimedia, immersive display itizes the current and/or voltage signals and uses
system for virtual environments where the viewer a microprocessor to condition the digitized sig-
stands inside a room upon whose walls are pro- nal and implement the operating logic.
jected images. The images may be in stereo
requiring stereo shutter glasses to be worn. computer simulation a set of computer pro-
grams which allows one to model the important
computer generated hologram a holo- aspects of the behavior of the specific system
gram where the required complex amplitude and under study. Simulation can aid the design pro-
phase functions are generated by computer and cess by, for example, allowing one to determine
written onto an optical medium. appropriate system design parameters or aid the
analysis process by, for example, allowing one
computer graphics the general term for the to estimate the end-to-end performance of the
art and science of representing images for com- system under study.
puter display.
computer subsystem that part of a robotic
computer hardware description language system that accepts digitized inputs, performs
(CHDL) a programming language used to calculations supporting sensing, motion, and
describe hardware layouts. Examples include decision-making algorithms, and outputs digi-
VHDL and Verilog; current work in CHDL in- tized signals to actuators and displays.
cludes mainly languages for verification, and
extensions of existing languages for system de- computer supported collaborative work
scription and analog design. CHDL conferences See computer supported cooperative work.
are organized every year.
computer supported cooperative work
computer-integrated manufacturing (CIM) (CSCW) comprises the (hardware and
manufacturing approach that makes substantial software) systems that support groups of people
use of computers to control manufacturing pro- working toward a common goal.
cesses across several manufacturing cells. See
also computer-aided manufacturing. computer vision See robot vision.
computer model a computer model of a de- computer word (1) datum consisting of the
vice consists of a mathematical/logical model number of bits that forms the fundamental reg-
of the behavior of the device represented in the isters, etc.
form of a computer program. A good computer (2) sequence of bits or characters that is stored,
model reproduces all the behaviors of the phys- addressed, transmitted, and operated as a unit
ical device in question, and can be confidently within a given computer. Computer words are
used to simulate the device in a variety of cir- 1 to 8 bytes long, but can be longer for special
cumstances. applications.
(3) data path of a computer (the size of virtual
computer organization describes the details addresses).
of the internal circuitry of the computer with suf-
ficient detail to completely specify the operation concatenate literally, "linked together". To
of the computer hardware. Contrast with com- join two sequences to produce a single sequence.
puter architecture. Most commonly applied to joining string values
95
concatenated code
to form a single string, but can also apply to lists of the program and its environment to their
as well. Not generally used for unordered sets human-oriented conceptual knowledge about
of values, since it implies an ordering is main- the world.
tained. Many languages provide string concate-
nation as a primitive operation in the language, concept formation the process of the incre-
while others provide the facility via subroutine mental unsupervised acquisition of categories
library functions. and their intentional descriptions.
The representative concept formation sys-
concatenated code (1) a code that is con- tems include EPAM, CYRUS, UNIMEM, COB-
structed by a cascade of two or more codes, usu- WEB, and SGNN. See self-generating neural
ally over different field sizes. network.
(2) the combination of two or more forward
error control codes that achieve a level of perfor- concept phase (1) the time period when the
mance with less complexity than a single cod- users' needs are reviewed and evaluated on doc-
ing stage would require. Serially concatenated uments during the life-cycle.
coding systems commonly use two levels of
(2) a part of the start-up phase of a project.
codes, with the inner code being a convolutional
code and the outer code being a Reed-Solomon
concept recognition a knowledge-based
code. Parallel concatenated codes improve per-
technique that automates the recognition of
formance through parallel encoding and itera-
functional patterns in the code.
tive serial decoding techniques. See also turbo
code.
conceptual abstraction a representation of
concave a polygon with the property that the domain model (problem, program, and ap-
some points within its area can be joined by a plication) knowledge in the form of informal and
line segment that passes outside the polygon. semi-formal information. Semi-formal, human-
Compare with convex polygon. oriented, and domain-specific abstractions play
a critical role both in reverse and forward en-
concept assignment the process of gineering, and therefore also in reengineering.
matching human-oriented concepts to their Such conceptual abstractions are fundamental
implementation-oriented counterparts. This to the reengineering process whether it is a to-
type of conceptual pattern matching enables tally manual or partially automated process.
the maintainer to search the underlying code
base for program fragments that implement conceptual model in system/software sys-
a concept from the application, which is tem engineering, a requirements model of the
advantageous since change requests are usually system/software system to be developed, its in-
couched in end-user terminology, not in that ternal components, and the behavior of both the
of the implementation. Concept assignment is system and its environment. The model is typ-
pattern-matching at the end-user application ically given by using a formal language. See
semantic level It is a process of recognizing conceptual abstraction.
concepts within the source code and building up
an "understanding" of the program by relating conceptual schema describes the structure of
the recognized concepts to portions of the the database at a conceptual level; i.e., entities,
program. relationships, and constraints are specified with
no reference to lower level storage details.
concept assignment problem The
problem of discovering individual human- concrete class a class that is able to be in-
oriented concepts and assigning them to their stantiated.
implementation-oriented counterparts for a
given problem. People understand a program concrete syntax Contrast with abstract syn-
because they are able to relate the structures tax.
96
conditional instruction
concrete system a system that implements concurrent read and concurrent write
the behavior of one or more abstract systems. A (CRCW) shared memory model in which
typical concrete system will consist of hardware concurrent reads and writes are allowed.
and executable code, and is what users actually
use. Each concrete system operates in a partic- concurrent read and exclusive write (CREW)
ular application context. shared memory model in which concurrent reads
but only exclusive writes are allowed.
concurrency (1) a mode of operation in which
two or more program units execute simultane- condition a logical expression on system
ously within a short time interval. variables expressing a particular interesting sit-
uation.
(2) the notion of having multiple independent
tasks available (tasks in this definition means conditional a statement or expression whose
any work to be done, not a formal computational value depends upon some controlling expres-
entity). sion. Traditionally if-then-else but, depend-
(3) the extent to which transactions execute ing upon who is arguing the definition, can
in parallel and access the same data. also include all branching constructs such as
switch, case, guarded condition, cond, and other
language-specific constructs.
concurrency control the activity of coordi-
nating transactions that execute in parallel and conditional branch a machine instruction
access the same data. which will transfer control to a designated in-
struction based on some condition asserted in
concurrent pertaining to the mode of opera- the machine's state. A compiler writer needs
tion in which two or more program units execute to understand the details of such instructions
simultaneously within a short time interval. In to generate optimal code. See also speculative
computer science, this may mean that the activi- evaluation.
ties are executed in parallel with the appearance
of simultaneity if they are executed on the same conditional coding an approach to the so-
computer of microprocessor or simultaneously lution of the problem of large codewords and
if they are executed on distinct computers of mi- lookup tables in block coding. In this scheme
croprocessors. one assumes that the receiver already knows the
components b\, *2» • • - *#-i of W-tuple b. Cur-
concurrent flow a multi-commodity flow in rent component b^ can now be coded using this
which the same fraction of the demand of each information. The assumption that there is sta-
commodity is satisfied. tistical dependence between pixels is made.
97
conditional jamming
bly language instruction JNZ TOP only jumps self-similar with parameter //(0.5 < H < 1) if
to TOP if the zero flag is clear (the 'not zero' for any real a > 0, the process a~HX(at) has
condition). the same statistical properties as X(t).
configuration diagram See block diagram. conflict miss a cache miss category used to
denote the case where, if the cache is direct-
configuration item hardware or software, or mapped or block-set-associative, too many
an aggregate of both, which is designated by blocks mapped to a set leading to that block can
the project configuration manager (or contract- be expelled from the cache, even if the cache
ing agency) for configuration management. is not full, and later retrieved again. These are
also called "collision misses". See also capacity
configuration management a discipline miss.
applying technical and administrative controls
throughout the life-cycle to: conflict serializable when a schedule is con-
1. identify and document physical and func- flict equivalent to a serial schedule.
tional characteristics of configuration items;
conformance See non-conformance, non-
2. limit changes to characteristics of those
conformity.
configuration items;
3. record and report change processing and confusion matrix shows the counts of the ac-
implementation of the system. tual vs. predicted class values. It shows not only
While much effort has focused on managing how well the model predicts, but also presents
large suites of source code which can exist in the details needed to see exactly where things
multiple, potentially inconsistent versions, con- may have gone wrong.
figuration management often extends to docu-
mentation (specification, implementation, and congestion an undesirable network situation.
end user documentation), test suites, test re- When the load on a system approaches capac-
sults, and other related materials. Discussions ity, its performance starts to degrade because of
of languages for specifying configuration man- interference. Depending on the design of the
agement consumed much time during the 1980s. system, buffers may start to fill up, increasing
waiting time, data may be lost as buffers over-
configuration programming an approach flow or busy links may reject traffic. Once a
that advocates the use of a separate configura- network has become congested due to a burst
tion language to specify the coarse-grain struc- of heavy traffic, it may remain congested for a
ture of programs. Configuration programming considerable time, even after traffic subsides.
is particularly attractive for concurrent, paral-
lel, and distributed systems that have inherently congestion control as distinguished
complex program structures. from flow control, congestion control refers to
methods for protecting the entire network from
configuration status reporting (CSR) an becoming congested. Methods for congestion
activity that helps software developers to under- control include traffic shaping to smooth out
stand what changes have been made and why. bursty traffic, flow control to reduce traffic at
the point it enters the network from the host,
conflict when two or more transactions re- choke packets sent to hosts from downstream
quire incompatible access to a resource, result- nodes, and methods for discarding packets.
ing in one or more transactions being blocked.
conjunction (1) the Boolean AND function.
conflict equivalence when one schedule can See also disjunction, implication.
be transformed into another schedule by swap- (2) less commonly, a bitwise AND.
ping non-conflicting operations.
connect/disconnect bus See split transac-
conflicting operations given two transac- tion.
tions each issuing operations against some data-
base item, if at least one of the requests is a write connected graph an undirected graph which
request, we say operations are conflicting. has a path between every pair of vertices.
99
connection
See also biconnected graph, strongly connected consistency of interests situation in which
graph, forest, bridge. there are several decision units with consistent
goals. Compare with disagreement of interests.
connection the establishment of communi-
cation channel, in networking, or in concurrent consistency preservation the process of en-
programming. The connection can be based on suring a database is in a consistent state.
an M:N relationship among the M senders and
the N receivers. The communication mecha- consistency principle a principle from possi-
nisms can be based on very different protocols bility theory relating to the consistency between
and supports: Ethernet, modem, radio, satellite, probability and possibility which states that the
etc. In Internet, to have the connection means possibility of an event is always at least as great
the reaching of a location. as its probability.
connection hijacking the injection of pack-
consistent backup a backup containing only
ets into a legitimate connection that has already
committed transactions; i.e., updates by active
been set up and authenticated.
transactions are not included.
connectivity specifies which sets are consid-
ered to be connected. Generally it is based on consistent estimator an estimator whose
an adjacency relation between pixels (or vox- value converges to the true parameter value as
els), so that a set X is connected if and only if the sample size tends to infinity. If the conver-
foranyp,^ € X there is a sequence po» ••• >P/i gence holds with probability 1, then the esti-
(n > 0) such that p = po» tf =* P*» and for each mator is called strongly consistent or consistent
k < n, pk is adjacent to pk+\ - See pixel adja- with probability 1.
cency, voxel adjacency.
consistent goals objectives of several de-
consciousness attributes ascribed to con- cision units in charge of a controlled parti-
sciousness usually include self-awareness, a tioned system which, when followed, would
sense of past and future, free will, and most out- lead jointly to overall optimal decisions (ac-
ward signs of intelligent behavior. tions) of these units; independent decision mak-
ers contributing to common objectives, with
conservation law a rule stating that the consistent goals, form a team.
weighted sum of mean waiting times of requests
of different classes in a work conserving system const (1) abbreviation for constant.
that is not overloaded is independent of the or- (2) in the C/C++ language, a qualifier to a
der of service. If pi is the offered load in class declaration that states that the value thus de-
i and Wi is a random variable for the waiting clared will not change during the scope of the
time of class j requests, the weighted sum of name. See also symbolic constant.
mean waiting times is
N constant a value which cannot change in the
J>B[Wi]. course of executing some section of code. Tra-
i=l ditionally, a numeric or string value specified in
the program (manifest constant), or a name by
conservative two phase locking database which such a numeric or string value may be ref-
strategy that requires a transaction to lock all the erenced (symbolic constant). In languages sup-
items it accesses before the transaction begins. porting nested name scope, a name may have a
value that is computed once (traditionally when
consistency a software specification or a doc- the name is declared) and which remains un-
ument is consistent when its parts are not in con- changed during the scope of the name, but whose
tradiction. It can be regarded as the degree of value may be different each time the value is
uniformity. computed when the name is declared.
100
constructive cost model (COCOMO)
constant angular velocity term normally as- this. A single constraint equation is usually not
sociated with disk storage units where the disk hard to solve, but a system of constraint equa-
platters rotate at a constant rotational speed. Be- tions is what is usually required. For example,
cause of this, and to have the same amount of some of the equations may place limits on the
data in each track, sectors on the inner tracks are values such that the solution set to the system
more densely recorded than the outer tracks. is limited. Many languages have evolved which
are based on constraint equations, including lan-
constant bit density on a disk, recording pat- guages for ensuring database consistency. His-
tern in which the number of bits per unit distance torically, within the domain of problems that can
is the same over all tracks. have continuous solutions, linear programming
is a technique for solving sets of continuous con-
constant folding a technique by which a straint equations while minimizing some metric
compiler recognizes that certain computations (such as cost or weight or other parameter to be
may be performed at compilation time and need optimized).
not be deferred until execution time. While tra-
ditionally this has applied to doing simple arith- constraint length in convolutional codes, an
metic computations such as replacing "2*3" indication of the number of source words that
with "6", it may also apply to control structures, affect the value of each coded word. Two typical
conditional computations, and the computation forms are:
of access paths. For example, if the termination 1. A code with constraint length AT, in which
condition for a loop is a compile-time constant the value of each coded word is affected by the
and implies the loop can never execute, the entire present source word and up to K — 1 previous
body of code of the loop might be eliminated. source words.
2. The number of shifts over which a single
constant function a function with no argu- message bit can influence the output of a convo-
ments or one which always gives the same value. lutional encoder.
See also unary function, binary function, N-ary
function. constraint propagation artificial intelligence
technique in which a hypothesis generates con-
constant linear velocity term used in con- straints that reduce the search space over the rest
junction with optical disks where the platter ro- of the data. If no eventual contradiction is de-
tates at different speeds depending on the rela- rived, then a "match" is achieved.
tive position of the referenced track. This allows
more data to be stored on the outer tracks than constraint solving (CS) a technique for solv-
on the inner tracks. Because it takes time to vary ing combinatorial problems such as planning,
the speed of rotation, the method is best suited scheduling, and configuration. A problem is
for sequential rather than random access. See expressed primarily in terms of the variables in-
also constant angular velocity. volved and the constraints on those variables.
101
constructive solid geometry (CSG)
dedmode). The Intermediate COCOMO Model contention additional latency incurred as the
is an extension of the Basic COCOMO Model. result of multiple requestors needing access to a
The Intermediate Model uses an Effort Adjust- shared resource, which can only be used one at
ment Factor (EAF) and slightly different coef- a time.
ficients for the effort equation than the Basic
Model. The Intermediate Model also allows the contention protocol class of a multiple ac-
system to be divided and estimated in compo- cess protocol where the user's transmissions are
nents. The Detailed COCOMO Model differs allowed to conflict when accessing the commu-
from the Intermediate COCOMO model in that nication channel. The conflict is then resolved
it uses effort multipliers for each phase of the through the use of a static or dynamic conflict
project. resolution protocol. Static resolution means that
the conflict resolution is based on some pre-
constructive solid geometry (CSG) a para- assigned priority. A static resolution can be
digm for representing 3D shapes in terms of probabilistic if the statistics of the probabilities
mathematically based compositions of geomet- are fixed. A common example is the p-persistent
ric primitives. Any volumetric primitives can ALOHA protocol. The dynamic resolution al-
be used provided the primitive can satisfy an lows for the changing of the parameters of the
"inside-outside" test which uniquely partitions conflict resolution algorithm to reflect the traffic
points in the space near it. Typically, Boolean state of the system. A common example is the
set theoretic composition operators (e.g., inter- Ethernet protocol.
section, union, difference) are used. Affine trans-
formations may be applied to alter the shape of context the privilege, protection, and
the primitives. For example, the exterior of an address-translation environment of instruction
igloo may be represented as the union of a sphere execution.
and a cylinder, intersected with a cube.
context-free grammar a phrase structure
constructor in object oriented languages, grammar that is a type 2 grammar in the Chom-
a member function that initializes the memory sky hierarchy. Characterized by productions of
space and the values of the object attributes in the form N -> #, where TV is a member of the
order to set the initial object state. See also de- nonterminal symbols of the grammar and x is
structor. a sequence of zero or more symbols from the
grammar's vocabulary, V; that is, x can be de-
consultant a contract programmer or exter- fined as a member of V*, where * is the Kleene
nal software specialist. Star. See also pushdown automaton.
consumer a program unit that uses data pro- context of use the users, goals, tasks, equip-
duced by other program units. ment (hardware, software, and materials), and
the physical and social environments in which a
product is used.
contact head See disk head.
102
contour
103
contour filling
contour filling an object contour is generally trast sensitivity is the inverse of the threshold
built with an edge detector, but such a contour contrast. See also human visual system.
can be open because some of its pieces, not rec-
ognized by the edge detector, may be missing. contrast sensitivity function function ex-
In order to close the contour, missing pieces can pressing the relationship between human tempo-
be added by an operator filling small holes in a ral contrast sensitivity and brightness; temporal
contour. See contour, edge detection. contrast sensitivity shifts toward higher frequen-
cies with increasing brightness, affecting flicker
contour following an operator which, start- fusion frequency.
ing from a contour point, follows the closed
curve made by that contour. See contour. contravariant a type that varies in the inverse
direction from one of its parts with respect to
contour model a model of static and dynamic subtyping. The main example is the contravari-
scope which uses nested rectangles to illustrate ance of function types in their domain. For ex-
static scope and directed arrows to indicate dy- ample, assume A <: B and vary X from A to
namic scope. B in X -* C; we obtain A -» C :> B -* C.
Thus, X -» C varies in the inverse direction of
X.
contract a contract spells out the obligations
and benefits afforded to both the client and sup-
control (1) the study and practice of con-
plier in an interaction.
trolling or making a system behave in a specific
manner.
contract-driven lifecycle a lifecycle model,
(2) intervention, by means of appropriate ma-
originally used in SOMA and OPEN, in which
nipulated inputs, into the controlled process in
the focus is on a set of activities which are ob-
the course of its operation; some form of obser-
jectified. The model describes a process that
vation of the actual controlled process behavior
is configurable. Developers using the process
is usually being used by the controller.
move from one activity to another in such a way
that their path is governed by the satisfaction of
control algorithm the algorithm used to con-
contracts associated with the activity objects.
trol a system.
contract software a software developed by control bus contains processor signals used
an external organization under contract. to interface with all external circuitry, such as
memory and I/O read/write signals, interrupt,
contrast the range of colors in an image. In- and bus arbitration signals.
creasing the contrast of a color palette makes
different colors easier to distinguish, while re- control cable special cable that connects a
ducing the contrast makes them appear washed device to its controller, and passes control sig-
out. nals between them.
contrast enhancement alteration of the con- control channel used to transmit network
trast in an image to yield more details or more in- control information. No user information is sent
formation. See also contrast, histogram stretch- on this channel. Compare with traffic channel.
ing, histogram equalization.
control character (1) generally, a charac-
contrast sensitivity the responsiveness of the ter, such as <CTRL-d>, that is generated by si-
human visual system to low contrast patterns. multaneously pressing the control key and some
In psychophysics, the threshold contrast is the other key.
minimum contrast needed to distinguish a pat- (2) with respect to the terminal driver, a char-
tern (such as a spatial sinusoid) from a uniform acter that is processed as an instruction to the
field of the same mean luminance, and the con- driver itself.
104
control point
control-display gain for continuous con- trol data in a micro programmed CPU. This
trols, the relative relationship between a control data is used to control the operation of the data
movement and the corresponding reaction on an path (e.g., the ALU, the data path busses, and
associated display. Also called control-display the registers) in the CPU. If the control mem-
ratio. ory uses RAM, the CPU is said to be micro
programmable, which means that the CPUs in-
control-display ratio See control-display struction set can be altered by the user and the
gain. CPU can thus "emulate" the instruction set of
another computer. Same as control store and
control flow sequence of operations performed micromemory.
during the execution of a program. The control
flow can be traced for storing the control flow
control order the qualitative nature of sys-
evolution. See also data flow.
tem response to a user input. In zero order or po-
sition control, the system moves the controlled
control flow diagram See control flow.
element to the same relative position as the input
control flow trace See execution trace. device; in first order or rate control, the system
moves the controlled element at a velocity pro-
control instruction machine instruction that portional to the position of the input device; in
controls the actions of a processor such as set- second order or acceleration control, the sys-
ting flags to enable specific modes of operation. tem changes the acceleration of the controlled
Generally control instructions do not perform element at a rate proportional to the position of
computations. Sometimes control instructions the input device; etc. Mathematically, control
include instructions that can effect sequential systems can be modeled using gain (K) and the
execution of a program, such as branch instruc- Laplace operator (s). Control order is a discrete
tions. set of steps K (zero order or position control),
K/s (first order or rate control), K/s2 (second
control law basic principle used for a control order or acceleration control), etc.
algorithm. Humans can cope with control order up
to third order, but with increasing workload
controlled redundancy the duplication of and likelihood of instability as control order
data in a database in a controlled manner. increases. By far the majority of human-
controlled systems are zero or first order sys-
controller (1) device that is used to transfer tems. For example, a mouse controlling a com-
information between a peripheral and the CPU. puter cursor operates in position control and air-
(2) a device used to make inputs during man- craft controls for pitch, yaw, and roll operate in
ual control. rate control.
control line in a bus, a line used in a computer
bus to administrate bus transfers. Examples are control point one of a set of points which
bus request (a device wants to transmit on the controls the shape of a curve by its position. The
bus) or bus grant (the bus arbiter gives a device curves may go through some (see B6zier curve,
transmit access on the bus). an interpolating spline) or all (e.g., the Catmull-
Rom interpolating splines) of the control points.
controlling human task during human-robot Positioning is often interactive and the points
interaction: continuous manual control. are combined by blending functions to generate
the shape desired. See also b-spline and B£zier
control loop a graphical or mathematical rep- curve. Note the distinction between knots and
resentation of a feedback system. control points: in an interpolating spline, knots
and control points are at the same positions in
control memory a semiconductor memory space. In a quadratic or higher order approxi-
(typically RAM or ROM) used to hold the con- mating spline, they are in different places: the
105
control policy
knots lie on the curve and control points lie near to maintain a specific system condition or regu-
the knots, but not on the curve. late a controlled variable in a prescribed manner.
106
coordinated rotation digital computer (CORDIC)
/l(0*/2(0-/ fl(r)fi(t-r)dr
information bits are combined algebraically to
«/—oo form new bit sequences to be transmitted. The
coder is typically implemented with shift reg-
= I /i(r)/2('-T)rfT ister elements. With each successive group of
Jo bits entering the shift register, a new, larger set of
if/i(0,/2(0 = <U <0. bits is calculated for transmission based on cur-
The integral on the right-hand side of the above rent and previous bits. If for every k information
equation is called the convolution integral, and bits shifted into the shift register, a sequence of
exists for all t > 0 if f\ (t) and /2(0 are abso- n bits is calculated, the code rate is k/n. The
lutely integrable for all t > 0. f\ is the weight- length of the shift register used for storing in-
ing function that characterizes the system dy- formation bits is known as the constraint length
namics in the time domain. It is equivalent to of the code. Typically, the longer the constraint
the response of the system when subjected to an length, the higher the code protection for a given
input with the shape of a Dirac delta impulse code rate. See also block coding, error control
function. Laplace transformation of the weight- coding.
ing function yields the transfer function model
for the system. convolution integral See convolution.
The convolution of two discrete time signals
fi [k] and f2[k] is defined by co-occurrence matrix an array of numbers
that relates the measured statistical dependency
oo of pixel pairs. Co-occurrence matrices are used
/i[*]*/2M= X! /ip]^[*-/i in image processing to identify the textural fea-
I =-00 tures of an image.
A
= £/i[i]/2[ft-/] Cook reduction a reduction computed by
i=0 a deterministic polynomial time oracle Turing
if /i[*L /2[*] = 0,*<0. machine.
The summation on the right-hand side of the Cook's theorem the theorem that the lan-
above equation is called the convolution sum. guage SAT of satisfiable Boolean formulas is
Convolution is useful in computing the system NP-complete.
output of LTDL systems. See also windowed
convolution. Cook-Torrance shading See Torrance-Cook
107
coordinate frame
coordinate frame a set of orthogonal axes copy semantics semantics which require that
that is used to define a point in space. operations which appear to modify a value act as
if they are working on a copy of the value. Con-
coordinate system a minimal set of mutually trast with reference semantics. Copy semantics
orthogonal vectors which span a given space. can be implemented more efficiently on a system
All points or vertices in the space may then be that uses reference semantics in most situations
represented using a linear combination of these but uses lazy evaluation to determine when to
spanning vectors. actually do the copy to preserve copy seman-
tics.
coordinate transformations a matrix that
transforms points or vectors from one coordinate CORBA See common object request broker
frame to another. architecture.
coordinating unit See coordinator unit. CORDIC a set of algorithms that use addi-
tive and multiplicative normalization to evalu-
coordination working together. The inte- ate elementary functions. The algorithms may
gration of multiple parts to provide synergy to also be seen as realizing rotations in a geometric
optimize task performance. space. First used in the Coordinate Rotational
Digital Computer. See coordinated rotation dig-
coordinator unit control (decision) agent in ital computer.
a hierarchical control structure, being in charge
of decisions (control instruments) influencing
core obsolete. A term used in the U. S. to
operation of the local decision units; coordi-
refer to the main memory of the machine. The
nator unit performs either iterative or periodic
operating image of a process (sometimes used
coordination of the local decisions and is often
to refer to the part residing in physical mem-
regarded as the supremal unit of the hierarchical
ory) often written to disk if the program crashes
control structure. Also called coordinating unit.
(dumping core). Since magnetized ferrite rings
(cores) were once used in main memory to store
co-prime polynomials polynomials which
a single bit each, the name remained and now
have no common factors. For example, poly-
core memory means the same as main memory,
nomials (s2 + 9s + 20) and (s2 + Is + 6) are
although currently, main memory is chip-based.
co-prime, while (s2 -f 5s+6) and (s2+9,y+14)
See also magnetic core memory.
are not since they have a common (s -f 2) factor.
core dump a file that contains the memory
coprocessor a processor that is connected to
image of a process at the moment that it encoun-
a main processor and operates concurrently with
tered an irrecoverable error; used in conjunction
the main processor, although under the control
with a debugger such as sdb to determine the
of the main processor. Coprocessors are usu-
cause of the fatal error.
ally special-purpose processing units, such as
floating point, array, DSP, or graphics data pro-
cessors. core memory See magnetic core memory.
copy back See copy-back. Coriolis forces forces created during rota-
tional movements and which may contribute to
copy-back in cache systems, an operation simulator sickness when head movements are
that is the same as write-back — a write opera- made during body rotation.
tion to the cache that is not accompanied with a
write operation to main memory. In copy-back corner detection the detection of corners,
the data is written only to the block in the cache. often with a view to locating objects from their
This block is written to main memory only when corners, by a process of inference, in digital im-
it is replaced by another block. ages.
108
cost formula
109
cost function
cost function a nonnegative scalar function lines containing statements and not delimitators
which represents the cost incurred by an inaccu- (begin, end, {,}, etc.), etc.
rate value of the estimate. Also called penalty
function. counting semaphore a semaphore that takes
more than two values. Counting semaphores
cost of failure a measure of the severity of the can be constructed from two binary semaphores
consequences of failure. Depending on the type and an integer variable. See also binary sema-
of system, different scales may be used, e.g., phore.
duration of down time, consequential cash loss,
number of lives lost, etc. Cost of failure to user coupling a measure of the degree to which
must be distinguished from cost of maintenance chunks are connected together. In a traditional
to vendor. environment, the chunks are subroutines, and in
an object-oriented environment, they are classes.
cost of measurement the cost (e.g., the per- Highly coupled systems are generally agreed to
son month spent or the total cost) of the project be hard to understand and maintain.
part related to system assessment performed by
measuring software characteristics with metrics. covariant a type that varies in the same direc-
tion as one of its parts with respect to subtyping.
cotree the complement of a tree in a network. For example, assume A <: B and vary X from A
to B in D -» X\ weobtain D -> A <: D -» B.
COTS See commercial off-the-shelf. Thus, D -» X varies in the same direction as
X.
counted iteration an iteration which steps a
numeric value through a sequence of values in covering given a finite collection of subsets
a specified range. A counted iteration will typ- of a finite ground set, the process of finding an
ically allow the programmer to specify the ini- optimal subcollection whose union covers the
tial value, final value, and step size. Many lan- ground set. See packing.
guages permit the step size to be negative. The
FORTRAN DO-loop and the for-loop in other cover set of functional dependencies a set
languages are examples of language constructs of functional dependencies A is said to cover
to support counted iteration. another set of functional dependencies #, if the
closure of A is equal to the closure or B, i.e.,
counter (1) a variable or hardware regis- A+ = B+.
ter that contains a value which is always in-
cremented or decremented by a fixed amount, CPA See carry-propagate adder.
and always in the same direction (usually incre-
mented by one, but not always). CPU See central processing unit.
(2) a simple Moore finite state machine that
counts input clock pulses. It can be wired or CPU time the time that is required to com-
enabled to count up and/or down, and in various plete a sequence of instructions. It is equal to
codes. the (cycle time) x (number of instructions) x
(cycles per instruction). The types of instruc-
counting rules the rules according to which tions can be floating point, fixed point, cache, or
source lines of code, LOG, are counted. Impor- branch.
tant to give such a definition since depending on
the definition the outcome can vary by about CPU utilization a measure of the percentage
500%. Examples are: the counting of LOG of non-idle processing.
without considering comments, the counting
of LOG considering both instruction and com- CPU wait the idle time spent waiting for
ments, the counting of LOG excluding blank a particular device external to the processing
lines, the counting of LOG considering only the platform's processor to complete a transaction
110
critical item
request. This is that part of application latency classifier systems, this problem, which takes the
incurred due to some process external to the pro- specific form of determining which classifiers
cessor. This latency could be the result of wait- are important in contributing toward the perfor-
ing on retrieval of information from a storage mance of an effective action by the system, is
device, a communications interface, or waiting resolved by the bucket brigade algorithm. See
on a user's response. also learning classifier system.
Cramer-Rao bound a lower bound on the creeping user requirements the phenomenon
estimation error covariance for unbiased esti- that during development customers and devel-
mators. In particular, the estimation error Co- opers add new functionality to the software. A
variance A*(x), which is a function of the un- growth rate of 1% per month is not uncommon.
known quantity x to be estimated, must satisfy
A*(x) > /(x), where/is the Fisher information crest factor the ratio of the peak value of a
matrix. If an estimator achieves the Cramer-Rao signal to its rms value.
bound with equality for all x, it is efficient; if
an efficient estimator exists, it is the maximum CREW See concurrent read and exclusive
likelihood estimator. See also bias, maximum write.
likelihood estimation.
crisp set in fuzzy logic and approximate rea-
crash (1) the sudden and complete failure
soning, this term applies to classical (nonfuzzy
of a computer system or component leading to
Boolean) sets which have distinct and sharply
temporary or permanent loss of part of the data.
defined membership boundaries. See also fuzzy
(2) the sudden, complete failure of a database set.
management system.
(3) the event that occurs when a read/write
criterion a required level of quality mea-
head touches the surface of a platter. A crash
sure against which attributes of an object (e.g.,
usually causes irreparable damage to the disk.
a product) or of a process (e.g., the design cy-
cle) are judged to evaluate the level of quality
CRC See cyclic redundancy code.
achieved.
CRC character a type of error detection code
commonly used on disk and tape storage de- critical design review (CDR) a review for
vices. Data stored on a device using CRC has verifying the design of one or more configura-
an additional character added to the end of the tion components. It is mainly devoted to evalu-
data that makes it possible to detect and correct ate the compatibility among entities, to evaluate
the risks.
some types of errors that occur when reading the
data back.
critical failure a failure that is assessed as
CRC-code code that employs cyclic redun- likely to result in injury to persons, significant
dancy checking. See cyclic redundancy code. material damage, or other unacceptable conse-
quences. Precisely which failure modes are crit-
CRCW See concurrent read and concurrent ical will obviously depend on the type of system.
write.
critical incident any event which triggers an
creator in object-oriented programming, the evaluative response in an observer; sets of crit-
constructor for producing instances from a class. ical incidents may be recorded as a measure of
the quality of human or telerobot performance.
credit assignment problem the problem of
determining the contribution of each individual critical item in configuration management,
stage in a series of decisions toward the final a configuration item or its part that requires spe-
realization of a successful outcome. In learning cific care for its critical aspects.
Ill
crltlcaitty
criticality classification of the consequences, ing of the aircraft (e.g., those responsible for
or likely consequences, of a failure/fault mode, pitch control).
or classification of the importance of a compo-
nent for the required service of an item. critical task a task whose failure may lead
to great damage. See real-time system.
critically sampled sampled at the Nyquist
frequency. cross-assembler a computer program that
translates assembly language into machine code
critical path (1) in a precedence graph, the for a target machine different from the one on
longest path from the source to the sink. In the which the cross-assembler runs.
context of a parallel job, the length of a path is
the sum of the execution times for the units of crossbar switch a structure that allows N
computations that appear on the path. units to communicate directly with each other,
(2) with respect to PERT charts, the set of point to point. Which pairs are connected de-
activities that must be completed in sequence pends on how the switch is configured at that
and on time to have the entire project completed point in time. Crossbars are usually implemented
on time. for small (8 or less) numbers of nodes, but not
always.
critical path problem the problem of finding
the longest path from any source to any sinks in cross-compiler a compiler which executes
a directed acyclic graph which has weights, or on one machine architecture that creates pro-
numeric values, on vertices. grams that will be executed on a different archi-
tecture.
critical piece first a system development
model where the most critical aspects are an- cross-correlation a measure of the correla-
alyzed and developed first with respect to the tion or similarity of two signals. For random
others. See bottom-up, top-down. processes x(t) and y(t), the cross-correlation is
given by: Rxy(ti,t2) = Ex(ti)y(t2).
critical section a section of code which may
not be executed concurrently or reentrantly by crossed disparity term applied to the retinal
more than one thread of control while operating disparity of the images of objects closer to the
on specific data items. Many languages pro- observer than the fixation point.
vide critical section constructs as part of the core
syntactic structure. See also semaphore, mutex, crossing number the even number obtained
monitor. by adding the number of changes in binary value
on going once around a particular pixel location;
critical software a software for which the crossing number is useful for finding skeletons
safety is strongly relevant and its failure could of shapes and for helping with their analysis: it
produce damages for the users. See real-time is a measure of the number of "spokes" of an
system, critical task, critical system. object emanating from a specified location.
critical success factor (CSF) a factor that cross-modality display display of informa-
must succeed for the business to prosper. If the tion normally sensed by one modality to another,
CSF is not met, the organization ceases trading. e.g., the visual display offeree information dur-
ing teleoperation.
critical system a system which possesses a
critical (or safety-critical) mode of failure which crossover a specific recombination operator
could have impact on safety or on economic as- in genetic algorithm where segments of chro-
pects. For example, critical on-board avionics mosomes are exchanged between two individu-
systems are defined as those that, if they fail, als in the population to form two new individu-
will prevent the continued safe flight and land- als. The simplest form of this operator, known
112
cubic voxel
as one-point crossover, selects a random posi- sized groups and, for each group in turn, a theory
tion along the chromosome and exchanges the is learned from the remaining groups and tested
symbol sub-strings beyond this point between on the hold-out group. The estimated true error
two parents. For example, if the two chro- rate is the total number of test misclassifications
mosomes 10011000 and 01110001 are chosen divided by the number of instances.
for crossover at the position between the 4th
and 5th bit, the resulting new individuals be- CRT See cathode ray tube.
come 10010001 and 01111000. This operation
is generalized in multi-point crossover where cryptography the art and science of secret
more than one random location is chosen along writing.
the chromosome and sub-strings are exchanged
alternately between these points. In uniform CS See constraint solving.
crossover, the sub-strings are reduced to single
symbols and the decision to exchange each sym- CSA See carry-save adder.
bol is based on the comparison between a sam-
pled random variable and a threshold. See also CSAID See chi square automatic interaction
genetic algorithm, recombination. detection.
crossover model mathematical model of in- CSC W See computer supported cooperative
formation transmission through humans. work.
crossover point a crossover point of a fuzzy cse acronym (by convention, usually all in
set A is the point in the universe of discourse lower case), Common SubExpression, a com-
whose membership in A is 0.5. putation which is recognized as being identical
to another computation performed in the same
crosspoint a point at which two overlapping compilation. A cse is usually detected during
neighboring fuzzy sets have the same member- the flow analysis.
ship grade.
CSF See critical success factor.
crosspoint level the membership grade of a
CSG See constructive solid geometry.
fuzzy set at a crosspoint.
CSP See communicating sequential pro-
cross-reference (1) a tool that gathers and cesses.
makes available to other tools and possibly the
user information about names in an application. CSR See configuration status reporting.
Typically, this information identifies where both
names are defined and where they are used. CT computed tomography. See tomography.
More sophisticated cross-referencers accurately
associate references to a name with the proper ctce acronym (by convention, usually all in
definition. lower case), Compile Time Constant Expres-
(2) a list of names referencing the names to sion, a computation whose value can be deter-
one or more source files, which indicates those mined by having the compiler perform the eval-
source lines that define a name and those that uation.
reference it. It is uncommon to have such a
system for modern languages, but very useful in CTL See computation tree logic.
legacy languages such as FORTRAN, COBOL,
and assembly code. cuberille a representation of 3D space con-
sisting of a regular array of cubes, often referred
cross validation a method for estimating the to as voxels.
true error rate of a theory learned from a set
of instances. The data are divided into N equal- cubic voxel See voxel.
113
cue
cue a term from psychology describing a respect to arc length. The curvature of a sur-
source of perceptual information, as in depth face is given in terms of a metric tensor which
cues like retinal disparity and texture gradients. embodies two principal (planar) curvatures, K\
and #2. The curvature of a surface is sometimes
culling a process to remove whole polygons characterized by the so-called Gaussian curva-
that cannot be seen from the viewpoint and do ture tC = K\K2-
not therefore need to be considered by the hidden-
surface removal algorithm. curvature function a function which gives
curvature values at different locations of a curve
cumulative defect removal efficiency sum or surface.
of all the defects found by all available meth-
ods (review, testing, etc) before delivery to the custom benchmark a benchmark created for
customer. the purpose of evaluating different database plat-
forms for a specific workload to be implemented
cumulative distribution function (CDF) a
at a site.
function describing the probability p(x) of
achieving all outcomes in an experiment less
than or equal to x. For a random variable x, the customer recipient of a product provided
probability that x is less than or equal to some by the supplier. In a contractual situation, the
value x, denoted Fx(x). Fx(-oo) is zero and "customer" is called the "purchaser". The "cus-
increases monotonically to Fx(+oo) = 1. For tomer" may be, for example, the ultimate con-
sumer, user, beneficiary, or purchaser. The "cus-
a continuous probability density function p(x),
tomer" can be either external or internal to the
the CDF is
*•*(*)= r pMdt.
organization. The customer is not necessarily
identical to the user. The person or organization
J—OO
who purchases an item from a vendor.
The CDF is used in image processing to carry customer satisfaction survey periodic for-
out histogram equalization. See also histogram mal survey of how well customers receive a cer-
equalization, probability density function. tain software product.
current the rate of flow of electrons. Mea-
customer support answering questions and
sured in amperes.
providing support for solving problems for cus-
tomers who purchased a product.
cursor (1) the symbol on a computer screen
that indicates the location on the screen that sub-
sequent input will affect. cut an annotation used in PROLOG pro-
(2) a movable, visible mark used to indicate grams to bypass certain nondeterministic com-
a position of interest on a display surface. putations.
(3) an iterator used to iterate over the result
collection without consuming much of the ap- cutting plane a valid inequality for an integer
plication cache when the result of a query is too polyhedron that separates the polyhedron from
large to fit in the application cache. a given point outside it.
cursor stability a frequently implemented, cutting theorem states that for any set H of
transaction isolation level, not defined in the n hyperplanes in 9ft* , and any parameter r, 1 <
SQL92 standard. r < n, there always exists a (l/r)-cutting of
size O(rk). In two dimensions, a (l/r)-cutting
curvature a geometric property that describes of size s is a partition of the plane into 5- disjoint
the degree that a surface or a curve is bent. The triangles, some of which are unbounded, such
curvature of a curve is the magnitude of the that no triangle in the partition intersects more
rate of change of the unit tangent vector with thann/r lines inH. In 9ft*, triangles are replaced
114
cylindrical extension of a fuzzy set
by simplices. Such a cutting can be computed cyclic convolution See periodic convolution.
inOCnr^Otime.
cyclic redundancy check See cyclic redun-
cut vertex See articulation vertex. dancy code.
cyclic access in devices such as magnetic cylindrical extension of a fuzzy set let A be
and optical disks (and older bubble memories) a fuzzy set in a Cartesian product space X1, and
that store data on rotating media, the property Xn be another Cartesian product space including
that any individual piece of data can be accessed X1. Then the cylindrical extension of A in Xn is
once during each cycle of the medium. a fuzzy set in X n , denoted as cext (A; Xn), with
membership function defined equal to member-
cyclic code a linear block code where every ship in X1. See also fuzzy set, membership func-
cyclic shift of a codeword is another codeword tion, projection of a fuzzy set.
in the same code. This property is an outcome of
the significant algebraic structure that underlies
these codes.
115
data access fault
D
If this device did request an interrupt, it will
be serviced by the CPU. However, if the device
did not request an interrupt, the acknowledge
is just passed through to the next device in the
daisy chain. This process is repeated until the
D-adjacent an entry reachable for a (d — 1)- acknowledge signal has passed through all the
extremal entry through a unit vertical, horizon- connected devices on this chain. The scheme
tal, or diagonal-mismatch step. implements prioritized service of interrupts by
the way the devices are electrically connected
daemon a process that operates on behalf of in the daisy chain: the closer a device is to the
the operating system rather than on behalf of any CPU, the higher its priority.
particular user.
A more general case exists where several
daisy chains are used to form priority groups,
DAG See directed acyclic graph.
where each chain has a unique priority. The
DAG shortest paths technique to find CPU will service interrupts starting with the
the single-source shortest-path problem in a daisy chain having the highest priority. In this
weighted directed acyclic graph. The procedure scheme, any device may be connected to more
than one priority group (chain), using the inter-
is as follows:
rupt priority level appropriate for the particular
1. Do topological sort on the vertices by edge
service needed at this moment.
so vertices with no incoming edges are first and
vertices with only incoming edges are last.
2. Assign an infinite distance to every vertex danger the probability of a given hazard lead-
(dist(u) = oo) and a zero distance to the source. ing to an accident within a given time interval
3. For each vertex v in sorted order, for each under given conditions. It is assumed that no
outgoing edge e(v, u), if dist(u) + weight(e) < accident has occurred at the start of the interval.
dist(w), set dist(w) = dist(t>) -f weight(^) and
the predecessor of u to v. See also Dijkstra's dangling pointer in a language supporting
algorithm. dynamic value allocation but which does not
support garbage collection, a reference to an ob-
daily traffic profile a function giving the de- ject which has been discarded or destroyed. The
pendence of a traffic measure as a function of the general result of a dangling pointer is that it now
time of day. The granularity is usually 1 hour or references a section of memory whose contents
15 minutes. The traffic measure can be traffic are meaningless as far as the semantics of the
volume or call rate. object referenced, but which may nonetheless
be meaningful to some other class now defined
daisy chain (1) a type of connection when by the storage (including the "free space list" of
devices are connected in series. unallocated storage).
(2) a hardware configuration where a signal
passes through several devices. A signal will
DASD See direct access storage device.
be passed through a device if that device is not
requesting service, or not passed through if the
device is requesting service. data any information, represented in binary,
(3) an interrupt-prioritizing scheme in which which a computer receives, processes, or out-
the interrupt acknowledge signal from the CPU puts.
is connected in series through all devices. A
shared interrupt-request line connects all de- data access fault a fault, signaled in the
vices to the CPU with a single common line. processor, related to an abnormal condition de-
When one (or several) device activates its re- tected during data operand fetch or store.
0-8493-269l-5/01/$0.00+$ 50
©2001 by CRC Press LLC 117
data acquisition
data acquisition (1) method used for cap- A database management system is a complex
turing information and converting it to a form set of software programs that controls the cre-
suitable for computer use. ation, organization, storage, and retrieval of data
(2) process of measuring real-world quanti- (fields, records, and files) in a database. It also
ties and bringing the information into a com- controls the security and integrity of the data-
puter for storage or processing. base. The DBMS accepts requests for data from
the application program and instructs the op-
data administration responsible person or erating system to transfer the appropriate data.
group for all the data necessary to manage an When a DBMS is used, information systems can
enterprise. be changed much more easily as the organiza-
tion's information requirements change. New
database one or more large structured sets of categories of data can be added to the database
persistent data. The simplest database might be without disruption to the existing system.
a single file containing many records, each con-
taining the same set of fields, where each field database query a database command usually
has a certain fixed width. Usually a database is resulting in the retrieval of a particular data item
associated with software to update and query the from a table. The retrieval occurs typically as a
data, and therefore it is considered as one of the result of a query SQL command.
components of a database management system.
database schema a description of the data
In the hypertext language, it means a collec-
to be stored in the database. In relational
tion of nodes managed and stored in one place
databases, for example, the database schema
and all accessible via the same server. On the
comprises a collection of relational schemas.
World Wide Web this is called a web site. Re-
garding logic programming, a database is the
database state the data currently stored in
set of all the facts and rules comprising a logic-
the database.
programming program.
database update a database command usu-
database administrator (DBA) the person ally resulting in replacing an already existing
responsible for administration of a database and data item within a table row with another. This
the DBMS. results from an update SQL command.
database computer a special hardware and data bottleneck a computer calculation in
software configuration aimed primarily at han- which the speed of calculation is limited by the
dling large databases and answering complex rate at which data is presented to the processor
queries. rather than by the intrinsic speed of the processor
itself. Ultra high speed parallel processors are
database delete a database command result- very frequently limited in this way.
ing in the deletion of a table entry (usually a
table row, or a particular piece of data within a data buffer See buffer.
table row) as a result of a delete SQL command.
data bus a bus that transports data values
database insert a database command result- between parts of a computer. See bus.
ing in the insertion of a table entry (usually a
table row, or a particular piece of data within a data cable special cable that connects a de-
table row) as a result of an insert SQL command. vice to its controller and passes data between
them.
database management system (DBMS)
system software that abstracts file operations data cache a small, fast memory that holds
and provides an interface that facilitates the cre- data operands (not instructions) that may be
ation and maintenance of a database. reused by the processor. Typical data cache sizes
118
data flow computer
currently range from 8 kilobytes to 8 megabytes. by other instructions such that the instructions
See cache. must be executed in a specific order to obtain
the desired results.
data centered program understanding
instead of focusing on the control structure data detection in communications, a method
of a program (such as call graphs, control- to extract the transmitted bits from the received
flow graphs, and paths), data centered pro- signal.
gram understanding focuses on data and data-
relationships.
data dictionary a set of data descriptions that
can be shared by several applications. The dic-
data communications equipment (DCE) a
tionary of names used in the data flow analysis.
device (such as a modem) that establishes, main-
Names include: names for processes, name of
tains, and terminates a session on a network. variables, names for signals, etc.
data complexity a measure of the complexity
of the data structures. A simple version can be data element counting element in function
the estimation of the needed memory space of point measure.
the data structure. More complete versions also
have to consider the relationships among data data encapsulation the inclusion in a unique
structures in the systems. See complexity. structure of a set of data instances. See data
hiding, encapsulation.
data compression theorem Claude Shan-
non's theorem presenting a bound to the op- data flow the sequence of data transmission,
timally achievable compression in (lossless) use, and transformation that is performed during
source coding. See also Shannon's source cod- the program execution.
ing theorem.
data flow analysis a process to discover the
data declaration the instruction for static dependencies between different data items ma-
instantiation of a variable of a given type. nipulated by a program. The order of execution
in a data driven language is determined solely
data definition the set of instructions for de- by the data dependencies.
scribing the structure of a new type of data. Once
a data type is defined, the definition can be used
data flow architecture (1) a computer archi-
to declare instances of that type.
tecture that operates by having source operands
trigger the issue and execution of each opera-
data definition language (DDL) used by the
tion, without relying on the traditional, sequen-
database designers to define both the conceptual
tial von Neumann style of fetching and issuing
schema and the internal schema for the database.
instructions.
data dependence a relation between two (2) an MIMD architecture where control flow
statements or operations where one operation is determined by the availability of data. See
must precede the other because the first produces also token, activity packet.
or uses data that the second uses or overwrites.
data flow computer a form of computer
data dependence graph a graphical repre- in which instructions are executed when the
sentation of the data dependence relations in a operands that the instructions require become
program, procedure, or body of code. available rather than being selected in sequence
by a program counter as in a traditional von
data dependency the normal situation in Neumann computer. More than one processor
which the data that an instruction uses or pro- is present to execute the instructions simultane-
duces depends upon the data used or produced ously when possible.
119
data flow diagram (DFD)
data flow diagram (DFD) a graphical no- is a very tight integration scheme but one that is
tation used to describe how data flows between expensive to implement.
processes in a system. An important tool for
most structured analysis techniques. data link layer the layer that gets informa-
tion from one machine to a neighbor machine (a
machine on the same link).
Dtt.iepo.itwy
120
data terminal equipment (DTE)
and infers rules that allow the prediction of fu- turing/normalization, and re-targeting), but act
ture results. upon data.
data modeling the phase of analysis where data register a CPU register that may be used
the entities that the system has to manage are as an accumulator or a buffer register or as an
mapped to data structures. Attributes and rela- index register in some processors. In processors
tions between entities are defined in this phase. of the Motorola M68000 family, data registers
A typical data modeling language is entity rela- are separate from address registers in the CPU.
tionships diagrams.
data segment the portion of a binary exe-
data object an input or output that is user cutable file that contains data. It may contain
visible. any type of data including ASCII strings, bi-
nary integers, binary floating point numbers, or
data-oriented methodology an application pointers. Referred to in the Macintosh as a data
development methodology that considers data fork. Some executable file formats permit more
the focus of activities because it is more stable than one data segment, allowing some data seg-
than processes. ments to be read-only and shared, some to be
read/write and shared, and some to be read/write
data page a disk page in an access method with a copy made for each new instance of the
which contains data records. program that runs.
data path the internal bus via which the pro- data stripe storage methodology where data
cessor ships data, for example from the func- is spread over several disks in a disk array. This
tional units to the register file and vice versa. is done in order to increase the throughput in disk
accesses. However, latency is not necessarily
data pipeline a mechanism for feeding a
improved. See also disk array.
stream of data to a processing unit. Data is
pipelined so that the unit processing the data
data structure a particular way of organizing
does not have to wait for the individual data el-
a group of data, usually optimized for efficient
ements.
storage, fast search, fast retrieval, and/or fast
modification.
data preprocessing the processing of data
before it is employed in network training. The
data structure diagram a diagram for de-
usual aim is to reduce the dimensionality of the
scribing data and its relationships. Compare
data by feature extraction.
with data flow diagram. See also entity rela-
data processing inequality information the- tionship diagram.
oretic inequality, a consequence of which is that
no amount of signal processing on a signal can data tablet a device consisting of a surface,
usually flat, and incorporating means for select-
increase the amount of information obtained
from that signal. Formally stated, for a Markov ing a specific location on the surface of the de-
chain*-» Y -» Z, vice and transmitting the coordinates of this lo-
cation to a computer or other data processing
/(X; Z) < /(X; Y). unit that can use this information for moving a
cursor on the screen of the display unit.
The condition for equality is that /(X; Y\Z) =
0, i.e., X -> Z -» Y is a Markov chain. data terminal equipment (DTE) a de-
vice, such as a subscriber's computer, Exchange
data re-engineering tools that perform all workstation, or Exchange central system, that
the re-engineering functions associated with controls data flow to and from a computing sys-
source code (reverse engineering, forward engi- tem. It serves as a data source, data sink, or both,
neering, translation, re-documentation, restruc- and provides for the data communication control
121
datatype
function according to protocols. Each DTE has DDL Compiler one of the components of a
an address which is a 12-digit number uniquely database management system. The DDL Com-
identifying the subscriber's connection to the piler is used to process DDL statements to iden-
network. The term DTE is usually used when tify and store the schema description.
referring to the RS-232C serial communications
standard, which defines the two end devices of deadline a time constraint that asserts that a
the communications channel: the DTE and the task has to be completed within a time instant;
DCE (Data Communications Equipment). The generally this instant is specified relatively to the
DCE is usually a modem and the DTE is a UART occurrence of an event; i.e., after the reception of
chip of the computer. a failure event the recovery procedure has to be
completed within 3 seconds. A deadline can be
data type the type that characterizes data classified as a soft deadline: when the deadline
with the definition of its structure and the al- is ftot satisfied the system value decreases but
lowed operations. Examples of data type are does not go to zero.
integer, character, and floating point.
deadline monotonic scheduling a schedul-
data visualization the set of techniques used ing technique that assigns priorities to tasks ac-
to turn a set of data into visual insight. It aims cording to the principle: the shorter the task
to give the data a meaningful representation by deadline the higher its priority.
exploiting the powerful discerning capabilities
of the human eye. The data is displayed as 2D
deadlock a condition where two or more re-
or 3D images using techniques such as coloriza- sources block one another and cause the system
tion, 3D imaging, animation, and spatial anno-
to appear to cease functioning. This condition
tation to create an instant understanding from
can occur in database systems where file access
multi-variable data.
can be the cause of the deadlock, or in real-time
multitasking where access to critical regions can
data warehouse a database typically used in
be the cause. A common example is a program
decision support. The data stored is usually de-
communicating to a server, which may find it-
rived and collated from a set of online databases.
self waiting for output from the server before
sending anything more to it, while the server is
Daubechies wavelets a class of com-
similarly waiting for more input from the con-
pactly supported orthogonal and biorthogonal trolling program before outputting anything.
wavelets, first proposed by Ingrid Daubechies,
that can be obtained by imposing sufficient con- Deadlock can be dealt with through the ad-
ditions on wavelet filters. herence to one of several strategies that avoid the
situation (see deadlock avoidance) or through
daughter board a computer board that pro- the elimination of one of the four causes of dead-
vides auxiliary functions, but is not the main lock (mutual exclusion, hold-and-wait, no pre-
board (motherboard) of a computer system (and emption, and circular wait). Deadlock can also
is usually attached to the motherboard). be dealt with by ignoring it (in systems of low
criticality) or by aborting one or more of the
DBA See database administrator. deadlocked processes when the deadlock is de-
tected. (See deadlock detection.)
DBMS See database management system. Also known as the deadly embrace or death
spiral. See also livelock.
DCE See data communications equipment,
distributed computing environment. deadlock avoidance a dynamic technique
which relies on examining each new resource
DCT See discrete cosine transform. request for a deadlock, and on denying requests
that could lead to a deadlock. The banker's al-
DDL See data definition language. gorithm is one example.
122
decision boundary
deadlock detection a technique that relies debuggers let the programmer look at the origi-
on granting resource requests always when they nal source code (C for example), examine vari-
are available, with an operating system checking ables and data structures by name, and so on.
periodically for deadlocks. Deadlocks can be
detected through the use of watchdog timers and debugging (1) locating and correcting errors
process monitors. in a circuit or a computer program.
(2) determining the exact nature and location
deadlock detector an algorithm to detect the of a program error, and fixing the error.
presence of a deadlock.
debug port the facility to switch the proces-
deadlock prevention a technique assuring sor from run mode into probe mode to access its
that one of the necessary conditions for deadlock debug and general registers.
is not met.
DEC acronym for Digital Equipment Cor-
deadly embrace See deadlock. poration, a major player in the evolution and
widespread adoption of mini, and later personal,
deallocation generally, the act of freeing dy- computers.
namically allocated storage explicitly. Contrast
with garbage collection. decidability a property of sets for which one
can determine whether something is a member
deassert to return an enabling signal to its in a finite number of steps. Decidability is an
inactive state. important concept in computability theory. A
set is said to be "decidable" if a program can
death process a birth and death process with be written to determine whether an element is
birth rate zero. Often used to describe the insta- in the set and the program will always terminate
tionary behavior of a system after switching off with an answer YES or NO after a finite number
the arrival process, e.g., the number of users still of steps.
logged on to a computer after logins have been
disabled, or to describe the waiting process of a decidable See undecidable.
selected request in a queueing system.
decidable problem a decision problem that
death spiral See deadlock. can be solved by a GOTO program that halts on
all inputs in a finite number of steps. For empha-
debug to detect, locate, and correct faults in sis, the equivalent term totally decidable prob-
a computer program. See also fault. lem is used. The associated language is called
recursive.
debugee when a debugger is being used to
debug a program, the program being debugged, decimation an operation which removes
and hence the program on which the debugger samples with certain indexes from a discrete-
is operating, is called the debugee. time signal and then re-indexes the remaining
samples. Most frequently, decimation refers to
debugger a computer program used to de- keeping every nth sample of a signal. Also know
bug. Debuggers are designed to help in debug- as down-sampling.
ging another program by allowing the program-
mer to step through the program, examine data, decision aid a procedural guideline for mak-
and check conditions. There are two basic types ing proper choices under predetermined condi-
of debuggers: machine-level and source-level. tions, sometimes computerized and added to dis-
Machine-level debuggers display the actual ma- plays as overlays
chine instructions (disassembled into Assembly
language) and allow the programmer to look at decision boundary a boundary in feature
registers and memory locations. Source-level space which separates regions with different in-
123
decision level
terpretations or classes; e.g., the boundary sep- ing expected values associated with the chain of
arating two adjacent regions characterizing the events leading to the various outcomes.
handwritten characters 'E' and *F'. In practice,
the regions associated with neighboring classes declaration a syntactic construct that defines
overlap; consequently, most decision bound- something but (traditionally) performs no com-
aries lead to some erroneous classifications, so putations. For example, a declaration may in-
an error criterion is used to select the "best" troduce a new name whose purpose is to hold a
boundary. See also classifier, Bayesian classi- value, or may introduce a new type. Note that
fier. in some languages, a declaration may actually
imply some amount of computation, for exam-
decision level the boundary between ranges ple, to allocate space for the value, or, in the
in a scalar quantizer. On one side of the decision case of object-oriented languages, to execute a
level, input values are quantized to one represen- constructor that performs the necessary compu-
tative level; on the other side, input values are tations for the creation of the value. Other exam-
quantized to a different representative level. ples of declarations are compiler directives, type
definitions, and macros. See data declaration.
decision mechanism rules and principles by
which the information available to a given de- declarative language a non-procedural lan-
cision unit (control unit) is processed and trans- guage in which the user has to specify the pro-
formed into a decision; typical decision mech- gram by means of a collection of facts and rules.
anisms within control systems are fixed deci- This approach is mainly focused on describing
sion rule and optimization-based mechanisms. what the system has to do instead of describing
Decision mechanisms can assume a hierarchi- how as in classical programming languages and
cal form; then one may talk about a hierarchical approaches, which are operational. See deno-
decision structure. tational model, descriptive model, operational
model.
decision problem a computational problem
with a yes/no answer. Equivalently, a function decode cycle the period of time during which
whose range consists of two values (0,1}. the processor examines an instruction to deter-
mine how the instruction should be processed.
decision support generic term for queries This is the part of the fetch-decode-execute cy-
that help planners decide what to do next, e.g., cle for all machine instruction.
which products to push, which factories require
overtime and so on. decode history table a form of branch his-
tory table which is accessed after the instruc-
decision support system a system whose tion is decoded and when the branch address
purpose is to seek to identify and solve prob- is available so that the table need only store a
lems. Boolean bit for each branch instruction to indi-
cate whether this address should be used.
decision tree a tree-shaped structure that rep-
resents a set of alternatives in a decision process. decoder (1) a logic circuit with N inputs
These decisions generate rules for the classifica- and 2N outputs, one and only one of which is
tion of a dataset. A number of domain-specific asserted to indicate the numerical value of the
languages use decision trees as the input lan- N input lines read as a binary number.
guage. See CART. (2) a device for converting coded information
to a form which can be understood by a person
decision tree analysis decomposing a prob- or machine.
lem into alternatives represented by branches
where nodes (branch intersections) represent a decoder source the coded signal input to
decision point or chance event having proba- the decoder. In information theory, the decoder
bilistic outcome. Analysis consists of calculat- source is modeled as a random process.
124
deep copy
decoding (1) in a CPU, determining which decoupling the process of making more in-
set of microinstructions corresponds to a given dependent a set of program/system modules.
macroinstruction.
(2) the operation of the decoder. The inverse decrement to reduce the value of a variable or
mapping from coded symbols to reconstructed content of a register by a fixed amount, normally
data samples. Decoding is the inverse of encod- one.
ing, insofar as this is possible.
(3) the process of producing a single output decryption a process, implemented in hard-
signal from each input of a group of input sig- ware or software, for reconstructing data previ-
nals. ously coded by using a cryptography algorithm,
that is encrypted data. These algorithms are typ-
decompiler a program that converts com- ically based on keywords or codes.
piled code back to a high-level representation.
See also disassembler. How successful a de- dedicated overview display a display de-
compiler is depends upon the nature of the voted to presentation of a view of the entire
source language and the object code, and the robotic work site, which helps users maintain
availability of symbolic information to aid in de- situation awareness and avoid perceptual nar-
bugging. For example, languages that compile rowing on the end-effector, a common phe-
to a byte code and have a rich runtime symbol nomenon during teleoperation.
table will be easier to decompile than optimized
machine code. deduction problem solving approach that in-
fers information that is a logical consequence of
decomposable searching problem a search- the data.
ing problem with query Q is decomposable
if there exists an efficiently computable as- deductive database a database given by a set
sociative and commutative binary operator @ DB of facts and rules. Also called logic data-
satisfying the condition: Q(x, A U B) = base, definite logic program.
@(GC*» 4)» Q(*> B)). In other words, one can
decompose the searched domain into subsets, deductive system a set of rules used to reason
find answers to the query from these subsets, about facts; new statements are deduced from
and combine these answers to form the solution others using inference rules and axioms.
to the original problem.
deep binding the implementation of dy-
decomposition the process of creating a pro- namic name binding in languages such as LISP
gram in terms of its components by starting from wherein the most recently defined names in the
a high level description and defining compo- dynamically nested control hierarchy are added
nents and their relationships. The process starts to the head of a list of name-value pairs in
from the highest level to reach the definition of a stack-like fashion, and locating the value to
the smallest system components and their rela- which a name is bound involves searching said
tionships, passing through several intermediate list until the first occurrence of the name is lo-
structural abstractions. For example, the service cated, obtaining the associated value. See also
time in a queueing system can sometimes be ex- shallow binding.
pressed as a sum of waiting time and service
time. deep copy a mirror image of one object cre-
ated by creating another instance of the same
decorrelation the act of removing or reduc- class containing the same information. The new
ing correlation between random variables. For object shares the same information as the source
random vectors, a discrete linear transform is object, but has its own buffer and resources, and
often used to reduce the correlation between the thus the destruction of either object will not af-
vector components. fect the remaining one.
125
deep pixel
deep pixel a cluster of information associated defect potential the potential number of de-
with that point within an object. Pixel in this fects that can be encountered during the entire
sense is more closely synonymous with "node" life cycle.
or "datum" than it is with the traditional defi-
nition of a pixel as a picture element, although defect prevention the set of technologies to
the information stored in the deep pixel may be minimize the risk of human error by software
visual. staffs.
default (1) an action to be taken if some spec- defect removal the action performed to re-
ified condition does not arise. move defects in software. This process is a part
(2) a value which will be used as an actual of the software maintenance process.
parameter if an explicit value is not specified.
defects count the number of defects identi-
See default parameter.
fied in a system or sub-system in a given period.
(3) in C, a specification of an action to be
taken in a switch statement (C's version of a defect severity the relative impact of a defect
case selection statement). See also otherwise. on the software use.
default parameter some languages permit definite logic program See deductive data-
the specification of a value to be supplied to a base.
function if the programmer does not code an
explicit value. For example, C++ allows such a definition (1) the point in a program at which
specification. a name and its associated properties are estab-
lished. Compare with use.
(2) a declaration of a type.
defect non-fulfillment of an intended us-
(3) a declaration of a function, specifying its
age requirement, or reasonable expectation, in-
cluding one concerned with safety or a non- parameters (if any) and their types, and its result
conformance between the input products and the (if any) and its type. See prototype, signature.
output products of a system development phase. (4) the point at which a variable is assigned a
value, prior to which its value was not defined.
The main purpose of verification activities
(e.g., inspection) is to detect defects so that they defuzzification the process of transforming a
can be corrected before subsequent development fuzzy set into a crisp set or a real-valued number.
phases. If not detected and corrected during de-
velopment, defects may give rise to one or more defuzzifier a fuzzy system that produces a
faults in the delivered system, and hence to fail- crisp (non-fuzzy) output from the results of the
ure in operation. Some defects (e.g., inappropri- fuzzy inference engine. The most used defuzzi-
ate comments in source code) cannot give rise to fiers are:
faults, but may adversely affect maintainability
or other quality characteristics. 1. maximum defuzzifier that selects as its
output the value of y for which the mem-
defect origin the origin where a defect (that bership of the output membership func-
can be found later in the life cycle) was created. tion fJiB(y) is maximum;
126
delimiter
2. centroid defuzzifier that determines the delay center a queueing network is a device
center of gravity (centroid), J of B, and that produces pure delay without any queuing.
uses this value as the output of the fuzzy The residence time of a customer at a delay cen-
inference system. ter is exactly equal to the customer's demand at
the center.
See also fuzzy inference engine, fuzzy infer-
ence system. delay variation See cell delay variation.
127
deliverable
language. The exact set of symbols that consti- of the pages needed by the program are in main
tute delimiters is established by each program- memory.
ming language. Some delimiters are defined to
occur in matching pairs, known as balanced de- demodularization the process of fusing two
limiters. or more modules to a unique module. It is typi-
cally performed to improve performance.
deliverable artifact transferred from the de-
veloper to the user to the financier. Deliver- demonstration a test phase in which the sys-
ables may include requirement specifications for tem is tested against actual test cases by end-
signoff, interim analysis and design documents, users at the site of the software builder or in a
and final working code. In some cases, the de- controlled environment. It is frequently opened
liverable may be also software demonstrators. to the public and thus is performed for getting
consensus and feedback about the system devel-
delivered product quality the actual quality oped and proposed.
of the delivered product after testing completion
DeMorgan's law See DeMorgan's theorem.
including validation.
DeMorgan's theorem a formula for finding
delivered system the end product of the sys- the complement of a Boolean expression. It has
tem development process, which is sold to a cus- two forms:
tomer and/or provided to users.
1. AyB = AAB
delivery productivity the output productiv- 2. AAB as A v B where A and B are
ity of a team by using the delivered software as Boolean variables and A represents logi-
a base line. Suppose that a team reuses a lot of cal AND and V represents logical OR and
code, then development productivity gives a to- the overbar represents the logical comple-
tally different picture than delivery productivity. ment.
This is a rationale for the need of this measure.
delta backup See incremental backup. demultiplexer a logic circuit with K inputs
and / controls which steers the K inputs to one
delta frame the difference between two con- set of 21 sets of output lines. Compare with
secutive images. Often used in video compres- multiplexer.
sion algorithms that exploit the temporal coher-
demultiplexing the inverse operation of mul-
ence of image sequences.
tiplexing which enables the transmission of two
or more signals on the same circuit or commu-
delta-modulation a special case of differen-
nication channel.
tial pulse code modulation (DPCM), where the
input signal is quantized using one bit per sam- Denavit-Hartenberg a standard form of the
ple and prediction of order one. homogeneous transformations.
demand fetch in a cache memory, the name denial of service an attack whose primary
given to fetching a line from the memory into purpose is to prevent legitimate use of the com-
the cache on a cache miss when it is requested puter or network.
and not before.
denormalization the reverse of normaliza-
demand paging the transfer of a page from tion. Relations are merged thereby possibly
auxiliary storage at the moment of need for this introducing redundancy and the potential for
page. The first reference to each page will al- anomalies. Denormalization is often used to in-
ways cause a "page fault" (page not in main crease the efficiency of certain queries as the
memory). After these initial page faults, most number of required joins is reduced.
128
depth cueing
denormalized number a number (repre- ues for the corresponding measures, depends on
sentation) in which the significand is not nor- the type of system.
malized; in IEEE-754, denormalized numbers (2) the trustworthiness of a system such that
have significands with magnitudes in the range the service delivered by it can be justifiably re-
(0,1), i.e., representation patterns of the form lied upon. The service delivered by a system is
0 • xxx..., and minimal exponents. Denormal- its behavior as perceived by its users.
ized numbers are useful when underflow occurs.
dependency a logical constraint between two
denotational See descriptive. operations based on information flowing among
their source and/or destination operands; the
denotational model a formal model based constraint imposes an ordering on the order of
on the mathematical specification of the system. execution of (at least) portions of the operations.
Synonymous with descriptive model. For example, if the first operation in a sequential
program produces a result that is an operand of
denotational semantics the meaning of a the second operation of the program, that sec-
program as a compositional definition of a math- ond operation cannot be performed until the first
ematical function from the program's input data operation has been completed, since its operand
to its output data. value will not be available earlier. See also func-
tional dependency.
dense index an index is said to be dense if it
deployment diagram a diagram describing
contains an index entry for every record in the
the main processes of a system (distributed or
underlying file.
not) and their related relationships.
density the amount of information that can be
depoissonization to interpret a solution to a
successfully stored per unit area on a disk. De-
poisson model problem. See poissonization.
vice drivers software interfaces to special hard-
ware.
depth (1) the longest chain of sequential de-
pendencies in a computation.
density estimation the problem of model- (2) in computer vision, the distance to a sur-
ing a probability distribution from a finite set of face, as perceived subjectively by the observer.
examples drawn from that distribution. Also, the number of bits with which each pixel
is represented in a digital image.
density function (DF) an alternative name
for probability density function (PDF). depth buffer See Z-buffer.
departure process the point process de- depth complexity a measure of the complex-
scribed by the time instants when departures ity of an algorithm. It is equivalent to the number
from a system occur. of pieces of data written to a framebuffer divided
by the total number of pixels in the framebuffer,
dependability (1) a system feature that com- when a whole frame is rendered.
bines such concepts as reliability, safety, main-
tainability, performance, and testability. De- depth cue source of information used to
pendability is described in terms of several ex- make distance judgements, including binocular
ternal attributes of a system, such as safety, se- cues like retinal disparity and convergence and
curity, usability, maintainability, recoverability, monocular cues like interposition, shadows, per-
availability, and extendibility. Dependability spective, texture gradients, and motion parallax.
is used only for general descriptions in non-
quantitative terms. No single measure can be depth cueing objects closer to the viewer
defined for dependability. The importance of appear brighter and more distinct than distant
the different attributes, and hence the target val- objects. Thus, more distant objects or distant
129
depth estimation
parts of objects are displayed with less inten- derived class in object-oriented program-
sity to simulate this phenomenon and enhance ming, a class that is derived from a superclass in
perception of depth. terms of one (single inheritance) or more (multi-
ple inheritance) classes. The derived class con-
depth estimation the ability to make abso- tains all the features of the superclass, also hav-
lute judgements of distance to and between ob- ing new features or redefining existing features.
jects in the visual field. Also known as a subclass. See subclass.
depth-first search a search strategy for a tree derived measure a measure calculated as a
or trellis search where processing is performed function of other measures, or obtained by the
depth first, i.e., a particular path is processed analysis of other measures. See indirect mea-
through the depth of the tree/trellis as long as it surement.
fulfills a certain threshold criterion (e.g., based
on the Fano metric). If a path fails the threshold derived type a type derived for specialization
test, a new path is considered. Also known as from another type. The derived type is a special-
sequential search. ization from the conceptual point of view and
may be an expansion from the structural point
of view. See subtype.
depth map a map of depth in a scene corre-
sponding to each pair of coordinates in an image
of the scene. descendant in object-oriented programming,
a class that is derived from bases class by means
of inheritance is called descendant. It is another
depth of field the range of depths over which term for subclass.
objects in the field of vision are in acceptable
focus.
descriptive an adjective for a specification
model that represents the system with a set of de-
depth perception the ability to make com- scriptions (e.g., properties) written with a formal
parative judgements of distance to and between language. Rarely can the specification be exe-
objects in the human visual field; the construc- cuted. Descriptive specification languages can
tion of a 3-dimensional understanding of objects be algebraic or logic. The verification of speci-
in the visual field from the 2-dimensional im- fications is usually based on theorem proving.
ages on the retinas, using binocular cues (e.g.,
retinal disparity, convergence) and monocular descriptive model See denotational model.
cues (e.g., size, linear perspective, surface tex-
ture gradients, interposition).
descriptor an object describing an area of
space within memory. A descriptor contains in-
dereference given a reference to a value, the formation about the origin and length of the area.
operation that obtains the value itself. Depend-
ing on the language, a dereference operation design the phase of software development
may be implicit in the semantics of the language following analysis, concerned with how the
or may require that an explicit operator be coded problem is to be solved. During the design,
by the programmer. the system architecture is defined identifying the
structures, the interfaces of system components,
derivation a tree of judgements obtained by and their detailed relationships.
applying the rules of a type system.
design diversity the independent design and
derived attribute an attribute that may be development of redundant components of a sub-
derived or calculated from another attribute (or system with the intention of ensuring that design
attributes) of the entity. It is not explicitly stored failures of the different redundant components
in the database. occur independently.
130
deskilling
design failure a failure of an item due to the problem and application domains. The recov-
activation of a design fault. ered design abstractions must include conven-
tional software engineering representation such
design fault a fault due to the inadequate de- as formal specifications, module breakdowns,
sign of an item. A design fault is caused by hu- data abstractions, data flows, and program de-
man error during system development. Design scription languages. In addition, they must in-
faults in software are usually latent, transient, clude informal linguistic knowledge about prob-
recurrent, and systematic. Design faults give lem domains, application idioms, and the world
rise to failure during operation when activated in general.
by a certain combination of conditions referred
to as the trigger. Since these conditions are en- design review the process in which the de-
countered at random during operation, design sign is presented to project personnel — man-
failures can appear to be random events. agers, developers, users, etc. — for discussion
and approval.
design for reuse a process of design with
particular attention to defining software compo- design scheme abstract knowledge structure
nents that can be reused. These have to be self- that contains information about a class of design
contained minimizing the cohesion among com- solutions, the elements at each level, and their
ponents, general enough, and well defined and decomposition into subelements.
documented. In object-oriented programming,
the design for reuse means also to minimize the design specification a document that de-
number of specialization relationships. scribes the design. It typically includes formal
descriptions in graph, diagrams, or formal lan-
design hierarchy in object oriented pro- guages.
gramming, this is a class hierarchy. Typically,
it also includes is-part-of and is-referred-by re-
design time time spent for the system design.
lationships.
design to cost plan to match the capabilities
design model a mathematical model that is
of a software system to the costs.
used to design a controller. The design model
may be obtained by simplifying the truth model
of the process. The truth model is also called the design-use cycle the course of which the user,
simulation model. The truth model is usually to perform a given task, inputs data in one or
too complicated for controller design purposes. more dialogue steps and receives feedback for
The controller performance is tested using the each step with regard to the processing of the
truth model. data concerned.
design pattern a small set of collaborating design walkthrough a formal technical re-
classes identified as providing a common solu- view of the design.
tion to a problem in a particular context.
desk checking private review and debugging
design recovery a subset of reverse engineer- by individual programmers of their own deliv-
ing in which domain knowledge, external infor- erables.
mation, and deduction or fuzzy reasoning are
added to the observations of the subject system deskilling loss of skill through lack of prac-
to identify meaningful higher level abstractions tice; potentially a problem for users of super-
beyond those obtained directly by examining the visory control systems who spend long periods
system itself. Design recovery recreated design observing robots operate but who must, at infre-
abstractions from a combination of code, ex- quent intervals, intervene to carry out difficult
isting design documentation (if available), per- or unexpected tasks or to re-teach or re-program
sonal experience, and general knowledge about the system.
131
desk top metaphor
desk top metaphor human-computer inter- deterministic finite automaton (DFA) See
face design approach that represents computer deterministic finite state automaton.
objects and functions to objects and functions
found on a desktop, by analogy. For example, deterministic finite state automaton (DFSA)
using an iconic representation of a file folder to a finite state automaton that has the property that
symbolize a subdirectory on a hard disk. the mapping from a (state, input symbol) pair is a
unique next state. Contrast with nondeterminis-
destination operand destination operand is tic finite state automaton. Generally, the "deter-
where the results of an instruction are stored; ministic" qualifier is dropped and such automata
e.g., the instruction MOV AL,7 uses AL as the are simply referred to as finite state automata.
destination operand (7 is the source operand).
deterministic finite state machine See de-
destructive read reading process in which terministic finite state automaton.
the information is lost from memory after being
read out. deterministic finite tree automaton a deter-
ministic finite state automaton that accepts finite
destructor in an object-oriented language, a trees rather than just strings. The tree nodes are
specification of computations to be performed marked with the letters of the alphabet of the
when an object is destroyed. See also construc- automaton, and the transition function encodes
tor. the next states for each branch of the tree. The
acceptance condition is modified accordingly.
detailed design a design activity that focuses See also nondeterministic finite tree automaton,
on the creation of an algorithm. deterministic tree automaton.
determinant an attribute (or set of attributes) deterministic system a system where for
that functionally determines the values of an- each possible state, and each set of inputs, a
other set of attributes. unique set of outputs and the next state of the
system can be determined. See event determin-
deterministic permitting at most one next ism, temporal determinism.
move at any step in a computation.
deterministic time function events occur at
deterministic algorithm an algorithm exact time intervals of 1 / ju,, for a rate of IJL events
whose execution is completely determined by per time unit. In a queueing system with a de-
its input. terministic time function for both the arrival and
service rates (D/D/1), queues do not grow until
deterministic arrivals when the interarrival the arrival rate exceeds the service rate, at which
time between two customers arriving at a queue point conceptually they grow to infinity.
is a fixed constant. Denoted as "D" arrivals in
queueing theory. deterministic tree automaton a determin-
istic finite automaton that accepts infinite trees
deterministic data transfer the situation in rather than just strings. The tree nodes are
which transfer of data occurs from one node to marked with the letters of the alphabet of the au-
the next with a constant service time, at fixed tomaton, and the transition function encodes the
time intervals, whenever an input is present. next states for each branch of the tree. The ex-
Systems with deterministic data transfer, typ- pressive power of such automata varies depend-
ical of computer systems when looked at on ing on the acceptance conditions of the trees.
the time scale of a clock period, are gener- See also deterministic finite tree automaton.
ally less tractable mathematically than "mem-
oryless" models with exponentially distributed developer an organization that performs
service times and interarrival times. development activities (including requirements
132
Dhrystone
analysis, design, testing through acceptance) device controller (1) a device used to con-
during the software life cycle process. nect a peripheral device to the main computer;
sometimes called a peripheral controller.
development the sum of all activities that are (2) software subroutine used to communicate
necessary to build a software product. with an I/O device.
development context the context in which a device driver an operating system module
system is developed. It typically includes sys- (usually in the kernel) that controls access to a
tem/subsystem structure (GUI, non GUI, em- particular device. Device drivers perform the
bedded, Real-Time, etc.); application field (toy, basic functions of device operation.
safety critical, etc.); tools and languages for
system development (C, C++, developing tools, device register register in an I/O device that
etc.); development team (expert, young, mix- may be read or written by the processor to de-
ture, small, large, to be trained, etc.); adoption termine status, effect control, or transfer data.
of libraries; development methodology; assess-
ment tools; etc. dexterity in humans, skill or proficiency in
using the hands; in robotic manipulators, the ca-
development life cycle See life-cycle. pability for rapid, accurate movements through
a wide range of motion; akin to responsiveness
development process the process by means in teleoperated manipulators.
of which the software is developed from its re-
quirement analysis to the final product. It typ- dexterous having dexterity.
ically includes requirement definition, analysis,
design, coding, assessing, risk evaluating, and dexterous workspace region of space within
testing software, etc. The process of develop- which a robotic manipulator may position and
ment is structured on the basis of a specific life- orient its end-effector or a tool attached to the
cycle (spiral, waterfall, rapid prototyping) that end of the manipulator.
states the evolution of the phases of the devel-
opment process and the rules that have to be DF See density function.
followed for the development process.
DFA See deterministic finite automaton.
development productivity measuring what
a team builds as the basis for productivity, op- DFD See displaced frame difference, data
posed to delivery productivity. flow diagram.
deviation (1) a departure from a specified D flip-flop a basic sequential logic circuit,
goal, requirements, target, profile. also known as bistable, whose output assumes
the value (0 or 1) at its D input when the device
(2) an approved change to the planned activ-
is clocked. Hence, it can be used as a single bit
ity. memory device or a unit delay.
(3) a measure of the dispersion among the
elements in a set of data. DFSA See deterministic finite state automa-
ton. See also NDFSA.
device (1) a hardware entity that exists out-
side of the motherboard, and is accessed through DFS forest a rooted forest formed by depth-
device drivers. Devices often relate to I/O first search.
(floppy drives, keyboards, etc.).
(2) the special file associated with a periph- DFT See discrete Fourier transform.
eral, such as a printer or terminal, or a reference
to the peripheral itself. Dhrystone See Dhrystone benchmark.
133
Dhrystone benchmark
diagonalization a proof technique for show- difference of Gaussian filter a bandpass fil-
ing that a given language does not belong to a ter whose point spread function is the difference
given complexity class, used in many separation of two isotropic Gaussians with different vari-
theorems. ances. The result is a "Mexican hat" shape sim-
ilar to the Laplacian of a Gaussian. See Marr-
diagrammatic reasoning spatial reasoning, Hildreth operator. Various physiological sen-
with particular emphasis on how people use di- sors, including some filters in early vision, ap-
agrams. pear to have difference of Gaussian (DOG) point
spread functions.
dialogue modeling the part of a conversa- differential coding a coding scheme that
tional system that is concerned with interacting codes the differences between samples. See pre-
with the user in an effective way. This includes dictive coding.
planning what to say next and keeping track of
the state of completion of a task such as form differential equation an equation involving
filling. Important considerations are the ability a function and its derivatives.
to offer help at certain critical points in the dia-
logue or to recover gracefully from recognition differentiator a filter that performs a differ-
errors. A good dialogue model can help tremen- entiation of the signal. Since convolution and
dously to improve the usability of the system. differentiation are both linear operations, they
can be performed in either order.
diambiguating rule a ride stated separately
from the rules of a context-free grammar that (/*£)'(*) =/'to *£(*)
specifies the correct choice of syntax tree struc- = /W**'to
ture when more than one structure is possible.
Thus, instead of filtering a signal and then dif-
ferentiating the result, differentiating the filter
diameter of a graph the distance between and applying it to the signal has the same effect.
two vertices u and v in a graph is the sum of This filter is called a differentiator. A low-pass
weights of the edges of the shortest path between filter is commonly differentiated and used as a
them. (For unweighted graph, it is the number differentiator.
of edges of the shortest path.) The diameter
of a graph is the maximum among all distances diffuse local reflection models separately
between all possible pairs of vertices. evaluate a diffuse, a specular, and an ambient
134
dilation
component. The diffuse component is the light optical techniques to perform digital computa-
that is reflected from a point equally in all direc- tions.
tions, simulating a matte or plastic-like surface.
digital reality See virtual reality.
diffuse reflection the portion of light that
falls on a facet (small piece of the surface) which digital tree a tree that stores digital informa-
is radiated diffusely in all directions. tion (e.g., strings, keys, etc.). There are several
types of digital trees, namely: trees, PATRICIA
diffuse shading the illumination of an object trees, digital search trees, and suffix trees.
where light is reflected equally in all directions,
with the intensity varying based on surface ori- digital video a sequence of digital images
entation with respect to the light source. This representing a sampled video signal.
is also called Lambertian reflection, since it is
based on Lamber's law of diffuse reflection. digital video interactive (DVI) a system for
producing digitized, compressed representation
of video data.
diffusion model one of the models adopted
in parallel genetic algorithms where individual
processors are assigned to each individual in digitization a process applied to a continuous
the population. Also known as the fine-grain quantity that samples the quantity first, say, in
model, this approach restricts the processes of time or spatial domain, and then quantizes the
crossover and selection within a local neighbor- sampled value. For instance, a continuous-time
hood of each individual associated with a pre- signal can be first sampled and then quantized to
specified topology. In this way information is form a digital signal, which has been discretized
allowed to propagate slowly or, in other words, in both time and magnitude.
to diffuse throughout the population. Important
parameters of this model include the structure digitize the action of converting information
and size of the neighborhood, and the specific from analog to digital form.
modification of the original crossover and se-
lection operator to accommodate this local in- digitizer See data tablet.
teractivity. See also migration model, parallel
genetic algorithms. digit-online arithmetic arithmetic in which
the operands are fed into the hardware unit one
digit at a time, from the most significant digit to
digital image (1) sampling of an image into
the last, and results are also produced one digit
discrete units in both space and intensity (or
at a time, in a similar order. The implementation
color) for processing with a digital computer;
is usually pipelined.
an array of pixels.
(2) a function of two discrete variables. digit-pipelined arithmetic See digit-online
arithmetic.
digital optical computing optical comput-
ing that deals with binary number operations, digraph See directed graph.
logic gates, and other efforts to eventually build
a general-purpose digital optical computer. In Dijkstra's algorithm an algorithm to find
digital optical computing, new optical devices the shortest paths from a single source vertex to
are sought to replace elements in an electronic all other vertices in a weighted, directed graph.
computer. The digital optical computer may be All weights must be nonnegative. See also all
primarily based on already known computer ar- pairs shortest path.
chitectures and algorithms.
dilation a fundamental operation in mathe-
digital-optical computing that branch of op- matical morphology. Given a structuring ele-
tical computing that involves the development of ment B, the dilation by B is the operator trans-
135
dilation equation
forming X into the Minkowski sum X ® B, DIP See dual in-line package.
which is defined as follows:
1. If both X and B are subsets of a space E, DIP switch set of micro-switches (on/off
or deviators) that are compliant with the DIP
X@B = {x + b\xeX,b€B] . for the position of their pin (connections); thus,
they can be installed in standard sockets for inte-
2. If X is a gray-level image on a space E grated circuits. These arrays of rocker- or slider-
and B is a subset of £, for every p e E type switches are used to set certain system pa-
we have rameters. They are often used in place of setup
(X®B)(p) = supX(p-b). programs on older systems.
b€B
direct access device in which individual data
3. If both X and B are gray-level images on can be retrieved by bypassing all preceding data.
a space E, for every p e E we have Compare with sequential access.
(X®B)(p)
= sup[X(p-/i) + B(/0] , direct-access storage storage in which an
h€E item can be accessed without having to first ac-
with the convention oo - oo = -oo when cess all other items that precede it in the storage;
X(p-h), B(h) = ±00. (In the two items however, sequential access may be required of
above, X(q) designates the gray level of a few preceding systems. An example is a disk,
the point q e E in the gray-level image in which blocks may be accessed independently,
X.) See erosion, structuring element. but access to a location within a block is pre-
ceded by access to earlier locations in the block.
See also sequential-access storage.
dilation equation the equation
00 direct access storage device (DASD) typi-
*«= X! «<»)*<2»-»). cally describes permanent storage devices of the
W=:-00 rotating hard drive variety configured to a pro-
with ;r(0 being the scaling function and a(ri) cessor through a small computer serial interface
being the coefficients. It states the fact that, in (SCSI). '
multiresolution analysis, a scaling space is con-
tained in a scaling space with finer scale. direct addressing address of the operand
(data upon which the instruction operates) of the
DIM in the original dialect of BASIC, a dec- instruction is included as part of the instruction.
laration that was used to declare a name to be an
array instead of a scalar value. In later dialects direct cost any cost directly related to a
of BASIC, often used as a means of declaring project or unit: consumables, equipment, travel
names of any specific type. and subsistence, protection knowledge, and in-
tramuros assistance. External services, third
dimension the number of subscripts required party assistance, and subcontracting in some
to access a single item in an array. See also slice. cases are not considered as direct costs.
diminished-radix complement the general-
ization, to higher radices, of one's complement direct drive the practice of driving a joint
notation. In radix r , the complement of a given directly from an actuator without any form of
representation is obtained by subtracting from gear reduction.
r - 1 the value of each digit. In the binary sys-
tem the radix complement is called the 2s com- direct-drive motor a motor connected di-
plement and the diminished radix complement rectly to a robot link without any form of trans-
is called the Is complement. mission reduction.
136
direct memory access (DMA)
direct-drive robot a mechanical arm where of squares. Each square represents a collection
all or part of the active arm joints are actuated of similar directions. Subdividing the squares
with the direct drive. Due to the fact that many on a face increases the resolution of the direc-
actuators are best suited to relatively high speeds tions.
and low torques, a speed reduction system is re-
quired. Gears are the most common elements direct manipulation interface a human-
used for reduction. A robot with a gear mecha- computer interface in which objects on a screen
nism is called a geared robot. Gears are located are manipulated using a pointing device, allow-
at different joints; therefore, geared robots usu- ing inputs to be simple human actions rather than
ally have a transmission system which is needed depending on a coding system.
to transfer the motion from the actuator to the
joint. direct mapped cache a cache where each
main memory (MM) block is mapped directly
directed acyclic graph (DAG) a graph rep- to a specific cache block. Since the cache is
resented abstractly by a collection of nodes and much smaller than the MM, several MM blocks
directed arcs or directed edges such that there map to the same cache block.
exists no path from any node back to itself. Of- If, for example, the cache can hold 128 blocks,
ten used in compilers to represent the program MM block k will map onto cache block k mod-
during intermediate states of compilation. ulo 128. Because several MM blocks map onto
the same cache block, contention may arise for
directed arc an arc which has a specific di- that position. This is resolved by allowing the
rection. Synonym for directed edge. new block to overwrite the old one, making the
replacement algorithm very trivial in this case.
directed edge See directed arc. In its implementation, a high speed random
access memory is used in which each cache line
directed graph a graph whose edges are and the most significant bits of its main memory
ordered pairs of vertices. That is, each edge address (the tag) are held together in the cache
goes from one vertex to another, rather than at a location given by the least significant bits
merely connecting the vertices. Also known as of the memory address (the index). After the
digraph. See also directed acyclic graph, undi- cache line is selected by its index, the tag is
rected graph. compared with the most significant bits of the
required memory address to find if the line is a
direct file See hash file. required line and to access the line.
direct fuzzy control the use of fuzzy control direct measure a measure of a feature by
directly in the inner control loop of a feedback means of the direct counting of unit elements
control system. of the feature. For instance, the measure of
the number of components, the measure of the
direct graph a graph in which the entities length of a piece of code in terms of lines. See
are related with directed lines, arrows. indirect measure.
directional lighting a light source that ra- direct measurement See direct measure.
diates in such a way that rays from it are non-
parallel. direct memory access (DMA) an in-
put/output scheme where access to the com-
direction cube a technique used for repre- puter's memory is afforded to other devices in
senting spatial directions, often used by recur- the system without CPU intervention.
sive direction decomposition algorithms. The DMA is used in a computer system when
cube is placed at the origin and aligned so that transferring blocks of information between I/O
the coordinate axes are orthogonal to the faces. devices (e.g., disk memory) to/from the main
Each face of a cube is subdivided into a number memory with minimal intervention from the
137
direct metric
CPU. A DMA controller is used and can, af- also much more of a seeking, rather than receiv-
ter initiation by the CPU, take control of the ing, process.
address, control, and data busses. The CPU ini-
tiates the DMA controller with parameters such direct vision unaided viewing, that is, view-
as the start address of the block in main memory, ing a task scene directly without the use of video,
number of bytes to be transferred, and the type of sometimes possible with teleoperated manipula-
transfer requested (Read or Write). The transfer tors.
is then completely handled by the DMA con-
troller, and die CPU is typically notified by an
interrupt when the transfer service is completed. dirty bit a status bit used to indicate if a
While the DMA transfer is in progress, the CPU block (e.g., cache block, page, etc.) at some
can continue executing the program doing other level of the memory hierarchy has been modified
things. However, as this may cause access con- (written) since it was first loaded in. When the
flicts of the busses between the CPU and the block is to be replaced with another block, the
DMA controller, a memory bus controller han- dirty bit is first checked to see whether the block
dles prioritized bus requests from these units. has been modified. If it has, the block is written
The highest priority is given to the DMA trans- back to the next lower level. Otherwise, the
fer, since this normally involves synchronous block is not written back.
data transfer which cannot wait (e.g., a disk or
tape drive). Since the CPU normally originates dirty block a modified block. A system usu-
the majority of memory access cycles, the DMA ally tracks whether or not an object has been
control is considered as "stealing" bus cycles modified — is dirty — because it needs to save
from the CPU. For this reason, this technique is the object's contents before reusing the space
normally referred to as cycle stealing. Compare held by the object. For example, in the file sys-
with memory-mapped I/O, programmed I/O. tem, a system-cache buffer is dirty if its contents
have been modified. Dirty blocks must be writ-
direct metric See direct measure. ten back to the disk before they are reused.
direct mode a memory addressing scheme dirty data data which has been updated and
in which the operand is the data contained at the not yet committed. Implicitly, the reading of
address specified in the address. such data.
directness degree of correspondence be- dirty page a page in memory which has been
tween the user's mental goals and the functions altered since last loaded into main memory. See
and interaction facilities provided by the system. also dirty bit.
directory look aside table (DLT) See trans- disable action that renders a device incapable
lation look aside buffer. of performing its function; the opposite of en-
able.
direct perception false notion that sensation
is directly mapped onto areas of the brain; per- disagreement of interests situation in which
ception is more complicated and requires more there are several decision units with conflicting
processing than this conception implies and is goals. Compare with consistency of interests.
138
discrete sine transform (DST)
disambiguation the process of resolving an tial equations, and can handle more general sys-
ambiguity by selecting one (or a subset) of the tems than closed-form analytical modeling ap-
possible set of interpretations for a part of a text. proaches.
disassembler a program which takes an ob- discrete event simulation language a type
ject file and creates the corresponding assembly of simulation language used to simulate a prob-
code that would generate the same object file. lem characterized by discrete events, typically
The degree to which this is successful depends events which occur over a designated time do-
upon how much symbolic information might be main. Contrast with continuous simulation lan-
available for the process. The original code need guage. The language SIMULA was one of the
not have been generated by an assembler. Most more notable of the early languages, and GPSS
debuggers have some kind of built-in disassem- and SIMSCRIPT are widely used systems that
bler, allowing the programmer to view an ex- support discrete event simulation.
ecutable program in terms of human-readable
assembly language. See also decompiler. discrete Fourier transform (DFT) an oper-
ation that separates an image into its frequency
disc See magnetic disk. Also spelled "disk". components. See also fast Fourier transform.
discrete cosine transform (DCT) an image discrete fuzzy set a fuzzy set that includes
transform similar to the discrete Fourier trans- only those sample points of a continuous vari-
form, but which provides better separation for able.
images with strong pixel-to-pixel correlation.
There is a family of DCTs, of which the discrete Hadamard transform See
DCT-II described above is the one commonly Hadamard transform.
used. These other types of DCTs, specifically
the DCT-IV, are sometimes used in calculating discrete Hopfield network a single layer,
fast transforms. The N = 8 element DCT is par- fully connected network that stores (usually
ticularly important for image data compression bipolar) patterns by setting its weight values wij
and is central to the JPEG and MPEG standards. equal to the (i, j) entry in the sum of the outer
As a matrix, the 8- element DCT is products of the patterns. The network can be
/ 0.3536 0.3536 0.3536 0.3536 used as an associative memory so long as the
0.4904 0.4157 0.2778 0.0975
0.4619 0.1913 -0.1913 -0.4619
number of stored patterns is less than about 14%
0.4517 -0.0975 -0.4904 -0.2778 of the number of neural elements. Compare with
0.3536 -0.3536 -0.3536 0.3536 continuous Hopfield network.
0.2778 -0.4904 0.0975 0.4157
0.1913 -0.4619 0.4619 -0.1913
\ 0.0975 -0.2778 0.4157 -0.4904
discrete random variable a random variable
0.3536 0.3536 0.3536 0.3536 \ that has a finite number of values, or a number
-0.0975 -0.2778 -0.4157 -0.4904 of values that is countable. An example is the
-0.4619 -0.1913 0.1913 0.4619
0.2778 0.4904 0.0975 -0.4517 number of times that a coin must be flipped until
0.3536 -0.3536 -0.3536 0.3536 head comes up.
-0.4157 -0.0975 0.4904 -0.2778
-0.1913 0.4619 -0.4619 0.1913
0.4904 -0.4157 0.2778 -0.0975 / discrete simulation a model usingfinitedif-
ference equations.
139
discrete time
discrete time signal a signal represented by disk actuator a mechanical device that
samples at discrete moments of time (usually moves the disk arms over the disk surface(s) in
regularly spaced). The samples may take val- order to position the read/write head(s) over the
ues from a continuous range, so the term is usu- correct disk track.
ally used to differentiate a sampled analog signal
from a digital signal which is quantized. disk arm a mechanical assembly that posi-
tions the head over the correct track for reading
discrete Walsh-Hadamard transform See or writing a disk device. The arm is not mov-
Hadamard transform. able on a fixed-head disk but is on a moving-head
disk.
discrete wavelet transform (DWT) a com-
putation procedure that calculates the coeffi- disk array a number of disks grouped to-
cients of the wavelet series expansion for a given gether, acting together as a single logical disk.
finite discrete signal. By this, multiple I/O requests can be serviced in
140
disk striping
parallel, or the bandwidth of several disks can In earlier systems, "fixed-head disks" having
be harnessed together to service a single logical one read/write head per track were used in some
I/O request. disk systems, so the seek time was eliminated.
However, since modern disks have hundreds of
disk cache a buffer memory area in main tracks per surface, placing a head at every track
memory used to hold blocks of data from disk is no longer considered an economical solution.
storage. The cache can hide much of the ro-
tational and seek latencies in disk accesses be- disk latency time between positioning a
cause a complete data block (disk sector) is read read/write head over a track of data and when
or written together. Disk caches are normally the beginning of the track of data passes under
managed by the machine's operating system, the head.
unlike a processor cache, which is managed by
hardware. disk operating system (DOS) a set of proce-
dures, services, and commands that can be used
disk controller unit that carries out the ac- by the computer user for managing its resources
tions required for the proper operations of a disk with special attention to disk managing. The
unit. most famous DOS for personal computers is the
MS-DOS (Microsoft-DOS). It is a mono task
disk drive assembly consisting of electron- and mono user operating system.
ics and mechanical components, to control disk
and disk-head movement and to exchange data, disk pack a stack of disk platters which can
control, and status signals with an input/output be removed for off-line storage.
module, as required for the proper reading or
writing of data to or from a disk, i.e., the head
disk platter metal disks covered with a mag-
disk assembly plus all the associated electronics.
netic material for recording information.
diskette a floppy disk is a flexible plastic
diskette coated with magnetic material. It is a disk scheduling algorithms used to reduce
smaller, simpler, and cheaper form of disk stor- the total mechanical delays in disk accesses, as
age media than the hard disk, and also easily seen by a queue of simultaneous I/O requests,
removed for transportation. e.g., if a "shortest-seek-time-first" scheduling
algorithm is used, seek times can be reduced.
disk format the (system-dependent) man- That is, among the queue of pending I/O re-
ner in which a track of a disk is partitioned quests, the one next serviced is the one requiring
so as to indicate for each sector the identity, the shortest seek time from the current location
the start and end, synchronization information, of the read/write head. The disk scheduling al-
error-checking information, etc. A disk must gorithm is run by the computer operating sys-
be formatted before any initial writing can take tem.
place.
disk sector the smallest unit that can be read
disk head read/write head used in a disk or written on a track; adjacent sectors are sep-
drive. Such a head may be fixed-gap, in which arated by a gap. A typical track has 10 to 100
the head is positioned at a fixed distance from sectors.
the disk surface; contact-head, in which the head
is always in contact with the surface; or aerody- disk spindle a stack of disk platters.
namic, in which the head rests lightly on the
surface when the disk is motionless but floats a disk striping the notion of interleaving data
small distance above when the tape is rotating. across multiple disks at a fine grain so that
Typically, contact heads are used in floppy disks, needed data can be accessed from all the disks
and aerodynamic heads are used in Winchester simultaneously, thus providing much higher ef-
disks. fective bandwidth.
141
disk track
disk track concentric circle over which a of making the frame pointers for the enclosing
read/write head moves; adjacent tracks are sep- blocks available to the nested procedure while it
arated by a gap. A typical disk has hundreds to is executing.
thousands of tracks.
display adapter See video card.
disocclusion the uncovering of an object. See
occlusion.
display aid for depth hardware or software
enhancement to visual displays, used to provide
disorientation a dimension of simulator
depth cues or to increase the salience of existing
sickness with symptoms such as dizziness and
ones, with the aim of improving depth percep-
vertigo.
tion.
dispatch to allocate time on a processor to
jobs or tasks that are ready for execution. display-control correspondence spatial cor-
respondence referring specifically to the rela-
dispatcher a program within an operating tionship between control inputs and display re-
system, the purpose of which is to dispatch. sponses.
142
distributed computing environment (DCE)
143
distributed computing system
144
domain
dithering one of many processes for reduc- of tuples t that occur in A in composition with
ing the total number of colors present in an im- every tuple of B.
age while retaining visual fidelity. Dithering
can be done by interleaving pixels of selected DLT See directory look aside table.
colors to locally approximate the desired color.
Dithering can be applied to either a color or a DMA See direct memory access.
grayscale color space and may be necessary due
to a limited number of colors available on the DML See data manipulation language.
display device.
The two main approaches are matrix dither- documentation the human readable infor-
ing, where a matrix of black and white dots mation produced during the development pro-
is associated with each gray level, and error- cess of a system. Often used to better under-
diffusion dithering, where each gray level pixel stand what and how the system does or will do.
in turn is assigned an available color, and the Usually it is printed on paper, but (to save trees)
error is spread to its unprocessed neighbors (as it can be recorded on other supports (CD-ROM)
in the Floyd-Steinberg) method. See halftone. and printed only if necessary. See user docu-
mentation.
diversity for a fault tolerance system, the im-
plementation of the same function or functional- document management discipline con-
ity by using different techniques and solutions. cerned with locating, creating, filing, version-
ing, and tracking documents and the informa-
divide-and-conquer a paradigm of algo- tion they contain. Documents may be realized
rithm design in which an optimization problem electronically or in hard-copy form.
is solved by reducing it to subproblems of the
same structure. document set a collection of documents from
which relevant information is returned via an in-
divide and marriage before conquest a vari- formation retrieval system. The documents are
ant of divide and conquer in which subproblems usually very loosely structured or are unstruc-
created in the "divide" step are merged before tured.
the "conquer" step.
DOG filter See difference of Gaussian filter.
divide-by-zero error occurring when a divi-
sion per zero is operated. This case is mathemat- do-loop (1) in the FORTRAN language, a
ically undefined. In many cases, this problem is counted iteration. See for-loop as the equivalent
detected directly at the level of microprocessor in other languages.
that activates an exception and leaving true a (2) in other languages, a loop characterized
status flag. The exception can be managed for by a predicate condition evaluated upon com-
recovering the error and avoiding the interrup- pletion of the loop. Compare with while-loop.
tion of the program execution. Also known as See also dojwhile, dojuntil.
divide-per-zero.
domain (1) the inputs for which a function
divide-per-zero See divide-by-zero. or relation is defined. For instance, 0 is not in
the domain of reciprocal (l/#).
division (1) the arithmetic operation of divi- (2) the possible values of a variable. See also
sion. However, in programming languages and range, total function.
integer data types, the result of division involv- (3) for an attribute, the range of values that
ing one negative operand usually involves trun- an attribute may have.
cation to zero, rather than truncation to negative (4) a specific phase of the software life cycle
infinity. in which a developer works. Domains define
(2) a set theoretic operation. Given two re- developers' and users' areas of responsibility
lations A and /?, A ~- B is defined to be the set and the scope of possible relationships between
145
domain analysis
products. The domain is also a functional area domain of discourse the set of values to
covered by a family of systems or problems. which a first-order variable may be assigned.
domain analysis the set of activities aiming domain relational calculus a calculus based
at identifying, collecting, organizing, analyz- on the predicate calculus that uses domain vari-
ing, and representing the relevant information ables that range over the domains of variables.
in a domain, based on the study of existing sys-
tems and their development history, knowledge domain requirements model a model of
captured from domain experts, underlying the- the requirements for a family of applications
ory, and emerging technologies within the do- belonging to the domain (sometimes called
main. Domain analysis aims at producing do- "generic requirements"). Such a model may be
main models and analyzing commonalties and a model of user requirements, or a model of soft-
variants among a family of products. The do- ware (or system) requirements.
main analysis is typically more general than the
problem analysis. The first is devoted to analyz-
domain-specific language any language
ing a class of problems and systems, while the
which contains specific constructs to support
latter is focused on finding a specific model for
a particular application domain. For example,
a specific problem.
languages for writing discrete event simulation,
payroll systems, or operating systems are all in-
domain architectural model an architecture stances of domain-specific languages.
applicable to a family of applications belonging
to the domain. Sometimes called the "generic
domain theory a collection of general
architecture".
knowledge about some area of human knowl-
edge, including the kinds of entities involved and
domain constraint a constraint that states the types of relationships that can hold between
that if any value a* occurs as an instance of an them, and the mechanisms that cause changes
attribute defined to be of domain A, then at e (e.g., physical processes, component laws, etc.).
domain of A. Domain theories range from purely qualitative
to purely quantitative to mixtures of both.
domain engineering an encompassing pro-
cess which includes domain analysis and the domain variable a variable that can become
subsequent methods and tools that address the instantiated with a value from a given domain.
problem of development through the application To create a relation of degree n in the relational
of domain analysis products (e.g., domain im- calculus, n domain variables are used.
plementation).
dominance a derived class dominates a base
domain model the result of domain analy- class in the sense that in the presence of a name
sis. A domain model is a definition of domain collision between them, the client code resolves
abstractions (objects, relationships, functions, the conflict in favor of the derived class.
events, etc.). It consists of a concise and clas-
sified representation of the commonalties and
don't care (1) a function that can be taken
variabilities of the problems in the domain and
either as a minterm or a maxterm at the conve-
of their solutions. It is a representation of a
nience of the user.
family. Domain models include domain require-
ments models (the problem) and domain archi- (2) a "wildcard" symbol matching any other
tecture (the solution). It is assumed that the symbol of a given alphabet.
domain model (problem, program, and applica-
tion) knowledge can be usefully represented as don't care nondeterminism the arbitrary
patterns of informal and semi-formal informa- choice of one among multiple possible continu-
tion, which are called conceptual abstractions. ations for a computation.
146
double-sided assembly
don't know nondeterminism situations in stream using two shift-registers (buffers). The
which there are equally valid choices in pursuing first one receives the low-speed line character
a computation. bits (8 bits), clocked by the low-speed "receive
clock". When a complete character has been re-
doomsday rule an algorithm to find the day ceived, it is moved to the second shift-register,
of the week for any date. It is simple enough to where it is stored until it can be shifted out
memorize and do mentally. on the high-speed line in the appropriate time
slot. Meanwhile, the next character is assem-
dormant server a server that can cause re- bled in the first shift-register. For full-duplex
quests to be queued even if it is not busy. A dor- operation (simultaneous two-way communica-
mant server is often used to model initial set-up tion), a similar structure is needed for the oppo-
times before jobs in a queue are being processed. site (computer-to-terminal) connection.
A second application comes from image pro-
DOS See disk operating system. cessing. In this case, double-buffering serves as
a mechanism for duplicating the frame-buffer
dot in Unix and DOS, a file name that refers memory by using a two-buffer system in which
to the directory that contains it. the image in one buffer is displayed while the im-
age in the other buffer is computed. The newly
dot-dot in Unix and DOS, a file name that created image is then displayed by swapping
refers to the parent of the directory that contains buffer pointers rather than having to copy mem-
it. ory. Double-buffering allows the CPU to have
uninterrupted access to one of the buffers while
dot-matrix printer a printer that produces the video controller has access to the other.
readable characters by imprinting a large num-
ber of very small dots. double buffering See double-buffering.
dot pitch the center-to-center distance be-
double-extended precision See double pre-
tween adjacent green phosphor dots of the red,
cision.
green, blue triad in a color display.
dots per inch (DPI) a measure of the density double-frequency recording See magnetic
of line-printer plots in dots per inch. recording code.
147
double-sided disk
double-sided disk a disk in which both sides down time the time period during which it
of a platter are covered with magnetic material has been in non-operative conditions. See mean
and used for storing information. time to repair.
do| while a loop construct which executes the dual for a planar graph, G, a graph with a
loop body at least once, and continues to do so vertex for each region in G and an edge between
as long as a specified predicate remains "true". vertices for each pair of adjacent regions. The
See also do|until, while|do. new edge crosses the edge in G which is the
boundary between the adjacent regions.
download to bring data from a remote source
to local storage. dual force feedback force feedback scheme
in the presence of time delay, in which actual
(but delayed) forces are presented to the inactive
down-sampling See decimation.
hand and predicted forces are presented to the
controlling hand.
downsizing (1) transforming a large system
moving the accent from a centralized approach dual in-line package (DIP) a standard case
for managing the information to the adoption of for packaging integrated circuits. The package
personal computers. terminates in two straight, parallel rows of pins
(2) the term is also used for indicating the or lead wires. This standard has been more re-
process of removing people from the organiza- cently substituted by surface-mount standards.
tion in order to reduce the organization size. Compare with single inline packaging.
148
dynamic binding
dual linear program for the linear program DVI See digital video interactive.
under linear program, the program maxy [b • y :
ATy < c and y > 6}. Every linear program has DWT See discrete wavelet transform.
a corresponding linear program called the dual.
For any solution x to the original linear program dyadic decomposition wavelet decomposi-
and any solution y to the dual, we have c • x > tion in which the dilation is a dyadic number,
(ATy)Tx = yT(Ax) > y-b. For optimal* and i.e., V with j being the decomposition level;
y, equality holds. For a problem formulated as this corresponds to an octave frequency band
an integer linear program, feasible solutions to division in the frequency domain.
the dual of a relaxation of the program can serve
as witnesses. dynamic pertaining to something that is per-
formed during the program execution.
dual model a specification model that inte-
grates aspects of both descriptive and denota- dynamic allocation (1) allocation of mem-
tional models. Synonymous with hybrid model. ory space that is determined during program ex-
See formal model. ecution. Dynamic allocation can be used to des-
ignate space on the stack to store objects whose
dual port memory memory system that has lifetimes match the execution interval of a sub-
two access paths; one path is usually used by the routine; this allocation is performed upon entry
CPU and the other by I/O devices. to the subroutine.
(2) in database systems, when resources, in-
dummy record type See linking record type. cluding locks, are allocated to a transaction as
required by the transaction.
dump to copy the contents of memory to the
external medium. dynamically checked language a language
where good behavior is enforced during execu-
duplex channel two-way simultaneous (and tion.
independent) data communication, e.g., be-
tween a computer and remote terminals. dynamical systems a sub-field of mathemat-
ics that is concerned with the repeated applica-
durability the property of becoming or being tion of an algorithm.
persistent, and continuing to be so.
dynamic analysis defect removal method
DUT acronym for device under test. where defects are found during execution of the
software. Opposed with static analysis.
Dutch national flag a computational prob-
lem used to benchmark computer performance. dynamic assertion an assertion about the
The problem is to rearrange elements in an array system that depends on elements that can change
into three groups, bottom, middle, and top. Dur- their truth-value with time.
ing execution, the top group grows down from
the top of the array, the bottom grows up from dynamic binding (1) a means by which the
the bottom, and the middle is kept just above data type of a value associated with a specific
the bottom. Begin by moving a previously un- name may change based on the most recent as-
examined element to a temporary location. If signment to that name.
it belongs in the top, swap it with the element (2) a means by which the interpretation of
just below the top, then repeat for the element a name not defined by a function (either as a
swapped into the temporary and similarly if it formal parameter or a declared name within the
belongs in the middle. If it belongs in the bot- function) depends upon the context from which
tom, swap it with the middle element just above the function was called.
the bottom, then swap that with the element just (3) in object-oriented systems, the mecha-
above the middle. Complexity is O(2n) moves. nism of identifying at the execution time a spe-
149
dynamic checking
cific procedure code/method that has to be ex- due to gradual discharge of the capacitive stor-
ecuted for an object. It is the technical imple- age elements.
mentation of the polymorphism and overload-
ing mechanisms of classical object-oriented lan- dynamic memory allocation the run-time
guages. For polymorphism, dynamic binding is assignment of small units of memory to an ac-
typically specified by the programmer by using tive program. Used typically to support growing
specific statements — virtual in C++. It is also structures such as lists.
referred to as late binding.
dynamic model in object-oriented analysis,
dynamic checking a collection of run time the description of the object state, behavior, and
tests aimed at detecting and preventing forbid- relationships with other objects in the system.
den errors.
dynamic object instantiation the creation of
dynamic equilibrium the final state (dis- an instance of a variable performed at run-time.
placement or velocity) of a system when all in- The memory for this variable is not reserved at
puts are constant. compile time, but should be taken from the heap
of free store.
dynamic hashing a technique that allows
hashing to a dynamic file. This technique uses dynamic path reconnect technique used in
the binary representation of the hash field to IBM's high-end computer systems to allow a
facilitate hashing. A collision occurs when a "subchannel" to change its channel path each
record is to be placed in an already full disk time it cycles through a disconnect/reconnect
block. On collision, the block is split into two with a given device. This enables it to be as-
and its contents redistributed according to the signed to another available path, rather than just
next significant bit. An index (binary tree struc- wait for the currently allocated path to become
ture) is created as the file expands. free.
150
dysfluency
dynamics the study of bodies in motion. dynamic scope a term applied to indicate that
the interpretation of a name depends upon the
dynamic scheduling (1) the scheduling pro- execution context which is in effect at the time
cess performed at run-time, without progressive the name is evaluated. See dynamic binding.
knowledge of timing constraints of the tasks to
be scheduled. The scheduler can refuse the exe- dynamic storage storage which is allocated
cution of a new process if the resources needed and freed as needed. This may be stack storage
are not available or the timing constraint cannot or heap storage.
be satisfied. See static scheduler.
(2) automatic adjustment of the multipro- dynamic type-checking type checking per-
cessing program at run time that reflects the ac- formed at run time devoted to the identification
tual number of CPUs presently available. For in- of the type of unknown data at compile time,
stance, a DO loop with 100 iterations is automat- like the generic types defined in some object-
ically scheduled as 2 blocks with SO iterations oriented languages.
on a two-processor system, as 10 blocks with
10 iterations on a ten-processor system and as dynamization transformation a data struc-
one block on a single-processor machine. This turing technique that can transform a static data
allows the user to run multiprocessor programs structure into a dynamic one. In so doing, the
on single-processor computers. performance of the dynamic structure will ex-
(3) creating the execution schedule of instruc- hibit certain space-time tradeoffs.
tions at run-time by the hardware, which pro-
vides a different schedule than strict program dysfluency a portion of a spoken sentence
order. When a processor issues instructions to that is not fluent language. Dysfluencies can
functional units out of program order, the pro- include false starts, filled pauses, or grammati-
cessor can dynamically issue an instruction as cal constructs due to a changed plan midstream.
soon as all its operands are available and the Dysfluencies are particularly problematic for
required execution unit is not busy. Thus, an speech recognition systems.
instruction is not delayed by a stalled previous
instruction unless it needs the results of that pre-
vious instruction.
151
Eckert, John Presper
E
the training set and the test set gradually im-
proves, but eventually performance on the test
set begins to deteriorate indicating that training
should be stopped. The set of network weights
that gives the best performance on the test data
£ a lexical convention which is used in many should be employed in the trained network.
languages to represent scientific notation. When
used in a number, it indicates an exponent, for early vision the set of (mainly perceptual)
example 1.3E2 represents 1.3' 102. See also processes occurring at an early stage of the vi-
floating-point. sion process, typically at the retinal level.
eager evaluation a technique by which antic- early warning system identifying problems
ipated computations are performed whether or far ahead, like is done in the spiral model for the
not they may actually be used. In the presence development life-cycle.
of certain kinds of parallelism, eager evalua-
tion can utilize otherwise unused computational EAROM See electrically alterable read only
resources. Often used in hardware with instruc- memory.
tion pipelines where it is known as speculative
evaluation. See also lazy evaluation. ease of use term describing the degree to
which human-machine interactions are efficient,
EAPROM electrically alterable programma- error-free, and non-fatiguing.
ble read-only memory. See electronically erasa-
ble programmable read-only memory. easy of learning See learnability.
earcon sound having meaning in the context EBCDIC See extended binary-coded-deci-
of a human-computer interface; a play on the mal interchange code.
word icon.
EBNF See extended BNF.
Earle latch a type of latch in which both stor-
age and computational functions are combined, ECC See error correcting code.
thus reducing the delay from what it would be if
the two were separated. The latch is useful in the Eckert, John Presper Eckert (1919-1995)
implementation of pipelined arithmetic units. is best known as one of the designers of ENIAC
(Electronic Numerical Integrator And Calcula-
earliest deadline first (EOF) a dynamic tor), an early computer. Like many computer
scheduling strategy that relies on scheduling the pioneers during World War II, Eckert was look-
task that currently has the earliest deadline. ing for more efficient ways of calculating tra-
jectory tables for artillery and ranging systems
Early's algorithm shows that the worst-case for radar. Eckert graduated from the Univer-
upper bound for parsing a Type 2 grammar is n2 sity of Pennsylvania and remained there to work
in stack space for linear time or n2 in time for with John Mauchly. Eckert and Mauchly later
bounded stack space, for n productions in the formed a company and continued to develop
grammar. and refine their machine. Eckert eventually sold
the company to what would become the Sperry
early stopping a technique applied to net- Rand Corporation. Here he produced UNIVAC
work training that is aimed at assuring good gen- I (Universal Automatic Computer), one of the
eralization performance. Training on a finite set first commercially successful computers. The
of data eventually leads to overfitting and this chief improvement of this machine over its pre-
can be avoided by periodically assessing gener- decessors was in its use of a stored memory.
0-8493-2691-5/01/$0.00+$.50
©2001 by CRC Press LLC 153
ECO
ECO See engineering change order. ent edge detector, Marr-Hildreth operator, Sobel
operator, straight edge detection.
ecological psychology school of psychology
that seeks to understand human perceptual and edge elements the basis functions that are
psychomotor phenomena as responses to infor- associated with the edges of the discretizing
mation present in the environment and as driven elements (such as triangles, tetrahedrals, etc.)
by goal-directed needs for interaction with the in a numerical method such as finite element
environment. method.
e-commerce any activity related to com- edge enhancement a type of image process-
merce via the Internet. This is an emerging ing operation where edges are enhanced in con-
method for establishing and completing busi- trast, such as by passing only the high spatial
ness transactions. It includes both the promo- frequencies in an image.
tion and the money transaction and can be im-
plemented by using several different techniques edge filter an operation that takes in a gray-
such as email, WWW, facsimile (fax), etc. scale image and yields a binary image whose
1-valued pixels are meant to represent an edge
within the original image.
economy of scale a connection level multi-
plexing effect which indicates that in order to edge merging the process of replacing the
reach the same performance, the amount of net- edge of a polygon with the adjacent edges of
work resources needed per customer is less if the neighboring polygons to prevent cracks appear-
resources are shared between more customers. ing during rendering.
See also Erlang B, Erlang C.
edge recombination in genetic algorithm op-
EDF See earliest deadline first. timization, a special-purpose crossover opera-
tor designed to be used with permutation repre-
edge (1) a connection between two vertices sentations for sequencing problems. The edge-
of a graph. Synonym for arc. See also directed recombination operator attempts to preserve ad-
graph, undirected graph, weighted graph, hyper- jacencies between neighboring elements in the
edge. parent permutations.
(2) a substantial change, over a small dis-
tance, in the values of an image's pixels — typ- edge-triggered flip-flop a flip-flop which
ically in the gray level values. Edges can be changes state on a clock transition from low to
curved or straight and are important because high or high to low rather than responding to the
they are often the boundaries between objects level of the clock signal.
in an image.
edit to modify the contents of a computer file.
edge coloring an assignment of colors to the
edges of a graph such that no two edges incident edit buffer an area of memory that holds the
to a common vertex receive the same color. text for a file being edited.
154
effort
achieve this. One of the ways to find the mini- address is to be found in the register or memory
mum from these is dynamic programming. Edit location whose address appears in the instruc-
distance is also called Levenshtein distance. tion.
edit operation on a string, the operation of effective bandwidth the bandwidth by which
deletion, insertion, or substitution performed on the link rate of a communication link offering
a single symbol. On a tree T, the deletion of certain delay and loss values has to be increased
a node v from T followed by the reassignment to accommodate an additional variable bit rate
of all children of v to the node of which v was connection in order to still guarantee the same
formerly a child, or the insertion of a new node delay and loss values. The effective bandwidth
along some consecutive arcs departing from a of a connection is a function of its traffic char-
same node of T, or the substitution of the la- acteristics, the delay and loss requirements, the
bel of one of the nodes of T with another label link capacity and traffic characteristics already
from E. Each edit operation has an associated present on the link. The effective bandwidth of
nonnegative real number representing its cost. a connection usually is more than its mean bit
rate and it can be less than its peak bit rate.
editorial review a development stage, usu-
ally late in the process, in which on-line support effectiveness the capability of the software
systems are examined for consistency, style, me- product to enable users to achieve specified
chanics, and completeness. goals with accuracy and completeness in a spec-
ified context of use.
edit script a sequence of viable edit opera-
tions on a string. effective precision See accuracy.
edit session the sequence of events that oc-
efferent filter a filter on information being
curs after invoking and prior to exiting the editor.
transmitted from a system.
EEPROM See electrically erasable
programmable read-only memory. efficiency (1) the relative volume of useful
work done per unit time.
EER model See extended entity relationship (2) the capability of the software product to
model. provide appropriate performance, relative to the
amount of resources used, under given condi-
effective address (1) the computed address tions. Resources may include other software
of a memory operation. products, the software and hardware system
(2) the final actual address used in a program. configuration, and materials (e.g., print paper,
It is usually 32 or 64 bits wide. diskettes) and services of operating, maintain-
The effective address is created from the rela- ing, or sustaining staff. For a system that is
tive address within a segment (that is, relative to operated by a user, the efficiency is the combi-
the base of a segment), which has had applied all nation of functionality, reliability, usability, and
address modifications specified in the instruc- efficiency. Efficiency can be measured exter-
tion word. Depending on the configuration of nally by quality in use.
the memory management unit, the effective ad-
dress may be different than the real address used efficient estimator an unbiased estimator
by a program, i.e., the address in RAM, ROM, which achieves the Cramer-Rao bound. See also
or I/O space where the operation occurs. Cramer-Rao bound.
(3) when a memory location is referenced by
a machine instruction, the actual memory ad- effort the amount of work that is associated
dress specified by the addressing mode is called with carrying out a software project. Most of the
the effective address, e.g., in an instruction us- time this is measured in person hours or months,
ing an indirect mode of addressing, the effective and in some cases also in money.
155
effort estimation
effort estimation a part of cost estimation. vertical with its distal joint below the level of
Since the proximal joint, and its distal link horizontal
and at about the same level as the end effector.
cost = effort x payment rates ,
elbows-up manipulator robotic manipulator
cost estimation techniques are really effort esti- with a reference stance with the proximal link
mation techniques. horizontal with its distal joint at about the same
level as the proximal joint, and its distal link
effort planning the process of predicting and vertical with the end effector below the link.
allocating effort for a software project. Dur-
ing the project definition phase, effort planning electrical actuator an actuator that trans-
takes care of the amount of effort (i.e., person forms electrical input (voltage or current) to a
month) allocated for each project task and the mechanical output (velocity or force).
related schedule. This process is typically sup-
ported by Gantt diagrams. electrically alterable read only memory
(EAROM) a PROM device which can be
EGA See enhanced graphics adaptor. erased electronically. More costly than the
EPROM (erasable PROM) device, which must
ego presence sense of personal presence in
be erased using ultraviolet light.
a remote or virtual world; telepresence.
electrically erasable programmable read-
eight connected See pixel adjacency.
only memory (EEPROM) a term used to de-
eighteen connected See voxel adjacency. note a programmable read-only memory where
the cells are electronically both written and
eight queens a computational problem used erased. Also known as EAROM. See also
in performance estimation. The problem is to EPROM.
place eight chess queens on an 8 x 8 board such
that no queen can attach another and then effi- electrically programmable read-only mem-
ciently find all possible placements. See also N ory (EPROM) programmable read-only
queens. memory that is electronically written but which
requires ultraviolet light for erasure.
EISA See extended industry standard archi-
tecture. electrogoniometer electronic device used to
measure human joint angles.
elastic deformation a deformation that,
when unloaded, returns to its original config- electromyography the sensing of electrical
uration. impulses generated by muscles as they contract
and expand.
elasticity a measure of the compliance of a
system. electronic commerce See e-commerce.
elastic traffic traffic that adapts its transmis- electro-pneumatic valve a valve that con-
sion rate to the available bandwidth. An exam- trols the flow of air in response to an electrical
ple is traffic transmitted via TCP, which uses ac- signal.
knowledgements and flow control to determine
the available bandwidth between a sender and a electro-tactile stimulation electrical stimuli
receiver. presented to the skin as a means for providing
tactile feedback.
elbows-down manipulator robotic manip-
ulator with a reference stance similar to that of element a component of a list, set, or collec-
the human arm, that is, with the proximal link tion. See entity.
156
emulation mode
elementary functions functions such as sine, embedded computer system See embedded
cosine, exponential, logarithm, and so forth. computer, embedded system.
elementary type a data type which is defined embedded query language a query lan-
as part of the language. Compare with compos- guage, such as embedded SQL, that can be
ite type. used from within a general-purpose program-
ming language environment, such as C, C++,
elitism a selection strategy in which the indi- Java, or Pascal. In the context of the embedded
vidual with the maximum fitness value is always query, the general-purpose programming lan-
chosen and incorporated into the new popula- guage is called the host language.
tion. In other words, the maximum fitness value
in the population can never decrease from one embedded software a specialized software
generation to the next. system that may be part of a larger system on a
machine that can work without human interven-
ellipse detection the detection of ellipses in tion. Typically, embedded software is stored in
digital images, often with a view to locating el- ROM for functioning on a single microprocessor
liptical objects or those containing ellipses; el- board. It includes all the software programs that
lipse detection is also important for the location are built for covering specific applications; for
of circular features on real objects following or- example, microwaves, VCRs, car controller, air-
thographic projection or perspective projection. craft controllers, etc. Some embedded software
systems can operate in an environment with a
ellipsis the designation "...". The use of light operating system. Typically the operating
the designation "..." in certain formal language system is even missing.
definitions indicates an indefinite repetition of a
preceding construct. embedded SQL See embedded query lan-
guage.
Emacs an advanced, customizable, and ex-
tensible text editor that is generally the editor embedded system See embedded software,
of choice on Unix systems and is available on a firmware.
wide variety of platforms. Its extensibility has
been used to make it language-knowledgeable emittance the light emitted by a surface. This
and to integrate it with other programming tools. may have different intensities and spectral char-
acteristics in different directions.
embedded computer (1) a computing ma-
chine contained in a device whose purpose is empirical distribution function See his-
not to be a computer. For example, the comput- togram.
ers in automobiles and household appliances are
embedded computers. emulate executing a program compiled to
(2) a device, consisting of a microproces- one instruction set on a microprocessor that uses
sor, firmware (often in EPROM), and/or FP- an incompatible instruction set, by translating
GAs/BPLDs, which is dedicated to specific the incompatible instructions while the program
functions, and becomes an inseparable compo- is running.
nent of a device or system, in contrast to de-
vices that are controlled by stand-alone comput- emulation a model that accepts the same in-
ers. Embedded computers use embedded soft- puts and produces the same outputs as a given
ware, which integrates an operating system with system. To imitate one system with another.
specific drivers and application software. Their Contrast with simulation.
design often requires special software-hardware
co-design methods for speed, low power, low emulation mode state describing the time
cost, high testability, or other special require- during which a microprocessor is performing
ments. emulation.
157
emulator
emulator (1) the firmware that simulates a is also known as a cipher. The information to
given machine architecture. be encrypted is referred to as plaintext, and the
(2) a device, computer program, or system encrypted message resulting from encryption is
that accepts the same inputs and produces the referred to as ciphertext. The intended receiver
same outputs as a given system. Compare with of the ciphertext also has the encryption key and
simulator. by having both the ciphertext and the encryption
key available, the original plaintext can be re-
enabled state in a dataflow architecture when covered. See also encryption key, block cipher,
all necessary tokens have arrived and the input stream cipher, public key cryptography, private
lines are full. Also called the ready state. key cryptography.
encapsulation property of a program that encryption key a codeword used for decryp-
describes the complete integration of data with tion of ciphertext into plaintext in encryption
legal processes relating to the data. Modulariza- systems. Ciphertext can then be transmitted via
tion produces chunks that are said to be encap- a communication channel without revealing the
sulated, i.e., they have an identifiable boundary. contents of the plaintext. The plaintext can only
This boundary may be transparent (and thus the be recovered by someone in possession of the
internal features are visible everywhere) or may encryption key. See also encryption, block ci-
be opaque (in which case we also have informa- pher, stream cipher.
tion hiding).
end-around borrow in subtraction, a borrow
encode network a perception network de- out of the least significant bit that is then imme-
signed to illustrate that the hidden layer nodes diately included in the most significant position
play a crucial role in allowing the network to of another subtraction (usually, in the same sub-
learn about special features in the input patterns. tractor).
Once it has learned about the "generalized" fea-
tures of the training patterns, it can respond use-
end-around carry (1) in addition, a carry
fully in new situations.
out of the most significant bit that is then imme-
encoder a displacement sensor that provides diately included in the least significant position
a digital output signal proportional to the relative of another addition (usually, in the same adder).
displacement of the degree of freedom. (2) technique used in one's complement
arithmetic, in which a carryover of the result of
encoding (1) the act of placing information an addition or subtraction beyond the leftmost
to be transmitted in a form which can be trans- bit during addition (or subtraction) is "wrapped
mitted over a particular medium and which will around" and added to the result.
be recognizable by the receiver. See coding, en-
coding. end effector gripper or tool attached to the
(2) in computing systems, to represent vari- distal end of a robotic manipulator and used
ous pieces of information by a defined sequence to make contact with the remote world. Posi-
of the binary digits 0 and 1, called bits. To apply tion and orientation of the manipulator are re-
the rules of a code. ferred to the end effector. The frame attached
to the end effector is known as the end effec-
encryption the transformation employed to tor frame. The end effector can be a gripper or
transform information to be transmitted (plain- it can be attached to the end effector. The or-
text) into a format which is unintelligible (ci- thonormal end effector frame consists of three
phertext or a cryptogram). The ciphertext can unit vectors a-approach (it approaches the ob-
then be transmitted via a communication chan- ject), ^-orientation (which is normal to the slid-
nel without revealing the contents of the plain- ing plane between the fingers of the gripper),
text. This is achieved by means of an encryp- and n-normal vector to two others so that the
tion key. A system for performing encryption frame (n, o9 a) is right-handed.
158
ensemble statistics
endian an adjective used with a qualifier to engineering change order (ECO) a mini-
indicate how long values are constructed from specification that describes the technical aspects
smaller values that reside in memory. A "big- of a change.
endian" machine constructs long values by plac-
ing the smaller parts from the lower addresses engineering psychology branch of psychol-
at the left end of the value (the "big" end). ogy devoted to the study of humans as functional
systems and system components.
endoscopic surgery surgical procedure fea-
turing very small cameras and cutting tools in- Engset traffic traffic from a finite number of
serted into the body through small slits and op- sources which each show negative exponentially
erated by remote control. distributed holding and interarrival times.
end product a product which is provided to a enhanced small disk interface (ESDI) mass
user. Examples of software products are object storage device interface similar to MFM and
code, user manuals, and support documentation. RLL except that the clock recovery circuits are
in the peripheral device rather than in the con-
end-to-end delay the time needed by a re- troller. Originally designed by Maxtor.
quest to pass from one reference point to another
in a network. The end-to-end delay usually con- enhancement improvement of signal quality
sists of four components: without reference to a model of signal degrada-
tion. See image enhancement.
1. propagation delay (determined by the ve-
locity of an electrical or optical wave in ensemble the collection of different realiza-
the physical medium), tions of a stochastic process. Stochastic pro-
cesses can be regarded by looking at the behav-
2. transmission delay (the time it takes for a
ior of one process as a function of time or by
finite sized request to enter the physical
looking at a number of different realizations of
medium, determined by the bit rate of the
a process at the same time or a mix of both.
medium),
159
entity
lution of one process is a periodic function of 1. Strong Entity Type: usually depicted as
time whereas the ensemble is distinguished by a rectangle in Entity-Relationship dia-
different phase relations. grams.
2. Weak Entity Type: usually depicted as
entity an object or thing about which data is
a double rectangle in Entity-Relationship
to be stored. According to the International Or-
diagrams.
ganization for Standardization's open systems
interconnection (OSI) terminology for a layer 3. Relationship Type: usually depicted as a
protocol machine, an entity within a layer per- diamond.
forms the functions of the layer within a single
computer system, accessing the layer entity be- 4. Identifying Owner Relationship Type:
low and providing services to the layer entity usually depicted as a double diamond.
above at local service access points. An entity 5. Attribute: Usually represented as an oval
may be an activity, a process, a product, an orga- connected to the entity type via a straight
nization, a system or person, or any combination line.
thereof. In object-oriented programming, an en-
tity is part of the definition of a class (group) of 6. Composite Attribute: usually depicted as
objects. In this instance, an entity might be an at- an oval joined to an entity type with each
tribute of the class (as feathers are an attribute of of its constituents represented as ovals
birds), or it might be a variable or an argument in connected via straight lines.
a routine associated with the class. In database
design, an entity is an object of interest about 7. Multi-Valued Attribute: depicted in ER
which data can be collected. In a retail database diagrams as a double oval.
application, customers, products, and suppliers 8. Derived Attribute: usually depicted as a
might be entities. An entry can subsume a num- connected oval drawn with a dashed line
ber of attributes. Product attributes might be in an ER diagram.
color, size, and price; customer attributes might
include name, address, and credit rating. Syn- 9. Primary Key: usually underlined in an ER
onymous with item. diagram.
10. Partial Key: usually underlined with a
entity attribute a specific characteris- dashed line in an ER diagram.
tic/property of a design entity.
11. Total Participation: depicted by a double
entity integrity constraint a constraint that line from entity type to relationship type.
states that no primary key value can have a 12. Partial Participation: depicted by a single
NULL value. line from entity type to relationship type.
entity relationship diagram See entity- 13. Cardinality Ratios: illustrated by plac-
relationship diagram. ing signifies on line joining entities to re-
lationship types. Ratios may be (1:1),
entity-relationship diagram (E-R diagram) (1:N),(N:M).
a diagram describing a set of entities and their
logical relationships. The relationships consid- entity-relationship model (ERM) a con-
ered can be from 1:1 to N:M. This diagram is fre- ceptual model for database design. The entity-
quently used for describing relationships among relationship (ER) model views the world as
data structures in databases. More recently, is-a consisting of entities and relationships between
relationships can be specified in some extended them, where an entity is a thing that can be dis-
versions of the E-R diagrams as well. tinctly identified, e.g., a chamber, a wire, a point,
Some common components of E-R diagrams a track, a vertex, etc. A relationship is an associ-
include: ation between entities, e.g., a point that belongs
160
equivalence in iogic
161
erasable optical disk
erasable optical disk a magneto-optical disk waiting probability for an arbitrary request. In:
which can be both read/written and erased. A
mA w
thermo-magneto process is used for recording
C(m, A) = «ffl!zd)
and erasing information. The recording process v y
Y^m~l A* , mAm '
uses the "laser power modulation" or the "mag- 2LA:=0 A:! "^ m!(m->l)
netic field modulation" technique. A is the product of mean arrival rate and mean
holding time and is measured in the pseudo unit
erasable programmable read-only memory Erlang.
(EPROM) a nonvolatile chip memory, it is
used in the place of PROM. EPROMs present Erlang traffic traffic from an infinite number
a glass on the case that allows the user to see of sources which each show negative exponen-
the chip. They can be erased by exposing the tially distributed holding and interarrival times.
chip at the ultraviolet light for typically 20 min-
utes. Once erased they can be reprogrammed. ERM See entity-relationship model.
The programming has to be performed by using
a special algorithm and a supplementary Vpp. erosion an important basic operation in math-
Also called UVPROM. See also EEPROM. ematical morphology. Given a structuring ele-
ment B, the erosion by B is the operator trans-
erase character in Unix and related sys- forming X into the Minkowski difference X 0 B ,
tems, the terminal driver control character used which is defined as follows:
to delete a character from the current line; the
default is #. 1. If both X and B are subsets of a space £,
X e B ={z € E | Vfe € B, z
E-R diagram See entity-relationship diagram.
+ b € X).
EREW See exclusive reads and exclusive
writes. 2. If X is a gray-level image on a space E
and B is a subset of E, for every p e E
ergonomics the study of people at work and we have
the application of the knowledge gained to de-
( X e # ) ( p ) = i n f *(/> + £).
signing safer, more effective, and more pleasant 66 5
workplaces.
3. If both X and B are gray-level images on
Erlang B the fraction of time m parallel a space £, for every p € E we have
servers in an M/M/m loss system are all busy for
a given offered load A. Also known as Erlang's <xe *)(/>)
function of the first kind or Erlang B function: = inf[X(p + h)-B(h)],
h<sE
162
error tolerance
error (1) a discrepancy between a computed, error detection the process of detecting if
observed, or measured value or condition and one or more errors have occurred during a trans-
the true, specified, or theoretically correct value mission of information. Channel codes are suit-
or condition. See anomaly, bug, defect, excep- able for this purpose. The family of CRC-codes
tion. is an example of channel codes specially de-
(2) an incorrect internal state of a system, signed for error detection. See error detecting
due to a component failure or an external fail- code.
ure. Unless redundancy or fault tolerant design
enables a successful error recovery to be per- error detection capability of a code is
formed, a system failure may result. An error bounded by the minimum distance and for an
can be caused by a faulty item, e.g., a computing (n, k) block code, it is given by dtmn - 1.
error made by faulty computer equipment.
error extension the multiplication of errors
(3) manifestation of a fault at logical level.
which might occur during the decoding of a line
For example, a physical short or break may re-
coded sequence, or during the decoding of a
sult in logical error of stuck-at-0 or stuck-at-1
forward error control coded sequence when the
state of some signal in the considered circuit.
number of symbol errors exceeds the error cor-
rection capability of the code.
error control coding See channel coding.
error-prone module a module in a software
error correcting code (ECC) code used system containing a lot of errors. At first glance,
when communicating data information in and one might think that errors are normally dis-
between computer systems to ensure correct tributed in a software system. Empirical re-
data transfer. An error correcting code has search has pointed out that on the average 50%
enough redundancy (i.e., extra information bits) of the errors are located in about 3% of the mod-
in it to allow for the reconstruction of the orig- ules.
inal data, after some of its bits have been sub-
ject of error in the transmission. The number of error recovery (1) the detection, contain-
erroneous bits that can be reconstructed by the ment, and correction of an erroneous state by
receiver using this code depends on the Ham- a fault tolerant system, to avoid a system fail-
ming distance between the transmitted code- ure. For example, handling arithmetic errors
words. See also error detecting code. by a well-defined value substitution, or allowing
the user to specify an action to be taken when
error correction capability of a code is specific errors occur. See also backward error
bounded by the minimum distance and for an recovery, forward error recovery, redundancy,
(n, k) block code, it is given by t = [(rfmin - fault-tolerance.
l)/2] where [x] denotes the largest integer con- (2) in a compiler, a method of attempting to
tained in jc. achieve a state that will allow program analysis
to continue, in particular, an attempt to avoid
error detecting code code used when com- cascaded errors. Error recovery may be per-
municating data information in and between formed at the lexical, syntactic, or semantic level.
computer systems to ensure correct data transfer.
An error detecting code has enough redundancy error report a report, usually in a fixed for-
(i.e., extra information bits) in it to allow for mat, containing a description of an error (also
the detection of bits if they have been subject of known as problem report).
error in the transmission. The number of erro-
neous bits that can be detected by the receiver error tolerance the capability of a system
using this code depends on the Hamming dis- or entity to continue its normal operating condi-
tance between the transmitted codewords. See tions despite the occurrence of errors. See fault
also error correcting code. tolerance.
163
ES
ES See evolutionary strategy. physical media (coaxial cable, twisted pair, and
optical fiber). Ethernet supports both shared
escape (1) a construct which changes the flow half-duplex collision domains, in which hosts
of control so as to "escape" from the current use the Carrier Sense Multiple Access (CSMA)
execution context. See also exit, return, leave. protocol to serialize their transmissions, and
(2) when the result of iterating a function at collision-free point-to-point full duplex links
a point tends toward infinity or minus infinity. between each host and a switch port.
escape character a character that changes Euclidean distance the straight line dis-
the interpretation of one or more succeeding tance between two points. In a plane with
characters, for example to represent certain p\ at (x\,y\) and P2 at (*2,;V2), it is
characters within a string constant. >/(*! - *2)2 + (y\ — yi)2- See also rectilinear,
Manhattan distance, lm distance.
escape sequence a mechanism used to
change the interpretation of input. Although Euclidean Steiner tree a tree of minimum
typically used within strings to allow the rep- Euclidean distance connecting a set of points,
resentation of characters not otherwise possible called terminals, in the plane. This tree may
according to the rules of the language, it can also include points other than the terminals, which
be used to represent characters outside the base are called Steiner points. See also Steiner tree,
character set of the language (for example, to rectilinear Steiner tree.
allow a text editor to use ideographic characters
and allow a compiler to have a representation Euclidean traveling salesman problem a
in a smaller character set), or change the input problem from the study of algorithms. The prob-
to a different language, for example, to gener- lem is to find a path of minimum Euclidean dis-
ate an assembly-code insertion in a high-level tance between points in a plane which includes
language program. each point exactly once and returns to its start-
ing point. See also traveling salesman problem,
escaping a character a technique that masks spanning tree.
the special meaning of meta-characters and thus
causes the shell to treat it as a literal; sometimes Euler angles three sets of coordinates that
called quoting a character. describe the orientation of a rigid body.
ESDI See enhanced small disk interface. Eulerian graph a graph that has a Euler tour.
164
event
165
event determinism
(2) an occurrence signaling a change of state an element of E* (the set of all possible se-
of a system or component. quences of E elements). For example, if E =
(3) in probability theory, a specific instance {start, receive, send} an event trace on E can be:
taken from some sample space, normally with start receive send receive send receive send
an associated probability or probability density; In this way the event trace only records the or-
also commonly an idealized infinitesimal point der of events and not the time distance between
in (jc, y, z, t) space at which some occurrence each other.
is taken to happen. For example, a flash of
light at time to at position (*o, yo» zo) — event eventually operator a temporal logic oper-
(*o» 3>o» 2o» *o) — will lead at a later time t\ to ator used to state that there exists a time instant
a wave of light passing a point (x\,y\,z\) — where a formula is true relative to the evaluation
namely event (x\, y\, z\, t\). instant. Usually there are two operators, one for
the future and one for the past, and they are rep-
event determinism system characteristic in resented with a diamond (white for future and
which the next state and outputs of a system are black for past). For example:
known for each set of inputs that trigger events.
event driven (1) a systems architecture for This formula is true if there exist two future
real-time systems. For example, a program, time instants, one where P is true and one where
such as a graphical user interface, with a main Q is true (generally the instants are distinct).
loop that just waits for events to occur. Each
event has an associated handler that is passed the evolution the theory, proposed by Charles
details of the event, e.g., mouse button 3 pressed Darwin and independently by Alfred R. Wal-
at position (553,176). For example, X window lace, which explains the emergence of existing
system application programs are event-driven. species through the process of natural selection.
(2) a type of specification used for reactive More specifically, an implicit selection mecha-
systems where how the system has to react to nism is implemented by nature which rewards or
external events must be specified. penalizes particular species in terms of how they
adapt to a specified set of environmental condi-
event-driven simulation a form of discrete- tions: the better adapted species, or those spe-
event simulation in which the program struc- cies with a higher fitness, are allowed to survive
ture consists of a main loop that at each itera- and reproduce, while the not so well adapted
tion removes the first event from an ordered list ones perish. The apparent changes in physical
of pending events and updates the simulation traits of particular species in response to the ex-
clock and system state accordingly. See also ternal environment is explained in terms of mu-
time-driven simulation. tation in the genotype of the species due to ran-
dom replication errors in reproduction. These
event flag a synchronization construct with changes are manifested externally in the pheno-
two values, 0 and 1, and two operations, set and type as modified physical and behavioral traits,
clear. the desirability of which is in turn evaluated by
their subsequent enhancement or degradation of
event relationships the description of rela- the survival capability of the species. This se-
tions between events that occurred in a system. lection process is accentuated by competition
They can be of two types: ordering and timing between the new and original species for the fi-
descriptions. See ordering among events, timing nite resources in the environment.
constraint.
evolutionary computation a class of com-
event trace an ordered set of events that rep- putational algorithms that mimic the process of
resents the history of events received/produced natural evolution to search for a solution of an
by a system. If E is the set of possible optimization problem. Random multiple poten-
events, the event trace can be represented as tial solutions to the problem are initially gen-
166
evolutionary strategy (ES)
167
evolution planning
as object variables, are associated with a set of usually called "the pattern'* in another larger
strategy parameters which specify the covari- "text" string.
ance matrix of the underlying Gaussian density
function. These strategy parameters are in turn exception (1) an unusual condition arising
modified by a self-adaptation process to allow during program execution that causes the pro-
the adaptation of the mutation operation to the cessor to signal an exception. This signal acti-
current fitness landscape. Unlike GA and EP, ES vates a special exception handler that is designed
adopts a deterministic selection process where to handle only this special condition. Division
the fitness values are ranked in descending or- by zero is one exception condition. Some ven-
der and individuals corresponding to values at dors use the term "trap" to denote the same thing.
the top of the list are incorporated into the new
population. More specifically, assume that there (2) an event that causes suspension of normal
are /z individuals in the original population, and program execution. Types include addressing
X new individuals are produced in each genera- exception, data exception, operation exception,
tion, the two primary selection methods adopted overflow exception, protection exception, and
are known as O + A) and (/i, A,) strategies. underflow exception. It can be a fatal error, like
For O, A) selection, fitness ranking is only per- divide by zero, or an error that can be handled
formed on the A, new individuals, and the first [i and managed by special classes devoted to error
individuals on the list are selected. On the other recovering. The exception can be recovered by
hand, for (ji+A.) selection, the fitness ranking is means of specific hardware and software mech-
performed on all \i + A individuals and the first anisms.
li individuals are selected from the combined
list. See also evolutionary programming. exception handler a special block of system
software code that reacts when a specific type of
evolution planning the process of identify- exception occurs. If the exception is for an error
ing constraints, formulating an evolution strat- that the program can recover from, the program
egy, scheduling and monitoring an evolution can recover from the error and resume execut-
project. Formulating an evolution strategy in- ing after the exception handler has executed. If
volves deciding whether to keep an application the programmer does not provide a handler for
in service with continued maintenance support, a given exception, a built-in system exception
to reengineer the application, or to redevelop the handler will usually be called, which will result
application. A hybrid approach may be most in terminating the process that caused the ex-
appropriate. This decision must be made after ception. Finally, the reaction to exception can
performing cost-benefit analysis, and calculat- be halting of the system. As an example, bus
ing the risks involved for each strategy. error handler is the system software responsible
for handling bus error exceptions.
exact coding coding that involves coding
methods which reproduce the picture at the re- exception reporting a way of reporting to
ceiver without any loss. This method is also management where only exceptional situations
called information-lossless or exact coding tech- are reported. It is related to early warning sys-
niques. Four methods of exact coding are run- tems.
length coding, predictive coding, line-to-line
predictive differential coding, and block coding.
exchangeable disk See removable disk.
However, several coding schemes use these in a
hybrid manner.
exclusive lock a lock that prevents concurrent
exact mean value analysis See mean value writers and readers to an object.
analysis.
exclusive OR Boolean binary operator typi-
exact string searching the algorithmic prob- cally used for comparing the status of two vari-
lem of finding all occurrences of a given string ables or signals. Sometimes written "XOR".
168
execution time
The truth table for 0 & XOR is as follows: execute to perform the execution of an in-
struction. In most cases, this means to begin se-
X Y X@Y quencing through the microinstruction program
F F F corresponding to the macroinstruction to be ex-
F T T ecuted.
T F T
T T F. execute permission grants or denies the as-
sociated class of users the right to execute a pro-
gram file or to use a directory in a path name.
exclusive reads and exclusive writes (EREW)
shared memory model, in which only exclusive execution the activity of carrying out instruc-
reads and exclusive writes are allowed. tions of a computer program on a processor.
executable another term for a binary exe-
execution cycle sequence of operations nec-
cutable program file. essary to execute an instruction.
executable file a representation of a program
execution profile a measurement of the pro-
that is in a form suitable for execution. This
portion of total execution time that is spent ex-
may be as a file of compiled and linked machine
ecuting code within each subsystem or module
code modules, as a sequence of byte codes, and
of a software item.
in some cases as simple text files such as shell
scripts. Sometimes referred to, when the repre-
sentation suggests it, as a binary executable or execution semantics those rules of semantic
binary., analysis which cannot be applied until the pro-
gram executes. Typical examples of execution
executable lines of code the total number semantics include type checking, null pointer
lines of code executed by the computer in the detection, array bounds checking, and arithme-
completion of a software function. This dif- tic overflow detection.
fers from the total number of source lines of
code (SLOC) as the number of ELOC takes into execution sequence the order in which the
account the number of executions of software statements or other executable entities of a pro-
lines of code contained within loops (for exam- gram are executed. Some languages, partic-
ple). Hence, the number of ELOC is generally ularly domain-specific languages such as sys-
not less than or equal to SLOC, and potentially tems of constraint equations, spreadsheet lan-
much greater than SLOC, depending on the size guages, event code in discrete event simulation
and quantity of loop contained within the soft- languages, and the like may have no specified
ware function. ELOC is used typically in the execution sequence, while other languages, such
modeling of CPU time, as a more direct relation as machine code, may have very rigid and care-
exists between the ELOC and the number of ma- fully specified execution sequences.
chine instructions per executed line of code.
execution strategy a strategy for executing
executable specification a specification a query. This comprises an ordering of the op-
method that produces a model of the system that erations with possible parallelism of operations.
can be executed by an abstract machine. The Often specifies algorithms for execution of in-
behavior of the system can be checked by us- dividual components.
ing: simulation to see if the system responds
correctly to the external inputs; model check- execution time (1) amount of time it takes
ing to see if a property (generally expressed us- a computation to complete, from beginning to
ing a temporal logic) is satisfied by the system; end. The measure chosen will depend on the
bi-simulation to see if the system has the same type of system. Generally, it will not be equiv-
behavior of a more abstract model. alent to real time. Possible measures are pro-
169
execution trace
cessor time consumed, number of instructions (2) an operation in a program, whether part
executed, etc. of the language specification or provided as a
(2) time during which an instruction or a pro- library call, that terminates execution of the pro-
gram is executed. The portion of one machine gram.
cycle needed by a CPU's supervisory-control
unit to execute an instruction. exoskeletal master master controller that the
user in some way wears around the limbs or
execution trace a record reporting informa- body, or which is fastened to the body rather
tion about the execution of a program. It may than simply grasped.
include details about the execution of each sin-
gle instruction as well as only some details about expandability See extensibility.
specific aspects.
expanded memory a term pertaining to older
execution unit in modern CPU implemen- PC-based systems. Expanded memory specifi-
tations, the module in which actual instruction cation, EMS, was developed for adding mem-
execution takes place. There may be a num- ory to PCs (the so called LIM-EMS). PCs were
ber of execution units of different types within a limited in memory to 640 Kbytes even if the
single CPU, including integer processing units, 8088/8086 CPU's limit is 1 Mbyte. Thus, in or-
floating point processing units, load/store units, der to overcome this limit, the additional mem-
and branch processing units. ory was added by using a paging mechanism:
up to four windows of 16 Kbytes of memory
executive a computer program, usually part included into the 640 Kbytes to see up to 8
of an operating system, that controls the execu- Mbytes of memory divided into pages of 16
tion of other programs and regulates work flow. Kbytes. To this end, special memory boards
were built. Currently, the MS-DOS is still lim-
exhaustive search a search strategy that ited to 640 Kbytes, but the new microprocessors
systematically examines every possible path can address even several gigabytes over the first
through a decision tree or network. For example, megabyte. Thus, to maintain the compatibility
for the maximum-likelihood (exhaustive search) with the previous version and the adoption of the
detection of a sequence of & bits, all 2k possible MS-DOS, the presence of expanded memory is
bit sequences are considered and the one with simulated by means of specific drivers.
the largest likelihood is selected. Also called
brute force search. expanding phase See growing phase.
existential quantification a first order logic expected value of a random variable en-
operator used to quantify a variable over a finite semble average value of a random variable that
or infinite set. It is used to state that a formula is given by integrating the random variable af-
is true for one or more values of a variable. It is ter scaling by its probability density function
usually represented with 3. See universal quan- (weighted average) over the entire range.
tification.
expert system a computer program that con-
exit (1) a construct in a language which trans- tains a knowledge base and a set of algorithms
fers control from the current context to some or rules that infer new facts from knowledge and
enclosing context. Sometimes this is the equiv- from incoming data. An expert system is an arti-
alent of a return from a function. More often, it ficial intelligence application that uses a knowl-
is a specification to terminate a loop under con- edge base of human expertise to aid in solving
ditions other than those specified by the loop problems. The degree of problem solving is
construct, or to leave a block of code by trans- based on the quality of the data and rules ob-
ferring control to the end of the block (a limited tained from the human expert. Expert systems
form of goto). are designed to perform at a human expert level.
170
exponential
In practice, they will perform both well below neighborhood of the current point using a de-
and well above that of an individual expert. terministic procedure. In this way, informa-
The expert system derives its answers by run- tion regarding the local topology of the fitness
ning the knowledge base through an inference landscape can be incorporated to determine the
engine, a software program that interacts with search direction for maximum cost reduction.
the user and processes the results from the rules Compared with exploration techniques, this ap-
and data in the knowledge base. Expert sys- proach usually achieves fast convergence at the
tems are used in applications such as medical expense of possible termination at local minima.
diagnosis; equipment repair; investment anal- As a result, this technique is usually adopted
ysis; financial, estate, and insurance planning; in the final stages of the optimization process
route scheduling for delivery vehicles; contract to further refine the search after the location
bidding; counseling for self-service customers; of promising regions by a previous exploration
and production control and training. step. See also exploration.
171
exponential back-off
exposure time the length of time for which extended industry standard architecture
a hazard exists before being detected and cor- (EISA) a bus architecture designed for PCs
rected or avoided, or neutralized by a change in using an Intel 80386, 80486, or Pentium mi-
environmental conditions. The longer the expo- croprocessor. EISA buses are 32 bits wide and
sure time, the more likely a hazard is to lead to support multiprocessing. The EISA bus was
a mishap. It is generally measured by real time, designed by IBM competitors to compete with
since it depends on conditions in the real world. Micro Channel architecture (MCA). EISA and
172
external description
MCA are not compatible with each other, the in its behavioral specification/operational and/or
principal difference between EISA and MCA is structural capabilities.
that EISA is backward compatible with the ISA
bus (also called the AT bus), while MCA is not. extension a part of the file name, usually
Therefore, computers with an EISA bus can use following a period, that assigns the file to a par-
new EISA expansion cards as well as old AT ex- ticular category.
pansion cards, while computers with an MCA
bus can use only MCA expansion cards. extension language a language that can be
used to extend an existing system, commonly
extended light source a light source with an application program. An extension language
surface area which will cast shadows with both may be an existing language or one constructed
umbra and penumbra and thus is more difficult for that purpose. Examples of extension lan-
to model than a point source. guages are Tel and Visual Basic for Applica-
tions. Compare with language extension.
extended memory in PCs, the memory lo-
cated over the first megabyte of memory. This extension principle a basic identity for ex-
kind of memory is seen in the PC as continu- tending the domain of nonfuzzy or crisp rela-
ous. Operating systems such as Windows NT, tions to their fuzzy counterparts.
LINUX, and OS/2 are capable of working in
protected mode, and thus at 32 bits. When the extent (1) the lifetime of a value or object
MS-DOS is adopted, to allow the exploitation in a system. May or may not follow the scope
of this memory as EMS, special software drivers of the name defining the value. In systems with
have to be used. This overcomes the limit of 640 dynamic allocation of objects, the extent of an
Kbytes imposed by the real-mode and adopted object is its lifetime until it is deallocated or
by MS-DOS. garbage collected.
(2) an unordered collection of references
extended precision a floating point value to the instances of a type or a class. In an
which has more than 64 bits of representation. OODBMS, the extent must be explicitly main-
In IEEE floating point, an extended precision tained by the database.
number has 80 bits of representation.
external attribute an attribute of a system
which characterizes its interaction with the en-
extended state machine (ESM) an extension
vironment. External attributes are those that
of finite state machine with a richer representa-
most directly concern users. Certain internal at-
tion of states. Generally these are introduced
tributes may be indicators of external attributes,
variables that can be manipulated in transitions,
although not identical to them.
i.e., if event e occurs, variable count is incre-
mented.
external containment a class is subject to
external containment each time the data mem-
extended storage See solid state disk. bers are referenced by pointer or reference and,
therefore, are stored externally.
extendible hashing a technique that allows
hashing to a dynamic file. The binary represen- external declaration a construct in many
tation of the hash field is used to hash files to the programming languages which permits, or re-
correct disk block. On collision, the file is dou- quires, the programmer to declare a name and
bled in size and contents redistributed according (usually) its associated properties.
to the next significant bit. A lookup table is cre-
ated as the file expands. external description the specification of the
system or of a subpart of it that describes how
extensibility the capacity of a system, com- the part interacts with the other parts of the sys-
ponent, or class to be readily and safely extended tem and witn the environment. Only elements
173
external event
that are visible from the outside such as inputs nal attribute can only be measured by observ-
and outputs can be referred to in the external ing the system in operation. The system in-
description. See external input, external output, cludes any associated hardware, software (either
external interface. custom software or off-the-shelf software), and
users. The number of faults found during testing
external event event occurring outside the is an external measure of the number of faults
CPU and I/O modules of a computer system that in the program because the number of faults are
results in a CPU interrupt. Examples include counted during the operation of a computer sys-
power fail interrupts, interval timer interrupts, tem. External measures can be used to evaluate
and operator intervention interrupts. quality attributes closer to the ultimate objec-
tives of the design.
external failure an undesirable event in the
environment which adversely affects the opera- external memory secondary memory of a
tion of an item. computer.
174
eye tracking
extremal some of the entries of the auxiliary eye tracker device used to sense and record
array used to perform string searching. An en- the aiming point of the eye.
try is d-extremal if it is the deepest entry on its
diagonal to be given value d. eye tracking the use of an eye tracker.
175
failure
F
propriate locations to reduce cohesion among
modules.
facsimile encoding a bilevel coding method fail safe a mechanism in which, following
applied to the encoding and transmission of doc- detection of a hazardous state, a mishap can be
uments. Facsimile systems may include support avoided despite a possible loss of service. The
for grayscale image coding too, which is de- possibility of designing an item to "fail safe"
scribed under still image coding. obviously depends on its having a safe mode of
failure. A train running along the tracks has a
fact a statement that an atomic formula holds. (generally) safe mode of failure (i.e., stop). An
As an example, if "father" is a rule, then father airliner flying at 30,000 feet does not!
(adam, abel) is a fact.
fail soft the condition of a system that contin-
factor (1) in many programming languages, ues to provide main functionalities even in the
this refers to an expression with an infix operator presence of some failure. For example, when a
where the operator represents a multiplication, computer system presents some problems with
division, or similar operation such as modulo or the color of the screen, it may continue to per-
integer divide. form computation and interact with the user with
(2) for a string v, a string u if u = u'vu" for the available pallet of colors.
some strings u1 and u".
fail-stop processor a processor which does
factorial for an integer n, written n\, it is not perform incorrect computation in the event
n x w — I x . . . x 2 x l . By definition 0! = 1. See of a fault. Self-checking logic is often used to
also gamma function, Stirling's approximation. approximate fail-stop processing.
factoring (1) the process of decomposition. failure the inability of a computer system to
See system decomposition. perform its functional requirements, or the de-
0-8493-2691-5/01/$0.00+$.50
<§> 2001 by CRC Press LLC 177
failure cause of a system
parture of software from its intended behavior failure semantics refers to the likely and/or
as specified in the requirements. Failure can allowable processor failure behaviors. Failure
also be considered to be the event when either semantics depend, to a great extent, on the er-
of these occurs, as distinguished from "fault" ror detection mechanisms implemented in the
which is a state. A failure is an event in time. A system.
failure may be due to a physical failure of a hard-
ware component, to activation of a latent design failure severity the seriousness of the effect
fault, or to an external failure. Following a fail- of a failure. This may be measured on an or-
ure, an item may recover and resume its required dinal scale (e.g., classification as major, minor,
service after a break, partially recover and con- or negligible) or on a ratio scale (e.g., cost of
tinue to provide some of its required functions recovery, length of down-time). This value may
(fail degraded), or it may remain down (com- also depend on the frequency of the error.
plete failure) until repaired.
fairness (1) the concept of providing equiv-
failure cause of a system the combination alent or near-equivalent access to a shared re-
of a fault and a trigger which activates it in order source for all requestors.
to initiate the failure mechanism. This applies (2) an attribute of a scheduler which is con-
to both design failures and physical failures, al- cerned with the divesting of processing resources
though in the latter case, for a simple item, the to competing jobs in a way that does not dis-
trigger may be trivial. The circumstances dur- criminate against any job based on its service
ing design, manufacture, or use which have led demands. There are several different criteria for
to a failure. fairness, e.g., equal share of resources, equal
blocking probability.
failure mechanism of a system the pro- (3) the degree to which a scheduling or allo-
cess of error propagation following a compo- cation policy is equitable and non-discriminatory
nent failure which leads to a system failure. The in granting requests among processes compet-
failure of a component results in a local error ing for access to limited system resources such
which means that its users (i.e., other compo- as memory, CPU, or network bandwidth.
nents) must cope with a fault (temporary or per-
manent) at that level. If unable to effect error falling edge (1) the region of a waveform
recovery, they themselves will fail, generating a when the wave goes from its high state to its
higher-level error. This process of "error-fault- low state.
failuie" will continue through all subsystem lev- (2) the high-to-low transition in voltage of a
els until a failure occurs at the system interface. time-varying digital signal.
This conceptual model of error propagation ap-
plies to both design and physical failures. fall time (1) in digital electronics, the period
of duration of the transition of a digital signal
failure mode the observed set of symptoms from a stable high voltage level to a stable low
by which a failure is recognized. The term is voltage level.
quite obsolete, and fault mode should be used. (2) in optics, the time interval for the falling
edge of an optical pulse to transition from 90
failure rate the number of failures of a speci- to 10% of the pulse amplitude. Alternatively,
fied category in a given period, in a given number values of 80 and 20% may be used.
of computer runs, or in some other given rate of
measure. The failure rate of a system or compo- false a value which represents the "false"
nent varies during its lifetime, at first decreasing value in two-valued logic. Programming lan-
as problems are detected and repaired and finally guages are, in the abstract, not constrained to a
increasing due to deterioration. Between these particular representation of the notion of "false"
two periods the rate usually remains steady. and traditional choices have been "the constant
0", "any even value", "the constant -1", or "any
failure ration See failure rate. negative value". Compare with true.
178
fault activation
false color the replacement of a color in a Named after its discoverer, R.M. Fano
colored image by a different color, usually not (1952-). Used in proving the weak converse to
present in the original image. Used to highlight the channel coding theorem (Shannon's second
regions or distinguish pixels of similar colors. theorem).
See also pseudocolor.
fan out (1) the blocking factor of a multi-
false coloring See pseudocolor. level index.
(2) in digital circuits, the number of output
false sharing the situation when more than stages connected to some circuit component or
one processor accesses different parts of the subsystem.
same line in their caches but not the same data
words within the line. This can cause significant far pointer in some languages, running on
performance degradation because cache coher- machines that have more than one representation
ence protocols consider the line as the smallest of amachine address, designates those addresses
unit to be transferred or invalidated. that can access a memory location beyond the
area which can be encoded in the shorter form
false start in speech processing, a type of of the address. Although commonly used in
dysfluency that occurs when a word or phrase the context of Microsoft Windows running on
is abruptly ended prior to being fully uttered, segmented-address Intel processors, the concept
and then verbally is replaced with an alternative predates that usage by at least 20 years. Com-
form. See also dysfluency. pare with near pointer.
family a set of systems/products sharing
fast Fourier transform (FFT) a fast version
some commonalties (equivalent to product line). of the discrete Fourier transform.
family design an architecture applicable to a
fast Hadamard transform a way of improv-
family of applications belonging to the domain.
ing compression using the Hadamard matrix via
Sometimes called the "generic architecture".
factorization.
fan beam reconstruction reconstruction of a
computed tomography image from projections father wavelet the scaling function in the
coarsest resolution in wavelet analysis.
created by a point source that emits a fan- or
wedge-shaped beam of radiation. Fan beam re-
construction enables data to be gathered much fathoming the process of pruning a search
more quickly than by using a linear beam to pro- tree.
duce parallel projections. See also computed
tomography, image reconstruction, projection, fault (1) in software engineering, the state
Radon transform. of an item characterized by inability to perform
a required function, excluding the inability dur-
Fano's algorithm a sequential decoding al- ing preventive maintenance or other planned ac-
gorithm for decoding of trellis codes. tions, or due to lack of external resources. A
fault is often the result of a failure of the item
Fano's inequality information theoretic in- itself, but may exist without prior failure.
equality bounding the probability of incorrectly (2) in hardware, a physical defect or imper-
guessing the value of one random variable based fection of hardware. Typical circuit faults are
on observation of another. If Pe is the proba- short opens in conductor, defects in silicon, etc.
bility of incorrectly guessing a random variable See disturbance.
X € X, based upon observation of the random
variable F, then fault activation the event in which a latent
fault gives rise to a failure in response to a trig-
H (Pe) + Pe log (\X - 1) > H(X\Y) . ger.
179
fault detection
fault masking a condition in which the oc- FDDI See fiber distributed data interface.
currence of a fault is masked.
FDT See formal description techniques.
fault mode an observable state of an item,
which can give rise to failure under certain op- feasibility study an evaluation of possible
erating conditions. strategies which might include do nothing, mod-
ify current system, build new software system,
fault prevention any technique or process or even build new manual system. The conclu-
that attempts to eliminate the possibility of hav- sion of this study should be a clear view about
ing a failure occur in a hardware device or soft- the feasibility of a project/system, in general.
ware routine. Thus, criticisms and other qualitative evaluation
are typically included.
fault recovery coverage factor the proba-
bility, given that an error has occurred, that the feasible solution any element of the feasible
system recovers from a specified type of failure. region of an optimization problem.
fault report an error report that does not orig- feature (1) in software engineering, an iden-
inate from the developers but from the users of tified property of a software product that can be
a software system. See also error report. related to the quality characteristics. Examples
of features include path length, modularity, pro-
fault resilient (1) a synonym for fault toler- gram structure, and comments. Used in object-
ance. oriented modeling as a collection of attributes
(2) as opposed to fault tolerance, the ability and operations (See class feature).
to recover from failures and prevent loss of data (2) in image processing, a measurable char-
by using undamaged members of a computing acteristic of an object in an image. Simple ex-
cluster, albeit with a loss of performance com- amples would be area, perimeter, and convexity.
pared to a cluster with no failed components. More complex features use vectors; examples
include moments, Fourier descriptors, projec-
fault secure a system that is capable of avoid- tions, and histogram-based features. Features
ing the production of failure in the presence of are frequently used to recognize classes of ob-
a set of failures. ject, and sets of simple features can be collected
into a vector for this purpose. Using both area
fault tolerance the capability of the software and perimeter, for instance, one can quickly dis-
product to maintain a specified level of perfor- tinguish between a circle and a triangle. May
mance in cases of software faults or of infringe- also refer to a characteristic of a whole image;
ment of its specified interface. The specified such a feature could then be used in image data-
level of performance may include fail safe ca- base analysis.
pability. Increasing fault tolerance usually in-
volves providing redundant components as well feature detection the detection of smaller
as back-up and recovery systems. Methods for features within an image with a view to infer-
error detection and correction must also be part ring the presence of objects. This type of pro-
of a fault tolerant system. cess is cognate to pattern recognition. Typically,
it is used to locate products ready for inspection
fault tree a method of analyzing a system or to locate faults during inspection. A feature
failure as a tree of AND and OR gates with leaf can be detected by finding points having opti-
inputs representing single events. mal response to a given combination of local
180
feedforward neural network
181
feet-per-second (FPS)
feet-per-second (FPS) a measure of the speed constant with the results stored in a regis-
of an animation which refers to the number of ter
feet (30.48 cm) of cinema film displayed in one
second. See also frames-per-second. 3. shift or rotate operations upon the data in
a register.
female connector a connector presenting re-
ceptacles for the insertion of the corresponding
fetching the process of reading instructions
male connector that presents pins.
from a stored program for execution.
fencepost error a particular kind of bound-
fetch-on-demand See fetch policy.
ary condition error caused by performing a com-
putation one fewer or one more time than the fetch-on-miss See fetch policy.
correct computation. For example, executing
a loop once too many or once too few times fetch policy policy to determine when a block
because the limit test was written as 'less than should be moved from one level of a hierarchical
or equal" instead of "less than'* or vice-versa. memory into the next level closer to the CPU.
Named after the error of "How many fenceposts, There are two main types of fetch policies:
10 feet apart, are required to create a fence 100 "fetch on miss" or "demand fetch policy" brings
feet long?", in which the correct answer is 11. in an object when the object is not found in the
top-level memory and is required; "prefetch" or
ferrite core memory See magnetic core
"anticipatory fetch policy" brings in an object
memory. before it is required, using the principle of lo-
cality. With a "fetch on miss" policy, the process
fetch-and-add instruction for a multipro-
requiring the objects must wait frequently when
cessor, an instruction which reads the content
the objects it requires are not in the top-level
of a shared memory location and then adds a
memory. A "prefetch" policy may minimize the
constant specified in the instruction, all in one
wait time, but it has the possibility of bringing
indivisible operation. Can be used to handle
in objects that are never going to be used. It
multiprocessor synchronizations.
can also replace useful objects in the top-level
memory with objects that are not going to be
fetch cycle the period of time during which
used. See also cache and virtual memory. The
an instruction is retrieved from memory and sent
to the CPU. This is the part of the fetch-decode- prefetching may bring data directly into the rel-
evant memory level, or it may bring it into an
execute cycle for all machine instruction.
intermediate buffer.
fetch-execute cycle the sequence of steps
FFT See fast Fourier transform.
that implement each instruction in a computer
instruction set. A particular instruction is exe-
fiber distributed data interface (FDDI) an
cuted by executing the steps of its specific fetch-
American National Standards Institute standard
execute cycle. The fetch part of the cycle re-
for a high-performance local area network, run-
trieves the instruction to be executed from mem-
ning at 100 Mbps over distances of up to 200
ory. The execution part of the cycle performs the
km and up to 1000 stations connected. Incorpo-
actual task specified by the instruction. Typi-
rates token ring processing and supports circuit-
cally, the steps in a fetch-execute cycle are made
switched voice and packetized data. For its phys-
up of various combinations of only three opera-
ical medium, it uses fiber optic cable, in a dual
tions:
counter-rotating ring architecture.
1. the movement of data between various
registers in the machine fiber optic cable a glass fiber cable that con-
ducts light signals and can be used in token ring
2. the addition of the contents of two reg- local area networks and metropolitan area net-
isters or the contents of a register plus a works. Fiber optics can provide higher data rates
182
fifth normal form (5NF)
than coaxial cable. Fiber optic cables are also age requirements. Four samples of the lumi-
immune to electrical interference. nance (Y) signal are combined with two samples
of the (R - Y) signal and two samples of the (B -
fiber optic interconnect interconnect that Y) signal. The preceding video sampling tech-
uses an optical fiber to connect a source to a de- nique is designated as 4:2:2 sampling and re-
tector. An optical fiber is used for implementing duces the field memory size by one-third. Field
a bus. The merits are large bandwidth and high memory for NTSC video sampled at 4 times
speed of propagation. the color subcarrier frequency at 8 bits/pixel
would require 3.822 Megabits of RAM when
Fibonacci sequence a sequence of numbers 4:2:2 sampling is used.
that begins with 0, 1, then proceeds by adding
the preceding two numbers in a sequence to get field-programmable gate array (FPGA) a
the next. programmable logic device which consists of
a matrix of programmable cells embedded in
Fibonnaci heap a heap made of a forest of a programmable routing mesh. The combined
trees. The amortized cost of the operations cre- programming of the cell functions and routing
ate, insert a value, decrease a value, find min- network defines the function of the device. Re-
imum, and merge or join (meld) two heaps is programmability of FPGAs makes them generic
a constant ©(1). The delete operation takes hardware and allows them to be reprogrammed
O(logn). See also priority queue. to serve many different applications. FPGAs
consist of SRAMS, gates, latches, and pro-
fidelity in synthetic environments and simu- grammable interconnects.
lation, the degree to which a computer-generated
world looks like (physical fidelity) and works field rendering in interlaced video, a single
like (functional fidelity) the real world it repre- image frame is sent as two fields composed of
sents. even scanlines and odd scanlines. Field render-
ing refers to a method of rendering where fields
field (1) in a composite object (for example, are rendered separately in order to reduce mo-
a record), a named member of the composite. tion artifacts.
(2) in abstract algebra, a set containing two
operators, each with an inverse, that map values FIFO See first-in-first-out.
in the set to values in the set. Real numbers are
a field. Floating point numbers are not. FIFO memory commonly known as a queue.
It is a structure where objects are taken out of the
field memory video memory required to structure in the order they were put in. Compare
store the number of picture elements for one this with a LIFO memory or stack. A FIFO
vertical scan (field) of video information of an is useful for buffering data in an asynchronous
interlaced scanned system. transmission where the sender and receiver are
The memory storage in bits is computed by not synchronized; the sender places data objects
multiplying the number of video samples made in the FIFO memory, while the receiver collects
per horizontal line times the number of hori- the objects from it.
zontal lines per field (vertical scan) times the
number of bits per sample. A sample consists fifth generation language (5GL) a program-
of the information necessary to reproduce the ming language chracterized by the underlying
color information. use of natural language processing, database sys-
Storage requirements can be minimized by tems, and expert systems.
sampling the color video information consisting
of the luminance (Y) and the two color differ- fifth normal form (5NF) a property used in
ence signals, (R - Y) and (B - Y). The color signal characterizing databases. A relation R is in fifth
bandwidth is less than the luminance bandwidth normal form with respect to an F (set of func-
that can be used to reduce the field memory stor- tional, multi-valued, and join dependencies) if
183
file
for every nontrivial join dependency *(J?i, /?2> filled Mandelbrot set aMandelbrot set where
... RN) € F"1", RI is a superkey of #. colors are not used.
file format the structure of the computer file filter (1) a computer program used to modify
in which an image is stored. Often the format the data submitted to its input and sending it to
consists of a fixed-size header followed by the the output.
pixel values written from the top to the bottom
(2) an optical device that selectively attenu-
row and within a row from the left to the right
ates the intensity of light passing through it ac-
column. However, it is also common to com-
cording to the light's properties. Common filters
press the image. See also graphics interchange
attenuate light according to either wavelength or
format, header, image compression, tagged im-
polarization state.
age file format (TIFF).
(3) an electronic device that modifies some
file handle See file descriptor. characteristic of an input signal for conditioning
or other purposes. See high-pass filter, low-pass
filter, bandpass filter.
file name a sequence of characters that identi-
fies a file, that is, the name portion of a directory
entry (link). filtering the process of eliminating object,
signal, or image components which do not match
file name generation a method of referring up to some pre-specified criterion, as in the case
to files and directories using representative text of removing specific types of noise from signals.
patterns instead of literal file names. More generally, the application of an operator
(typically a linear convolution) to a signal.
file protection a mechanism to prevent unau-
thorized file use by setting rights to read, write, final query tree the query tree following the
and execute. application of the heuristic optimization rules.
file system a means of storing, organizing, final state in an automaton, a final state is a
and accessing files in a computer system. state which designates that the input stream has
been recognized. Synonym for accepting state.
file transfer protocol (ftp) a client-server
protocol which allows a user on one computer to final test electrical test performed after as-
transfer files to and from another computer over sembly to separate "good" devices from "bad".
a TCP/IP network. Also the client program the
user executes to transfer files. fine-adjusting movement in a target acquisi-
tion movement, high-bandwidth, low-amplitude
fill a technique for coloring areas bounded sub-movement used to make final trajectory cor-
by line edges. The algorithms that fill interior- rections.
defined regions (the largest connected region of
pixels whose values are the same as a given start- fine grained transaction a transaction that
ing pixel) are called flood fill algorithms. performs a small number of updates.
184
first-come-first-served (FCFS)
finger (1) in robotics, by analogy the most finite state VQ (FSVQ) a vector quantizer
distal part of a gripper, which makes contact with with memory. FSVQs form a subset of the gen-
grasped objects and applies grasping forces. eral class of recursive vector quantization. The
(2) a Unix shell command. next state is determined by the current state Sn
together with the previous channel symbol un
finitary tree a tree with a finite number of by some mapping function.
children at every node.
SB+i = /(«„,$„),n = 0,1,...
finite automaton Seefinitestate machine. Ms also obeys the minimum distortion property
finite difference equation a recursive equa- a(x, s) = min ld(x, fi(u9 s))
tion that describes a function at time t in terms
of the function at previous time samples t - 1, with afinitestate S = [«i, «a,..., a*, such that
the state £„ can only take on values in S. The
t — 2, and so on.
states can be called by names in generality.
finite-extent sequence the discrete-time sig-
finite type a data type whose value set is fi-
nals with finite duration. The finite-extent se-
nite; for example, Boolean values, enumeration
quence (x(ri)} is zero for all values of n outside
sets, character values. Note that types such as
a finite interval.
integer values and floating point values are con-
sidered infinite types, even though on any spe-
finite state automaton (FSA) See finite state
cific machine and specific compiler the available
machine.
values might be enumerable and hence finite.
finite state machine (FSM) a mathematical
fire wall an electronic barrier restricting com-
model that is characterized by a mapping func-
munications between two parts of a network.
tion from state, input symbol to a new next state.
If the mapping is always to a unique next state,
firm deadline a deadline that can be sporad-
the automaton is designated as a deterministic
ically missed without severe consequences.
finite state automaton (DFSA). If the mapping
is to two or more next states, the automaton is firm real-time system a real-time system
designated as a nondeterministic finite state au- which can fail to meet one or more deadlines
tomaton (NDFSA). If a qualifier specifying de- without system failure. Compare with soft real-
terminism is not specified, generally a determin- time system, hard real-time system.
istic FSA is intended. A FSM describes many
different concepts in communications such as firmware the combination of a hardware de-
convolutional coding/decoding, CPM modula- vice and computer instructions or computer data
tion, ISI channels, CDMA transmission, shift- that reside as read-only software on the hard-
register sequence generation, data transmission, ware device. The firmware is typically executed
and computer protocols. at the computer boot and used by the operat-
More formally, a finite state machine can be ing systems for configuring and using computer
uniquely defined by a set of possible states, 5, an hardware components.
output function, y = /(jc, 5C), and a transition
function, Sn = g(x, Sc). An FSM is computa- first-class object an object that can be stored
tionally equivalent to a regular expression or a in data structures, passed as arguments, and re-
IVpe 3 grammar in the Chomsky hierarchy and turned as the result of function calls. In func-
also to a restricted Turing machine where the tional languages, functions are first-class ob-
head is read-only and shifts only from left to jects.
right.
Also known as finite state automata (FSA), first-come-first-served (FCFS) (1) a queue-
finite machine, state machine. See also state ing discipline in which customers are serviced
transition diagram. in the order in which they arrive.
185
first difference
(2) a scheduling strategy that relies on pro- using a linear approximation given by
cessing program units in the order of arrival,
without preemption. See also last-in-first- x(t) = x(kTs)
served. t — kT
+ -^
*s
(x ((* + »r,) - x (*7i)).
first difference for a sequence (x(n)} the
sequence obtained by simply subtracting its (n—
l)th element from its nth element, i.e., first-order logic logic in which predicates
may have arguments and formulas may be quan-
y(n) = x(n) - x(n - 1) . tified.
186
fixed resolution hierarchy
Pitts' task a simple tapping task developed fixed-point processor a processor capable of
for study of Pitts' Law and also sometimes used operating on scaled integer and fractional data
to characterize telemanipulator performance. values.
fixed cost a cost that is always in place for fixed-point register a digital storage element
a software project. For instance, requirements used to manipulate data in a fixed-point repre-
always need to be developed. The concept of sentation system whereby each bit indicates an
a fixed cost is important because some vendors unsealed or unshifted binary value. Common
of CASE tools or methodology claim enormous encoding schemes utilized in fixed-point reg-
productivity improvements. Many of the issues isters include unsigned binary, sign-magnitude,
have fixed prices, such as writing documenta- and binary coded decimal representations.
tion. The vendors often do not take the fixed
costs into account and come up with overrated fixed-point representation (1) a number rep-
improvements by using their language or tool. resentation in which the radix point is assumed
to be located in a fixed position, yielding either
fixed-gap head See disk head. an integer or a fraction as the interpretation of
the internal machine representation. Contrast
fixed-grid method the process of space de- with floating-point representation.
composition into rectangular cells by overlaying (2) a method of representing numbers as in-
a grid on the space. If the cells are congruent tegers with an understood slope and origin. To
(i.e., of the same width, height, etc.), then the convert a fixed-point representation to its value,
grid is said to be uniform. multiply the representation by the slope (called
the DELTA in Ada) and add the origin value.
fixed-head disk a disk in which one read/ Fixed-point representation provides fast com-
write head unit is placed at every track position. putations for data items that can be adequately
This eliminates the need for positioning the head represented by this method.
radially over the correct track, thus eliminating
the "seek" delay time. Rarely used today be- fixed point unit an execution unit within a
cause modern disks consist of hundreds of tracks CPU processor that is responsible for all integer
per disk surface, making it economically infea- arithmetic instruction computations.
sible to place a head unit at every track.
fixed priority system a preemptive prior-
fixed length field the size of the field is of a ity system where the task priorities cannot be
defined length. changed once the system is implemented. Com-
pare with dynamic priority system.
fixed-length instruction the machine lan-
guage instructions for a computer all have the fixed-radix number system a number sys-
same number of bits. tem in which only a single radix is employed.
fixed partitioning a form of static parallel fixed rate system a software system where
job scheduling in which the partition size allo- interrupts occur only at fixed frequencies.
cated to a job is determined at system generation
time and can only be changed by restarting the fixed resolution hierarchy an image pro-
system. cessing scheme in which the original and recon-
structed image are of the same size. Pixel values
fixed-point number system a number- are refined as one moves from level to level. This
representation system in which the position of is primarily used for progressive transmission.
the radix (base) point is fixed for all represen- Tree-structured VQ and transform-based hier-
tations. Usually used to represent integers and archical coding are two of the fixed resolution
significands of floating-point numbers. hierarchies.
187
fixup
fixup a program is combined with other mod- flat erosion See moving minimum.
ules (linking) or placed into memory for execu-
tion (loading). See also relocatable. flat execution profile with respect to an ex-
ecutable program, the amount of time required
flag (1) a bit used to set or reset some con- by and the number of calls to a particular proce-
dition or state in assembly language or machine dure.
language; for instance, the inheritance flag or
the interrupt flag. As an example, each mask- flat file (1) typically, a file saved in ASCII
able interrupt is enabled and disabled by a local text format. Such files are normally read using
mask bit. An interrupt is enabled when its lo- standard input and output class structures avail-
cal mask bit is set. When an interrupts trigger able in all common programming languages.
event occurs, the processor sets the interrupt's (2) a file that does not contain any relational
flag bit. information of references within it. Examples
(2) a variable that is set to a prescribed state, are text files and pictures. For instance, ISAM
often "true" or "false", based on the results of a (Indexed Sequential Access Method) are flat
process or the occurrence of a specified condi- files for database access.
tion. Same as indicator.
flat panel display a very thin display screen
flag register (1) a register that holds a special used in portable computers. Nearly all mod-
type of flag. ern flat-panel displays use liquid crystal display
technologies. Most LCD screens are backlit to
(2) a CPU register that holds the control and
make them easier to read in bright environments.
status bits for the processor. Typically, bits in the
flag register indicate whether a numeric carry or
flat shading shading a polygonal patch with
overflow has occurred, as well as the masking
a single color and intensity. The shade cho-
of interrupts and other exception conditions.
sen is a function of a variety of factors, such
as light source position, viewer position, and
flash EEPROM See flash memory.
surface normal, according to the shading model
used. A single shade is how the patch would
flash memory a family of single-transistor appear if the surface is genuinely planar, rather
cell EPPROMs. Cell sizes are about half that than just being approximated by polygons, and
of a two-transistor EEPROM, an important eco- if several viewing environment conditions hold
nomic consideration. Bulk erasure of a large (distant viewer and light source).
portion of the memory array is required.
The mechanism for erasing the memory is Fletcher-Powell algorithm an iterative algo-
easier and faster than that needed for EEPROM. rithm of Fletcher and Powell (1963) for finding
This allowed their adoption for making memory a local minimum of the approximation error. In
banks on PCMCIA for replacing hard disks into its original form, the Fletcher- Powell algorithm
portable computers. Recently it has been used performs an unconstrained minimization.
also for storing BIOS on PC main boards. In
this way, the upgrading of BIOS can be made flexibility the degree of facility with which a
by software without opening the computer by system or component can be modified or adapted
non-specifically skilled people. to work in different conditions with respect to
those for which it has been developed.
flat address a continuous address specifica-
tion by means of a unique number. Operating flexible manufacturing system (FMS) See
systems such as Windows NT, OS/2, and Mac advanced manufacturing system.
OS use such a type of address. MS-DOS adopts
the real-mode that adopts a segmented memory. flicker fusion the perception by the human
visual system of rapidly varying lights (flicker)
flat dilation See moving maximum. as being steady (fused). Flicker fusion is why
188
floor plan sizing
fluorescent lights and scenes in movies and tele- For example, C allows a suffix "F' or "f' to
vision appear to have constant illumination. mean single-precision floating point (9999.7F)
and "L" or "1" to mean extended precision float-
flicker fusion frequency the frequency at ing point (9999.7L).
which the human visual system resolves a flick-
ering light as a single, continuous light; varies floating-point number system the computer-
with luminance but is about 60 Hz for typical equivalent of standard scientific notation. A
interior lighting conditions. See contrast sensi- number is represented as s x re, where e is a
tivity function. signed integer known as the exponent, r is an
i unsigned integer known as the base or radix,
flight simulator a simulator of aircraft oper- and s is a signed fixed-point number known as
ations. the significant r is usually fixed for a given
computer. Nowadays most computers use the
flip-flop any of several related bistable IEEE-754 standard for floating-point arithme-
circuits which form the memory elements in tic.
clocked, sequential circuits. They are analogous
to toggle switches or latching relays. floating-point operations per second (FLOP)
In an "edge-triggered" flip/flop, information a measure of processing speed, as in megaFLOPs
is stored in the device at the transition (posi- or gigaFLOPs.
tive or negative) of a clock-signal. A flip/flop
is typically constructed using two "latches" in floating-point register a register that holds
series. The first one (the "master") opens and a value that is interpreted as being in floating-
closes by one clock-phase, and the second (the point format.
"slave") opens and closes using another (non-
overlapping) phase. A flip/flop may be imple- floating-point representation See floating-
mented using a static or dynamic logic style. point.
In the latter case, the size is only half of the
static version, but the information is lost (due to
floating-point unit an execution unit within
leakage) after some time, needing "refresh" (or
a CPU processor that is usually responsible for
storing new data) for proper operation.
all floating-point arithmetic instruction compu-
tations.
tniop-gnitaolf an approximate representa-
tion of a numeric value as an exponent e and
mantissa m such that the actual value is m x M, flock of birds a sensor based on pulsed mag-
where b is the exponent radix. Since the rep- netic fields that provides the position and orien-
resentation is in binary, and of fixed precision, tation of a sensor, or many sensors, with respect
it is not precise. Most programming languages to a fixed reference frame. Made by Ascension
Technologies.
support computations using floating-point num-
bers. See also scaled integer arithmetic, IEEE
floating point. flood fill See fill
floating-point constant a value that is writ- floor plan an approximate layout of a cir-
ten in a program to indicate a floating-point cuit that is made before the layouts of the com-
value. Most languages have adopted the FOR- ponents composing the circuit have been com-
TRAN representation of scientific notation, of pletely determined.
a decimal number followed by the letter E
followed by a signed exponent; for example, floor planning designing a floor plan.
the value 9999.7 can be written as 9999.7,
999.97E1, 99.997E2, or 9.9997E3. Some lan- floor plan sizing given a floor plan and a
guages allow a specification of the precision set of components, each with a shape function,
of the representation as part of the constant. finding an assignment of specific shapes to the
189
FLOP
components so that the area of the layout is min- generally involving feedback from the receiver
imized. to the sender about the receiver's ability to re-
ceive more packets.
FLOP See floating-point operations per sec-
ond. flow dependency See true data dependency.
floppy disk a flexible plastic disk coated flow diagram See flow chart.
with magnetic material. Enclosed in a cardboard
jacket having an opening where the read/write flow equivalent service center a single ser-
head comes into contact with the diskette. A vice center in a queueing network that replaces
hole in the center of the floppy allows a spindle an aggregate subsystem. It behaves exactly like
mechanism in the disk drive to position and ro- the aggregate in terms of both the average and
tate the diskette. A floppy disk is a smaller, sim- the distribution of the interdeparture times from
pler, and cheaper form of disk storage media, the aggregate.
and is also easily removed for transportation.
flow graph a representation of a program,
flow analysis that aspect of the compilation
most commonly used as an internal representa-
process that constructs a graph representing con-
tion within a compiler, in which the nodes of the
trol flow in a program. Each node of the graph
graph represent computations executed without
represents a sequence of computations, called a
control transfers (basic blocks), and the arcs or
basic block, and each arc of the graph represents
edges of the graph represent potential control
a potential control transfer from one basic block
paths connecting the basic blocks.
to another.
flow chart a traditional graphic represen- flow of control See control flow.
tation of an algorithm or a program, in using
named functional blocks (rectangles), decision Floyd-Warshall algorithm an algorithm to
evaluators (diamonds), and I/O symbols (paper, solve the all pairs shortest path problem in a di-
disk) interconnected by directional arrows which rected graph by multiplying an adjacency-matrix
indicate the flow of processing. Synonymous representation of the graph multiple times.
with flow diagram. See also block diagram, box
diagram, bubble chart. fluff-word See stop-word.
190
++force reflection
Classific ation for Computer Architec tures
Single-Data Stream Multiple-Data Stream
Systolic processors
Single-instruction stream RISC Wavefront processors
Vector processors
Multiple-instruction stream Pipelined architectures Dataflow processors
Very long instruction word processors Transputers
flushing-to-zero See sudden underflow. be seen clearly are removed to speed up the ren-
dering of a scene.
flying head disk a disk storage device which
uses a read/write head unit "flying" over (i.e., FOH See first order hold.
very closely above) the disk surface on a thin air
bearing. Used in "Winchester" disks (a sealed FOL See first order logic.
"hard disk"). This is in contrast to floppy disks,
where the head unit is actually in physical con- folding a type of hash function where an
tact with the disk when reading or writing. See arithmetic or logical function is applied to the
also disk head. hash field value (or part of it) to calculate the
hash address.
Flynn's taxonomy a classification sys-
tem that organizes computer processor types forbidden error the occurrence of one of a
as either single-instruction stream or multiple- predetermined class of execution errors; typi-
instruction stream and either single-data stream cally the improper application of an operation
or multiple-data stream. The four resultant types to a value such as "not (3)".
of computer processors are known as SISD,
MISD, SIMD, and MIMD (see table). Due to force-1 rounding See jamming.
Michael J. Flynn (1966).
force control robotic manipulator control
focal point point in space at which the eyes strategy based on regulating the interaction force
are aimed (converged) and focused. between the manipulator and the environment.
focus of control typically of the applications forced error a human error that is the result
based on a windowing system. For a window of system demands exceeding human response
to have the focus means that the corresponding capabilities.
application is capable of receiving input from
the keyword. The process is not practical in forced flow law the average number of times
foreground. a device in a queuing network is visited per unit
time is equal to the product of the average num-
focus of expansion the point in an image ber of visits to the device made by a job and
from which feature points appear to be diverging system throughput.
when the camera is moving forward or objects
are moving towards the camera. force distribution feedback display of the
pattern of forces or torque acting on a remote
fogging The blending of a color, often light manipulator.
gray, with parts of an image such that the farther
objects become increasingly obscured. (See at- force feedback display of force or torque
mosphere effect.) In other words, the contrast acting on the remote part of a teleoperator.
between the fog color and objects in the image
becomes lower the deeper an object appears in force reflection proportional force feedback
the scene. Fogging may be used to provide a display using the controller to push against the
back-clipping plane where objects too distant to user.
191
force-reflective teiemanlpulation
192
forwarding
which can serve as a framework or adjunct FORTRAN acronym for FORmula TRANs-
for human engineering and design skills lator. A language first defined by John Backus
and experience et al. in 1956, used primarily for scientific com-
putations.
2. a well-founded logical inference system
in which formal verification proofs and forward-backward procedure an efficient
proofs of other properties can be formu- algorithm for computing the probability of an
lated observation sequence from a hidden Markov
model.
3. a methodological framework within which
software may be developed from the spec- forward chaining style of reasoning in de-
ification in a formally verifiable manner. ductive databases, which infers the head of a rule
Formal methods can be operational, de- if the body of the rule has already been inferred.
notational, or dual (hybrid). Also called bottom-up reasoning.
See also formal verification, model checking.
forward declaration a syntactic construct
that allows an entity to be made known to the
formal model a model at the basis of a formal
compiler before it is actually encountered in the,
method.
source. For example, if function A calls func-
tion B, but function A precedes function B lex-
formal parameter variables used for passing
icographically in the source, function A is said
data to a software module by calling a procedure
to have a forward reference to function B. A
or function. See parameter.
forward declaration of B must precede the def-
inition of function A. In some cases, such as
formal specification a specification given by
mutual recursion, it is impossible to produce an
using a formal language and model.
ordering of declarations and use of functions that
would avoid the need for a forward declaration.
formal technical review a structured meet-
ing conducted by software engineering with the
intent of uncovering errors in some deliverable forward engineering the traditional process
or other software product. of moving from high-level abstractions and log-
ical implementation-independent designs to the
formal verification establishing properties physical implementation of a system.
of hardware or software designs using logic,
rather than (just) testing or informal arguments. forward error correction (FEC) an error
This involves formal specification of the require- control system used for simplex channels (only
ment, formal modeling of the implementation, a forward channel) where the channel code is
and precise rules of inference to prove, say, that used to determine the most likely transmitted se-
the implementation satisfies the specification. quence of information symbols. Compare with
See also model checking, temporal logic, for- automatic repeat request.
mal method.
forward error recovery one of several soft-
format (1) in FORTRAN, the FORMAT ware dynamic redundancy techniques that at-
statement specifies how to transform external tempts to continue operation with the current
(textual) values to internal (binary) values, and system state even though it may be faulty. Also
internal values to external values. called roll-forward, forward error recovery is
(2) generally, to convert an internal represen- highly application dependent.
tation to an external representation.
forwarding (1) sending a just-computed
FORTH a stack-oriented interpretive lan- value to potential consumers directly, without
guage with polymorphic operators. requiring a write followed by a read.
193
forward kinematics
(2) to immediately provide the result of the The inverse Fourier transform of a signal is
previous instruction to the current instruction, given by
at the same time that the result is written to the
register file. Also called bypass.
f(t) = T- / F(a>)e'Mda>
"* J-oo
forward kinematics identification of Carte-
sian task coordinates given robot joint configu- See also optical Fourier transform, two-
ration. dimensional Fourier transform.
forward recovery See forward error recov- fourth generation language (4GL) an appli-
ery. cation specific language. The term was invented
to refer to non-procedural high level languages
forward reference a reference in a program built around database systems. The first three
to an entity that has not yet been defined at the generations were developed fairly quickly, but
time the reference is made. For example, if it was still frustrating, slow, and error prone to
function A precedes function B, but function program computers, leading to the first "pro-
A calls function £, the reference to function B gramming crisis", in which the amount of work
is a forward reference if function B has not al- that might be assigned to programmers greatly
ready been defined. Note that some languages exceeded the amount of programmer time avail-
do not permit this. Such languages must make able to do it. Meanwhile, a lot of experience
provisions for having a forward declaration. was gathered in certain areas, and it became
clear that certain applications could be general-
fountain life-cycle a visualization of the life- ized by adding limited programming languages
cycle which exhibits parallel, iterative, and in- to them. Thus were born report-generator lan-
cremental features. It was originally proposed in guages, which were fed a description of the data
1990 as a good description for what is observed format and the report to generate and turned
to occur in object-oriented developments. that into a COBOL (or other language) program
which actually contained the commands to read
four connected See pixel adjacency. and process the data and place the results on
. the page. Some other successful 4th-generation
Fourier transform a linear mathematical
languages are: database query languages, e.g.,
transform from the domain of time or space
SQL; Focus, Metafont, PostScript, RPG-II, S,
functions to the frequency domain. The discrete
IDL-PV/WAVE, Gauss, Mathematica and data-
version of the transform (DFT) can be imple-
stream languages such as AVS, APE, Iris Ex-
mented with a particularly efficient algorithm
plorer.
(fast Fourier transform or FFT). The discrete
Fourier transform of a digital image represents
fourth normal form (4NF) a concept used
the image as a linear combination of complex
in characterizing databases. A relation R is in
exponentials.
fourth normal form with respect to a set of func-
The Fourier transform of a continuous time
tional dependencies FD9 if for every nontrivial
period signal f(t) is given by
multi-valued dependency X -> Y e F4*, X is a
oo superkey for R.
f(t)e~ja*dt, -oo «w < oo .
/ -00
four-way interleaved splitting a resource
If the signal f(t) is absolutely integrable and is
into four separate units that may be accessed
well behaved, then its Fourier transform exists.
in parallel for the same request (usually in the
For example, the rectangular pulse signal
context of memory banks).
/<o-{'•-**'<*
Jw
I 0, otherwise fovea region at the center of the retina where
cone cells are most densely concentrated and
has Fourier transform F(w) = § sin ^-. which is the functional center of human vision.
194
frame
195
frame buffer
In video, a frame represents a single complete samples made per horizontal line, times the
scan of die image; it often consists of two in- number of horizontal lines per field (vertical
terlaced fields. The standard frame rate for TV scan), times the number of bits per sample, times
standards is 25 frames/s (European standards, the number of fields per frame. A sample con-
e.g., PAL and SECAM) or 30 frames/s (U.S. sists of the information necessary to reproduce
and Japanese standards, e.g., NTSC). the color information.
(2) in paging systems, a memory block whose The NTSC television system consists of two
size equals the size of a page. Frames are al- interlaced fields per frame. Storage require-
located space according to aligned boundaries, ments are usually minimized by sampling the
meaning that the last bifs of the address of the color video information consisting of the lumi-
first location in the frame will end with n zeros nance (Y) and the two color difference signals,
(binary), where n is the exponent in the page (R - 7) and (B - Y). The color signal band-
size. Allocating frames for pages makes it easy width is less than the luminance bandwidth that
to translate addresses and to choose a frame for can be used to reduce the field memory storage
an incoming page (since all frames are equiva- requirements. Four samples of the luminance
lent). (Y) signal are combined with two samples of the
(3) time interval in a communication sys- (R - Y) signal and two samples of the (B - Y)
tem over which the system performs some pe- signal. The preceding video sampling technique
riodic function. Such functions can be multi- is designated as 4:2:2 sampling and reduces the
ple access functions (e.g., TDMA multiple ac- field memory size by one-third.
cess frame) or speech processing functions (e.g.,
The number of memory bits that are re-
speech coding frame), interleaving frame, or er-
quired to store one NTSC frame is two times
ror control coding frame.
the number of bits required to store one NTSC
(4) a knowledge representation scheme that field. Field memory for NTSC video sampled
associates an object with a collection of features at four times the color sub-carrier frequency at
(e.g., facts, rules, defaults, active values, etc.).
8 bits/pixel would require 7.644 Megabits of
(5) a set of four vectors giving position and RAM when 4:2:2 sampling is used.
orientation information.
See also stack frame.
frame pointer a designated machine regis-
ter which is used to refer to a stack frame. The
frame buffer a buffer of memory for storing
register may be either a register dedicated to
image information.
that purpose by the design of the machine, or
frame error rate the percentage of frames a general register designated for that purpose by
agreed-upon convention, or a general register
that contain at least one error. A frame in this
designated for that purpose determined solely
context is the smallest data item that can be re-
transmitted independently. The bit error rate in- by the implementor of a compiler. Not all lan-
guages, nor all implementations, require a frame
fluences the maximum frame size feasible for a
pointer.
desired frame error rate.
frame grabber a device that is attached to an frame processing image processing applied
electronic camera and which freezes and stores to frames or sequences of frames.
images digitally, often in gray-scale or color for-
mat, typically in one or three 8-bit bytes per frame rate number of times per second that a
pixel, respectively. simulation, virtual world, or display updates an
important factor in the quality of a system and in
frame memory video memory required to the bandwidth and computing power required.
store the number of picture elements for one The frame rate is limited by both the speed at
complete frame of electronically scanned video which image data can be created and the rate
information. The memory storage in bits can be at which video images can be presented on a
computed by multiplying the number of video display. For example, the NTSC system redraws
196
freeze quantifier
at 30 Hz, PAL is 25 Hz, and computer displays contrast with a pattern, which is a small-scale,
are now usually 72 to 75 Hz. language-independent design model or an id-
iom, which is a language-specific coding style.
frame size a term used to refer to the di-
mensions of the array of pixels forming a frame free distance the minimum Hamming dis-
of an animation or, alternatively, the memory tance between two convolutionally encoded se-
requirement and hence indirectly the resolution quences that represent different valid paths
and dimensions. through the same code trellis. The free distance
equals the maximum column distance and the
frames-per-second (FPS) (1) a measure of limiting value of the distance profile.
the speed of an animation in terms of the number
of complete, fully rendered images or frames free edge an edge that is not in a matching.
which can be displayed in one second. See also matched edge, free vertex.
(2) the same, except FPS refers to the number
of feet (30.48 cm) of cinema film displayed in 1 free-form See free-form surface.
second.
free-form surface a surface that does not
frame store a device that stores images dig- have a simple geometric description (e.g., not
itally, often in gray-scale or color format, typ- a plane or quadric surface). It is usually repre-
ically in one or three 8-bit bytes per pixel, re- sented using a spline surface or a triangulated
spectively; a. frame store often incorporates, or surface.
is used in conjunction with, a frame grabber.
free-page list a linked-list of information
frame synchronization a method to obtain
records pointing to "holes" (i.e., free page
rough timing synchronization between transmit-
frames) in main memory.
ted and received frames. The degree of synchro-
nization obtained depends on the level of frame
free storage memory, usually in a heap,
synchronization (super-frame, hyper-frame).
which has not been allocated, or which has been
The level of frame synchronism also determines
allocated but has been subsequently de-allocated
the actual method and the place where the syn-
and is available again. See also garbage collec-
chronism takes place.
tion.
frame synchronizer (1) a time-base correc-
tor effective over one frame time. Video data free storage pool See heap.
may be discarded or repeated in one-frame in-
crements; in the absence of an input, the last free store the dynamic memory allocation
received frame is repeated, thus producing a space used by new and delete operators of C++.
freeze-frame display. It is the equivalent of the heap memory for pro-
(2) a device that stores video information (per- cedural languages and models.
haps digitally) to reduce the undesirable visual
effect caused by switching nonsynchronous free vertex a vertex not on a matched edge
sources. in a matching, or one that has not been matched.
See also matched vertex, free edge.
framework a domain-specific application
shell or skeleton software system. It is the dual freeware software that is available for free,
of a software component, whereas a component usually from a host site on the World Wide Web.
is a reusable part that is incorporated into new
applications, a framework is a reusable whole, freeze quantifier used in temporal logics to
for which new components are supplied in order get the time associated with a state. This type
to tailor it to new applications. A framework is of quantification is used for the specification of
a large-scale, implemented system of classes, in timing constraints. For example, the following
197
frequency
friend class See friend. full-size card card that is twice as long as
half-size cards and might require a full-size slot
front-back reversals misperception in which on the motherboard. Also called full cards.
the user sees an object as reversed in depth, com-
mon with some wire-frame representations. full subtractor a one-bit subtracter; it takes
two operand bits and a borrow bit as input, and
front end the part of a compiler that depends as output it produces one difference bit and one
only on the source language and is independent borrow bit that are the result of subtracting one
of the target language. The front end translates input operand from the other, with the third as a
and analyzes the source program. borrow-in.
frontside bus the term used to describe the fully associative cache a cache that is di-
main bus connecting the processor to the main vided into a number of sets, each set consisting
memory (c.f. backside bus). of groups of lines with each line having its own
stored tag (the most significant bits of the ad-
frustrum of vision the visible region of 3D dress). A set is accessed first using the index
space. Projecting rays from the viewer through (the least significant bits of the address). Then
198
functionality
all the tags in the set are compared with that of functional aspect an aspect of the system
the required line to find the line in the cache and that has to do with data transformation. See data
to access the line. See also direct mapped cache, flow diagram.
associativity.
functional block an ASIC design approach.
fully dynamic graph problem problem ASIC designs using this methodology are more
where the update operations include unrestricted compact than either gate arrays or standard cells
insertions and deletions of edges. because the blocks can perform much more com-
plex functions than do simple logic gates.
fully polynomial approximation scheme
an approximation scheme in which the running functional decomposition (1) the division
time of Ae is bounded by a polynomial in the of processes into modules.
length of the input and 1/e. (2) a technique used during planning, anal-
ysis, and design; creates a functional hierarchy
FUNARG acronym, function argument. A for the software.
problem in the LISP language, and other lan-
guages using similar dynamic binding, which functional dependency a relationship be-
refers to the problem of determining the values tween attributes in database systems. Given at-
of a function argument whose names should be tributes A and Bt a functional dependency exists
bound to the values that were defined for the between A and £, if and only if there is only
names at the time of the call, rather than the val- one value of A for any given B. We say B is
ues for the names at the time the argument value functionally dependent on A. We say A func-
is requested at a deeper evaluation context. A tionally determines B. A functional dependency
special case of determining binding time. between A and B is denoted by A -> B.
199
functional model
function body the computation that com- function point analysis the use of function
prises the implementation of a function. points to help forecast effort from an early anal-
ysis stage. However, even in that restricted envi-
function call a syntactic construct by which ronment, many studies have shown that a num-
the execution of a defined function is invoked. ber of well-trained FP counters do not come
When a function call occurs, values may be up with identical FP counts despite the care-
passed to the function by binding the compu- ful preparation of the Function Point Counting
tation of these values, called the actual param- Practices Manual, created by the International
eters, to the means by which these values are Function Point Users' Group.
referenced, called the formal parameters. Con-
trol passes to the function body, and does not function test a check for correct device op-
resume following the call until control passes eration generally by truth table verification.
back via a return.
fundamental design quality quality repre-
function composition the process of apply- sented by the core parts of software design, e.g.,
ing a function to the result of another function software architecture, software structure, user
or itself. interface design strategy.
200
fuzzy cognitive map (FCM)
fundamental measure any measure that is fuzzy AND See triangular norm.
independent of the evaluation items and their
software quality characteristics, e.g., operation fuzzy associative memory a look-up table
time, number of function items, lines of code. constructed from a fuzzy IF-THEN rule base
and inference mechanism to define a relation-
fundamental metric a rule and method by ship between the input and output of a fuzzy
which a target entity is measured to get the value controller or a fuzzy system. See also fuzzy in-
of a fundamental data element. ference system.
fuse link used in non-erasable programmable fuzzy automata based on the concept of
memory devices. Each bit in the memory device fuzzy sets, a class of fuzzy automata is formu-
is represented by a separate fuse link. During lated similar to Mealy's formulation of finite au-
programming the link is either "blown" or left tomata.
intact to reflect the value of the bit.
fuzzy basis functions a set of fuzzy member-
fusible link ROM read only memory using ship functions or their combinations in a fuzzy
fuse links to represent binary data. See also fuse system which forms a basis of a function space,
link. normally for function approximation.
fuzzifier a fuzzy system that transforms a fuzzy clustering a method used to cluster
crisp (nonfuzzy) input value in a fuzzy set. The data into subsets based on a distance or similar-
most used fuzzifier is the singleton fuzzifier that ity measure that incorporates fuzzy membership
interpretes a crisp point as a fuzzy singleton. It functions.
is normally used in fuzzy control systems. See
also fuzzy inference system, fuzzy singleton. fuzzy c-means (FCM) a fuzzy version of
the commonly used K-means clustering algo-
fuzziness the degree or extent of impreci- rithm. The main feature of FCM is that a type
sion that is naturally associated with a property, of membership function is utilized in computing
process, or concept. a distance measure. Alias: fuzzy ISODATA.
fuzzy aggregation network artificial neu- fuzzy cognitive map (FCM) nonlinear dy-
ral network which can be trained to produce a namical systems whose state trajectories are con-
compact set of fuzzy rules with conjunctive and strained to reside in the unit hypercube [0,1]11.
disjunctive antecedents. An aggregation opera- The components of the state vector of an FCM
tor is used in each node. stand for fuzzy sets or events that occur to some
degree and may model events, actions, goals,
fuzzy algorithm an ordered set of fuzzy etc. The trajectory of an FCM can be viewed as
instructions which, upon execution, yield an an inference process. For example, if an FCM's
approximate solution to a specified problem. trajectory starting from an initial condition x(0)
Examples of fuzzy algorithms include fuzzy converges to an equilibrium state A, then this
c-mean clustering, fuzzy-rule-based classifica- can be interpreted as the FCM providing an an-
tion, etc. swer to a question "What if x(0) happens"? In
201
fuzzy complement
this sense it can be interpreted that the FCM fuzzy decision tree a decision tree with fuzzy
stores the rule "IF x(0) THEN the equilibrium decision functions.
A". FCMs were introduced by B. Kosko.
fuzzy decision tree algorithm an algorithm
fuzzy complement the complement of a to generate a fuzzy decision tree, such as the
fuzzy set A is understood as NOT (A). branch-bound-backtrack algorithm.
202
fuzzy intersection
ber of fuzzy space partitions, determination of systems) that are composed of a knowl-
membership functions, and determination of pa- edge base which contains the definitions
rameters of local dynamic models. of the fuzzy sets and the database of fuzzy
rules provided by experts; and a fuzzy in-
fuzzy IF-THEN rule rule of the form ference engine which performs the fuzzy
inferences.
if jc is A then y is B
2. fuzzy inference systems performing non-
where A and B are linguistic values defined
linear mapping from crisp (nonfuzzy) in-
by fuzzy sets on universe of discourse X and
put data to crisp (nonfuzzy) output data.
y, respectively (abbreviated as A —> B).
In the case of a Mamdani fuzzy system,
"* is A" is called the antecedent or premise,
in addition to a knowledge base and a
while "y i s J5" is called the consequence or con-
fuzzy inference engine, there is a fuzzi-
clusion. A fuzzy IF-THEN rule can be defined
fier which represents real valued inputs as
as a binary fuzzy relation. The most common
fuzzy sets, and a defuzzifier which trans-
definition of a fuzzy rule A —> B is as A cou-
forms the output set to a real value. In
pled with B9 i.e.,
the case of a Sugeno fuzzy system, spe-
/* = A —> B = A x B cial fuzzy rules are used giving crisp (non-
fuzzy) conclusions and the output of the
or system is given by the sum of those crisp
conclusions, weighted on the activation
V>AXB(X, }0 = MA(*) * v>B(y), of the premises of rules. Some fuzzy sys-
tems of this type hold the universal func-
where * is a triangular norm. tion approximation property.
See also fuzzy relation, fuzzy set, linguistic
variable, triangular norm. See also defuzzifier, fuzzifier, fuzzy set, fuzzy
IF-THEN rule, fuzzy reasoning, Sugeno fuzzy
fuzzy implication See fuzzy IF-THEN rule. rule.
fuzzy inference a fuzzy logic principle of fuzzy input-output model input-output mod-
combining fuzzy IF-THEN rules in a fuzzy rule
els involving fuzzy logic concepts. A typical ex-
base into a mapping from a fuzzy set in the input ample is a fuzzy dynamic model consisting of
universe of discourse to a fuzzy set in the output a number of local linear transfer functions con-
universe of discourse. A typical example is a nected by a set of nonlinear membership func-
composition inference. tions.
fuzzy inference engine a device or compo-
nent carrying out the operation of fuzzy infer- fuzzy integral an aggregation operator used
to integrate multi-attribute fuzzy information. It
ence, that is, combining fuzzy IF-THEN rules
is a functional defined by using fuzzy measures,
in a fuzzy rule base into a mapping from a fuzzy
which corresponds to probability expectations.
set in the input universe of discourse to a fuzzy
set in the output universe of discourse. See also Two commonly used fuzzy integrals are Sugeno
integral and Choquet integral.
approximate reasoning, fuzzy inference system,
fuzzy rule.
fuzzy intensification an operator that in-
fuzzy inference system a computing frame- creases the membership function of a fuzzy set
work based on fuzzy set theory, fuzzy IF-THEN above the crossover point and decreases that of
rules, and approximate reasoning. There are two a fuzzy set below the crossover point.
principal types of fuzzy inference systems:
fuzzy intersection the fuzzy intersection is
1. fuzzy inference systems mapping fuzzy interpreted as "A AND B", which takes the min-
sets into fuzzy sets (pure fuzzy inference imum value of the two membership functions.
203
fuzzy logic
fuzzy logic a branch of artificial intelligence with some or all of the following features: inputs
that is applied to fuzzy sets where membership are fuzzy quantities; outputs are fuzzy quanti-
in a fuzzy set is a probability, not necessarily 0 ties; weights are fuzzy quantities; or the neurons
or 1. Introduced by Zadeh (1973), it gives us perform their functions using fuzzy arithmetic.
a system of logic that deals with fuzzy quanti-
ties, the kind of information humans manipu- fuzzy neuron a McCulloch-Pitts neuron with
late which is generally imprecise and uncertain. excitatory and inhibitory inputs represented as
Non-fuzzy logic manipulates outcomes that are degrees between 0 and 1 and the output as a
either true or false. Fuzzy logic needs to be able degree to which it is fired.
to manipulate degrees of "maybe" in addition to
true and false. Fuzzy logic's main characteristic fuzzy number a convex fuzzy set of the real
is the robustness of its interpolative reasoning line such that:
mechanism. See also approximate reasoning,
linguistic variable, modifier, generalized modus 1. it exists exactly one point of the real line
ponens. with membership 1 to the fuzzy set;
fuzzy measure a subjective scale used to ex- 2. its membership function is piecewise con-
press the grade of fuzziness similar to the way tinuous.
probability measure is used to express the degree
of randomness. An example of fuzzy measure In fuzzy set theory, crisp (nonfuzzy) numbers
is gx-fuzzy measure proposed by Sugeno. are modeled as fuzzy singletons.
See also convex fuzzy set, fuzzy singleton.
fuzzy membership function function of
characterizing fuzzy sets in a universe of dis- fuzzy operator logical operator used on
course which takes values in the interval [0,1]. fuzzy sets for fuzzy reasoning. Examples are
Typical membership functions include triangu- the complement (NOT), union (OR), and the in-
lar, trapezoid, pseudotrapezoid, and Gaussian tersection (AND).
functions.
fuzzy OR See triangular conorm.
fuzzy minus the operation of minus applied
to a fuzzy set gives an intermediate effect of fuzzy parameter estimation a method that
concentration. uses fuzzy interpolation and fuzzy extrapolation
to estimate fuzzy grades in a fuzzy search do-
fuzzy modeling combination of available main based on a few cluster center-grade pairs.
mathematical description of the system dynam- An application of this method is estimation of
ics with its linguistic description in terms of mining deposits.
IF-THEN rules. In the early stages of fuzzy
logic control, fuzzy modeling meant just a lin- fuzzy pattern matching a pattern matching
guistic description in terms of IF-THEN rules technique that applies fuzzy logic to deal with
of the dynamics of the plant and the control ambiguous or fuzzy features of noisy point or
objective. Typical examples of fuzzy models line patterns.
in control application include Mamdani model,
Takgi-Sugeno-Kang model, and fuzzy dynamic fuzzy plus the operation of plus applied to a
model. fuzzy set gives an intermediate effect on dilation.
fuzzy neural control a control system that in- fuzzy PROLOG the PROLOG programming
corporates fuzzy logic and fuzzy inference rules language incorporating fuzzy quantities and
together with artificial neural networks. fuzzy logic operations.
fuzzy neural network artificial neural net- fuzzy proposition a proposition in which the
work for processing fuzzy quantities or variables truth or falsity is a matter of degree.
204
fuzzy union
fuzzy relational algorithm a fuzzy algo- fuzzy singleton a fuzzy set of membership
rithm that serves to describe a relation or re- value equal to 1 at a single real-valued point and
lations between fuzzy variables. 0 at all other points in the universe of discourse.
See also membership function, fuzzy set.
fuzzy relational matrix a matrix whose ele-
ments are membership values of the correspond- fuzzy sliding mode control a combination of
ing pairs belonging to a fuzzy relation. available mathematical descriptions of the sys-
tem dynamics with its linguistic description in
fuzzy relaxation a relaxation technique with terms of IF-THEN rules. In the early stages of
fuzzy membership functions applied. fuzzy logic control* fuzzy modeling meant just a
linguistic description in terms of IF-THEN rules
fuzzy restriction a fuzzy relation which of the dynamics of the plant and the control ob-
places an elastic constraint on the values that jective. See also TSK fuzzy model, fuzzy sys-
a variable may take. tem.
fuzzy rule See fuzzy IF-THEN rule. fuzzy space the region containing the fuzzy
sets created by set theoretic operations, as well
fuzzy rule bank a collection of all fuzzy rules as the consequent sets produced by approximate
which are arranged in n-dimensional maps. reasoning mechanisms.
fuzzy rule base a set of fuzzy IF-THEN rules. fuzzy system a fuzzy system is a set of IF-
It is a central component of a fuzzy system and THEN rules that maps the input space, say X,
defines major functions of a fuzzy system. into the output space Y. Thus, the fuzzy sys-
tem approximates a given function F : X -> Y
fuzzy rule-based system system based on
by covering the function's graph with patches,
fuzzy IF-THEN rules, or another name for fuzzy
where each patch corresponds to an IF-THEN
systems. See fuzzy inference system.
rule. The patches that overlap are averaged. See
also fuzzy inference system.
fuzzy rule minimization a technique to sim-
plify the antecedent and consequent parts of
fuzzy union an operator that takes the max-
rules and to reduce the total number of rules.
imum value of the membership grades.
fuzzy rules of operation a system of rela-
tional assignment equations for the representa-
tion of the meaning of a fuzzy proposition.
205
gate array
G
a Gantt diagram represents a temporal schedul-
ing. Also, if often it is completed by logical re-
lationships among project tasks and milestones
of the project, in this case, it integrates relation-
ships typical of Pert Diagrams. Gantt diagrams
G (giga) a prefix indicating a quantity of were developed during World War I by Henry
109. For instance, a gigabyte of storage is Gantt.
1,000,000,000 (typically implemented as 230)
bytes. garbage an object or a set of objects that
can no longer be accessed, typically because all
GA See genetic algorithm. pointers that direct accesses to the object or set
have been eliminated.
gamma camera a device that uses a scintil-
lation crystal to detect gamma photons for ra- garbage collection a storage allocation tech-
dionuclide imaging. Also known as a scintilla- nique in which unused portions of memory are
tion camera. deallocated.
Relying on garbage collection to manage
gamma correction the correction of non- memory simplifies the interfaces between pro-
linearities of a monitor so that it is possible to gram components. Two main methods used
specify a color in linear coordinates. to implement garbage collection are reference
Inside a CRT, the luminance of a pixel is rep- counting and mark-and-sweep.
resented by a voltage V; however, the luminance
of the ray produced by that voltage is not pro- garbage collector a software run-time sys-
portional to V, but rather to Vy9 where y is a tem component that periodically scans dynam-
device-dependent constant between 2 and 2.5. ically allocated storage and reclaims allocated
It is thus necessary to compensate for this effect storage that is no longer in use (garbage).
by transforming the luminance L into L l/y; this
is called gamma correction. Some CCD cam- gate (1) a logical or physical entity that per-
eras implement gamma correction directly on forms one logical operation, such as AND, NOT,
the signal that they generate. Some computer or OR.
monitors allow modification of the factor y or (2) the terminal of a FET that controls the
gamma correction through software. flow of electrons from source to drain. It is usu-
ally considered to be the metal contact at the sur-
gamma function a function of /i, written face of the die. The gate is usually so thin and
F(w), is f™e~xxn-ldx. Recursively T(n + narrow that if any appreciable current is allowed
1) = nT(n). For non-negative integers T(n + to flow, it will rapidly heat up and self-destruct
1) = n\. See also Stirling's approximation. due to I-R loss. This same resistance is a con-
tinuing problem in low noise devices, and has
gamut normally refers to the full range of resulted in the creation of numerous methods to
colors available in a color space. The gamut alter the gate structure and reduce this effect.
varies with resource: photographic film, print-
ing inks, color displays, etc. A 24-bit color sys- gate array a semicustom integrated circuit
tem has a gamut of 224 = 16 million different (1C) consisting of a regular arrangement of gates
colors. Moving between systems with different that are interconnected through one or more lay-
color gamuts will require quantization. ers of metal to provide custom functions. Gen-
erally, gate arrays are preprocessed up to the
gang scheduling the scheduling of a set of first interconnect level so they can be quickly
related threads to run on a set of processors at processed with final metal to meet customer's
the same time, on a one-to-one basis. specified function.
0-8493-2691-5/01/$0.00+$.50
©2001 by CRC Press LLC 207
Gaussian distribution
Gaussian noise a noise process that has a generalized modus ponens generalization
Gaussian distribution for the measured value at of the classical modus ponens based on the com-
any time instant. positional rule of inference.
Let a fuzzy rule A —* B9 that can be inter-
Gaussian process a random (stochastic) pro- preted as a fuzzy relation /?, and a fuzzy set A',
cess x(t) is Gaussian if the random variables then the compositional rule of inference maps a
x(t\), xfa), . . . , x(tn) are jointly Gaussian for fuzzy set:
anyn.
B' = A' o R = A' o (A —* B)
Gaussian smoothing convolution of a signal that can be interpreted as
with a Gaussian function in order to remove high
spatial frequency changes from the image. premise 1: *isA'
(fact)
gaze direction view direction is specified as
premise 2: if x is A then y is B
a target object rather than the more usual vector
form from a camera or eye position and direc- (fuzzy rule)
tion. consequence: y is Bf
(conclusion)
gender the orientation on a cable connector
either female (holes) or male (pins). For example, if we have the fuzzy rule "If the
tomato is red then it is ripe ", and we know "The
gene a unit of information on the chromo- tomato is more or less red" (fact) then the gen-
some which describes the synthesis of a single eralized modus ponens can infer "The tomato is
type of protein. In genetic algorithm, the term more or less ripe".
also refers to a single symbol of a particular sym- See compositional rule of inference, fuzzy
bol string in the population. inference system, fuzzy relation, linguistic var-
iable, modifier.
general cell layout a style of layout in which i
the components may be of an arbitrary height generalized polygon a planar shape that is
and width and functional complexity. constructed using an ordered number of vertices
208
genetic algorithm (GA)
that are connected to form an enclosed polyg- generic from the Ada language, a specifica-
onal area. It is a graphics engine's most ab- tion of a program component in which not all of
stract internal representation of a shape. Spe- the type information is bound at the point of defi-
cific shapes such as square and triangle have a nition. This allows the specifications of families
fixed number of vertices (3 and 4 in this exam- of components that differ only by the type bind-
ple) and can be generalized using a generalized ing. See generic instantiation. A limited form
polygon. A generalized polygon may have holes of polymorphism.
or be concave.
Other shapes such as circle and ellipse have generic class See abstract class.
an infinite number of vertices. A generalized
polygon can provide the graphics engine with generic function (1) a function that can op-
an approximate representation by using a large erate on objects of more than one data type.
number of vertices. (2) from the Ada language, a function con-
taining one or more unbound type specifica-
general-purpose register a register that is tions. See also generic instantiation. See virtual
not assigned to a specific purpose, such as hold- method.
ing condition codes or a stack pointer, but which
may be used to hold any sort of value. General- generic instantiation from the Ada language,
purpose registers are typically not equipped with a declaration that is based on a generic pro-
any dedicated logic to operate on the data stored totype, but which binds actual types to formal
in the register. types.
209
genetic drift
able encoding scheme, and the fitness function tates the interpretation of the individual nodes as
is derived from the corresponding optimization LISP expressions, the operations performed are
cost function through a scaling operation to re- not necessarily restricted to those specified in
sult in positive fitness values for the selection the LISP language. The associated recombina-
process. In each generation, after the construc- tion process combines the characteristics of two
tion of new symbol strings through crossover parent program trees to form a new program tree
and mutation, the associated fitness value of by exchanging sub-trees at particular nodes of
each new string is evaluated and normalized the two parents. On the other hand, the mutation
with respect to the total fitness value sum in operator generates new individuals by replacing
the population. This is then interpreted as a the original sub-tree at particular nodes with a
selection probability by the stochastic propor- random sub-tree. The fitness of each individual
tional selection method to allow incorporation of is determined by executing the program for a
these modified symbol strings into a new popu- certain task and evaluating the result. See also
lation according to this normalized fitness value. genetic algorithm.
Under this selection mechanism, higher fitness
values thus translate into higher probabilities of genotype the totality of information embed-
survival into the next generation. ded in the genes of an organism which together
A genetic algorithm takes a set of solutions determines its various external traits. See also
to a problem and measures the "goodness" of phenotype.
those solutions. It then discards the "bad" so-
lutions and keeps the "good" solutions. Next, genus See Euler number.
one or more genetic operators, such as mutation
and crossover, are applied to the set of solutions. geometrical modeling the process of devel-
The "goodness" metric is applied again and the oping a geometric model.
algorithm iterates until all solutions meet cer-
tain criteria or a specific number of iterations has geometric distribution a discrete probabil-
been completed. See also optimization, schema ity density function of a random variable x that
theorem. has the form
210
goal
Gibson mix an analysis of computer ma- global recovery manager program con-
chine language instructions that concluded that struct used to coordinate recovery in distributed
approximately 1/4 of the instructions accounted databases.
for 3/4 of the instructions executed on a com-
puter. global routing when a layout area is decom-
posed into channels, global routing is the prob-
GIF See graphics interchange format. lem of choosing which channels will be used to
make the interconnections for each net.
gigaflop (GFLOP) 1000 million floating-
point operations per second. global variable a variable whose scope is
the entire program and whose extent is the pro-
GKS See graphical kernel system.
gram's complete execution.
GLA See generalized Lloyd algorithm.
gloss a property of an image. An object is
glass-box testing testing strategy where test said to have a gloss surface when specular re-
cases are selected solely on the bases of the flection is observed. This causes a highlight on
code. Also called white-box testing or clear the surface when a bright light is directed at the
box-testing. See also black-box testing. object.
glitch an incorrect state of a signal that lasts glyph generally, a symbol used to represent
a short time compared to the clock period of the information. For example, in visualizing vector
circuit. The use of "glitch" in describing power fields, an arrow is often used to show the direc-
systems is generally avoided. See hazard. tion and magnitude of the vector value at each
location.
global coordinate system a coordinate sys-
tem with respect to which all other coordinate GMQ See goal metric question.
systems in the definition of 3D scene are defined.
gnoseological platform a computer-based
global memory in a multiprocessor system, framework for cognition.
memory that is accessible to all processors. See
also local memory, distributed memory. goal a rule with an "empty'' head.
Goals are used for formulating queries to
global optimization (1) generally, the pro- databases DB; e.g., the goal G {brother (cain,
cess of searching for the set of global minima B)} asks for all brothers of cain in the database
211
goal metric question (GMQ)
D B. A goal can also be perceived as an integrity Functional languages such as ML or pure LISP
constraint—more precisely: as a denial rule — are intrinsically goto-free.
that forbids BI ,..., Bn to hold simultaneously;
e.g., the goal G (male(X) A female(X)} states Gouraud shading a technique that assigns
that the same person X in DB cannot be both an intensity for each vertex of a polygon using
male and female. Lambert-law shading and then interpolates the
computed intensities across the polygon by per-
goal metric question (GMQ) a widely used forming a bilinear interpolation of the intensities
and recommended framework for constructing down and then across scan lines. It thus elimi-
a metrics program. Initially, and before the col- nates the sharp changes at polygon boundaries.
lection of any specific metric is decided upon,
the overall goal is identified, e.g., how to in- GP See genetic programming.
crease code quality. Then the questions that
need to be asked in order to fulfill this goal are GPS See global position sensor.
identified. Then, and only then, should the met-
lies be chosen which most readily measure the GPSS acronym for General Purpose Simu-
artifacts identified in the questions. lation System, a discrete event simulation lan-
guage developed by IBM.
GOMS model a theoretical description of
human procedural knowledge in terms of a set graceful degradation the ability of a system
of goals, operators (basic actions), methods (se- to perform at a specified performance even in
quences of operators that accomplish goals), and the presence of failures.
selection rules that select methods appropriate
for goals. The goals and methods typically have grade category or rank given to entities hav-
a hierarchical structure. GOMS models can be ing the same functional use but different require-
thought of as programs that the user learns and ments for quality. Grade reflects a planned or
then executes in the course of accomplishing recognized difference in requirements for qual-
task goals. ity. The emphasis is on the functional use and
cost relationship. A high grade entity (e.g., lux-
goniometer device for measuring joint an- urious hotel) can be of unsatisfactory quality and
gles. vice versa. Where grade is denoted numerically,
the highest grade is usually designated as 1 with
good behavior a program that does not ex- the lower grades extending to 2,3,4, etc. Where
hibit forbidden errors. grade is denoted by a point score, such as a num-
ber of stars, the lowest grade usually has the
goto a language construct that uncondition- fewest points or stars.
ally transfers control flow to a designated point
in the program. In modern languages and under grade of service the part of quality of service
modern programming paradigms, often consid- that depends on network dimensioning. See also
ered bad practice although many languages do quality of service, network performance.
not provide good alternatives to its use.
gradient a vector function denoted by V/ or
goto-free programming a style of program- grad /, where / is a continuous, differentiable
ming in which the goto is never used, or used scalar function. For a 2D function /(*, y), the
extremely rarely. Various languages make this gradient is
more or less difficult depending on the power
and sophistication of their control constructs. -V-
Historically, the only imperative language that dx
succeeded totally in achieving this goal was the v/-
V/
8f •
BLISS language, which had no goto statement. . By .
212
granulometric size distribution
The magnitude of this gradient is English alphabet, the ASCII character set, or
-«=/(5W
the set {0,1). Non-terminals are symbols that
are replaced by a string of zeros or more ter-
minals and non-terminals. The production rules
specify which strings can be used to replace non-
In image processing, the term gradient often terminals. The symbol S is the first symbol with
refers to the magnitude of the gradient. See also which every production starts. All the strings
Sobel operator. that can be generated from S using rules in P
are said to be in L(G), the language of G. Ex-
gradient descent a method for finding the
ample: Let G be the grammar (T, V, P, S) such
minimum of a multidimensional function f(x).
that
The technique starts at some point and advances
toward the minimum by iteratively moving in a T = [a,b]
direction opposite to that of the gradient:
V = [S]
*,-+! = Xi - Of
V
— where S is the start symbol, and
where a is some scalar, usually set empirically.
See also gradient, optimization. P = {5 -> aSb, S -» €}
gradient edge detector an edge detector that where € is the empty string. The language L(G)
defines an edge to be present at a pixel only if is the set of all strings of the form anbn. The
the magnitude of the gradient at that pixel is -> symbol signifies that 5 can be replaced with
greater than some threshold. See also edge, edge whatever follows the arrow. See phrase structure
detection, gradient, Sobel operator. grammar.
(2) a specification of the syntax of a program-
gradient magnitude the magnitude of the ming language.
gradient vector, or equivalently the square root
of the sums of the squares of the local directional Gram-Schmidt orthogonalization a recur-
derivatives. sive procedure for whitening (decorrelating) a
sequence of random vectors. See also whiten-
gradient motion detection differential mo- ing filter.
tion detection algorithms that attach a vector to
each point in a displacement image. The optical GRANT an SQL command that allows the
flow from this gradient field is then derived. granting of privileges to a user. The GRANT
command may be used to specify access rights
gradual underflow in computations in which to individual relations or may be used to specify
results are usually normalized, this is the re- rights at a database level.
placement of an underflowing value with a de-
normalized value. grant option an option that may be used with
the GRANT command. It allows the propaga-
grammar (1) a set of symbols, one of which tion of rights.
is designated as an initial symbol, and a set
of production rules that define how symbols granularity Size or scope, particularly, of a
may be organized into sentences specified by transaction or lock.
the grammar. Formally, it is an ordered 4-tuple
(G = T, V, P, 5), where T is said to be the set granular lock a fine-grained lock used to
of terminals, V is the set of variables or non- implement predicate locking.
terminals, P is a set of production rules, and
S e V is called the start symbol. Terminals are granulometric size distribution a distribu-
the symbols with which the strings of the lan- tion generated by counting the pixels in each
guage are made. For example, T may be the succeeding filtered image using a granulometry.
213
granulometry
granulometry a sequence of openings using for practice or used to program later operations
structuring elements that are of increasing size. performed under supervisory control.
See size distribution.
graphical programming composing pro-
graph a couple G = (£, V) where V is a grams by combining graphical elements from
set of nodes and E c V x V is a set of edges. a toolbox, with each graphical element repre-
Graphs are widely used in modeling networks, senting a pre-written subroutine or algorithm.
circuits, and software. For example, they are of-
ten used in compilers to represent the program
graphical user interface (GUI) human-
during intermediate stages of compilation. See
computer interface using graphics, icons, and
also directed graph, undirected graph, bicon-
menus and other visual aids to facilitate and
nected graph, connected graph, weighted graph,
structure the user's actions; often coupled with
isomorphic, homomorphic, graph drawing, di-
a direct manipulation interface.
ameter of a graph, degree.
214
GROUP BY
graphics workstation a computer system de- gray level saturation the restriction of image
signed specifically for manipulating graphics or gray scale so that intensities above a certain level
image programs. become fixed at the white level corresponding to
the highest numerical value available within the
graph isomorphism the problem of deter- current storage capacity, typically one byte, of
mining if two graphs are isomorphic. See also each pixel.
subgraph isomorphism, homomorphic.
gray scale a color space where colors are
graph isomorphism problem deciding if represented by their luminance values only, i.e.,
two given graphs are isomorphic to each other. saturation and hue are zero.
graph search an optimization technique used gray-scale moving median filter a moving
to find the minimum cost path from a starting median filter for images that are not binary.
point to a goal point, through a graph of inter-
connected nodes. Each link between nodes has greedy algorithm a paradigm of algorithm
an associated path cost, which must be selected design in which an optimization problem is solved
based on the problem of interest. See also opti- by making locally optimum decisions.
mization.
grey level See gray level.
grasp requirements the pattern of motions
grey scale See gray scale.
and forces required to securely grasp an object.
grid drawing a grid drawing is a graph draw-
Gray code a code in which each of a sequence
ing in which each vertex is represented by a point
of code words differs by one bit from the pre- with integer coordinates.
ceding one, and the assigned value of each code
word is one more than that of the preceding one. gripper an end effector used to grasp objects
Such a code avoids glitches (i.e., sharp momen- in a remote world.
tary unwanted spikes) when, in an electrome-
chanical system, the sensors giving the code grooved media on an optical disk, the em-
words are imperfectly aligned. bossment of the disk surface with grooves such
For example, one possible three-bit Gray that the disk tracks are either the grooves them-
code is: selves or the regions between the grooves.
Decimal digit
0 1 2 3 4 5 grounding strap special bracelet used to
Gray code connect your wrist to the computer chassis at
000 001 Oil 010 110 111 all times in order to prevent buildup of harmful
static electricity.
gray level co-occurrence a means of mea- group an association of users who have some-
suring texture and other brightness variations in thing in common; the user group associated with
digital images by generating matrices which tab- a file.
ulate the frequencies with which different gray
levels co-exist at different distance vectors from GROUP BY an SQL clause which specifies
each other. an attribute by which tuples are grouped.
215
group code
group code a recording method used for 6250 of the device by making the lighted area of the
BPI (bits per inch) magnetic tapes. screen smaller than the theoretical tangency con-
dition of the device geometry.
group decision support system a special de-
cision support system used in support of groups guard block a designated value placed on
of decision makers that might be geographically data structures to detect an out-of-bounds write
dispersed. access.
216
halfword
H *-*0-0
and larger arrays are formed by the recursive
definition
Haar transform unitary transform mapping
N samples g(ri) to N coefficients G(k) in a way HH-±.(H*
HN
that corresponds to repeated two-point averag- -j2\H» - "*]
HI)-
ing and two-point differencing. The 2 x 2 Haar
transform is The inverse transform is identical. The Hada-
mard transform was formerly used for data com-
pression because its entries are all 1 or -1, al-
*-*(!-!)• lowing computation without multiplications. In
this context it is now superseded by the discrete
The scaling factor allows the same matrix to be cosine transform.
used for the inverse transform. The 4 x 4 Haar
transform can be interpreted as follows: first half adder a one-bit adder that takes two
apply the 2 x 2 transform to two independent operand bits as input and produces two result
pairs of samples; then apply the 2 x 2 trans- bits, a summand bit and a carry bit, as output.
form to the two average coefficients just com- A half adder has no carry input. See also full
puted. Larger Haar transforms are constructed adder.
by continuing this process recursively. The Haar
transform yields coefficients equal to the sub- half-adjust rounding See round-to-nearest-
band values generated by dyadic decomposi- up.
tion with the Haar wavelet. This transform has
achieved rather less use than the other trans- half-size card short card that plugs into half-
forms in this family, such as the discrete cosine slots on the motherboard. Also called half card.
and Hadamard transforms.
half subtracter a logic circuit that provides
the difference and borrow outputs for two input
Haar wavelet the orthonormal wavelet pair
signals. A half subtracter has no borrow input.
(^, ^), (^, ^|). Analysis and synthesis
pairs are identical. This is the most compact halftone technique of simulating continuous
wavelet pair. Dyadic subband decomposition tones by varying the amount of area covered by
with the Haar wavelets yields coefficients equal the colorant. Typically accomplished by vary-
to those from the Haar transform. ing the size of the printed dots in relation to the
desired intensity.
hacker a person who explores computer and
communication systems, usually for intellectual halfword a unit of information in a com-
challenge. This term is commonly applied to puter, representing a data item whose represen-
those who try to circumvent security barriers tation is half of what the machine calls a word.
(crackers). Traditionally, for machines with 32-bit words, a
halfword is 16 bits, but for machines that have
Hadamard matrix a special matrix used a 16-bit word, this term is not used; the more
in a lossy compression scheme. See also fast common term byte represents half of a 16-bit
Hadamard transform. word. The halfword data type is frequently di-
rectly reflected in a programming language as
Hadamard transform a unitary transform a specific data type. See also byte, word, long-
mapping N samples g(n) to N coefficients G(k) word, quadword.
0-8493-2691-5/01/$0.00+$.50
<§> 2001 by CRC Press LLC 217
Halstead's metrics
Halstead's metrics a set of metrics used to binary number. It can also detect an error in-
measure various aspects of information content volving two bits. See also parity.
in a collection of software.
A modified form of Halstead's metrics can Hamming distance the number of digit po-
be computed as follows: Let n\ be the number sitions in which the corresponding digits of two
of logical distinct BEGIN-END pairs, known binary words of the same length differ. The min-
as operators. Let ni be the number of distinct imum distance of a code is the smallest Ham-
statements (e.g., lines terminated by semicolons ming distance between any pair of code words.
in C) known as operands. Let N\ be the total For example, if the sequences are 1010110 and
number of occurrences of distinct operators in 1001010, then the Hamming distance is 3.
the program. Let #2 be the total number of
occurrences of operands in the program. Hamming net a pattern recognition network
Then the program vocabulary is defined as that has a set of prototype patterns stored in its
weights. A given input pattern is identified with
n = ni -f W2, the prototype whose Hamming distance from the
program length is defined as input pattern is least.
218
hardware design
handler (1) a section of code, often a func- hard-decision decoding decoding of en-
tion, designated to be invoked under some spec- coded information given symbol decisions of the
ified conditions. These may be asynchronous individually coded message symbols. Compare
conditions (such as an interrupt, usage interrupt with soft-decision decoding.
handler), synchronous but not necessarily de-
terminate conditions (for example, a message hard disk a rigid magnetic disk used for stor-
handler that handles a specific type of message ing data. Typically a non-removable collection
obtained by the programmer), or synchronous of one or more metallic disks covered by a mag-
and determinate (for example, an error handler netic material that allows the recording of com-
that is called by the programmer in response to puter data. The hard disk spins about its spindle
some detected error condition). See interrupt while an electromagnetic head on a movable arm
handler. stays close to the disk's surface to read from or
(2) in a language that supports exceptions, write to the disk. Each disk is read and written on
the code which is designated to handle the ex- both above and below. N disks are read/written
ception. by using 2N heads. The information is stored by
cylinders, circular segments of the collection of
the disks. Cylinders are divided in sectors as a
hand master small master controller oper-
pie. The mean time to access at data is typically
ated by the hand alone, i.e., without requiring
close to 10 msec.
arm movements.
Generally, hard disks are the backing mem-
ory in a hierarchical memory. See also floppy
handshaking I/O protocol in which a device disk.
wishing to initiate a transfer first tests the readi-
ness of the other device, which then responds hard link a directory entry that refers to a file
accordingly. The transfer takes place only when via its inode; a hard link provides direct access
both devices are ready. to a file.
hard deadline a deadline that cannot be hardware design the logic of the construc-
missed under any circumstances. tion of the hardware of a system.
219
hardware interrupt
hash collision in a hash table, the conse- hash partitioning a technique for partition-
quence of a hash function producing a hash key ing a relation across a number of disks where
which selects a non-empty equivalence class as tuples are hashed to disks via a hash function on
the place to put the new value. When a non- the record's partitioning attributes.
empty equivalence class is discovered, either the
value will be placed in it, or a new equivalence hash structure a tree structure whose root is
class can be selected by using a secondary hash. a function, called a hash function. Given a key,
the hash function returns a page that contains
hashed page table a page table where the pointers to records holding that key or is the
translation of each virtual page number is stored root of an overflow chain. It should be used
in a position determined by a hash function ap- when selective equality queries and updates are
plied to the virtual page number. This technique the dominant access patterns.
is used to reduce the size of page tables.
hash table a data structure characterized by
hash field a field of a record chosen on which a mapping function from a value to a hash key
to apply the hash function. which has the property that the computed key
uniquely identifies an equivalence class of en-
hash field space the range of potential hash tries which is a subset of the entire set of en-
field values. tries. The location of a specified value within
the equivalence class is typically very efficient,
hash file a type of file organization, in which and consequently both insertion and search in
the file is viewed as a collection of addressable the table are more efficient than many alternative
slots capable of holding records. A hash func- representations. Hash tables are used for many
tion is used to calculate the file address based on memory and name mapping functions, such as
the values of the hash field of the record. This symbol tables in assemblers and compilers. See
address is used to insert and retrieve records. also perfect hash.
220
headphones
Hausdorff distance an important distance HCI See human computer interface.
measure, used in fractal geometry, among other
places. Given a distance function d defined on a HDA See head disk assembly.
Euclidean space /?, one derives from it the Haus-
dorff distance //</ on the family of all compact
head an electromagnet that produces switch-
(i.e., bounded and topologically closed) subsets
able magnetic fields to read and record bit
of E\ for any two compact subsets K, L of £,
streams on a platter's track.
Hd(K, L) is the least r > 0 such that each one
of K, L is contained in the other's dilation by a
closed ball of radius r, that is: head disk assembly (HDA) collection of
platters, heads, arms, and actuators, plus the air-
K c (J Br(p) and L c (J fir(p) , tight enclosing of a magnetic disk system.
»€L p€X"
221
head related transfer function
head related transfer function a mathemat- if the activity is asynchronous. In artificial neu-
ical relationship providing an estimate of the re- ral networks, the synaptic weight is modified by
sponse of the head to external stimuli. a function of the correlation between the two
activities.
head tracker tracker used to detect the po-
sition and orientation of a user's head. hedge a special linguistic term by which other
linguistic terms are modified. Examples are
head-up display (HUD) display system used very, fairly, more or less, and quite.
to present visual information to the user by pro-
jecting it within the primary visual cone, so that hedgehog a visual representation of a surface
the user need not look down or away to ac- in which the surface normals are rendered like
quire that information; for example, projection pins sticking out of the surface.
of flight parameters onto the cockpit canopy dur-
ing piloting. height the height of a tree is the maximum
distance of any leaf from the root. If a tree has
heap (1) an area of memory which is orga- only one node, the root, the height is 1. The
nized to support the allocation of blocks of mem- height of the figure at the definition of the tree
ory on demand. Also known as free storage, free is 3.
storage pool, storage pool, or a collection.
(2) data storage structure that accepts items height-balanced binary search tree a data
of various sizes and is not ordered. structure used to support membership, in-
(3) a tree in which parent-child relationships sert/delete operations each in time logarithmic
are consistently "less than'* or "greater than". in the size of the tree. A typical example is the
AVL tree or red-black tree.
heap file a file in which new records are ap-
pended at the end of the file. height defuzzification See centroid defuzzi-
fication.
heapify to rearrange an array in-place so that
each node has a key more extreme (greater or helical scan tape a magnetic tape in which
less) than or equal to the key of its parent. See recording is carried out on a diagonal to the tape,
also binary heap. by a head that spins faster than the tape move-
ment. Popular for VCRs, camcorders, etc., as it
heaviest common subsequence problem improves recording density and tape speed.
See longest common subsequence problem.
hemicube an algorithmic device that enables
Hebbian algorithm in general, a method of an efficient calculation of the form-factor values
updating the synaptic weight of a neuron tu, us- in the radiosity method. A hemicube is an effi-
ing the product of the value of the i th input neu- cient approximation to a hemisphere.
ron, *,-, with the output value of the neuron y.
A simple example is: henceforth operator a temporal logic opera-
tor used to state that for all time instants from the
Wi(n + 1) = wi(ri) + ay(ri)xi(ri) , evaluation instant (in the future or in the past)
a formula is true. Usually there are two oper-
where n represents the nth iteration and a is a ators, one for the future and one for the past,
learning-rate parameter. and they are represented by a box (white for fu-
ture and black for past). For example, formula
Hebbian learning a method of modifying (DP) A (Qg) is true if for all time instants in
synaptic weights such that the strength of a the future, P and Q are true.
synaptic weight is increased if both the presy-
naptic neuron and postsy naptic neuron are active Herbrand interpretation a concept in
simultaneously (synchronously) and decreased Boolean logic. Herbrand interpretation I is given
222
hidden line removal
by a set of ground atoms. It corresponds to heuristic search a search that uses problem-
a Boolean function on ground atoms A, where specific knowledge in the form of heuristics in
|(A) = true, if and only if A e 1.1 satisfies a dis- an effort to reduce the size of the search space or
junction Aj v ... v A|< (a conjunction BI A ... speed convergence towards a solution. Heuristic
ABn) of ground atoms if at least one atom Aj is searches sacrifice the guarantee of an optimal
true (all atoms B,- are true) w.r.t. I. solution for reduced search time.
Herbrand model a database model. A Her- hexadecimal See hexadecimal number sys-
brand model M of a database DB is a Herbrand tern.
interpretation that satisfies all ground instances
of the rules r e DB. M satisfies a ground rule hexadecimal notation expressing numbers
raft either if (1) M does not satisfy the body ft, in base-16 format. See hexadecimal number
or if (2) M satisfies both ft and the head a. For system.
definite rules ABi A ... A Bn this means that
BJ ,... , Bn € M implies A € M. hexadecimal number system a numerical
system of radix 16. Convenient for expressing
computer value representations because three
Herbrand universe the set of all terms that
bits make up one hexadecimal digit, and two
can constructed by combining the terms and
hexadecimal digits represent a single 8-bit byte.
constants that appear in a logic formula.
The traditional representation of hexadecimal
values beyond the value 9 are the letters A, B,
Hermitian matrix a square matrix that C, D, E, and F representing, respectively, the
equals its conjugate transpose. values 10,11,12,13,14, and 15.
223
hidden Markov model (HMM)
hidden Markov model (HMM) statisti- image is coded at several different sizes and in
cal model of temporal processes based on the order of increasing size. Typically, the smaller
Markovian assumption. HMMs are discrete- sized images are used to encode the larger size
time, discrete-space, dynamical systems gov- images to obtain better compression.
erned by a Markov chain that emits a sequence (2) coding where image data are encoded to
of observable outputs, usually one output (ob- take care of different resolutions and scales of
servation) for each state in a trajectory of such the image. Additional data is transmitted from
states. More formally, an HMM is a five-tuple the coder to refine the image search. See pro-
(£2x» &0» A, B, TT), where £2* is a finite set of gressive transmission.
possible states, £2# is a finite set of possible ob-
servations, A is a set of transition probabilities, hierarchical decomposition a decomposi-
£ is a set of observation probabilities, and TT is tion approach by means of a system is decom-
an initial state distribution. posed down into a hierarchy of sub-components
via a top-down process. See decomposition,
hidden surface problem sometimes called system decomposition.
visible-surface determination or hidden-surface
removal. It is the problem of only displaying the hierarchical diagram used to describe hi-
parts of a surface in a scene which are visible to erarchical schemas. The hierarchical diagram
the user. For a scene to make sense to a user, contains boxes and lines which correspond to
any surface that is obscured by an opaque sur- record types and links, respectively.
face must not be rendered. For raster graphics,
an example of a rendering algorithm that solves hierarchical encoding See hierarchical cod-
the hidden-surface problem is the z-buffer algo- ing.
rithm.
hierarchical feature map a hybrid learn-
hidden-surface removal the general algo- ing network structure also called counter-
rithm that removes hidden surfaces and deals propagation network which consists of an unsu-
with such cases where one object partially ob- pervised (hidden) layer and a supervised layer.
scures another. A hidden surface algorithm will, The first layer uses the typical (instar) competi-
in general, eliminate those fragments of a poly- tive learning, the output will be sent to the sec-
gon that are not visible because they are behind ond layer, and an outstar supervised learning is
another object. performed to produce the result. See also outstar
training.
hierarchical clustering a clustering tech- Kohonen calls a feature map which learns hi-
nique that generates a nested category structure erarchical relations a hierarchical feature map.
in which pairs or sets of items or categories
are successively linked until every item in the hierarchical interpolation a technique of
data set is connected. Hierarchical clustering forming image pyramids. In this method pixels
can be achieved agglomeratively or divisively. are interpolated to higher levels in the hierarchy.
The cluster structure generated by a hierarchi- Thus, only the interpolated pixels need a resid-
cal agglomerative clustering method is often a ual in order to be reconstructed exactly since the
dendrogram but it can also be as complex as subsampled pixels are already correct.
any acyclic directed graph. All concept forma-
tion systems are hierarchical clustering systems hierarchical locking where coarse grained
including self-generating neural networks. See locks are acquired initially and then finer grained
clustering. See also concept formation, self- locks are acquired.
generating neural network.
hierarchical memory the organization of
hierarchical coding (1) coding a signal at memory in several levels of varying speed and
several resolutions and in order of increasing capacity such that the faster memories lie close
resolution. In a hierarchical image coder, an to the processor and slower memories lie fur-
224
HUbert space
ther away from the processor. Faster memo- high-fidelity prototype a prototype con-
ries are expensive, and therefore are small. The structed in a medium and environment very sim-
memories that lie close to the processor store ilar to that of the eventual product. Often this
the current instruction and data set of the pro- takes the form of running code. See also low-
cessor. When an object is not found in the mem- fidelity prototype.
ories close to the processor, it is fetched from the
lower levels of the memory hierarchy. The top high-impedance state the third state of tri-
levels in the hierarchy are registers and caches. state logic, where the gate does not drive or load
The lowest level in the hierarchy is the backing the output line. See tri-state circuit.
memory which is usually a disk. Also known as
multi-level memory. high-level language (HLL) See higher-order
language.
hierarchical model a data model, in which
the data is represented as collections of records high-level vision the highest stage of vision,
and the relationships are represented by links. leading to the full extraction of the 3D informa-
The records and links are organized as collec- tion and to its exploitation for the description
tions of trees. and understanding of the scene.
225
Hilbert transform
Hilbert transform a transform that relates example, the flat line produced by histogram
the real and imaginary parts of a complex quan- equalization. This procedure is usually not au-
tity, such as the index of refraction. For /, tomatic, i.e., the shape is usually specified by
a function of one real variable, the transform a person. Also called histogram modification
n(f) defined as follows: or histogram specification. See also histogram
equalization.
W</)(*) « lim ± /" f^^dt. (2) the fitting of a function to a histogram
e-»Q n J\t\>e t
in order to obtain an analytical expression that
An alternate formula, which coincides with the approximates the histogram.
previous one, except possibly on a zero-measure
set of points of discontinuity of /, is: histogram sliding the addition of a constant
1 r+°° t to all pixels in an image to brighten or darken the
U(f)(x) = lim - / f(x - 0-2—~2
2 2
*• image. A positive constant makes the histogram
€-»0 7T J-OQ t -h €
slide (translate) to the right; a negative constant
When / is square-integrable, the Fourier trans- makes it slide to the left. See also histogram.
forms F(f) and ^(^C/)) of / and U(f) are
related by: histogram stretching expansion or contrac-
F(H(mu) = -i sign(ii)^(/)(ii) tion of the gray-level histogram of an image in
order to enhance contrast. Usually performed
almost everywhere; thus for positive frequen- by multiplying or dividing all pixels by some
cies, the Fourier phase is shifted by — 7T/2; in constant value. See also contrast enhancement,
particular, / and H(f) have the same L2 norm. histogram.
histogram (1) graphical representation of in- history (1) record of changes to all, or part
formation in vertical bars proportional to the of, a database.
value of the variable displayed. For example, (2) a schedule.
the histogram of people having a PC in the last
10 years will show 10 vertical bars, each of them
hit the notion of searching for an address in
having height proportional to the number of peo-
a level of the memory hierarchy and finding the
ple that have a PC in the selected year.
address mapped (and the data present) in that
(2) in image processing, the distribution of
level of the hierarchy. Often applies to cache
the gray levels in an image, typically plotted as
memory hierarchies.
the number or percentage of pixels at a certain
gray level vs. the gray levels. If the ordinate
is the ratio of the number of pixels at a gray hit-miss ratio in cache memory, the ratio
level to the total number of pixels, the histogram of memory access requests that are successfully
is an approximation of the probability density fulfilled within the cache to those which require
function of the gray levels. See also probability access to standard memory or to an auxiliary
density function. cache.
226
homogeneous coordinates
Hollerith, Herman (1860-1929) Born: Buf- homogeneity a property stating that in a given
falo, New York set all the components have common features.
Hollerith is best known for his development For example, they have the same type or class.
of a tabulating machine using punched cards for
entering data. This machine was used to tabu- homogeneous array an array that requires
late the 1890 U.S. census. The success of this that all of its values be of the same data type.
machine spurred a number of other countries
to adopt this system. The company Hollerith homogeneous coordinates normally, the
formed to develop and market his ideas became transformations for scaling, rotation, and trans-
227
homogeneous list
lation are treated differently. Scaling and rota- logarithm image should affect the low and high
tion use matrix multiplication, whereas transla- frequency components differently. The most
tion uses vector addition. When the homoge- common use for the filter is to enhance images
neous coordinate system is used, all three trans- by compressing the brightness range while in-
formations can be performed using matrix multi- creasing contrast; the filter applied in this case is
plication. This representation is commonly used a circularly symmetric high pass filter with the
in graphics systems because of its simplicity of stop band magnitude < 1 and pass band magni-
representation and use. tude > 1.
A homogeneous coordinate is expressed with
an additional coordinate to the point. So, a two- homotopy method a technique for solving
dimensional point (*, y)T is represented as a nonlinear algebraic equations F(x) = 0 based
homogeneous coordinate by a triple (*, y, W)T. on higher-dimensional function embedding and
Two sets of homogeneous coordinates are equiv- curve tracing. The idea is to construct a pa-
alent if one is a multiple of the other. If the rameterized function such that at one param-
W coordinate is non-zero, we can divide each eter value, say A = A.Q, the system of equa-
coordinate by W, transforming (*, y, W)T into tions is easy to solve or has one or more known
(x/W, y/W, l)r; the numbers x/W and y/W solutions, and at another parameter value, say
are the Cartesian coordinates of the homoge- A, = A,/, the system of equations is identical to
neous point. If W is zero, the homogeneous that of the system of interest, F(x) = 0. A ho-
coordinate is a point at infinity. motopy method may then be interpreted as a ge-
ometric curve following through solution space
homogeneous list a list containing objects from the known solutions of the "easy" problem
of different types. Contrast with heterogeneous to the unknown solutions of F(x) = 0.
list.
homunculus in literature and art, the little
homogeneous network a network composed person who sits inside our heads and operates
of systems of only one architecture. Compare the controls; the operator of a teleoperator is a
with heterogeneous network. sort of homunculus for the robot.
homogenous transformation matrix a co- hop the act of a packet being forwarded by a
ordinate transformation in which both the trans- router.
lational and rotational transformations are given
by a single matrix. Hopfield memory See Hopfield model.
228
host system
process involving a nonlinear operation, such as some encoding is provided to reduce the length
thresholding in which the signal-to-noise ratio of the instruction.
of the input can be improved gradually during
the iterative process. A large number of optical horizontal propagation used to limit the
systems have been proposed to implement the propagation of privileges. A user granted priv-
Hopfield model, including the first optical neu- ileges with horizontal propagation limited to N
ral networks. Those optical implementations enforces that that user may not grant the privi-
are primarily based on optical matrix-vector or lege to more than N users.
tensor-matrix multiplication.
Horn clause also known as a definite clause,
Hopfield network a recurrent, associative it is a clause with one positive literal. It is writ-
neural network with n processing elements. ten as a disjunction A v -«Bi v ... v -iBn or
Each of the processing elements receives inputs -»Bj v ... v -»Bn with k < 1 positive atomic
from all the others. The input that a processing formulas. Horn clauses correspond to definite
element receives from itself is ignored. All of rules (for k = 1) or goals (for k = 0), respec-
the processing element output signals are bipo- tively. Horn clauses can express a subset of
lar. The network has an energy function asso- statements of first order logic. See clausal form.
ciated with it; whenever a processing element
changes state, this energy function always de- Homer's rule a rule that states that a poly-
creases. Starting at some initial position, the nomial A(x) = #o + a\x 4- #2*2 + 03*3 + • • •
system's state vector simply moves downhill on may be written as A(x) = ao + x(a\ + x(ai +
the network's energy surface until it reaches a *(*3+ ...)))•
local minimum of the energy function. This
convergence process is guaranteed to be com- Homer's scheme an efficient and optimal
pleted in a fixed number of steps. See discrete method for the evaluation of polynomials. The
Hopfield network. polynomial CQ + c\ x + cix1 -{ ----- h cnxn is eval-
uated as CQ + x(c\ + x(c2 +x( ---- h (cn_i -f
cnx) • • • ), which requires n steps, each consist-
Hopper, Grace Murray (1906-1992) Born:
ing of one multiplication and one addition.
New York, New York
Hopper is best known as the author of the horopter in binocular vision, the curved sur-
first compiler. Hopper began her career as a face occupied by points having no retinal dispar-
mathematics professor at Vassar College. Dur- ity; objects closer than the horopter have crossed
ing WWII she volunteered for service in the U.S. disparity, and objects beyond the horopter have
Navy and was assigned to work at Harvard with uncrossed disparity.
Howard Aiken on the Mark I computer. She
later joined J. Presper Eckert and John Mauchly host (1) a computer that is the one respon-
working on the UNIVAC computer. It was at sible for performing a certain computation or
this time she wrote the first compiler. Her com- function.
piler and her views on computer programming (2) computer on which the command proces-
significantly influenced the development of the sor is running, and on which the user is logged
first "English-like" business computer language on.
COBOL. (3) in networking, a computer, printer, switch,
etc. that can act as a source or sink of data.
horizontal fragmentation in object oriented
databases, fragmenting the attributes of an ob- host system In reference to a compiler, the
ject into more than one storage structure. system on which the compiler executes. This is
usually used to distinguish the system on which
horizontal microinstruction a microin- the compiler runs from the target system on
struction made up of all the possible microcom- which its output is intended to run. See also
mands available in a given CPU. In practice, cross-compiler.
229
hoM
hot 1 in 2's complement notation, the (rep- hue a perceptual term referring to the col-
resentation of the) negation of a number is com- orimetry quantity "dominant wavelength" of a
puted by forming a 1's complement and then color. Hue can be used together with saturation
adding a 1; the 1 is known as a hot 1. and luminance to define the HSL color space.
hot backup (1) to backup a live running data- hue-saturation-intensity (HSI) See hue-sat-
base. uration-lightness.
(2) copy of a database, immediately available
for use, should the primary version fail hue-saturation-lightness (HSL) a color
model based on the specification of hue (H), sat-
hot spot a frequently accessed database ob- uration (S), and intensity (I). A useful and con-
ject, likely to cause deadlock or blocking. venient property of this model is the fact that
intensity is separate from the color components.
Hough transform a transform which trans- The hue and saturation components (together re-
forms image features and presents them in a ferred to as chromaticity) relate closely to color
suitable form as votes in a parameter space, perception in humans; however, the HSI inten-
which may then be analyzed to locate peaks and sities are linear and do not correspond to those
thereby infer the presence of desired arrange- observed by the eye.
ments of features in the original image space: HSL is based on polar coordinates, while the
typically, Hough transforms are used to locate RGB color space is based on a three-dimensional
specific types of objects or shapes in the original Cartesian coordinate system. Intensity is the
image. Hough transform detection schemes are vertical axis of the polar system, hue is the rela-
especially robust. tive angle, and saturation is the planar distance
from the axis. The conversion from RGB to HSI
Householder transformation a matrix Q is as follows:
that maps each vector to its reflection through
a defined hyperplane; specifically, H = arccos(0.5((tf - G) + (R - £))/
S((R - G)2 + (G - B) * (R - *)) ,
e =/-2^
u u 1 S = 1 -(3/(J? + G + B)) * (min{/?, G, 5}),
reflects through the plane having normal vector / = (/? + G + B)/3 .
u.
See also RGB color model, color space.
housekeeping an activity that establishes a HSL is thought to be more intuitive to ma-
set of initial conditions to facilitate the execution nipulate than RGB space. For example, in the
HSL space, to change red to pink requires only
of a computer program.
changing the saturation parameter.
HSI See hardware software interface, hue- Also known as HSI (hue-saturation-intensity).
saturation-intensity.
hue-saturation-value (HSV) a color space
HSL See hue-saturation-lightness. that describes color using three basis compo-
nents: hue, saturation, and brightness. See also
HSV See hue-saturation-value. HSL, Munsell color system.
HTML See hypertext markup language. Huffman coding a variable length coding
scheme whose codewords are generated from
HTTP usually written as http. See hypertext the probability distribution of the source. The
transport protocol. method is optimal in the sense that no other
method can give a higher compression rate. It is
http See hypertext transport protocol. capable of achieving the bound on compression
given by the source coding theorem. It is due to
HUD See head-up display. D.A. Huffman (1952).
230
Hungarian notation
human interface See human-machine inter- human visual system (HVS) the collection
face. of mechanisms in humans which process and
interpret the visual world. These mechanisms
human-machine interaction reciprocal in- include the eye, the retina, the optic nerve, the
teraction of humans with machines, whether the visual cortex, and other parts of the brain.
human is controlling the machine, providing lo-
gistical support for the machine, serving as the Hungarian notation a convention of pro-
object of machine actions, or simply in the pres- gramming in the C language, invented by Hun-
ence of the machine. garian programmer Charles Simonyi at Mi-
231
Hurst parameter
crosoft, and promulgated as a means of simpli- hydraulic actuator an actuator that uses hy-
fying type checking. It consists of encoding a draulics as the medium for power.
sequence of lower-case characters at the start of
every identifier name to indicate its type, for ex- hydraulics the science of liquid flow.
ample "nValue" meaning an integer value and
"IpstrText" meaning a string pointer. The use of hyperalternative in a W-grammar, a possi-
these prefixes is totally redundant with the type bly empty sequence of hypernotions separated
declaration. by "," and followed by a ".".
hybrid fragmentation in distributed data- hyper rules one of the two sets of context-
bases, the subdivision of a relation combining free grammars that define a W-grammar. A hy-
horizontal and vertical fragmentation. per rule is written as a nonempty hypemotion,
followed by a ":", followed by a sequence of hy-
hybrid hash join a variation of the hash join. peralternatives separated by ";", followed by ".".
Similar to the hash join, but differs when the A hyper rule represents one or more production
hashed records do not fit in memory. In this case, rules. See also metaproduction rules.
part of each hash bucket is stored on disk. Each
hash bucket is allowed one block in memory; hypertext a term coined by Ted Nelson
the remainder is stored on disk. around 1965 for a collection of documents
(or nodes) containing cross-references or links
hybrid model See dual model, formal model. which, with the aid of an interactive browser pro-
gram, allow the reader to move easily from one
hybrid specification models a specification document to another following links that can be
technique for modeling linear continuous prop- defined on words, figures, etc.
erties of a system. Hybrid automata are ex-
tensions of finite state automata to continuous hypertext markup language (HTML) a hy-
quantities. They allow continuous properties of pertext document format used on the World-
the operating environment to be specified and Wide Web. Built on top of SGML. "Tags" are
modeled directly. Finite state automata provide embedded in the text. A tag consists of a "<",
a mathematical foundation for reasoning about a "directive", zero or more parameters, and a
systems in terms of their discrete properties. In ">". Matched pairs of directives, like "<title>"
hybrid automata, state transitions may be trig- and "</title>" are used to delimit text which is
gered by functions on continuous variables. to appear in a special place or style.
232
hypertext transport protocol (HTTP)
233
image
idle CPU the amount of time a processing image (1) information stored digitally in a
platform's processor spends not executing in- computer, often representing a natural scene or
structions associated with system or user appli- other physical phenomenon, and presented as a
cations. picture. The brightness at each spot in the pic-
0-8493-2691-5/01/$0.00+$.50
©2001 by CRC Press LLC 235
image acquisition
ture is represented by a number. The numbers The main difference is that in videoconferenc-
may be stored explicitly as pixels or implicitly in ing the video camera is fixed and picture data is
the form of equations. See also bitmapped im- produced only if there are moving objects in the
age, image acquisition, image processing, imag- scene. Typically, the amount of moving data is
ing modalities, pixel, vector image. much smaller than the stationary area.
(2) the representation of a computer program
and its related data as they exist at the time they image compression representation of still
reside in main storage. and moving images using fewer bits than the
original representation. For methods, see still
image acquisition the conversion of infor- image coding and video coding.
mation into an image. Acquisition is the first
stage of an image processing system and in- image enhancement processing an image
volves converting the input signal into a more to improve its appearance, or to make it more
amenable form (such as an electrical signal), suited to human or machine analysis. Enhance-
and sampling and quantizing this signal to pro- ment is based not on a model of degradation
duce the pixels in the image. Hardware, such (for which, see restoration), but on qualitative
as lenses, sensors, and transducers are particu- or subjective goals such as removing noise and
larly important in image acquisition. See also increasing sharpness. Contrast stretching, edge
analog-to-digital converter, digitization, image, emphasis, and smoothing are examples of en-
pixel, quantization, sample. hancement techniques.
image analysis the extraction of information image feature an attribute of a block of image
from an image by a computer. The results are pixels.
usually numerical rather than pictorial and the
information is often complex, typically includ- image file format a representation (usually
ing the recognition and interpretation of objects binary) used by a computer system as an agreed
in or features of the image. format to store an image. Examples of image
file formats include the Graphics Interchange
image-based rendering an approach to ren- Format (GIF) and Tagged Image File Format
dering in which objects and environments are (TIFF).
modeled using image data instead of geometric
primitives. image fusion the merger of images taken
with different imaging modalities or with dif-
image classification the division by a com- ferent types of the same modality, for example,
puter of objects in an image into classes or different spectral bands. See also multispectral
groups. Each class contains objects with sim- image.
ilar features. Also, the division of the images
themselves into groups according to content. image motion field the two-dimensional pro-
jection of the velocity field onto the image plane.
image coding any of a class of techniques
for recoding images to achieve the high rates of image noise unmodeled and arbitrary data
data compression required to cope with the stor- and/or signals on an image.
age and transmission of prodigious amounts of
image data. For methods, see still image coding image plane the collection of two-dimen-
and video coding. sional coordinates from an image.
image coding for videoconferencing this is image processing the manipulation of digital
also called coding at primary rates for videocon- images on a computer, usually done automati-
ferencing. In North America and Japan, one of cally (solely by the computer) but also semi-
the most plentiful is the DSI rate of 1.544 Mb/s. automatically (the computer with the aid of a
In Europe, the corresponding rate is 2.044 Mb/s. person). The goal of the processing may in-
236
imaginary part
elude compressing the image, making it look grain), periodic noise (electronics, vibrations),
better, extracting information or measurements and geometric distortions (optical aberrations,
from it, or getting rid of degradations. See also angle of image capture). See also motion com-
image acquisition, image analysis, image clas- pensation, noise
sification, image compression, image enhance-
ment, image recognition, image restoration. image segmentation the division of an im-
age into distinct regions, which are later clas-
image recognition the identification and in- sified and recognized. The regions are usually
terpretation of objects in an image. Image recog- separated by edges; pixels within a region often
nition is a higher-level process that requires have similar gray levels. See also edge detec-
more intelligence than other parts of image pro- tion, image classification, image recognition.
cessing such as image enhancement. Artificial
intelligence, neural nets, or fuzzy logic are of- image smoothing the reduction of abrupt
ten used. See also artificial intelligence, artifi- changes in the gray levels of an image. Usually
cial neural network, fuzzy logic, classifier, im- performed by replacing a pixel by the average
age classification, image understanding, pattern of pixels in some region around it. Also called
recognition. image averaging. See also smoothing.
image reconstruction (1) the conversion of image transform (1) the conversion of the
a digital image to a continuous one suitable for image from the spatial domain to another do-
display. See also analog-to-digital converter, in- main, such as the Fourier domain. It is often
terpolation. easier and more effective to carry out image pro-
(2) in tomography, the reconstruction of a cessing such as image enhancement or image
spatial image from its projections. See also compression in the transformed domain.
computed tomography, Radon transform. (2) transform involving the subdivision of
N x N image into smaller n x n blocks and
image registration the spatial alignment of performing a unitary transform on each subim-
a pair of images, which may involve correcting age. Any reversible liner transform where the
for differences in translation, rotation, scale, de- kernal describes a complete orthogonal discrete
formation, or perspective. Especially important basis function is called a unitary transform.
in binocular vision. See also block transform, discrete Fourier
transform (DFT), discrete Hadamard transform,
image regularization the process of shaping discrete cosine transform (DCT), discrete sine
the raw image data (natural image) into a format transform (DST), discrete wavelet transform
suitable for image analysis or visualization. (DWT), distance transform, Fourier transform,
Haar transform, Hadamard transform, Hilbert
image resolution a measure of the amount transform, Hough transform, Karhunen-Loeve
of detail that can be present in an image. Spatial transform (KLT), medial axis transform (MAT),
resolution refers to the amount of a scene's area Radon transform, slope transform, top hat
that one pixel represents, with a smaller area transform, transform, Walsh transform, wavelet
being a higher resolution. Brightness resolution transform.
refers to the amount of luminance or intensity
that each gray level represents, with a smaller image understanding the interpretation by a
amount being a higher resolution. computer of the contents of an image. The pro-
cess seeks to emulate people's ability to intelli-
image restoration the removal of degrada- gently extract information from or make conclu-
tions in an image in order to recover the original sions about the scene in an image. Also called
image. Some typical image degradations and image interpretation.
possible causes are: blurring (intervening atmo-
sphere or media, optical aberrations, motion), imaginary part in a complex number, the
random noise (photodetectors, electronics, film component that consists of a real number (a num-
237
Imaging modalttic
her found on the number line) times the positive tors such that the overall perception is one of
square root of —1, denoted i. being immersed within the visualization.
imaging modalities the general physical impact analysis the activity aimed at deter-
quantity that the pixels in an image represent; the mining the impact of a change before its actual
type of energy an image processing system con- implementation, in order to anticipate the ex-
verts during image acquisition. The most com- tent of its effects, and thus the associated risk
mon modality is visible light, but other modal- and cost.
ities include invisible light (infrared or X-ray),
sound (ultrasound), and magnetism (nuclear impedance the relationship between force
magnetic resonance). See also computed to- and motion.
mography (CT), fluoroscopy, image acquisition,
magnetic resonance imaging (MRI), multispec- impedance control a robotic manipulator
tral image, positron emission tomography (PET), control strategy based on modifying the im-
tomography, X-ray image. pedance of a manipulator or controlling the re-
sponse a robot has to external forces.
immediate addressing an addressing mode
where the operand is specified in the instruction imperative language a programming lan-
itself. The address field in the instruction holds guage which achieves its primary effect by
the data required for the operation. changing the state of variables by assignment.
238
impulse noise
tion acts as a meta-description referring to other perplanes of all schemata associated with that
descriptions. string. It was estimated by J. Holland that, for
a population with ^ individuals, the number of
implementation inheritance the use of in- schemata processed in a generation is on the or-
heritance to access code in the superclass at der of /i3. See also schema.
the likely expense of destroying the inheri-
tance of the specification or interface. Usually implicit surface a surface defined by using
negates/prevents the use of polymorphism. an implicit equation given by f(x, y, z) = 0 for
some function/(*, y, z). The equation restricts
implementation model a model that consists the interaction of x, y, and z to ensure that the
of the code files and the used work structure. It point (*, y, z) is confined to the surface.
includes the application software description as
well as the support software description. While implied mode a memory addressing scheme
the design model is a more abstract view, the that involves one or more registers that are im-
implementation model contains the full infor- plicitly defined in the operation determined by
mation necessary to build the system. instruction.
implemented software quality quality of an implied needs needs that may not have been
intermediate software product just after code im- stated but are actual needs when the entity is
plementation, but before testing. Implemented used in particular conditions. These are real
quality reflects fundamental design quality and needs that have not been documented.
the quality of the code implementors and should
be evaluated on the basis of internal and external implies the Boolean function of implication:
attributes. 0 - » 0 = 1 , 0 - * 1 = 1,1 -* 0 = 0, 1 -> 1 =
1. See also AND, OR, NOT, XOR.
implication the Boolean implies function.
See also conjunction, disjunction. import to create part or all of a database from
a portable format.
implicit declaration a mechanism specified
by many programming languages in which the imprecise computation techniques in which
use of a name defines the name. Contrast with accuracy is sacrificed in order to meet deadlines.
explicit declaration. Programming languages These techniques involve early truncation of a
that allow implicit declarations usually specify numerical series. Also called approximate rea-
the way in which the characteristics of the name soning.
are determined, for example, the FORTRAN
rule for variables starting with the letters I-O, imprecise interrupt an implementation of
the BASIC rule that a string variable or function the interrupt mechanism in which instructions
ends in $, or the C rule that an unnamed function that have started may not have completed before
always returns an integer result. the interrupt takes place and insufficient infor-
mation is stored to allow the processor to restart
implicit lock See automatic lock. after the interrupt in exactly the same state. This
can cause problems, especially if the source of
implicitly typed language a typed language the interrupt is an arithmetic exception. See pre-
where types are not part of the syntax. cise interrupt.
implicit parallelism the assertion that, in ge- impulse noise refers to a noise process with
netic algorithms, each symbol string in the popu- infrequent, but very large, noise spikes; it is also
lation contains information about every schema known as shot noise or Salt and Pepper noise.
to which the string belongs. As a result, when a The phrase "impulsive noise" is frequently used
particular string in the population is processed, to characterize a noise process as being funda-
we are in effect performing searches on the hy- mentally different from Gaussian white noise, in
239
inbetweening
being derived from a probability density func- inconsistent backup a backup of a database
tion with very heavy (long) tails. Applying im- in an inconsistent state. Specifically, a backup
pulsive noise to an image leaves most pixels containing incomplete and pending transactions.
unaffected, but with some pixels very bright or
dark. incorrect summary problem an incorrect
aggregate calculation resulting from the aggre-
inbetweening the generation of intermedi- gated data set being updated during the calcula-
ate transition positions from a given start and tion.
end point or keyframes. This technique is often
used in animation, where a lead artist generates increasing Boolean function See positive
the beginning and end keyframes of a sequence Boolean function.
(typically 1 second apart), a breakdown artist
does the breakdowns (typically 4 frames apart), increment to add a constant value (usually
and an "inbetweener" completes the rest. 1) to a variable or a register. Pointers to memory
are usually incremented by the size of the data
incident an event during operation of an item item pointed to.
which may indicate that a failure has occurred.
The true nature of an incident may not become incremental backup a backup comprising
apparent until after diagnosis. Some incidents only changes made since the last backup.
will turn out to be due to mistaken observation.
Others will turn out to be "genuine" and relevant incremental development a software pro-
to the measurement of one or more dependabil- cess which proceeds by producing progressively
ity attributes. larger increments of the desired product. At
each stage, the completed increments form a
subset of the final product. Bach increment pro-
in-circuit emulator (ICE) a device that re-
vides additional functionality and brings the cur-
places the processor and provides the functions
rently available subset closer to the desired one.
of the processor plus testing and debugging func-
tions.
incremental encoder similar to an absolute
encoder, except there are several radial lines
inclinometer a sensor that provides a mea- drawn around the disc, so that pulses of light
surement of the angle of inclination in a gravity are produced on the light detector as the disc ro-
field. tates. Thus, incremental information is obtained
relative to the starting position. A larger number
include file a header file. The name comes of lines allows higher resolution, with one light
from the C/C++ preprocessor directive #in- detector. A once per rev counter may be added
clude. with a second light detector. See also encoder.
incompressible string a string whose Kol- incremental model a process model that re-
mogorov complexity equals its length, so that it sults in delivery of versions of an application
has no shorter encodings. that provide increasingly greater functionality.
240
index authorization
Pxt,x2,... (XI, X2, . . .) = PXI (Xl)-P;t 2 ( X 2 ) - . . . . independent testing a test done by a com-
pany other than the developing company.
Independence implies uncorrelatedness. See
also correlation, probability density function. indeterminate a specification of the seman-
tics of a language which indicates that under
independent and identically distributed (IID) some specified set of conditions the meaning of
a term to describe a number of random variables, a construct in the program cannot be determined
each of which exhibits identical statistical char- by reading the language specification. This usu-
acteristics, but act completely independent, such ally applies to execution semantics of the pro-
that the state or output of one random variable gram, and may deal with situations in which
has no influence upon the state or output of any the execution semantics are violated in a way
other. the language does not detect, or to situations in
which the language specification leaves the be-
independent event event with the property havior unspecified.
that it gives no information about the occurrence
of the other events. index (1) an indication of a position of a
value in a sequence of values. An index is often
independent identically distributed process represented by an integer value. By implication,
a random process x[i], where x[i] and \[j] are for a given value n for an index, value (n — 1)
independent for i ^ y, and where the probabil- precedes value n and value (n +1) follows value
ity distribution p(x[/]) for each element of the n. Synonym, subscript.
process is not a function of i. See also inde- (2) a data structure that maps between ob-
pendence, probability density function, random ject designators and the object representation.
process. The index and the objects may be partially or
wholly contained on a secondary storage medi-
independent increments process a random um such as disk, with only portions residing in
process x(f ), where the process increments over the computer's main memory, but this is an im-
non-overlapping periods are independent. That plementation detail.
is, for fj < si, si < ti+\, then (3) an access structure used for efficient re-
trieval of records from a file given a search con-
(x(si) - xfo)), (xto) - x (r 2 )),... dition.
(4) that part of memory address used to access
are all independent. See also independence, ran- the locations in the cache, generally the next
dom process. most significant bits of the address after the tag.
241
indexed addressing
indexed addressing an addressing mode in the distance between the fuzzy set and its nearest
which an index value is added to a base address ordinary set.
to determine the location (effective address) of
an operand or instruction in memory. Typically, index page a disk page in an access method
the base address designates the beginning loca- or indexing method which does not contain any
tion of a data structure in memory such as a table data records.
or array and the index value indicates a particu-
lar location in the structure.
index register register used to index a data
structure in memory; the starting address of the
indexed color image an image that consists structure will be stored in a base register. Used
of a set of references to values stored in a color in indexed addressing. See register.
table or palette. The palette, which is often con-
tiguous in an image file, lists all the colors as
sets of coordinates in color space. An indexed indicator a measure that can be used to es-
16-color image contains a palette with 16 color timate or predict another measure. To infer the
entries (4 bits), whereas in an indexed 256-color estimated or predicted value requires a concep-
image 256 colors are listed (8 bits). tual model linking the attributes. Indicators may
be measured early in the software development
cycle in order to predict system attributes that
indexed nested loop join similar to the nested
can only be measured later, when the system is
loop join algorithm. This is applicable where an
operating. Examples: "specification size" may
index exists on the join attribute of at least one
be an indicator of "development effort"; "code
of the participating relations. In this case, the
complexity" is an indicator of reliability. See
index is used to retrieve records instead of exe-
also indirect measure, flag.
cuting a linear scan of the relations.
242
inertia tensor
indirect measure a measure of a feature (3) the proof technique of mathematical in-
which involves the measurement of one or more duction.
other features/attributes. See indirect measure,
flag. induction variable a variable that every time
its value changes, it is incremented or decre-
indirect measurement a measurement mented by some constant.
which is made by calculating the value of a func-
tion of one or more other measures. The func- inductive bias any preference not due to the
tion may be simple (e.g., taking the ratio of two training set which is exhibited by a concept ac-
quantities) or complex (e.g., estimation of re- quisition algorithm for one concept descriptor
liability using a reliability growth model). An over another.
example of indirect measurement is the calcu-
lation of "productivity" as the ratio of "lines of industrial benefit in project management,
code" to "total hours worked". any benefit that will be gained by the industry
once a project is completed. These are included
indirect mode a memory addressing scheme in the project objectives and results and are typi-
in which the operand of the instruction is a mem- cally quantified in terms of percentages or direct
ory address containing the effective address of values.
the address.
industrial inspection the use of computer vi-
indiscernibility relation in Pawlak's infor-
sion in manufacturing, for example, to look for
mation system S = (U, A) whose universe U
defects, measure distances and sizes, and evalu-
has n members denoted #, y, z,... and the set
ate quality. See also computer vision, inspection
A consisting of m attributes ay, the indiscerni-
system.
bility relation on U with respect to the set B c A
defines the partition U/B of U into equivalence
classes such that x, y € U belong to the same industrial robot a mechanical device or ma-
class of U/B if for every attribute a € B, nipulator, used for production and service, that
can be programmed to perform a variety of tasks
a(*) = a(;y). of manipulation and locomotion under automatic
control. Robots may be used as a means of pro-
In terms of negotiations, the partition U/B may duction on assembly lines, performing repetitive
be interpreted as the partition of the unverse U tasks or tasks that benefit from the accuracy and
into blocks of negotiators that have the same dependability of robots.
opinion on all of the issues of B. Robots may take the form of a sequence of
rigid body (links) connected by means of articu-
individual productivity the productivity of lation joints. A manipulator is characterized by
actual software developers. This is a number an arm, a wrist, and an end-effector. Motion of
which presents a lot of uncertainty. In many con- the manipulator is imposed by actuators through
trolled experiments, a ratio of 25 to 1 between actuation of the joints. Control and supervision
the fastest and slowest has been measured. of manipulator motion is performed by a control
system. The manipulator is equipped with sen-
induction (1) a technique that infers gener- sors that measure the status of the manipulator
alizations from the information in the data. and the environment.
(2) in learning, the process of acquiring gen-
eral concepts from specific examples. Very of- inertia the measure of a body's resistance to
ten the specific examples will be historical data changes in velocity.
of some form, such as production data for some
product, the past performance of a share price inertia tensor a matrix providing the distrib-
against various indicators, or a customer's pur- uted mass of a body with respect to a set of gen-
chasing history and mailshot response. eralized coordinates.
243
inference
infinity in computer arithmetic, a unique pat- information gain for an attribute in a set
tern that is used to denote the corresponding real of objects to be classified is a measure of the
244
inhibit
*i-ET /( * 4) '
accumulated.
245
inhibit sense multiple access (ISMA) protocol
memory bus for a read operation may inhibit fur- IN OUT parameter a parameter that can
ther processing until the data item has become be implemented by call-by-reference or call-by-
available, at which time the READY signal is value-result.
released and the processor continues.
IN parameter a parameter that is imple-
inhibit sense multiple access (ISMA) protocol mented using call-by-value.
multiple access protocol attempting to solve the
hidden station problem. In ISMA, the base sta- input data conveyed to a computer system
tion transmits an 'Idle" signal at the beginning from the outside world. The data is conveyed
of a free slot. Each user has to monitor this sig- through some input device.
nal before it attempts to access the base station.
ISMA is sometimes called busy tone multiple
input buffer a temporary storage area where
access (BTMA).
input is held. An input buffer is necessary when
the data transfer rate from an input device is dif-
initialize (1) to set a variable, register, or
ferent from the rate at which a computer system
other storage location to a starting value.
can accept data. Having an input buffer frees
(2) to place a hardware system in a known
the system to perform other tasks while waiting
state, for example, at power up.
for input.
initial query tree the query tree prior to the
application of heuristic optimization. input device a peripheral unit connected to a
computer system, and used for transferring data
initial symbol in a phrase structure grammar, to the system from the outside world. Examples
a designated nonterminal symbol from which all of input devices include keyboard, mouse, and
sentences in the language are generated. light pen.
inline function a function written as a sub- input layer a layer of neurons in a network
routine call, but which is actually compiled di- that receives inputs from outside the network.
rectly at the call site. This may be the result In feedforward networks, the set of weights con-
of explicit specification by the programmer, or nected directly to the input neurons is often also
done automatically by the compiler. See also referred to as the input layer.
intrinsic function.
input neuron a neuron in a network that re-
inner product space over the field F, H is ceives inputs from outside the network. In feed-
an inner product space if it is a linear space to- forward networks, the set of weights connected
gether with a function (,) : U x ti -> F, such directly to the input neurons is often also referred
that to as the input layer.
246
instantiation
input register a register to buffer transfers inspection system an image processing sys-
to the memory from the I/O bus. The transfer tem, usually automatic or semi-automatic, that
of information from an input device takes three performs industrial inspection.
steps:
1. from the device to its interface logic, instability the condition where a system does
not reach some sort of equilibrium or steady-
2. from the interface logic to the input regis- state behavior over the long term. For example,
ter via the I/O bus, and the system may have a transient state distribu-
3. from the input register to the memory. tion because the arrival rate exceeds the depar-
ture rate, say, or the system may be oscillating
input routine a function responsible for han- chaotically among multiple states.
dling input and transferring the input to memory.
install to introduce a computer program on
a disk or in computer memory to have it ready
input string a sequence of zero or more input
for invocation.
symbols which are processed by an automaton.
installability attributes of software that bear
input symbols a finite set of symbols which on the effort needed to install the software in
form the alphabet that is processed by an au- a specified environment. The capability of the
tomaton. A sequence of input symbols is desig- software product to be installed in a specified
nated as a string. environment. If the software is to be installed by
an end user, installability can affect the resulting
input vector a vector formed by the input suitability and operability.
variables to a network.
installation manual the manual or report in
inquiry a question or explanatory informa- which the process of software or hardware in-
tion that users of a software system can request. stallation is described.
These are used for calculating function points as
well as other questions based on metrics. instance (1) in software engineering, a single
copy of a software product in operation or on test
insert authorization authorization to insert on a single installation.
tuples into a relation. (2) in object-oriented programming, an ob-
ject produced from a class.
(3) in artificial intelligence, a single obser-
insertion anomaly phenomenon that occurs
vation or datum described by its values of the
when the insertion of data into a relation causes
attributes.
inconsistencies in the data or when a valid in-
sertion requirement cannot be satisfied.
instance diagram See object diagram.
insertion sort the family of sorting algo- instance variable a variable of a class that
rithms where one item is analyzed at a time and is private to each instance of an object of that
inserted into a data structure holding a repre- class. Contrast with class global member, static
sentation of a sorted list of previously analyzed member.
items.
instantaneous description a string that en-
inspection activity such as measuring, ex- codes the current state, head position, and (work)
amining, testing, or gauging one or more char- tape contents at one step of a Turing machine
acteristics of an entity and comparing the results computation.
with specified requirements in order to establish
whether conformity is achieved for each char- instantiation the creation of a new instance.
acteristic. In object-oriented programming, the process to
247
Instar configuration
produce and object from a class. It can be static referred to as the number of executed instruc-
and dynamic. tions per clock cycle.
instar configuration a term used for a neuron instruction counter the memory register
fed by a set of inputs through synaptic weights. within a computer that maintains the location
An instar neuron fires whenever a specific input of the next instruction that will be fetched for
pattern is applied. Therefore, an instar performs execution. This register is also called a program
pattern recognition. See instar training. See also counter.
outstar configuration.
instruction decoder the part of a proces-
instar training situation in which an instar is
sor that takes instructions as input and produces
trained to respond to a specific input vector and
control signals to the processor registers as out-
to no other. The weights are updated according
put. All processors must perform this function;
to
some perform it in several steps, with part of
the decoding performed before instruction issue
Wl(t + 1) = Wi(t) + fJi (Xi - 10,(f)) ,
and part of the decoding performed after.
where */ is the i th input, wi (t) the weight from
input xi, n is the training rate starting from about instruction decoder unit in modern CPU
0.1 and gradually reduced during the training. implementations, the module that receives an
See instar configuration. See also outstar train- instruction from the instruction fetch unit, iden-
ing. tifies the type of instruction from the opcode,
assembles the complete instruction with its
Institute of Electrical and Electronics Engi- operands, and sends the instruction to the appro-
neers (IEEE) a professional organization priate execution unit, or to an instruction pool to
of electrical engineers and computer scientists. await execution.
The world's largest professional organization.
Also one of the major standards-setting bodies instruction fetch unit in modern CPU im-
in the computer industry. See also ANSI, NIST, plementations, the module that fetches instruc-
ISO. tions from memory, usually in conjunction with
a bus interface unit, and prepares them for sub-
instruction specification of a collection of sequent decoding and execution by one or more
operations that may be treated as an atomic en- execution units.
tity with a guarantee of no dependencies be-
tween these operations. instruction field a portion of an instruction
word that contains a specified value, such as a
instruction access fault a fault, signaled in register address, a 16-bit immediate value, or an
the processor, related to abnormal instruction operand code.
fetches.
instruction format the specification of the
instruction cache See code cache.
number and size of all possible instruction fields
in an instruction-set architecture.
instruction cache unit The instruction cache
unit (ICU) is that component of the processing
platform's processor responsible for parsing in- instruction issue the sending of an instruc-
structions to the fixed-point and floating-point tion to functional units for execution.
units for execution. The total number of instruc-
tions processed by a processing platform within instruction-level parallelism the concept of
a given CPU cycle is typically defined as the executing two or more instructions in parallel
sum of the instruction cache, fixed-point, and (generally instructions taken from a sequential,
floating-point instructions. This sum is usually not parallel, stream of instructions).
248
integer unit
instruction pipeline a mechanism of a com- architectures. ISP definitions have been used to
puter by which more than one instruction is ac- describe machines to compiler automation sys-
tive in the processor. Instructions may concur- tems.
rently be in various stages of decode and exe-
cution, with the operands in various stages of instructions per clock cycle (IPC) the to-
being fetched or stored. An instruction pipeline tal number of floating-point, fixed-point, and in-
often has the property that "short" control trans- struction cache unit instructions which are pro-
fers, those within the limits of the pipeline, do cessed by a given processing platform within a
not require the instructions be re-fetched and given clock cycle.
re-decoded. The characteristics of an instruc-
tion pipeline can be very important to a compiler
writer. instructions per executed line of code (IPE-
LOC) the total number of machine instruc-
instruction pointer another name for pro- tions required to execute a high-level language
gram counter, the processor register holding the line of code. For example, the number of in-
address of the next instruction to be executed. structions required to execute the C-code seg-
See program counter. ment X = A -I- B are four: Load A; Load B; Add
A + B; Store sum in X,
instruction pool in modern CPU implemen-
tations, a holding area in which instructions that instruction window for an out-of-order is-
have been fetched by an instruction fetch unit sue mechanism, a buffer holding a group of in-
await access to an execution unit. structions being considered for issue to execu-
tion units. Instructions are issued from the m-
instruction prefetch the technique of im- struction window when dependencies have been
proving total execution time for a sequence of resolved.
code by prefetching instructions from mem-
ory so that they are available to the processor
integer a fixed-point, whole number value
(whether in cache or in an instruction pipeline)
that is usually represented by the word size of a
before they are needed. See memory caching.
given machine.
instruction prefix a field within a program
instruction word used for some special purpose. integer linear program a linear program
Found only rarely. The Intel X86 architecture augmented with additional constraints specify-
occasionally uses instruction prefixes to over- ing that the variables must take on integer values.
ride certain CPU addressing conventions. Solving such problems is NP-hard.
instruction set the collection of all the integer polyhedron a polyhedron, all of
machine-language instructions available to the whose extreme points are integer valued.
programmer. Also known as instruction reper-
toire. integer unit in modern CPU implementa-
tions, a type of execution unit designed specif-
instruction set processor (ISP) a formal no- ically for the execution of integer-type instruc-
tation used to describe machine instruction set tions.
249
Integrated application
integrated application an application that intelligence (1) ability to deal with abstract
agrees on data formats with other applications concepts and form complex pictures of the out-
so they can use each other's outputs. side world such as creativity, ability with spoken
and written language, etc.
integrated circuit (1C) an assembly of minia- (2) in the military sense, the aggregated
ture electronic components simultaneously pro- and processed information about the environ-
duced in batch processing, on or within a single ment, including potential adversaries, available
substrate, which performs an electronic circuit to commanders and their staff.
function.
intelligent agent See autonomous agent.
integrated development environment (IDE)
a style of programming environment in which
intelligent control a sensory-interactive con-
such features as the text editor, compiler, linker,
trol structure incorporating cognitive character-
debugger, and so on form a seamless (or nearly
istics that can include artificial intelligence tech-
seamless) operating environment.
niques and contain knowledge-based constructs
to emulate learning behavior with an overall ca-
integrated device electronics (IDE) an im-
pacity for performance and/or parameter adap-
plementation and protocol for communication
tation. Intelligent control techniques include
between a disk controller and a disk.
adaptation, learning, fuzzy logic, neural net-
works, and genetic algorithms, as well as their
integrated display a display integrating two
various combinations.
or more variables into a single representation as,
for example, when a cursor leaves a trail as it is
moved to indicate the direction (by trail vector) intention lock a lock acquired when the in-
and velocity (by trail length) of mouse move- tention is to perform an operation.
ment.
interaction diagram a depiction of inter-
Integrated Services Digital Network (ISDN) actions. An interaction is a dynamic event in
a network that provided end-to-end digital con- which a message is exchanged between two ob-
nectivity to support a wide range of services, jects in a collaborative embrace. Thus, for one
including voice and nonvoice services, to which collaboration we may have very many interac-
users have access by a limited set of standard tions.
multipurpose user-network interfaces.
interactive pertaining to a mode of operation
integration test a type of test in which the of a computer system in which a sequence of
interactions among components (hardware and alternating entries and responses takes place in
software) are tested. the form of a dialog.
integrity (1) a belief in the truth of the infor- interactive graphics data from sensors is
mation represented by a set of data. integrated with a graphics model to provide a
(2) the degree to which a component or a closer fit between synthetic and real environ-
system reacts and provides measures against the ments.
unauthorized access for performing changes and
manipulations to data and code. interactive proof system a protocol in which
(3) a condition stating that the information in one or more provers try to convince another
a set of data does satisfy a set of logical con- party called the verifier that the provers possess
straints (the integrity constraints). certain true knowledge, such as the membership
of a string x in a given language, often with the
integrity constraint a constraint imposed on goal of revealing no further details about this
the database by the database management sys- knowledge. The provers and verifier are for-
tem that helps maintain the integrity of the data. mally defined as probabilistic Turing machines
250
interframe prediction
with special "interation tapes" for exchanging interface device a device that is used to in-
messages. terconnect multiple system components for re-
solving any differences in data or control signals
interactive steering the practice of dynami- that are exchanged by these components.
cally modifying the parameters of a running sim-
ulation, guided by a real-time visualization of interface inheritance the exploitation of the
the simulation's progress. inheritance mechanism between interfaces. An
interface can be derived/specialized from an-
interactive system a system in which the other interface. See specification inheritance.
user interacts with the system through a series
of query-response transactions in real time. inter-feature distance the distance between
a pair of feature points in an image, often used to
interactive tools tools for the generation of help identify the object, or (in conjunction with
programs by a human with the assistance of an other measures of this type) to infer the presence
instruction database. of the object.
interactivity the degree to which a computer interframe referring to the use of more
simulation allows people to change or affect the than a single image frame (e.g., an algorithm
simulated world and objects within it. which differentiates successive image frames or
detects frame-to-frame motion). See also in-
traframe.
interarrival time the time between two suc-
cessive arrivals of jobs or requests at a system
interframe coding the process of coding the
or device.
difference of consecutive video frames based on
motion estimation instead of the frames them-
interconnection network the combination selves.
of switches and wires that allow multiple pro-
cessors in a multiprocessor or multicomputer to
interframe coding-3D in situations where
communicate.
motion picture film or television images need to
be coded, three-dimensional transform coding
interdeparture time the time between two is used. In this approach the frames are coded L
consecutive departure events. at a time and partitioned into L x L x L blocks
per pixel prior to transformation.
interface (1) the boundary between a system
and its environment, across which interaction interframe hybrid transform coding L x L
occurs by the passing of information. blocks of pixels are first 2D-transformed. The
(2) the externally visible features or charac- resulting coefficients are then DPCM (inter-
teristics (of an object, use case, subroutine, etc.). frame) coded and transmitted to the receiver.
This term is used in the languages supporting the This is then reversed at the receiver for recon-
distinction between interfaces and classes such struction. In the interframe hybrid transform
as C++. coding, the DC components are determined ex-
clusively by the amount of spatial detail in the
interface definition language (IDL) a way picture.
to accomplish interoperability across languages
and tools. An DDL is an object model that speci- interframe prediction this technique uses
fies standards for defining application interfaces a combination of pixels from the present field
in terms of an independent language—an inter- as well as previous fields for prediction. For
face definition language. Interface definitions scenes with low detail and small motion, field
are typically stored in a repository which clients difference prediction appears to perform better
can query at run-time. than frame difference prediction.
251
interior-based representation
interior-based representation a representa- There are other schemes for assigning ad-
tion of a region that is based on its interior (i.e., dresses to banks, all of which aim to (for non-
the cells that comprise it). unit strides) give the same performance as with
a stride of 1. These include: skewed address-
interlaced See interlaced scanning. ing, which is similar to sequential interleaving
but with a fixed displacement (the skew) added
interlaced display a technique for display- to the chosen module number; dynamic skewed
ing images at a higher resolution than the moni- addressing, in which the skew is variable and
tor. Two images consisting of every second row determined at run-time; pseudo-random skew-
of pixels are alternately displayed during every ing, in which the module number is chosen on a
screen refresh (e.g., every fiftieth of a second). pseudo-random basis; prime-number interleav-
There is hence a flickering artifact. ing, in which the number of modules employed
is prime relative to the degree of interleaving;
interlaced scanning a system of video scan- and superinterleaving, in which the number of
ning whereby the odd- and even-numbered lines modules exceeds the degree of interleaving.
of a picture are transmitted consecutively as two
separate interleaved fields. interleaved storage the notion of breaking
storage into multiple pieces that may be accessed
simultaneously by the same request, increasing
interlacing a technique used in video mon-
the bandwidth from the storage.
itors where alternating rows of the screen are
updated to speed refresh. Its opposite is nonin-
interleaving (1) regular permutation of sym-
terlaced.
bols usually used to split bursts of errors caused
by channels with memory (e.g., fading channels)
interleave (1) a technique used to prevent making a coding scheme designed for memory-
data loss during transfer of data to/from a disk. less channels more effective. The two main cat-
Data is written to nonconsecutive sectors in or-
egories are block interleaving and convolutional
der to allow the data transfer rate to keep up with interleaving. The inverse process is called dein-
the rotation speed of the disk. terleaving.
(2) to arrange parts of one sequence of events (2) a characteristic of a memory subsystem
so that they can alternate with parts of one or such that successive memory addresses refer to
more other sequences. separately controlled sections or banks of mem-
ory. Sequential accesses to interleaved mem-
interleaved data ordering data ordering in ory will activate the banks in turn, thus allowing
which different components are combined into higher data transfer rates.
so-called Minimum Coded Units (MCUs).
intermediate-level vision the set of visual
interleaved memory a memory system con- processes related to the perception/description
sisting of several memory modules (or banks) of surfaces and of their relationships in a scene.
with an assignment of addresses that makes con-
secutive accesses fall into different modules. intermediate product an item that is pro-
This increases the effective memory bandwidth, duced during some phase of the software de-
as several memory requests can be satisfied (con- velopment process, and is an input product to a
currently by several modules) in the same time later phase, but is not provided to the user. Ex-
as it would take to satisfy one memory request. amples of intermediate products are "require-
For example, a simple arrangement (sequential ments specification", "design documentation,"
interleaving), which favors sequential access, is "test report", etc. Some products may be either
to assign address k to memory bank k mod N, intermediate products or end products, depend-
where N is the number of modules employed: ing on the circumstances, e.g., source code may
the reference stride is 1, so consecutive requests be sold to the customer in some cases, but not
are to different banks. in others.
252
internationalization
253
International Standards Organization (ISO)
symbols whether for Pounds Sterling or Dollars redundancy to have highly correlated gray lev-
may have the same character representation). In els or color values. Reducing interpixel redun-
language design, the notion of keywords and re- dancy is one way of compressing images. See
served words can present problems in interna- also image compression.
tionalization (although there seems to be gen-
eral acceptance of English keywords). Icons or interpolation the approximation of a real
colors that in one culture have accepted benign function that consists of approximating the value
meanings (pause, caution), may in another cul- of the function between two points where the
ture have entirely different meanings (obscene value is known. Polynomials are commonly
gesture, death). See also Unicode. used for such approximations.
254
interrupt priority
(2) the transfer of information between two selectively, so that certain types of interrupts are
cooperating programs. Communication may processed, while others are disabled and held for
take the form of signal (the arrival of an event) later processing.
or the transfer of data. (2) the operation that changes the interrupt
state of the CPU from enabled to disabled.
interpupilary distance separation between
the pupils when the line of gaze is horizontal interrupt-driven I/O an input/output (I/O)
and straightforward; approximately 63 mm (2.5 scheme where the processor instructs an I/O de-
inches) on average for human adults. vice to handle I/O and proceeds to execute other
tasks; when the I/O is complete, the I/O de-
interquery parallelism parallelism achieved vice will interrupt the processor to inform com-
by executing numerous queries in parallel. pletion. An interrupt-driven I/O is more effi-
cient than a programmed I/O where the proces-
inter-record gap the space between two sor busy-waits until the I/O is complete,
records of data stored on a magnetic medium
such as a tape. This space helps prevent inter- interrupt enable (1) a state in which inter-
ference between the two records. It can also rupts to the CPU can be processed.
contain markers marking the beginning and end
(2) the operation that changes the interrupt
of the records.
state of the CPU from disabled to enabled.
interreflection a phenomenon that occurs
when a surface reflects light from other surfaces interrupt handler a piece of code designated
in its environment. The effects range from more to handle an interrupt, which is usually an asyn-
or less sharp specular reflections that change chronous request to process an event generated
with the viewer's position to diffuse reflections outside of the control of the program (for exam-
that are insensitive to viewer's position. Also ple, the completion of an I/O operation). Al-
called mutual illumination. though an interrupt handler often has many of
the characteristics of a function, the exact link-
interrupt (1) a means of altering control flow age to the interrupt handler is usually determined
in an asynchronous fashion, transferring control by the underlying hardware and can be substan-
from an arbitrary context to a function, the in- tially different from the linkage used for ordi-
terrupt handler, which performs an appropriate nary function calls. Many languages support
computation and returns to the main execution the necessary linkages for writing an interrupt
flow. Many languages support interrupts as ba- handler within the language.
sic control mechanisms.
(2) a suspension of an execution of a com- interrupt latency the delay between a com-
puter program, caused by an event external to puter system's receipt of an interrupt request and
that program, and performed in such a way that the beginning of its handling of this request.
the execution can be resumed.
interrupt line a wire carrying a signal to
interrupt controller a device that provides notify the processor of an external event that
additional interrupt handling capability to a CPU. requires attention.
interrupt descriptor table the interrupt de- interrupt mask a bit or a set of bits that en-
scriptor table is used in protected mode to store able or disable the interrupt line to be transmitted
the gate descriptors for interrupts and excep- at the interrupt detector circuit (inside or outside
tions. the CPU). The mechanisms of masking are typ-
ically implemented into interrupt controllers.
interrupt disable (1) a state in which inter-
rupts to the CPU are held, but not processed. In interrupt priority a value or a special setting
most systems it is possible to disable interrupts that specifies the precedence to serve the corre-
255
Interrupt register
spending interrupt with respect to other interrupt forming the conjunction of two sets. In a crisp
signals. (non-fuzzy) system, the intersection of two sets
contains the elements that are common to both.
interrupt register contains a bit map of all In fuzzy logic, the intersection of two sets is
pending (latched) interrupts. the set with a membership function which is the
smaller of the two.
interrupt request a signal or other input re- Denoted fl, fuzzy intersection is more rig-
questing that the currently executing program be orously defined as follows. Let A and B be
suspended to permit execution of a more urgent two fuzzy sets in the universe of discourse X
code. with membership functions /&A(JC) and /ij?(x),
x € X. The membership function of the inter-
interrupt service the steps that make up the section A O B9 for all x e X, is
operation by which the CPU processes an inter-
rupt. Briefly, the CPU suspends execution of its V>AC\B(X) = min {HA(X)> V>B(X)} .
current program and branches to a special pro-
gram known as an interrupt handler or interrupt See also fuzzy set, membership function.
routine to take appropriate action. Upon com-
pletion of the interrupt service, the CPU will intersymbol interference (ISI) the distor-
take one of a number of actions, depending on tion caused by the overlap (in time) of adjacent
circumstances: it can symbols.
1. return to the previous task if conditions
permit, interval logic an extension of a logic (prepo-
2. process other pending interrupts, or sitional or first order) with specific operators
3. request further action from the operating to express relationships between time intervals
system. (e.g., meet, before, after, . . . ) and/or operators
for combining intervals (e.g., chop) and opera-
interrupt service routine a routine that is tors to specify interval boundaries on the basis of
executed in response to an interrupt request. the truth of predicates. Generally are useful to
express relationships among events but they can-
interrupt signal a hardware signal generally not express temporal constraints as needed by
used to initiate an asynchronous process or to real-time systems. See temporal interval logic.
handle an anomalous program condition.
intractable a problem for which there is no
interrupt vector in an interrupt controller, a closed form solution. A queueing model is in-
register that contains the identity of the highest- tractable if there does not exist an exact analyti-
priority interrupt request. cal solution. A problem for which the execution
times for all known solution algorithms grow
intersect (1) in operations on mathematical faster than any polynomial function as the prob-
sets, an operation that produces the set intersec- lem size increases, so that only small examples
tion, a set of values that represent elements that can be solved in a reasonable period of time.
are in both sets.
(2) in database systems, an operation that intraframe image or video processing meth-
computes the relational intersect of two rela- od that operates within a single frame without
tional tables. reference to other frames. See also interframe.
intersection given the sets A and B, A fl B intraframe coding image coding schemes
the set comprising all elements that exist in both that are based on an intraframe restriction; that
AandB. is, to separately code each image in a sequence.
intersection of fuzzy sets a logic operation, intranet a network that provides similar ser-
corresponding to the logical AND operation, vices within an organization to those provided
256
I/O bandwidth
by the Internet outside it but which is not nec- inverse for a real function /, if its inverse is
essarily connected to the Internet. The common /-1 then/-1 (/(*)) = *.
example is a company that sets up one or more
World Wide Web servers on an internal network inverse Jacobian the mathematical inverse
for distribution of information within the com- of the Jacobian matrix. The transformation from
pany. a Cartesian velocity or to a joint velocity vector
or joint torque to tip force.
intraoperation parallelism the execution of
one relational operation as many suboperations. inverse kinematics identification of possible
robot joint configurations given desired Carte-
intraquery parallelism parallelism achieved sian task coordinates.
by parallel execution of a single query.
inverse translation buffer a device to trans-
intrinsic function a function that is recog- late a real address into its virtual addresses to
nized by the compiler. In some languages this handle synonyms. Also called a reverse transla-
means only that the function need not be explic- tion buffer and an inverse mapper.
itly declared, and in some languages or compil-
ers it may also imply that the function may be inverse wavelet transform a computation
compiled as an inline function. procedure that calculates the function using the
coefficients of the wavelet series expansion of
intrinsics the layer of a toolkit on which dif- that function.
ferent widgets are implemented.
inversion a mutation operator in which a ran-
dom sub-string is chosen from a chromosome
introspective sort a variant of quicksort
and then re-inserted into the same location in
which switches to heap sort for pathological in-
reverse order.
puts, that is, when execution time is becoming
quadratic.
inverted index an index into a set of texts
of the words in the texts. The index is sorted
invalid defect a defect that looks like a defect alphabetically, and each index entry gives the
in some software product but in reality it is not word and a list of texts, and possibly locations
a defect. Either it is not a defect, or it is a defect within the text, where the word occurs.
in some other software product. It is common
to receive about 15% of invalid defects for soft-
inverted page table the number of entries in
ware vendors. Possible causes are user errors,
a conventional page table in a virtual memory
hardware errors, and errors in other products.
system is the number of pages in the virtual ad-
dress space. In order to reduce the size of the
invalid entry an entry in a table, register, or page table, some systems use an inverted page
module that contains data that is not consistent table that has only as many entries as there are
with the global state. Invalidity is used in cache pages in the physical memory, and a hashing
coherence mechanisms. function to map virtual to physical addresses in
nearly constant time.
invariant (1) an assertion that is true at all
times. In object-oriented programming, an in- I/O See input/output.
variant acts as a post-condition for all class meth-
ods. I/O bandwidth the data transfer rate into
(2) an unchanging relationship between ac- or out of a computer system. Measured in bits
tions and information within a world, e.g., un- or bytes per second. The rate depends on the
supported objects accelerate towards the surface medium used to transfer the data as well as the
of the world. architecture of the system. In some instances the
257
I/O bound
bandwidth average rate is given and in others the I/O device a physical mechanism attached to
maximum rate is given. See I/O throughput. a computer that can be used to store output from
the computer, provide input to the computer, or
I/O bound pertaining to a process that spends do both.
most of its time performing input/output.
I/O interface the hardware required to con-
I/O buffer a temporary storage area where nect input or output devices to a computer sys-
input and output are held. Having I/O buffers tem. This hardware, together with the software
frees a processor to perform other tasks while drivers, is responsible for accommodating the
the I/O is being done. Data transfer rates of operational differences, such as speed and data
the processor and an I/O device are, in general, type or format, between the devices and the com-
different. The I/O buffer makes this difference puter system.
transparent to both ends.
I/O interrupt a signal sent from an input or
I/O bus a data path connecting input or output output device to a processor, which states the
devices to the computer. status of the I/O device has changed. An in-
terrupt usually causes the computer to transfer
I/O card a device used to connect a periph- program control to the software subroutine that
eral device to the main computer; sometimes is responsible for controlling the device. See
called an I/O controller, I/O interface, or periph- interrupt-driven I/O.
eral controller.
I/O port (1) a form of register designed
I/O channel input/output subsystem capa- specifically for data input-output purposes in a
ble of executing a program, relieving the CPU bus-oriented system.
of input/output related tasks. The channel has (2) the place from which input and output
the ability to execute read and write instructions occurs in a computer. Examples include printer
as well as simple arithmetic and sequencing in- port, serial port, and SCSI port.
structions that give it complete control over in-
put/output operations (IBM terminology). See I/O processor a processor dedicated to per-
also direct memory access, selector channel, forming I/O operations exclusively, thus allevi-
multiplexor channel, subchannel I/O. ating the burden on the CPU. It usually has a
separate local bus for I/O operations data traffic,
I/O command a command that controls the thus permitting the CPU to access memory on
transfer of data between peripheral devices and the main system bus without interruption. For
the computer systems. I/O commands are typi- example, the Intel 8086 CPU has an 8089 I/O
cally used to initiate I/O operations, sense com- processor associated with it. Both can operate
pletion of commands, and transfer data. These simultaneously, in parallel.
commands typically contain the ID of the de-
vice being addressed, the operation to be per- I/O redirection a shell mechanism for re-
formed on the device, and parameters for the op- defining a process's I/O data streams, in partic-
eration. Not all computers have I/O commands. ular standard input, output, and error; occurs on
See memory mapped I/O. a process-by-process basis.
I/O controller (1) the logic that controls the I/O register a special storage location
input and output activities on the I/O bus. used specifically for communicating with m- '
(2) the software subroutine used to commu- put/output devices.
nicate with an I/O device. See I/O routine.
I/O routine a function responsible for han-
I/O data stream a program's input or output dling I/O and transferring data between the
channel; conceptualized and handled as a file. memory and an I/O device. See I/O controller.
258
is-referred-by
I/O system the entire set of input/output con- ISO See International Standards Organiza-
structs, including the I/O devices, device drivers, tion.
and the I/O bus.
isodata a special elaboration of K-Means
I/O throughput the rate of data transfer be- used for clustering.
tween a computer system and I/O devices.
Mainly determined by the speed of the I/O bus isolated I/O an I/O system that is electrically
or channel. Throughput is typically measured in isolated from where it is linked. Isolated I/O
bits/second or bytes/second. In some instances, is often found in embedded systems used for
the throughput average rate is given and in others control.
the maximum rate is given. See I/O bandwidth.
isolation the extent to which a transaction
I/O trunk See I/O bus. can access the updates made by other concurrent
transactions.
I/O unit the equipment and controls neces-
sary for a computer to interact with a human isometric projection this is a form of ortho-
operator or to access mass storage devices or to graphic projection in which the direction of pro-
communicate with other computer systems over jection and surface normal of the image plane are
communication facilities. parallel to one of these eight directions {(1,1,1),
(1,1,-1), (1,-1,1), (1,-1,-D, (-1,1,1), (-1,1,-D,
IPC See instructions per clock cycle, inter-
process communication.
isomorphic a relationship between two
IPELOC See instructions per executed line graphs. Two graphs are isomorphic if there is
of code. a one-to-one correspondence between their ver-
tices and there is an edge between two vertices
of one graph if and only if there is an edge
irradiance a measure of the amount of light
between the two corresponding vertices in the
energy incident on a unit area of surface per unit
other graph. See also homomorphic.
time. Measured in Watts per square meter.
isomorphism a one-to-one correspondence
IRVQ See interpolative vector quantization. between two sets of data.
is-a a relationship in object-modeling. A ISO/OSI See open systems interconnection
is-a B means that an instance called A is an model.
instance (object) created from class/type B. In
some cases, it is also used as a shorter version isosurface a technique used in three-dimen-
of is-a-kind-of relationship. sional data visualization where a surface is
drawn around points in three-dimensional space
is-a-kind-of a relationship used in object that represent the same data value. For example,
modeling. It often represents a combination of the set of points { (x,y,z) : f(x, y,z) = c }
a taxonomic viewpoint and a subtyping view- where c is a given constant. See implicit surface.
point.
ISP See instruction set processor, Internet
ISDN See Integrated Services Digital Net- service provider.
work.
is-part-of in object-modeling, another name
ISI See intersymbol interference. for a whole-part relationship.
ISMA See inhibit sense multiple access pro- is-referred-by in object-modeling, the rela-
tocol. tionship between two classes in which a class
259
issue
contains an attribute that is a reference or a iterations — leads to the local solutions being
pointer to an object of another class. satisfactory from the overall (coordinator) point
of view; iterative coordination is used in mul-
issue the act of initiating the performance tilevel optimization, in particular in the direct
of an instruction (not its fetch). Issue policies method and the price method.
are important designs in systems that use par-
allelism and execution out of program order to iterative decoding decoding technique that
achieve more speed. uses past estimates to provide additional infor-
mation to improve future estimates. Used in the
ITB See inverse translation buffer. decoding of Turbo-codes.
item any part, component, device, subsys- iterative selection a thresholding algorithm
tem, functional unit, equipment, or system that based on a simple iteration. First select a sim-
can be individually considered. Synonymous ple threshold (say, 128) and segment the image,
with entity. computing the mean of the black and white pix-
els along the way. Next, calculate a new thresh-
iterated function system a finite collection old using the mid-point between the black and
of affine mappings in the plane which are com- white pixels as just computed. Next, repeat the
binations of translations, scalings, and rotations. entire process, using the new threshold to per-
Each mapping has a defined probability and form the segmentation. The iteration stops when
should be contractive, that is, scalings are less the same threshold is used on two consecutive
than 1. Iterated function systems can be used passes.
for the generation of fractal objects and image
compression. iterator an iteration construct in a language.
See also enumerator. Note that all enumerators
iteration repetition. Most languages support are iterators, but not all iterators are enumerators
an iteration construct, typically a counted itera- (for example, do-while is an iterator but not an
tion such as for, as well as conditional iteration enumerator).
such as while, do, or until.
iterator class used to traverse and retrieve
iterative coordination coordination process information from a set of objects managed by a
concerned with such exchange of information container class.
between the coordinator and the local decision
(control) units, which — after a number of ITG See independent test group.
260
job
J jerk
JIT
time rate of change of acceleration.
See just-in-time.
Jackson's theorem the result for Jackson jittering a technique that adds noise to a ren-
networks that states that the joint distribution for dered image; the advantage of jittering is that
all nodes factors into the product of each of the the human eye tolerates noise more easily than
marginal distributions. That is, the solution for it tolerates aliasing artifacts. Consequently, hu-
Markovian queues in equilibrium has a product mans perceive the jittered image as being of a
form. higher quality.
Jittering is performed by displacing sample
Jacobian a matrix that transforms joint ve- locations that are initially spaced regularly. Typ-
locity to tip velocity and tip force to joint torque. ically, this involves randomly shifting uniformly
positioned sample points horizontally and ver-
Jacobian of the manipulator a matrix that tically. Such a sample point is usually in the
maps the joint velocities into end-effector veloc- center of the pixel which is perturbed to some
ities. other location within it.
jaggy See adaptive sampling. JK flip-flop device that uses two inputs (J
and K) to control the state of its Q and Q' out-
jamming a rounding method that consists of puts. A negative edge sensitive clock input sam-
first chopping and then forcing a 1 in the least ples J and K and changes the outputs accord-
significant bit retained. Also known as force-1 ingly. The simplified truth table for the JK flip-
rounding or von Neumann rounding. flop is as follows:
Java Virtual Machine (JVM) a virtual ma- job (1) a unit of work to be accomplished by
chine that executes the Java byte code. an operating system.
0-8493-269 l-5A)l/$0.00+$.50
<§> 2001 by CRC Press LLC 261
job control language (JCL)
(2) an executable entity such as a program (3) the origin of link motion.
that can give rise to multiple CPU, memory, and
I/O operations. joint angle the absolute or relative displace-
ment of a manipulator's joint.
job control language (JCL) a language used
to identify a sequence of jobs, describe their re- joint-by-joint control control scheme re-
quirements to an operating system, and control quiring independent activation of each joint of a
their execution. robotic manipulator.
job stream a sequence of programs or jobs joint controller a controller designed to track
set up so that a computer can proceed from one a desired joint position, velocity, or torque.
to the next without operator intervention.
joint motor a motor located at the joint of
jog in a rectilinear routing model, a verti- a manipulator that provides a desired velocity,
cal segment in a path that is generally running position, or torque.
horizontally, or vice versa.
Joint Photographic Experts Group (JPEG)
join (1) a control flow point where two sepa- a lossy compression technique that is an indus-
rate execution paths that are executing in paral- try standard for image information storage and
lel (or conceptually executing in parallel) must retrieval.
synchronize. See fork, rendezvous.
(2) in languages operating on databases, an joint sensor a sensor that provides a signal
operator used to combine related tuples from proportional to the position, velocity, or torque
two relations into single operations. Only op- at a joint.
erations that satisfy the join condition appear in
the result of the operation. It is a composite op- joint space the mathematical space related to
erator comprising a Cartesian product, a select, the joints of a manipulator. The number of di-
and a project. In SQL, a JOIN TABLE allows mensions of this space is the same as the degrees
users to specify a table resulting from a join op- of freedom.
eration in the FROM clause of a query. See also A position and orientation of a manipulator
union, intersect. of n degrees of freedom is specified as a result
of the forward kinematics problem. This set of
join attributes attributes with common do- variables is called the n x 1 vector. The space
mains on which two relations may be joined. of all such joint vectors is referred to as joint
space.
join dependency a relation, denoted
/?2, • • • RN)> specified on relation schema R joint space control depicted in the fig-
where every instance r of R has a lossless de- ure. The joint space control scheme con-
composition into R\ , /?2 • • • RN- sists of the trajectory conversion which recal-
culates the desired trajectory from the opera-
joint (1) connecting point between links of tional space (Xdy Xd, Xd) into the joint space
a limb. A lower-pair joint connects two links (ft*» <ld, &/)• Then, a joint space controller
and it has two surfaces sliding over one another is designed that allows tracking of the refer-
while remaining in contact. Six different lower- ence inputs. Notice that only joint inputs are
pair joints are possible: revolute (rotary), pris- compared with joint positions, velocities, and
matic (sliding), cylindrical, spherical, screw, accelerations. The joint space control does
and planar. Of these, only rotary and prismatic not influence the operational space variables
joints are common in manipulators. Each has which are controlled in an open-loop fash-
one degree of freedom. ion through the manipulator mechanical struc-
(2) site at which the force supplied by actua- ture. Joint space control is usually a single-
tors is exerted to move a link. input/single-output system; therefore a manip-
262
just-in-time (JIT)
ulator with n degrees of freedom has n such JPEG See Joint Photographic Experts Group.
independent systems. A single-input/single-
output system has PI (proportional-integral), PD judgement a formal assertion relating en-
(proportional-derivative), or PID (proportional- tities such as terms, types, and environments.
integral-derivative) structure. These schemes do Type systems prescribe how to produce valid
not include dynamics of the manipulator. Dy- judgements from other valid judgements.
namics of the manipulator can be included in,
for example, computed torque control. Julia set in fractal geometry, a complex func-
tion f(z) that is the boundary of the set of points
that escape.
263
just-in-time (JIT)
ments with just-in-time compilation, in which just noticeable difference (JND) the mini-
the byte codes that represent the executable pro- mum difference between two stimuli in physical
gram are translated to machine code the first time intensity which allows them to be perceived as
they are executed; thereafter, the machine code different,
is executed, eliminating the overhead of the in-
terpreter. JVM See Java Virtual Machine.
264
Kendall's classification
0-8493-2691-5/01/$0.00+$ 50
©2001 by CRC Press LLC 265
Kerberos ticket-granting ticket (TGT)
M negative exponential (Markov) £* (Erlang-/c) (2) in an access control system, a value held
Hk (*-th order hyperexponential) G general GI- by a process to permit it to make access to certain
general independent G^ general with batches objects within the system.
the sizes of which have distribution type X. (3) in encryption, a value used to encrypt or
Some authors use s for the number of queue- decrypt a message according to the algorithm
ing places in the system, not including the decrypt(key, encrypt(key, message))=message.
servers. The short notation A/Bin must be com- (4) in accessing an associative array, the value
plemented by an indication if a waiting system which names an element of the array.
or a loss system is meant. The number of sources (5) in accessing any value set, the value which
can also be included in the notation, but the no- is used to name a value of the set, for example,
tation for this is not unique and therefore needs a hash key.
additional explanation.
key attribute any attribute that is a member
Kerberos ticket-granting ticket (TGT) the of the primary key.
cryptographic credential used to obtain creden-
tials for other services. keyboard an input device with a set of but-
tons (or keys) through which characters are in-
K-Erlang the distribution of the sum of K put to a computer. In addition to the keys for
exponential random variables. The K -Erlang inputting characters, a keyboard may also have
density function with parameters (AT, X) is given function keys and special keys, such as power-
by on or print-screen.
266
K-nearest neighbor
key point detection a technique usually em- Kleene star a notation used in the specifica-
ployed in specialized linear or morphological fil- tion of a grammar to indicate zero or more repli-
ters designed for measuring gray-level changes cations of the starred component of the grammar.
in several directions. A key point is an isolated Most frequently used in the specification of reg-
image point corresponding to a peculiar physical ular expression.
or geometrical phenomenon in the scene from
which the image arises; it can be, for example, KLT See Karhunen-Loeve transform.
a corner, a line termination, a junction, a bright
or dark spot, etc. Key points are distinguished KM See knowledge management.
from edges by two properties: they are sparse
and display strong gray-level variations in two or K-means algorithm a clustering algorithm
more directions (while edge points are grouped known from the statistical literature (E.W.
into lines and have gray-level variations essen- Forgy, 1965). Relying on the same principles as
tially in the direction normal to that line). See the Lloyd algorithm and the generalized Lloyd
edge, edge detection. See also salient feature. algorithm.
Given a set of patterns and K, the number of
key punch a device with a keyboard used desired clusters, K-means returns the centroid
for storing data in paper cards or paper tapes by of the K clusters. In a Pascal-like language, the
punching holes. The patterns of holes punched algorithm runs as follows:
across these cards or tapes represent the data function K-Means(Pattems:set-of-pattern):Centroids;
keyed in. Now obsolete. begin repeat
for/i = l toN do
key-range lock a lock acquired on a range Assign point h to class k for which the distance
of key values to prevent phantoms. (*/, - /A*)2 is a minimum
For* = 1 to AT do
Compute i*[k] (average of the assigned points)
keyword a word (symbol) in a language until no further change in the assignment
which has meaning only in specific contexts.
end
Unlike a reserved word, a keyword can usually
be redefined by the programmer in any context The algorithm requires an initialization that
other than the one its meaning is defined. consists of providing K initial points, which can
be chosen in many different ways. Each of the N
given points is assigned to one of the K clusters
keyword parameter See named parameter.
according to the Euclidean minimum distance
criterion. The average in the clusters is com-
kill character the terminal driver control puted and the algorithm runs until no further
character used to delete the current line. re-assignment of the points to different clusters
occurs.
kinematics the study of motion of mecha-
nisms without the inclusion of dynamics. knapsack problem a problem used in com-
putational analysis. The problem is: given items
kinesthesia human sense of forces acting on of different values and volumes, find the most
and applied by the limbs and body. valuable set of items that fit in a knapsack of
fixed volume. See also bin-packing.
Kiviat graph a type of graph that displays
the results of many changing variables simulta- K-nearest neighbor a classification method
neously. The value corresponding to each vari- that classifies a point by calculating the distances
able is drawn considering its minimum, typical, between the point and points in the training data
and maximum values. set. Then it assigns the point to the class that
is most common among its k-nearest neighbors
kixel (Kinetic energy piXEL); fundamental (where k is an integer). This is an extension of
unit of haptic displays, analogous to pixel. the nearest neighbor algorithm.
267
knot
knot usually the join point between spline knowledge engineering (KE) the engineer-
curve segments. (If the spline is a bundle of, ing discipline that involves integrating
e.g., cubics model, then a knot is the place where knowledge into computer systems in order to
one cubic stops and another starts.) solve complex problems normally requiring a
high level of human expertise.
knowledge a blanket term for any piece of Method for software developers to extract
information that can be applied to solve prob- knowledge from domain experts.
lems.
knowledge management (KM) the distri-
knowledge acquisition the extraction and bution, access, and retrieval of unstructured in-
formulation of knowledge derived from various formation about "human experiences" between
sources, especially from experts. interdependent individuals or among members
of a workgroup. Knowledge management in-
knowledge base a collection of facts, rules, volves identifying a group of people who have
and procedures, organized into schemas, per- a need to share knowledge, developing techno-
taining to a certain area. The information is usu- logical support that enables knowledge sharing,
ally obtained from experts in the area. A knowl- and creating a process for transferring and dis-
edge base forms part of a knowledge-based sys- seminating knowledge.
tem.
knowledge representation formalism for ex-
pressing knowledge and reasoning with knowl-
knowledge-based concept assignment one
edge about many application domains. Knowl-
of several approaches used in artificial in-
edge representation paradigms include frames,
telligence. There are a few approaches to
production rules, semantic networks, first order
knowledge-based concept assignment, exam-
logic, and systems of equations. Typical knowl-
ples being: program plans, human oriented con-
edge representation structures used in discovery
cepts, and informal reasoning. They differ in the
systems are patterns such as trees, rules, equa-
kind of knowledge they use and which technique
tions, and contingency tables.
they apply to find concepts in the source code.
Knowlton's technique a pyramidal-type of
knowledge-based systems (KBS) the most hierarchical approach. In this approach, a re-
mature, and still the most widely used, of the AI versible transformation takes adjacent pairs of
technologies. In a KBS, the knowledge is made k-bit pixel values and maps them into a k-bit
explicit, rather than being implicitly mixed in composite value and a k-bit differentiator.
with the algorithm. Also known as expert sys-
tems. known segment table (KST) in the Mul-
tics system, a table listing all memory objects
knowledge base management system a col- (segments) that are available to the process pos-
lection of programs that support the creation and sessing the table. When a process desires access
maintenance of a knowledge base. to a new segment, it requests permission to enter
that segment in the KST, whence the system ver-
knowledge discovery the non-trivial process ifies the access rights for that process and then
of identifying valid, novel, potentially useful, enters the segment and the appropriate access
and ultimately understandable patterns in data. rights into the KST for that process.
268
kv diagram
data. In data mining it is employed for cluster where m is the number of leaves in a binary tree
analysis. and l\ is the depth of leaf i.
Kolmogorov complexity the minimum num- Kripke structure a finite state machine,
ber of bits into which a string can be compressed whose states are labeled with Boolean variables
without losing information. This is defined with and whose next state is chosen nondeterminis-
respect to a fixed but universal decompression tically. It may be extended with fairness con-
scheme, given by a universal Turing machine. straints. See also model checking.
Kraft's inequality a theorem from informa- Kruskal's algorithm an algorithm for com-
tion theory that sets a restriction on instanta- puting a minimum spanning tree. It maintains
neous codes (codes where no codeword is a pre- a set of partial minimum spanning trees, and
fix of any other codeword, i.e., a code contain- repeatedly adds the shortest edge in the graph
ing 0 and 01 is not an instantaneous code). The whose vertices are in different partial minimum
Kraft inequality states that for an instantaneous spanning trees. See also Prim's algorithm.
code over an alphabet with size D and codeword
lengths /i, /2, / a , . . . , /m the following must be KST See known segment table.
true:
kv diagram See Karnaugh map.
!>-'<<
i=l
i,
269
landmark
L
figurations. These individuals undergo alternate
periods of evolution and training for fitness im-
provement. In other words, any desirable char-
acteristics acquired through training can be re-
introduced back into the gene pool.
L a suffix used in the C language to mean
"long". For example, 23L is a 32-bit longword lambda (X) in the context of discussing au-
value. This was more important in the days tomata, a metasymbol that is used to designate
when there were 16-bit implementations of C, state transition that can take place without read-
when constants defaulted to 16-bit values. When ing any input symbol. Often used as an artifice
this suffix is used on a floating point constant, it in the manipulation of the description of an au-
indicates the value should be an extended preci- tomaton. Any automaton that is defined using a
sion value. lambda transition can be replaced by a function-
ally identical automaton that does not require a
label a construct used in a programming lan- lambda transition.
guage, typically used to name a control transfer
point in a program. Although in most languages Lambda Calculus a notation designed by
the label must conform to the syntax of a name Alonzo Church that uses a functional notation to
in the language, some languages such as FOR- bind values to names. This notation was an early
TRAN and Pascal use integers as labels. version of a functional language. The language
LISP is an implementation of the notation of the
labeled transition system See finite state Lambda Calculus.
machine.
lambda transition a state transition between
labelling (1) the computational problem of two states of an automaton that takes place with-
assigning labels consistently to objects or object out the automaton reading a symbol. See lambda.
components (segments) appearing in an image.
One way to label an image involves appending
Lambertian diffuser a diffuser that spreads
to each pixel of an image the label number or
incoming light equally in all directions.
index of its segment. Another way is to specify
the closed contour of each segment and to use
Lambertian reflection See diffuse shading.
a contour filling technique to label each pixel
within a contour.
Lambert's law a shading model in which the
lag the time elapsed between the onset of a diffuse component of the brightness of a point
signal and the onset of a response to that signal, on a surface is estimated as a scaled cosine of
as, for example, the time delay between trans- the angle between the surface normal and the
mission and receipt of a radio wave. direction from the point to a light source.
0-8493-2691-5/01/$0.00+$.50
© 2001 by CRC Press LLC 271
language
language (1) a notation used to communicate /?l which is then subtracted from GI to give L\.
with a computer. The process then repeats using GI as input. The
(2) the set of symbol strings which can be sets of multiresolution images so generated are
generated by a grammar. called "pyramids": G\ ... Gn form a Gaussian
(3) the set of symbol strings that can be rec- pyramid; L\ ... Ln form a Laplacian pyramid.
ognized by an automaton.
(4) any formalized system of symbols, con- laptop a type of portable computer that is
cepts, and rules. For example, the language C typified by a folding display and a battery-based
of a deductive database is built from constant power supply.
symbols, variable symbols, function symbols,
predicate symbols, connectives, and quantifiers; large object usually used to represent multi-
See also term, atomic formula, well-formed for- media data, these objects require more than the
mula. normal unit of disk storage.
272
learning
lattice vector quantization a structured vec- leading-zeros detector a hardware unit that
tor quantizer where the reproduction vectors are detects the position of the first non-0 digit in a
chosen from a highly regular geometrical struc- sequence of digits and encodes this position as
ture known as a "lattice". The method is em- a number. Most commonly used to determine
ployed mainly because of the reduction in stor- the distance for a normalization shift following
age capacity obtained (compared to optimal vec- a floating-point addition. See also leading-zeros
tor quantization). anticipator.
273
learning classifier system
Sometimes neural network adaptation and the Voronoi vectors slightly, so as to improve
learning can take place by creating or destroying the quality of the classifier decision regions.
the connections between processing elements. The training algorithm for LVQ is similar to
Learning may also be achieved by replacing the its unsupervised counterpart with supervised er-
transfer function of a processing element with a ror correction. After the winner is found, the
new one. weights of the winner and its neighbors will be
updated according to the following rules:
learning classifier system an adaptive clas- if the class is correct,
sifier system where the classifiers are subject
to continuous modifications to allow improve- Wi(t + 1) = wi(t) + oi - (*,-(/) - u;/(0) ;
ment in task performance. Typically, new clas- otherwise
sifiers are generated from the original classifiers
using genetic algorithm. In the Michigan ap- u,, (r + 1) = Wi(t) - a - (*,(*) - u>, (f)) .
proach, the condition/action pair of each classi-
fier is regarded as a chromosome over the alpha- See self-organizing system, self-organizing al-
bet {0,1, #}, while for the Pitt approach, each gorithm.
chromosome represents a set of such rules for
a complete classifier system. As a result, the least fixpoint for a function / : T —* 7\
an element t € T such that f(t) = t . A least
crossover and mutation operators can be directly
fixpoint of / is the least element of the set of all
applied to each of these chromosomes for new
fixpoints of /.
rule generation. While the performance of each
chromosome, as a complete classifier system,
least mean square (LMS) algorithm in some
can be directly evaluated in the Pitt approach,
cases of parameter estimation for stochastic dy-
we have to solve a credit assignment problem in
namic systems, it is not feasible to use the least
the Michigan approach to determine the contri-
squares based algorithms due to the computa-
bution of each individual rule to the achievement
tional effort involved in updating and storing the
of the final goal. This is typically achieved us-
P(t) (probability) matrix. This is especially so
ing the bucket-brigade algorithm, which assigns
when the number of parameters is large. In this
a fitness value to each classifier based on its past
case, it is possible to use a variant of the stochas-
capability in goal achievement and the speci-
tic gradient algorithm — the least mean square
ficity of the condition clause of its associated
(LMS) algorithm, which has the form
rule. See also classifier system.
0(t + l) = $(t) + +(t)(y(t + l)
learning law See learning rule.
-d>T(t + l)0(t))
learning rate a parameter in a learning rule where 0 is a parameter's estimates vector, 0 is a
which determines the amount of change for a regressor vector.
parameter during the current iteration. While
a large value may increase the rate of learning, least recently used (LRU) a replacement al-
it may also prevent a learning algorithm from gorithm based on program locality by which the
converging. choice of an object (usually a page) to be re-
moved is based on the longest time since last
learning rule in neural networks, an equation use. The policy requires bookkeeping of essen-
that modifies the connection weights in response tial information regarding the sequence of ac-
to input, current state of the processing element, cesses, which may be kept as LRU bits or as an
and possible desired output of the processing LRU stack.
element. Although most commonly used in operating
systems to determine page replacement, it is also
learning vector quantization (LVQ) a su- often used in caching systems, compilers, run
pervised learning algorithm first prosposed by time systems, and applications to improve per-
Kohonen that uses class information to move formance.
274
level-2 each
least-significant bit (LSB) in a binary word, acyclic graph; that is, there are no cycles apart
a bit with the lowest weight associated with it. from self-loops.
275
leveling
level-sensitive pertaining to a bistable de- lexical scope a name scope defined by the
vice that uses the level of a positive or negative textual context, independent of any enclosing
pulse to be applied to the control input, to latch, or potentially enclosing execution context. A
capture, or store the value indicated by the data name defined within a lexical scope is visible
inputs. to all parts of the program contained within that
lexical scope. Compare with dynamic scope.
levels of abstraction the degree of detail
with which some representation of the software lexicographically positive a vector (x\, *2,
is presented. ... , xn) which is not all zeros and in which the
first nonzero element is positive.
level-triggered See level-sensitive.
lexicographical order alphabetical or "die-
tionary" order.
Levenshtein distance the metric distance be-
tween two strings that counts the minium num- library a set of precompiled routines that
ber of insertions, deletions, and substitutions of may be linked with a program at compile time
symbols to transform one string to the other. or loaded at load time or dynamically at run time.
See subroutine library, archive.
lex a program that takes a description of a set
of regular expressions defining different tokens life-cycle all the steps or phases an item
and produces a lexical analyzer for these tokens passes through during its useful life. The life
that can then be integrated into the application. may include: problem identification, require-
See also yacc. ments engineering, analysis, design, implemen-
276
linear
tation, testing, assessment, risk analysis, main- lighting level brightness of an area judged
tenance, etc. relative to the brightness of a white or highly
transmitting object/color which has similar illu-
life-cycle model a framework containing the mination.
processes, activities, and tasks involved in the
development, operation, and maintenance of a light pen an input device that allows the user
system, spanning the life of a system from the to point directly to a position on the screen. This
definition of its requirements to the termination is an alternative to a mouse. Unlike a mouse, a
of its use. A model that describes potential or light pen does not require any hand/eye coor-
prescribed sequencing of stages in the temporal dination skills because the users point to where
evolution of a software product. they look with the pen.
life-cycle process a process that describes the light source a source of visible electromag-
sequencing of activities and tasks within soft- netic radiation. See also local light source.
ware development (software development pro-
cess or software engineering process). A com- lightweight pertaining to a process that is
plete software engineering process takes into ac- designed to have a minimum of internal state
count not only the application development but and resources.
also the resources (people, tools) that are used
in the realization of the software development. lightweight process a single-threaded sub-
Several distinct life-cycle processes have been process which, unlike a thread, has its own pro-
defined: spiral, fountain, pin-ball, waterfall, etc. cess identifier and may also differ in its inheri-
tance and controlling features. See thread.
lifetime (1) the time elapsed between the cre-
ation and destruction of an entity or object. likelihood ratio test a test using the likeli-
(2) the time during which a value is expected hood ratio that can be used along with threshold
to be valid, that is, the interval from first as- information to test different information-content
signment to last use. A value may have several hypotheses. An example of a signal detection
disjoint lifetime intervals. problem is the demodulation of a digital com-
munication signal, for which the likelihood ratio
lifetime analysis the computation in a com- test may be used to decide which of several pos-
piler that determines the lifetime of values. In sible transmitted symbols has resulted in a given
compilers, lifetime analysis is used to prepare received signal.
for tasks such as register allocation, because val-
ues with disjoint lifetimes can be stored in the Linde Buzo Gray algorithm an iterative
same register. method for designing a codebook for a vector
quantizer using a set of training data that is rep-
LIFO acronym, last-in-first-out. See last- resentative of the source to be coded. Otherwise
come-first-serve. See also first-in-first-out. known as the generalized Lloyd algorithm or K-
means algorithm.
light emitting diode (LED) a forward-biased
p-n junction that emits light through spontaneous line a sequence of ASCII words terminated
emission by a phenomenon termed electrolumi- by a newline character.
nescence.
linear (1) any function that is a constant times
lifting lemma a lemma for proving complete- the argument plus a constant: f(x) = c\x 4- CQ.
ness at the first-order level from completeness at (2) in complexity theory, the measure of com-
the prepositional level. putation, m(ri) (usually execution time or mem-
ory space), is bounded by a linear function of the
lighting quantity of light. Standard measure- problem size, n. More formally m(n) = O(ri).
ment unit: lumen/second. See also exponential, logarithmic, polynomial.
277
linear actuator
linear actuator an actuator that provides with block zero. The process then begins a new
translational (instead of rotational) displace- iteration with j incremented.
ments.
linear interpolation a procedure for approx-
linear approximation any technique used imately reconstructing a function from its sam-
for the purpose of analysis and design of nonlin- ples, whereby adjacent sample points are con-
ear systems. For example, one way of analyzing nected by a straight line.
the stability of a system described by nonlinear
differential equations is to linearize the equa- linearity in the parameters a property of
tions around the equilibrium point of interest robot arm dynamics, important in adaptive con-
and check the location of the eigenvalues of the troller design, where the nonlinearities are lin-
linear system approximation. ear in the unknown parameters such as unknown
masses and friction coefficients.
linear array processor a processor archi-
tecture that has one PE for each column in the linear least squares estimator (LLSE) the
image, and enough memory directly connected linear estimator x = Ky + c, where matrix K
and vector c are chosen to minimize the expected
to each PE to hold the entire column of image squared error E [(x - x)r(x - x)]. The general
data for several distinct images. Also known as LLSE solution to estimate a random vector x
vector processor. based on measurements y is given by
linear block code a block coding scheme for x(y) = E[x] + cov(x, y) - cov(y, y)""1 • (y - E[y]),
which the mapping can be described by a linear
transformation of the message block. The trans- where "cov" represents the covariance opera-
formation matrix is referred to as the generator tion. See also least squares, minimum mean
matrix. square estimator.
278
linked list
linear system the systems in which the com- line. This can be combined with a weight (w)
ponents exhibit linear characteristics, i.e., the which denotes the thickness of the connecting
principle of superposition applies. Strictly speak- line.
ing, linear systems do not exist in practice; they
are idealized models purely for the simplicity line-impact printer a printer that prints a
of theoretic analysis and design. However, the whole line at a time (rather than a single char-
system is essentially linear when the magnitude acter). An impact printer has physical contact
of the signals in a control system are limited to between the printer head and the paper through a
a range in which the linear characteristics exist. ribbon. A dot-matrix printer is an impact printer,
whereas an ink-jet printer is not. A line-impact
linear transformation a transformation op- printer is both a line and impact printer.
erator A which satisfies superposition
A (x\ -f *2> = Ax\ + Ax2 , line of gaze a line passing from the center
of the fovea through the center of the lens; the
and homogeneity aiming line of the eyes.
279
linker
linker a computer program used to link. The bilities between machines having similar hard-
linker takes one or more object files, assembles ware architectures for purposes of scaling be-
them into blocks which are to fit into particu- tween any two machines.
lar regions in memory, and resolves all external
(and possibly internal) references to other seg- Linux a freeware, open source, version of
ments of a program and to libraries of precom- Unix that was developed by literally thousands
piled program units. This prepares relocatable of code developers from around the world. Com-
object code for execution, thus producing a bi- mercial versions are also available. Linux takes
nary executable file. it name from its original developer, Linus Tor-
valds, a Finnish student who wanted to improve
link inertial parameters for a manipulator on MINK.
arm, consists of six parameters of the inertia ten-
sor, three parameters of its center of mass mul- liquid-crystal display (LCD) the screen
tiplied by mass of the link (more precisely three technology commonly used in notebook and
components of the first order moment), and mass smaller computers.
of the link. Dynamic properties of each link are
characterized by 10 inertial parameters. They LISP a programming language used in ar-
appear in the dynamic equations of motion of tificial intelligence that is based on List Pro-
the manipulator. cessing. Developed at MIT by John McCarthy
and his associates in the late 1950s. A language
linking loader a program that performs the based on the lambda calculus and which was one
functions of a linker and in addition loads the of the first functional languages. Later genera-
program into main memory for execution. tions of LISP included operations of imperative
languages including assignment statements and
linking record type used to represent M:N goto control structures.
relationships and recursive relationships in the
network model. list an ordered set of values stored with the in-
formation required to sequence through the list.
link time a designation usually applied to Typically implemented as a set of objects called
describe information that is known at the time list cells which hold a value or value reference
a linking operation is performed. Usually con- and one or two pointers. A list with a single
trasted to compile time and run time. pointer is a singly linked list and defines only
a single mapping to a successor cell, which can
link vector an object containing information return a designator indicating the end-of-list. A
used to associate a name used, but not defined, list with two pointers is a doubly linked list and
in one program with a name defined in another defines a mapping to a predecessor cell and a
program. successor cell, which can return a value desig-
nating that the end of list (in the predecessor or
Linpack benchmark one of a variety of successor direction) has been reached. See also
floating point benchmarks originally written in circular list.
the Fortran programming language and sug-
gested by Jack Dongarra of the University of list cell a member of a list.
Tennessee. The Linpack benchmark consists of
a suite of matrix multiplication and related rou- list contraction contracting a list by remov-
tines tailored to exercise the floating point pro- ing a subset of the nodes.
cessing capability of processing platforms. The
result of executing this benchmark on a particu- literal (1) a constant whose value is deter-
lar machine is an estimate of the MFLOPs (Mil- mined by its lexical denotation. For example, 1
lions of Floating Point Operations per Second) is an integer constant, L2 is a floating point con-
capacity of a particular machine. This bench- stant, and "Gray Cat" is a string constant. See
mark is useful for comparing floating point capa- also constant, symbolic constant.
280
lm distance
(2) either an atomic formula A (positive lit- livelock (1) a situation in which referenced
eral) or its negation ->A (negative literal) or its processes cannot make progress in execution ex-
default negation \\A (default negative literal). cept for a limited set of operations repeated in a
(3) in artificial intelligence, an atom or nega- loop. Also called process starvation.
tion of an atom. (2) where a transaction cannot proceed while
other transactions can proceed.
little endian a memory organization whereby
liveness conditions in the specification of
the byte within a word with the lowest address
a system, conditions expressing that something
is the least significant, and bytes with increas-
good will happen. For example, in a message
ing address are successively more significant.
passing system a liveness condition is as fol-
Opposite of big endian. Sometimes believed
lows: If a message is sent it will be acquired
(with no merit) to be either the "right" or the
by the receiver. Temporal logics are expressed
"wrong" memory organization, hence the name
with the formula
(cf. Swift's Gulliver's Travels).
For example, in a 32-bit or four-byte w6rd D(Vm send (m) -+ o receive (m)).
in memory, the most significant byte would be
assigned address i, and the subsequent bytes See safeness condition.
would be assigned the addresses: i — 1, i — 2,
and i - 3. Thus, the least significant byte would liveness property a program property assert-
have the lowest address of i — 3 in a computer ing that the program will eventually move into
implementing the little endian address assign- a good state during execution.
ment. See also big endian, big endian/little en-
dian problem. LL(k) a grammar whose rules contain no
left-recursive nonterminal symbols. An LL(k)
little-o notation a theoretical measure of grammar can be parsed left-to-right, following a
the execution of an algorithm, usually the time leftmost derivation, and requiring no more than
or memory needed, given the problem size n, k input symbols at each processing step. Com-
which is usually the number of items. Infor- pare with LR(k), LALR(k).
mally saying some equation f(ri) = o(g(n))
means f(n) becomes insignificant relative to Lloyd-Max scalar quantization a scalar
g(ri) as n approaches infinity. More formally quantizer designed for optimum performance
it means for all c > 0, there exists some k > 0 (in the minimum mean squared error sense).
such that 0 < f(n) < cg(n) for all n > k. The The method, and the corresponding design algo-
value of & must not depend on n, but may depend rithm, are due to S.P. Lloyd (1957) and J. Max
on c. See also big-O notation. (1960). Also referred to as pdf-optimized quan-
tization, since the structure of the scalar quan-
tizer is optimized to "fit" the probability density
Little's formula a result formally proven by
function (pdf) of the source.
J.D.C. Little in 1961 that states that the average
number of customers in a queueing system is Lloyd-Max SQ See Lloyd-Max scalar quan-
equal to the average arrival rate of customers to tization.
that system times the average time spent in that
system.
LLSE See linear least squares estimator.
Little's law See Little's formula. Im distance the generalized distance between
two points.
live insertion the process of removing and/or In a plane with point p\ at (x\, y\) and P2 at
replacing hardware components (usually at the (*2, )>2), it is (|*i - x2\m + |yi - y2Dl/m-
board level) without removal of system power See also Euclidean distance, rectilinear, Man-
and without shutting down the machine. hattan distance.
281
LMS algorithm
LMS algorithm See least mean square algo- load map a computer-generated list that iden-
rithm. tifies the location and size of all or parts of mem-
ory resident code and data.
load (1) to read machine code into main
memory in preparation for execution. load module a program unit that is the output
of a linker, suitable for loading and execution.
(2) the volume of work processed by the sys-
tem. Load intensity is often expressed in terms
load sharing the process of reducing the
of the proportion of time the system is busy pro-
difference of load among the computing nodes
cessing.
in an inter-connected multiple computer system
through task transfers from one node to another.
load balancing the process of achieving an
equal load at each computing node in an inter- load/store architecture a system design in
connected multiple computer system through which the only processor operations that access
task transfers from one node to another. memory are simple register loads and stores.
load buffer a buffer that temporarily holds load/store unit a computer based on the
memory-load (i.e., memory-write) requests. load/store architecture.
load bypass a read (or load) request that LOC See lines-of-code metric.
bypasses a previously issued write (store) re-
quest. Read requests stall a processor, whereas local alignment the detection of local simi-
writes do not. Therefore, high-performance ar- larities among two or more strings.
chitectures permit load bypass. Typically im-
plemented using write-buffers. local area network (LAN) a network of
computers and connection devices (such as
load dependent server a service center switches and routers) that are located on a single
whose service rate is a function of the customer site. The connections are direct cables (such as
population at its queue. UTP or optical fiber) rather than telecommuni-
cation lines. The computer network in a univer-
sity campus is typically a local area network.
loader a computer program used to load. The
loader (typically an operating system), loads ex-
ecutable code into memory and may also per- local attribute the attribute of a class. Oppo-
form computations (fixups) required to take into site of the inherited attributes which are defined
account the actual location into which the code in the superclasses.
is loaded.
local bus the set of wires that connects a
processor to its local memory module.
load factor for a hash file, the number of
records currently in the hash file divided by the
local coordinate system a coordinate sys-
number of records that currently could be stored,
tem defined with respect to some reference co-
i.e., (number of records -r (blocking factor x
ordinate system, usually used to define a part or
number of blocks)).
subassembly within a scene definition.
loading the operation of copying a program local decision unit control agent or a part
into memory for execution. See also loader. of the controller associated with a given sub-
system of a partitioned system; local decision
load instruction an instruction that requests unit is usually in charge of the local decision
a datum from a virtual memory address, to be variables and is a component of a decentralized
placed in a specified register. or a hierarchical control system.
282
lock compatibility
local decision variable control inputs asso- each processor has its own local memory. See
ciated with a given sub-process (sub-system) of also global memory.
the considered partitioned process (system); lo-
cal decision variables can be either set locally by local optimization optimization whose scope
local decision unit or globally by a centralized is limited to a basic block, ignoring the context
controller. in which it executes. Compare with global op-
timization.
locale a designation of mechanisms that cus-
tomizes the behavior of a program to support local reflection model a model that simulates
local variation. Typically, these deal with inter- the reflection of light incident directly on an ob-
nationalization issues, such as representations of ject from a light source. Unlike global models,
dates and times, but in addition may extend to the they take no account of (indirect) light reflected
character set permitted, the collating sequence from another object.
used, and the like. Compilers and runtime sys-
tems often need to be either locale-independent local variable a variable whose scope is lim-
or locale-aware. ited by its lexical context. Often used to des-
ignate variables that are allocated on the stack
local fault a fault that is present in a part when the context is entered and which are de-
of the system but has not yet contributed to a allocated when the context is exited. However, a
system failure, i.e., a latent fault. local variable is not necessarily a stack-allocated
variable; it may have permanent extent. When
locality one of two forms of program memory it is necessary to distinguish the allocation strat-
relationships. egy, the local variable may be explicitly referred
1. Temporal locality is that if an object is to as a stack local variable or an automatic var-
being used, then there is a good chance that the iable.
object will be re-used soon.
2. Spatial locality is that when an object is location space the set of all hardware ad-
being used, there is a good chance that objects dresses of memory locations in RAM.
which are in its neighborhood (with respect to
the memory where these objects are stored) will
location transparency a system property by
be used.
which how one refers to something depends on
These two forms of locality facilitate the ef- the location of neither the subject nor the object.
fective use of hierarchical memory. Registers
exploit temporal locality. Caches exploit both
lock (1) generally, a state set on a resource re-
temporal and spatial locality. Interleaved mem-
stricting its allocation or use in some way. Locks
ories exploit spatial locality. See also sequential
are set in response to access or update of a re-
locality.
source. See also spin lock, page lock.
locality-of-reference the notion that if you (2) to acquire a semaphore.
examine a list of recently executed program in- (3) in database systems, a standard method by
structions, you will note that most of the instruc- which ACID transactions avoid isolation anoma-
tions are confined to a small window of the actual lies. A transaction attempting to read or update
code space. a datum must first be assigned a read or update
lock to hold until commit. Two transactions can-
local light source light source that directly not simultaneously hold locks in the same datum
(i.e., not by reflection or transmission) illumi- unless they are both read locks. Lock contention
nates a point on a surface. for popular data often leads to a bottleneck.
local memory memory that can be accessed lock compatibility (1) whether a combina-
by only one processor in a multiprocessor or tion of particular lock types is allowed concur-
distributed system. In many multiprocessors, rently.
283
lock conversion
(2) whether a new lock is compatible with (3) sometimes imprecisely used to mean poly-
existing locks. logarithmic. See also linear, polynomial, expo-
nential.
lock conversion the replacement of one lock
by another lock. logging writing data to a file where exist-
ing data are never overwritten. The system thus
lock downgrading replacement of a lock modifies the file only by appending new data.
by one with fewer rights or privileges over the
locked object, or over fewer objects. logging protocol the protocol which records,
in a separate location, the changes that a trans-
lock duration the period of time a lock is action makes to the database before the change
held for. is actually made.
lock escalation replacement of a lock by one logical as "seen" by the microprocessor. See
with more rights or privileges over the locked physical.
object, or over more objects.
logical address space the maximum memory
lock granularity the amount of data or num- or address space accessible by the microproces-
ber of objects covered by a lock. sor. Various schemes are used to map the logical
address space into the physical address space.
locking (1) ensuring that a code segment will
not be swapped from main memory. See bus logical block the sequential fixed-sized
locking. pieces of a file. The logical block associated
(2) a method of concurrency control where with a given byte offset in a file is calculated by
locks are placed on database units (e.g., pages) dividing the offset by the file system block size.
on behalf of transactions that attempt to access For example, byte 20,000 is located in the third
them. logical block of a file residing on a file system
with 8-kilobyte blocks.
lock manager a component that controls the
acquisition and release of locks. logical cohesion a cohesion due to the pres-
ence of different tasks that work on the same
lock table a table where locks are held. module by performing the same logical actions.
See cohesion, temporal cohesion, procedural co-
lock-up-free cache See non-blocking cache. hesion.
lock upgrading See lock escalation. logical complexity the complexity due to the
logic part of the code: the logical expressions
log (1) in architecture, a record of a sequence and their effects, that is the control flow. Mc-
of operations of a certain program unit. Cabe cyclomatic complexity can be considered
(2) in database systems, a sequential file that a measure of the logic complexity since it con-
stores information about transactions and the siders the complexity of selection instructions.
state of the system at certain instances. See computational complexity, complexity.
logarithmic (1) any function that is the sum logical consequence a concept in artificial
of constants times a logarithm of the argument: intelligence. A formula C is a logical conse-
/GO»E|«o<*log*. quence of J- if every interpretation that satisfied
(2) in complexity theory, the measure of com- F also satisfies C. See also interpretation.
putation, m(ri) (usually execution time or mem-
ory space), is bounded by a logarithmic function logical data independence the ability to
of the problem size, n. More formally m(n) = change the conceptual schema without affecting
O(logn). the application programs.
284
long-lasting transaction
logical operation the machine-level instruc- login prompt a text string, issued during
tion that performs Boolean operations such as the login sequence, that indicates the system is
AND, OR, and COMPLEMENT. ready to accept a user's login name.
logical OR an operation that combines two logistics equation an equation first proposed
values in the computer using the OR operation, as a model for population growth. It is given by
interpreting each of the values according to two-
valued logic rules. See also bitwise OR, exclu- P(f + l) = aP(0-aP(0 2 ,
sive OR. Depending on the programming lan-
guage, the bitwise OR operation may or may not where aP(t) is the previous year's population
have different semantics from the logical OR op- plus newborns, and aP(t)2 is the death rate.
eration. For example, in the C language the log- Plotting the values of P(t) over many years and
ical OR interprets 0 as "false" and any nonzero over many values of a yields a bifurcation dia-
value as "true", so applying logical OR to two gram.
nonzero values does not necessarily produce the
same result as when a bitwise OR is applied. log-normal distribution probability distri-
bution with density
logical register See virtual register.
/<*) = I/ (V<50ff*) e-dos*-")2/^2)),
logical shift a shift in which all bits of the
register are shifted. See also arithmetic shift. where /£ and a are the mean and standard devi-
ation of the logarithm.
logical trace an execution trace that reports logoff to end a session.
only logical aspects of the execution: the jump,
the selections. See execution trace.
logon to start a session with a particular op-
erating system, usually via a specified authenti-
logic analyser a machine that can be used cation procedure.
to send signals to, and read output signals from,
individual chips or circuit boards. log sequence number (LSN) a number as-
signed to a log record, which serves to uniquely
logic bomb destructive action triggered by identify that record in the log. LSNs are typi-
some logical outcome. cally assigned in monotonically increasing fash-
ion so that they provide an indication of relative
logic database See deductive database. position.
logic error an error in which a program or long duration transaction a transaction that
function compiles and executes but produces an completes in a long period of time.
undesired result; that is, a program or function
whose behavior is flawed even though its source longest common subsequence problem the
code adheres to the rules of the source language. problem of finding a maximum-length (or maxi-
mum weight) subsequence for two or more input
strings.
logic programming the use of symbolic
logic as a programming language.
long integer an integer that has double the
number of bits as a standard integer on a given
login See logon. machine. Some modern machines define long
integers and regular integers to be the same size.
login name identifies an individual as an au-
thorized user of a Unix system; often called a long-lasting transaction See long duration
login ID or simply a login. transaction.
285
longword
286
low order interleaving
loosely coupled hardware a message pass- that is not identical to the image that was com-
ing multiprocessor. pressed. Compare with lossless compression.
loosely coupled multiprocessor a system lossy encoding See lossy source coding.
with multiple processing units in which each
processor has its own memory, and communi- lossy source coding refers to non-invertible
cation between the processors is over some type coding, or quantization. In lossy source coding,
of bus. information is always lost and the source data
cannot be perfectly reconstructed from its coded
lossless coding See lossless source coding. representation. Compare with lossless source
coding.
lossless compression compression process
lossy source encoding See lossy source cod-
wherein the original data can be recovered from
ing.
the coded representation perfectly, i.e., without
loss. Lossless compressors either convert fixed lost update problem the result of dirty
length input symbols into variable length code- writes.
words (Huffman and arithmetic coding) or parse
the input into variable length strings and out- low byte the least-significant 8 bits in a larger
put fixed-length codewords (Ziv-Lempel cod- data word.
ing). Lossless coders may have a static or adap-
tive probability model of the input data. See also lower bound a function (or growth rate) be-
entropy coding. low which solving a problem is impossible.
lossless encoding See lossy compression. lower CASE a tool that is useful for support-
ing coding integration testing.
lossless predictive coding a lossless coding
scheme that can encode an image at a bit rate lower triangular matrix a matrix that is only
close to the entropy of the /nth-order Markov defined at (i, j) when i < j. See also upper
source. This is done by exploiting the correla- triangular matrix, ragged matrix.
tion of the neighboring pixel values.
lowest common ancestor the deepest node
lossless source coding source coding meth- in a tree that is an ancestor of two given leaves.
ods (for digital data) where no information is
"lost" in the coding, in the sense that the orig- low-fidelity prototype a prototype con-
inal can be exactly reproduced from its coded structed in a medium and environment shar-
version. Such methods are used, for example, in ing only a few characteristics with the eventual
computers to maximize storage capacity. Com- product. An example is the use of drawings of
pare with lossy coding. screen layouts to walk a user through the product
design. See also high-fidelity prototype.
lossless source encoding See lossless source
low-level formatting the first step in the
coding.
process of preparing a disk to receive data.
loss probability the probability for an ar- low-level vision the set of visual processes
bitrary request or an ATM cell to be lost in a related to the detection of simple primitives, de-
network or a network node. scribing raw intensity changes and/or their rela-
tionships in an image.
lossy coding See lossy source coding.
low order interleaving in memory interleav-
lossy compression an image compression ing, using the least significant address bits to
scheme where decompression yields an image select the memory module and the most signifi-
287
low-pass f ijter
cant address bits to select the location within the LSN See log sequence number.
memory module.
1-systems production-based approach to gen-
low-pass filter (1) filter exhibiting frequency erate any concept of growth and life develop-
selective characteristic that allows low-frequen- ment in the resulting animation.
cy components of an input signal to pass from
filter input to output unattenuated; all high-fre- luminance (1) formally, the amount of light
quency components are attenuated. being emitted or reflected by a surface of unit
(2) a filter that passes signal components area in the direction of the observer and taking
whose frequencies are small and blocks (or into account the spectral sensitivity of the human
greatly attenuates) signal components whose fre- eye.
quencies are large. For the ideal case, ifH(co) is (2) the amount of light coming from a scene.
the frequency response of the filter, then H(co) = See also candela.
0 for M > £, and H(<#) = 1 for |o>| < B. The
parameter B is the bandwidth of the filter. A fil- luminosity the relative quantity of radiation
ter whose impulse response is a low-pass signal. emitted by a light source.
1-reduction a Karp reduction that preserves LUV space a color space similar to the XYZ
approximation properties of optimization prob- model, except that the components are scaled
lems. to be perceptually linear. The human eye per-
ceives brightness on a logarithmic scale, and
LR(k) a bottom-up parsing algorithm that hence LUV components are logs of the corre-
processes the input from left to right, produc- sponding XYZ values.
ing a rightmost derivation (in reverse) using k
tokens of lookahead. The term can also be lvalue a value that can appear on the left-hand
applied to a language that can be unambigu- side of an assignment statement. Generally, an
ously parsed using this algorithm. Contrast with expression that evaluates to a location into which
LL(k),LALR(k). a value can be stored. See also rvalue.
LRU See least recently used. LVQ See learning vector quantization.
LRU bits a set of bits that records the relative LZ77 refers to string-based compression
recency of access among pairs of elements that schemes based on Lempel and Ziv's 1977 meth-
are managed using an LRU replacement policy. od. An input string of symbols that matches an
If n objects are being managed, the number of identical string previously (and recently) trans-
bits required is n(n —1)/2. Upon each access, n mitted is coded as an offset pointer to the previ-
bits are forced into certain states; to check one of ous occurrence and a copy length.
the objects to determine whether it was the least
recently accessed, n bits need to be examined. LZ78 refers to string-based compression
schemes based on Lempel and Ziv's 1978 meth-
LRU replacement See least recently used. od. A dictionary of prefix strings is built at the
encoder and decoder progressively, based on the
LRU stack a stack-based data structure to message. The encoder searches the dictionary
perform the bookkeeping for a least recently for the longest string matching the current input,
used (LRU) management policy. An object is then encodes that input as a dictionary index plus
promoted to the top of the stack when it is ref- the literal symbol which follows that string. The
erenced; the object that has fallen to the bottom dictionary entry concatenated with the literal is
of the stack is the least recently used object. then added to the dictionary as a new string.
288
LZW coding
289
macroinstruction
MAC See medium access control, mandatory machine simulation that aspect of code gen-
access control. eration that determines the preconditions for and
postconditions of executing a particular instruc-
MAC address synonym for an IEEE 802 ad- tion or instruction sequence.
dress.
machine translation translating a text in one
Mach band a perceived overshoot on the natural language to another natural language by
light side of an edge and an undershoot on the computer.
dark side of the edge. The Mach band is an
artifact of the human visual system and not ac- machine vision See robot vision.
tually present in the edge. See also brightness,
simultaneous contrast. macro a construct that specifies a source-to-
source translation. A macro definition specifies
machine code (1) the native representation the translation. When an instance of the macro
of a program for a specific machine architecture. occurs later in the program, it is expanded ac-
(2) source code in assembly language. cording to the definition. A macro definition
(3) an internal representation of the target ma- may specify zero or more macro parameters that
chine instructions in a compiler. Often called are replaced by text specified at the place the
machine language or object code. macro is used. Often the syntax and semantics
of macros are substantially different from the
machine epsilon the relative error when syntax and semantics of the language in which
a number is rounded to the closest machine- they are used. The power of a system of macros
representable number. may be as simple as straight textual substitution
or as complex as a form of symbolic evaluation.
machine independent pertaining to software See also macroprogram.
that can be executed on many platforms. Com-
pare with portability. macro cycle the main repetitive set of ac-
tivities that are performed in the main cycle of
machine interference the idle time experi- evolutionary life cycles, such as spiral.
enced by any one machine in a multiple-machine
system that is being serviced by an operator (or macro development all the strategic activi-
robot) and is typically measured as a percentage ties related to the design of system architecture
of the total idle time of all the machines in the and system-level test.
systems to the operator (or robot) cycle time.
macroinstruction (1) the lowest level of
machine language the set of legal instruc- user-programmable computer instruction. See
tions to a machine's processor, expressed in bi- opcode.
nary notation. See machine code. (2) a shorthand for a number of language in-
structions or in integrated environments. In the
machine learning (1) In knowledge discov- latter, the definition of macros is a way to make
ery, machine learning is most commonly used to shorter the execution and the writing of repeti-
0-8493-2691-5A)l/$0.00+$.50
© 2001 by CRC Press LLC 291
macrokernel
tive operations. In the first, it used for writing magnetic head See read/write head.
inline procedures.
Macro code is defined by the programmer, magnetic recording air gap term referring
which the assembler or compiler will recognize to two aspects of a magnetic recording system.
and which will result in an inline insertion of a 1. The gap between the poles of a read/write
predifined block of code into the source code. head is often referred to as the "air gap". Even
though filled with a solid, it is magnetically
macrokernel a large operating system core equivalent to an air gap. With a recorded wave-
that provides a wide range of services. length of A, and a head gap of d, the read signal
varies as sin(nx)/x where x = k/d. The gap
macroprogram a sequence of macroinstruc- must then have d < A/2 for reliable reading.
tions. 2. The space between the head and the
recording surface is also referred to as an "air
MAD See maximal area density. gap". The signal loss for a head at height h
from the surface is approximately 55/z/A. dB; if
magic cookie an opaque quantity, transmit- d = V5,thelossislldB.
ted in the clear and used to authenticate access. High recording densities therefore require
heads "flying" very close to the recording sur-
magic sets an evaluation technique for face and at a constant height - 0.1/^m or less in
queries to deductive databases DB combines the modern disks. Such separations are achieved by
nice properties of bottom-up reasoning (effi- shaping the disk head so that its aerodynamics
ciency due to set-orientedness) with those of force it to fly at the correct separation.
top-down reasoning (freedom of redundancy
due to goal-orientedness). DB is rewritten into magnetic recording code method used to
another deductive database magic(DB), such record data on a magnetic surface such as disk
that the bottom-up evaluation of magic(DB) or tape. Codes that have been used include:
behaves like an efficient top-down evaluation return-to-zero (RZ), in which two signal pulses
ofDB. are used for every bit: a change from negative to
positive pulse (i.e., magnetization in the "nega-
magnetic bubble memory a persistent mem- tive" direction) is used for a stored 0, a change
ory consisting of a magnetic surface over which from a positive to a negative pulse (i.e., magne-
patterns of magnetic fields (bubbles) are trans- tization in the "positive" direction) is used for a
ported by varying electromagnetic fields. stored 1, and a return to the demagnetized state is
made between bits; non-return-to-zero (NRZ),
magnetic core memory a persistent, directly in which a signal pulse occurs only for a change
addressable memory consisting of an array of from 1 to 0 or from 0 to 1; non-return-to-zero-
ferrite toruses (cores) each of which stores a sin- inverted (NRZI), in which a positive or negative
gle bit. Now obsolete. pulse is used for a — a sign change occurs for
two consecutive Is — and no pulse is used for
magnetic disk a persistent, random-access a 0; double frequency (DF) (also known as fre-
storage device in which data is stored on a mag- quency modulation (FM)), which is similar to
netic layer on one or both surfaces of a flat disk. NRZI but which includes an interleaved clock
See also hard disk, floppy disk, diskette. signal on each bit cell; phase encoding (PE), in
which a positive pulse is used for a 1 and a nega-
magnetic domain small magnets on the sur- tive pulse is used for a 0; return-to-bias (RB), in
face of disks and tapes. The orientation of the which magnetic transitions are made for Is but
magnets represents either a binary "1" or "0". not for Os, as in NRZI, but with two transitions
for each 1; and modified-return-to-bias (MRB),
magnetic drum a persistent storage device which is similar to RB, except that a return to
in which data is stored on a magnetic layer on the demagnetized state is made for each 0 and
the surface of a cylinder. Now obsolete. between two consecutive Is.
292
maintenance factory
RZ is self-clocking (i.e., a clock signal is not mailbox anoperating system abstraction con-
required during readout to determine where the taining buffers to hold messages. Messages are
bits lie), but the two-signals-per-bit results in sent to and received from the mailbox by pro-
low recording density; also, a 0 cannot be dis- cesses.
tinguished from a "dropout" (i.e., absence of
recorded data). NRZ is not self-clocking and mainframe a large centralized machine
therefore requires a clocking system for read- that supports hundreds of users simultaneously.
out; it also requires some means to detect the Mainframes were often characterized by multi-
beginning of a record, does not distinguish be- board CPUs and relatively high cost.
tween a dropout and a stored bit with no signal,
and if one bit is in error, then all succeeding bits
main memory the memory directly acces-
will also be in error up to the next signal pulse.
sible by the CPU. It may be addressed directly,
NRZI has similar properties to NRZ, except that
or via a virtual memory system. Referred to in
an error in one bit does not affect succeeding
British usage as the store, and formerly referred
bits. PE is self-clocking.
to in the U.S. as core until magnetic core mem-
ory was replaced with solid state memory.
magnetic resonance imaging (MRI) (1) a
form of medical imaging with tomographic dis-
main program a software component that is
play that represents the density and bonding of
called by the operating system.
protons (primarily in water) in the tissues of the
body, based upon the ability of certain atomic
nuclei in a magnetic field to absorb and reemit maintainability (1) generally, the probabil-
electromagnetic radiation at specific frequen- ity that an inoperable system will be restored to
cies. Also called nuclear magnetic resonance. an operational state within the time t.
(2) an imaging modality that uses a pulsed (2) for software, the ease with which it
radio frequency magnetic field to selectively can be understood, corrected, adapted, and/or
change the orientation of the magnetization vec- enhanced. Modification may include correc-
tors of protons within the object under study. tions, improvements, or adaptation of software
The change in net magnetic moment as the pro- to changes in the environment, and in require-
tons relax back to their original orientation is ments and functional specifications. Maintain-
detected and used to form an image. ability is defined as the effort to perform main-
tenance tasks, the impact domain of the mainte-
nance actions, and the error rate caused by those
magnetic tape a persistent, sequential-access
actions.
storage medium in which data is stored on a
magnetic layer on the surface of a tape. Often
used for backups. maintenance assignment scope the amount
of maintenance that one person or group can
do on a certain system. When the maintenance
magnetic-tape track each bit position across
assignment scope is high, the system is more
the width of a magnetic tape read/write head,
maintainable.
running the entire length of the tape.
293
maintenance metric
maintenance metric metric that tries to give malleability ease of modification of a soft-
a quantifying answer on how good a certain pro- ware product. The product can be modified
gram is to maintain. without modifying its design.
maintenance specialist a person that man- malleable job a parallel job that is able to
ages the maintenance process of a software sys- handle changes in processor allocation during
tem. its execution even when the execution behavior
of the job has not changed.
major cycle the largest sequence of repeating
processes in cyclic or periodic systems. MAN See metropolitan-area network.
major defect the relevant defect resulting manager an entity that has to control other
in the failure of a software system or compo- entities (of the same type) to accomplish a task.
nent that leads it to a non-operative condition.
However, there are acceptable processing alter- Manchester adder an adder in which a
natives that could yield the desired result. Manchester carry-chain is used to propagate car-
ries.
majority-logic decoding a simple, and in
general suboptimal, decoding method for block-
Manchester carry-chain a carry-chain that
and convolutional codes based on the orthogo-
relies on the use of technology (pass transistors
nality of the parity-check sums.
nowadays) to speed up the logical functions of
the carry-chain.
majority protocol a concurrency control
technique for distributed databases based on vot-
mandatory access control (MAC) access
ing; if the transaction seeking a lock on an item
controls used to enforce multiple levels of se-
receives a grant from the majority of the sites
curity by specifying classes of users and associ-
containing a copy, the lock is granted and the
ating a set of privileges with each class, which
transaction may access the item.
cannot be modified by ordinary subjects. In mil-
itary security, mandatory access controls are in-
make a Unix tool that allows the programmer
tended to prevent a user (or a Trojan horse ex-
to define a declarative model of the relationships
ecuting on that user's behalf) from moving se-
between source files and generated files and that
cret data to an unclassified file, where uncleared
uses this model to build the system by recom-
users might read it. Special trusted subjects used
piling only those files that have changed.
by system administrators may be permitted to
violate these constraints in limited ways.
male connector a connector presenting pins
to be inserted into a corresponding female con-
nector that presents receptacles. mandatory maintenance maintenance ac-
tions that need to be addressed in order to guar-
M-algorithm reduced-complexity breadth- antee the system functionalities.
first tree search algorithm, in which at most M
tree nodes are extended at each stage of the tree. mandatory work first a static two-pass pro-
cess that first traverses the minimal game tree
Malhotra-Kumar-Maheshwari blocking flow and uses the provisional value found to improve
given a flow function and its corresponding resid- the pruning during the second pass over the re-
ual graph, the algorithm selects a vertex with the maining tree.
least throughput and greedily pushes the maxi-
mum flow from it to the sink. This is repeated Mandelbrot set the set of complex constants
until all vertices are deleted. Ci for which the orbits of the function
294
Markov model
295
Markov process
= P (ir (r/)i iKO) • /»(^ <r«)i *<r» - (2) in image processing, a small set of pixels,
such as a 3 x 3 square, that is used to transform
5n 0iw> Markov process, conditional statistic. an image. Conceptually, the mask is centered
above every input pixel, each pixel in the mask
markup language one of any languages for is multiplied by the corresponding input pixel
annotation of source code to simply improve under it and the output (transformed) pixel is
the source code's appearance with the means of the sum of these products. If the mask is rotated
bold-faced key words, slanted comments, etc. In 180° before the arithmetic is performed, the re-
computerized document preparation, a method sult is a 2D convolution and the mask represents
of adding information to the text indicating the the impulse response function of a linear, space-
logical components of a document, or instruc- invariant system. Also called a kernel. See also
tions for layout of the text on the page or other convolution.
information which can be interpreted by some
(3) for semiconductor manufacturing, a de-
automatic system.
vice used to selectively block photolithographic
Marr-Hildreth operator (1) edge-detection exposure of sensitized coating used for prevent-
operator, also called Laplacian-of-Gaussian or ing a subsequent etching process from removing
material. A mask is analogous to a negative in
Gaussian-smoothed-Laplacian, defined by
conventional photography.
5 21
v«o— ^Fff3
' Vfi-^).
" /
* . 2 maskable interrupt interrupt that can be
postponed to permit a higher-priority interrupt
It generates a smoothed isotropic second deriva- by setting mask bits in a control register. See
tive. Zero crossings of the output correspond to also non-maskable interrupt.
extrema of first derivative and thus include edge
points.
(2) the complete edge detection scheme pro- masking a phenomenon in human vision in
posed by Marr and Hildreth, including use of the which two patterns PI and PI + PI cannot be
V2G operator at several scales (i.e., Gaussian discriminated even though PI is visible when
variances), and aggregation of their outputs. seen alone. PI is said to mask PI.
296
mathematical morphology
mask register (1) in associative memory a match the result of comparing two instances
device that is used to block out certain bits in of the same symbol.
the comparand that are not to be checked in the
retrieval process. matched edge an edge that is in a matching.
(2) in interrupts it contains a bit map either See also free edge, matched vertex.
enabling or disabling specific interrupts.
matched filter a operation employing an im-
age that gives back high values when a mask is
massive concurrency situation in database
located on top of the object of interest and lower
systems where there are a very large number of
values elsewhere.
concurrent transactions.
matched vertex a vertex on a matched edge
massively parallel architecture a computer in a matching, or one which has been matched.
system architecture characterized by the pres- See also free vertex.
ence of large numbers of CPUs that can execute
instructions in parallel. The largest examples matching (1) a subgraph in which every ver-
can process thousands of instructions in paral- tex has a degree of at most one. In other words,
lel, and provide efficient pathways to pass data no two edges share a common vertex.
from one CPU to another. (2) the problem of finding such a subgraph.
See also perfect matching, free edge, matched
massively parallel processor a system that edge, free vertex, matched vertex.
employs a large number, typically 1000 or more,
of processors operating in parallel. material the collective set of properties of
the surface of an object that determines how it
mass storage a storage for large amounts of will reflect or transmit light.
data.
math coprocessor a separate chip, additional
master the system component responsible to the CPU, that offloads many of the com-
for controlling a number of others (called slaves). putation-intensive tasks from the CPU.
297
matrix
mineralogy, and petrography. See closing, dila- maturity level name for the 5 levels of matu-
tion, erosion, morphological operator, opening. rity in the Capability Maturity Model. See also
capability maturity model.
matrix a two-dimensional array. The first
index is the row; the second index is the column. Mauchley, John Graham (1907-1980)
An n by m matrix is an array of n x m numbers Born: Cincinnati, Ohio.
of height n and width m representing a linear Mauchley is best known as one of the design-
map from an m-dimensional space into an n- ers of ENIAC, an early electronic computer. It
dimensional space. An example of a 2 x 2 real was Mauchley, in 1942, who wrote a proposal
[ 2 31
- , . See aIso circulant ma-
trix, Hermitian matrix, orthogonal matrix, pos-
to the Army for the design of a calculating ma-
chine to calculate trajectory tables for their new
artillery. Mauchley was a lecturer at the Moore
itive definite matrix, positive semi-definite ma- School of Electrical Engineering at the time.
trix, singular matrix, Toeplitz matrix, square ma- The school was awarded the contract and he and
trix, rectangular matrix, sparse matrix, lower tri- J. Presper Eckert were the principal designers of
angular matrix, upper triangular matrix, ragged ENIAC. They later went on to form their own
matrix, uniform matrix. company. Mauchley was the software engineer
behind the development of one of thefirstsuc-
matrix-chain multiplication problem given cessful commercial computers, UNIVAC I.
a sequence of matrices such that any matrix may
be multiplied by the result of multiplying all the
max-flow min-cut in a network with
matrices before it, finding the best parenthesiz-
weighted edges, a cut-set is a set of edges the
ing such that the result is obtained with the min-
removal of which will disconnect a given source
imum number of arithmetic operations. Usually
node from a given sink node. A minimal cut-set
dynamic programming yields the best parenthe-
is a cut-set with the minimum possible sum of
sizing.
the weights of the edges. The maximum pos-
sible flow through the network from source to
matrix of configuration of information sys-
sink is equal to the sum of the weights of the
tem in Pawlak's information system S =
edges of a minimal cut set.
(£7, A) whose universe U has n members *,• and
the set A consists of attributes ay, the elements
of the universe are linked with each other. Con- maximal area density (MAD) for a mag-
nections between the elements of the universe netic disk, the maximum number of bits that can
U may be given, for example, by a function be stored per square inch. Computed by multi-
plying the bits per inch in a disk track times the
<p:UxU-+ {-1,0,1}. number of tracks per inch of media.
The pair (U, <p) is called the configuration of maximal independent set a set of vertices in
the information system S. The matrix of the a graph such that for any pair of vertices, there
information system 5" is an n x n matrix whose is no edge between them and such that no more
elements are vertices can be added and it still will be an in-
dependent set.
Cij=(p(xi,Xj) .
maximum accumulated matching a de-
fuzzification scheme for a classification problem
Matte shading See Lambert's law. in which a pattern is assigned to the class output
by the rules that accumulate the maximum firing
maturity the capability of the software prod- degree.
uct to avoid failure as a result of faults in the
software. Attributes of software that bear on the maximum a posteriori (MAP) estimator to
frequency of failure by faults in the software. estimate a random x by maximizing its posterior
298
maxterms
299
MBCS
ment form only once. For example, x + yf + MDScode See maximum distance separable
w + T! is a maxterm for a four variable function. code.
MBCS See multibyte character set. Mealy machine the model of a finite state
machine in which the output actions are associ-
McCabe's metric a widely used code metric ated with the transition for changing state. See
based on a measure of flow-of-control complex- Moore machine.
ity called cyclomatic complexity.
The cyclomatic complexity is computed from mean See mean value.
the program flow graph and provides a hard mea-
sure of system complexity and reliability. For a mean ergodic theorem a mathematical the-
given program flow graph, let e be the number orem that gives the necessary and/or sufficient
of edges, n be the number of nodes, and p be conditions for a random process to be ergodic
the number of independent processes or disjoint in mean. Let x(ri) be a wide-sense stationary
flow graphs. Then the cyclomatic complexity is random process with autocorrelation sequence
cx(k). A necessary and sufficient condition for
C = 2e - n + 2p . x(ri) to be ergodic in the mean is:
N-l
In theory, the higher the cyclomatic complex-
lim Y; <:*(*) = 0.
ity, the lower the program reliability and pro- N->oo f—J
*=0
gram effort. For example, a piece of spaghetti
code would tend to yield a very high cyclomatic The sufficient conditions for x(ri) to be ergodic
complexity. However, a meaningful range can in the mean are that
be developed based on historical data for a given
application area. Cjc(O) < oo and lim c*(A;) = 0.
k->oo
McCabe's metric can be computed automat-
ically and commercial programs exist to do this
for a wide variety of programming languages. mean filter a filter that takes the mean of the
See also Halstead's metrics. various input signal components, or in the case
of an image, the mean of all the pixel intensity
McCulloch-Pitts neuron originally a linear values within the neighborhood of the current
threshold unit that responded with a binary out- pixel.
put at time t + 1 to an input applied at time t. In
current usage, usually a linear threshold unit. mean of a random variable See expected
value of a random variable.
MC many-one reducibility a property of
some formal languages. A language £ is many- mean of a stochastic process the expected
one reducible or NC reducible to £', written value of a stochastic process at some point in
£ <m€ & if there is a function / in FNC time.
such that x € C if and only if /(*) € £'.
mean opinion score a subjective method of
MCR See master control relay. quantitatively assessing the quality of signals.
Subjects rate the quality of presented signals
M/D/1 queueing notation for a queue with a (e.g., images) on a quality or impairment scale.
Poisson arrival (Markovian or "M" arrivals) pro- The mean of these ratings is calculated as the
cess, a deterministic (D), or a fixed service and a mean opinion score.
single server. See also Kendall's classification.
mean queue length See mean queue size.
MDA See monochrome display adapter.
mean queue size the mean number of re-
MDR See memory data register. quests waiting in a queue. The mean queue
300
measurement tool
length can be defined based on arbitrary observa- more for a system whose MTTR was 24 hours,
tions (time-based mean) or as the value observed than for one of, say, 7 days. This means the
by arrivals or departures. Note that these three supplier is guaranteeing to have the system up
mean queue lengths generally are not equal to and running again within 24 hours (or 7 days).
each other. Fault tolerant devices have an MTTR of zero.
mean/residual vector quantization (MRVQ) mean value the expected value of a random
a prediction is made of the original image based variable or function. The mean value of a func-
on a limited set of data, and then a residual im- tion / is defined as
/»/=£(/)*= r° fP(f)df,
age is formed by taking the difference between
the prediction and the original image. Predic-
tion data are encoded using a scalar quantizer J—oo
and the residual image is encoded using a vec-
tor quantizer. where p(f) is the probability density function
of/.
means-ends analysis an artificial intelli-
gence technique that tries to reduce the differ- mean value analysis (MVA) an iterative
ence between a current state and a goal state. technique for calculating the mean values of de-
vice utilization, throughput, queue length, and
mean squared error (MSE) measure of the response time of a product-form queueing net-
difference between a discrete time signal #,• , de- work. MVA iterates on the number of customers
fined over [1 ... H], and a degraded, restored, or in the system, whereas convolution iterates on
otherwised processed version of the signal *i, the number of devices in the system.
defined as MSE = £ £JUte - *i)2- MSE
is sometimes normalized by dividing by £^=1 measure the number or category assigned to
an attribute of an entity by making a measure-
ment. Synonymous with metric.
mean-square estimation an estimation
scheme in which the cost function is the mean- measurement the process of empirical, ob-
square error. jective assignment of numbers (or symbols) to
properties of entities (objects and events) in the
mean time between failures (MTBF) the real world in such a way as to describe them.
average time (usually expressed in hours) that The use of a metric to assign a value from a
a component works without failure. It is calcu- scale (which may be a number or category) to
lated by dividing the total number of failures by an attribute of that entity. Quantitative evalua-
the total number of operating hours observed. tion (of a process or artifact).
Thus, the term is related to the time a user may
reasonably expect a device or system to work measurement specialist a person who is en-
before an incapacitating fault occurs. gaged full time in measuring software. Typ-
ical job in a very large organization. Count-
mean time to failure (MTTF) the mean time ing function points, defect removal, complexity,
elapsed until a failure occurs. predicted quality, etc.
mean time to interrupt (MTTI) the mean measurement system the sum of all stimulus
time elapsed until a failure is detected and iso- and response instrumentation, device under test,
lated. interconnect, environmental variables, and the
interaction among all the elements.
mean time to repair (MTTR) the mean time
that a device will take to recover from a non- measurement tool a tool calculating metrics
terminal failure. The MTTR is usually part of a that are used to assign a value or a category to a
maintenance contract, where the user would pay predefined characteristic of a product.
301
mechanicai part feeder
mechanical part feeder mechanical device median filter a filter that takes the median of
for feeding parts to a robot with a specified fre- the various input signal components, or in the
quency and orientation. They are classified as case of an image, the median of all the pixel
vibratory bowl feeders, vibratory belt feeders, intensity values within the neighborhood of the
and programmable belt feeders. current pixel, the median being defined as the
center value of the ordered signal components.
mechanism an operating system function
that can be used to implement many different medical imaging a multi-disciplinary field
policies without commitment to any specific that uses imaging scanners to reveal the internal
policy. anatomic structure and physiologic processes of
the body to facilitate clinical diagnoses. See also
medial axis a concept used in the develop- magnetic resonance imaging, positron emission
ment of a morphological skeleton. tomography, and radiography.
Let X be a non-empty bounded set in a Eu-
clidean space; assume that X is topologically medium access control (MAC) the layer de-
closed, in other words it contains its border dX. fined by the IEEE 802 committee that deals with
For every point x in X, the Euclidean distance specifics of each type of LAN (for instance, to-
d(x, Xc) of x to the complement Xc of X is ken passing protocols on token passing LANs).
equal to the distance d(x, 3X) of x to the bor-
der 9X; let B(x) be the closed ball of radius
medium scale integration (MSI) an early
d(x, dX) centered about x\ it is the greatest
level of integration circuit fabrication that al-
closed ball centered about x and included in X.
lowed approximately between 12 and 100 gates
The medial axis transfer is the operation trans-
on one chip.
forming X into its medial axis or distance skele-
ton S(X) which can be defined in several ways:
megaflops (MFLOPS) millions of floating
1. S(X) is the set of points x such that B(x)
point operations per second. Usually applied as
is not included in B(y) for any other y in X\ in
a measurement of the speed of a computer when
other words B(x) is, among all balls included in
executing scientific problems and describes how
X, maximal for the inclusion.
many floating point operations were executed in
2. S(X) is the set of points x such that B(x) the program.
intersects dX in at least two points.
3. S(X) is the set of points x at which the
member a named component of a composite
distance function /(*) = d(x, 3X) is not dif-
object. See also field, record, structure.
ferentiable.
These three definitions coincide up to clo-
member function in object-oriented pro-
sure, in the sense that the three skeletons that
they define may be different, but have the same gramming, a member function is the C++ name
topological closure. When X is connected and for a method defined inside the class that can
has a connected interior, its skeleton 5(X) is also operate freely on the data members. The main
connected and has the same number of holes as characteristic of member functions is the hiding
X. For digital figures and a digital .distance d, of internal class architecture and design, provid-
one uses only the first definition: the skeleton ing interface to data and functionalities provided
5(X) is the set of centers of maximal "balls" by the class.
(in the sense of distance d) included in X; but
then the skeleton of a connected set is no longer member of a dass in the intentional mean-
guaranteed to be connected. See distance, mor- ing, members of a class are its attributes. Ex-
phological skeleton. tensionally, they are its instances, objects.
medial axis transform (MAT) See medial member record the record on the N-side of
axis. a relationship in the network model.
302
+memory allocation
membership function a possibility function, memory (1) area for storing computer in-
with values ranging from 0 to 1, which describes structions and data for either short-term or long-
the degree of compatibility, or degree of truth, term purposes.
that an element or object belongs to a fuzzy set. (2) the property of a display pixel that allows
A membership function value of 0 implies that it to remain stable in an initially established state
the corresponding element is definitely not an of luminance. Memory gives a display high lu-
element of the fuzzy set while a value of 1 im- minance and absence of flicker.
plies definite membership. Values between 0
and 1 imply a fuzzy (non-crisp) degree of mem-
bership. memory access time the time from when a
read (i.e., load) request is submitted to mem-
Rigorously, let pt(.) be a membership func- ory to the time when the corresponding data be-
tion defining the membership value of an ele- comes available. Usually smaller than the mem-
ment x of an element of discourse X to a fuzzy ory cycle time.
set. If A is a fuzzy set, and x is an element of
A, then the membership function takes values in
the interval [a,b] of the real line (P,A(X) : X =>> memory address computation the compu-
[a,b], a,b€W). tation required to produce an effective memory
address; may include indexing and translation
Usually fuzzy sets are modeled with a nor- from a virtual to a physical address.
malized membership function (/*A(*) : X =»
[0,1]). Some examples of membership func-
memory address register (MAR) a regis-
tions are shown in the figure. If A is a crisp
ter inside the CPU that holds the address of the
memory location being accessed while the ac-
cess is taking place.
303
memory bandwidth
memory bandwidth the maximum amount memory cell a part in a semiconductor mem-
of data per unit time that can be transferred be- ory holding one bit (a zero or a one) of informa-
tween a processor and memory. tion. A memory is typically organized as a two-
dimensional matrix of cells, with "word lines"
memory bank a subdivision of memory that running horizontally through the rows, and "bit
can be accessed independently of (and often in lines" running vertically connecting all cells in
parallel with) other memory banks. that column together. See also bit line.
memory bank conflict conflict when mul- memory compaction the shuffling of data
tiple memory accesses are issued to the same in fragmented memory in order to obtain suffi-
memory bank, leading to additional buffer de- ciently large holes. See also memory fragmen-
lay for such accesses that reach the memory bank tation.
while it is busy serving a previous access. See
also interleaved memory. memory consistancy the programmer-
visible mechanism that guarantees that multiple
memory block contiguous unit of data that processor elements in a computer system receive
is transferred between two adjacent levels of a the same value on a request to the same shared-
memory hierarchy. The size of a block will vary memory address.
according to the distance from the CPU, increas-
ing as levels get farther from the CPU, in order memory cycle the sequence of states of a
to make transfers efficient. memory bus or a memory (sub-)system during
a read or write. A memory cycle is usually un-
memory bounds register register used to interruptible.
ensure that references to memory fall within the
space assigned to the process issuing the ref-
memory cycle time the time that must elapse
erences; typically, one register holds a lower
between two successive memory operations.
bound, another holds the corresponding upper
Usually larger than the memory access time.
bound, and accesses are resricted to the ad-
dresses delimited by the two.
memory data register (MDR) a register in-
side the CPU that holds data being transferred
memory bus definition can be architecture-
to or from memory while the access is taking
dependent. Typically, the bus is the high-speed
place.
interface connecting processor and secondary
(or L2) cache to the memory board. All data
from memory flow between the memory board memory density the amount of storage per
and the secondary cache via this bus. Since pro- unit; specifically, the amount of storage per unit
cessors can typically execute instructions much surface or per chip.
more quickly than the instructions and data can
be fetched from the memory, the speed of this memory element a bistable device or ele-
bus is a limiting factor on system performance. ment that provides data storage for a logic 1 or
a logic 0.
memory caching a technique in which fre-
quently used segments of main memory are memory fragmentation See internal frag-
stored in a faster bank of memory that is local mentation, external fragmentation.
to the CPU (called a cache). To avoid slow-
ing down the processor with accesses on the memory hierarchy a system consisting of
memory bus, instructions and data fetched from multiple levels with different types of memory
main memory are placed in the cache, either con- at each level. Typically the read/write speed of
nected to the processor by a special bus or on- the device increases and its storage capacity de-
chip with the processor. The higher the cache creases as we move up the hierarchy and hence
hit ratio, the better the processor throughput. closer to the CPU. See hierarchical memory.
304
memory protection
305
memory reference
memory reference a read of one item of data mental simulation simulating the execution
(usually a word) from memory or a write of one of all or part of a program or algorithm as a
item of data to memory (same as memory refer- means of testing its correctness.
ence).
mercury delay-line memory See ultrasonic
memory reference instruction an instruc- memory.
tion that communicates with virtual memory,
writing to it (store) or reading from it (load). merge sort a sort algorithm which splits the
items to be sorted into two groups, recursively
sorts each group, and merges them into a final,
memory refresh the process of recharging
sorted sequence. See also divide-and-conquer,
the capacitive storage cells used in dynamic
external sorting.
RAMs. DRAMs must have every row accessed
within a certain time window or the contents will
meromorphic function a function that is an-
be lost. This is done as a process more or less
alytic, except for a finite number of poles (at
transparent to the normal functionality of the
which the function ceases to be defined).
memory, and affects the timing of the DRAM.
mesh processor a processor configuration
memory select line a control line used to that is similar to the linear array processor except
determine whether a unit of memory will par- that each processor element also communicates
ticipate in a given memory access. data north and south.
memory stride the difference between two MESI protocol a cache coherence protocol
successive addresses presented to memory. An for a single bus multiprocessor. Each cache line
interleaved memory with a simple assignment of exists in one of four states: modified (M), ex-
addresses performs best when reference strides clusive (E), shared (S), or invalid (I).
are 1, as the addresses then fall in distinct banks.
mesopic formally, a description of lumi-
memory swapping the transfer of memory nances under which both human rod and cone
blocks from one level of the memory hierarchy cells are active. The mesopic luminance range
to the next lower level and their replacement lies between the photopic and scotopic ranges.
with blocks from the latter level. Usually used to Informally, describing twilight luminances. See
refer to pages being moved between main mem- also photopic, scotopic.
ory and disk.
message a block of information that may
memory utilization the amount of RAM be exchanged by concurrent program units as
consumed by an application normalized by the a means of communication. A codeword that
total RAM available within a processing plat- identifies the receiver of the message and may
form. Value scales between 0 and 1, inclusive, also contain arguments. It can be viewed as a
with 1 implying consumption of all available request for a service to be provided by the server
RAM on the processing platform. object to the client object. A message can con-
tain commands or data as well as a their combi-
nation.
memory width the number of bits stored in
a word of memory. The same as the width.
message frequency the frequency with
which inter-process messages are sent by one
memory word the total number of bits that application to another.
may be stored in each addressable memory lo-
cation. message passing (1) in object orientation,
the exchange of messages between objects. Ob-
MEMS See microelectromechanical system. jects communicating by sending messages is an
306
metaphone
underpinning tenet of the object-oriented para- (2) in database systems, a class whose mem-
digm. bers and instances are themselves classes rather
(2) method of interprocess communication than objects. Used to query the schema of an
that relies on passing messages between pro- object-oriented database.
cesses via message queues.
metadata data that describes other data. See
message-passing system a multiprocessor also schema. The term "metadata" is often used
system that uses messages passed among the in reference to information which describes data
processors to coordinate and synchronize the ac- of a nontextual nature, such as images, sound
tivities in the processors, as opposed to reading clips, and video clips.
and writing common memory areas.
meta-EP a variation of evolutionary pro-
message size the size (in appropriate units, gramming in which, instead of specifying the
such as Kilobytes) of a message sent via simple variances associated with the mutation process
messaging. as a transformation of the fitness value, a pro-
cess of self-adaptation is adopted to modify the
message switching a service-oriented class variance according to the local topology of the
of communication in which messages are fitness landscape. See also evolutionary pro-
exchanged among terminating equipment by gramming.
traversing a set of switching nodes in a store-
and-forward manner. This is analogous to an or- metalanguage a language used to describe a
dinary postal system. The destination terminal language. Backus-Naur Form (BNF) is a clas-
need not be active at the same time as the orig- sic metalanguage, as are regular expressions. A
inator in order for the message exchange take metalanguage expresses production rules of a
place. grammar.
307
metaphor
sonant sounds. This reduces matching problems metric diagram a quantitative representation
from incorrect spelling. of shape and space used for spatial reasoning, the
computer analog to or model of the combination
metaphor originally, indicating a rhetoric of diagram/visual apparatus used in human spa-
figure. The concept is used in the design of tial reasoning.
user interfaces for providing an analogy between
some domain familiar to the user and the (typi- metric validation the verification process
cally more abstract) functionality of the system. that has to be applied to a newly defined met-
The best-known example is a visual interface ric in order to assess if the metric is suitable
metaphor as in the desktop metaphor commonly for evaluating the characteristic under measure-
adopted for personal computers (featuring cur- ment. The validation may produce with an eval-
sors shaped like pencils, hard disk storage areas uation of metric suitability in measuring a tar-
represented by pictures). geted feature also a set of constant parameters.
methodology a general approach to solv- M/G/1 queueing notation for a queue with
ing an engineering problem. A synonym for a Poisson arrival (Markovian or "M" arrivals)
method. process, a general service (i.e., distribution of
service time is general), and a single server. See
metric the defined measurement method with also Kendall's classification.
its measurement scale. Metrics can be internal
or external, and direct or indirect. Metrics in- microcode set of instructions that programs a
clude methods for categorizing qualitative data. computer to execute its nominal instruction set.
Synonymous with measure. A quantitative mea- Microcode is usually used as a replacement for
sure of the degree to which a system, compo- "hard-wired" logic that interprets the instruction
nent, or process possesses a given attribute. set because the execution unit of the computer
can be made smaller. See also nanocode. The
metricator a tool for measuring metrics. size of the program that can comprise the mi-
308
middle CASE
crocode is usually very limited. Microcode is structures and microactivators made using
usually extremely fast. See microinstruction. batch processing techniques.
309
middle-out
310
M1P mapping
minimum distance in a forward error con- ... , 3b) a difference measure given by
trol block code, the smallest Hamming distance
between any two code words. In a convolutional
code, the column distance at the number of en-
coding intervals equal to the constraint length.
DMinkowski
( n
£i*,--*M
1=1 /
\x
minimum free distance for any convolu- min-max control a class of control algo-
tional code, it is the minimum Hamming dis- rithms based on worst-case design methodology
tance between the all-zero path and all the paths in which control law is chosen in such a way that
that diverge from and merge with the all-zero it optimizes the performance under the most un-
path at a given node of the trellis diagram. favorable possible effect of parameter variations
and/or disturbances. The design procedure can
minimum mean square error (MMSE) a be viewed as a zero-sum game with control ac-
common estimation criterion which seeks to tion and uncertainty as the antagonistic players.
minimize the mean (or expected) squared error, In the case of linear models and quadratic in-
dices, the min-max control could be found by
£ = E[Se], solving zero-sum linear-quadratic games. Mini-
max operations may be performed on cost func-
where e represents the error. tionals, sensitivity functions, reachability sets,
stability regions, or chosen norms of model vari-
minimum mean square estimator (MMSE) ables.
a broad class of estimators based on minimizing
the expected squared error criterion. Both the min operation an operation on two or more
linear least squares estimator and the Bayesian variables where the resultant value is formed by
least squares estimator are special cases. See taking the smallest value, or minimum, among
also minimum variance unbiased estimator, lin- these variables.
ear least squares estimator, Bayesian estima-
tor, maximum a posteriori estimator, maximum minor cycle a sequence of repeating pro-
likelihood estimation. cesses in cyclic or periodic systems.
311
MIPS
same content at different scales. A MIP mapped mixed fragmentation See hybrid fragmen-
texture requires 4/3 times the storage of the orig- tation.
inal (1 + 1/4 + 1/16 + • • • ) •
mixed integer linear program a linear pro-
MIPS millions of instructions per second, a gram with the added constraints that some of the
measure of the speed of a computer. Typically decision variables are integer valued.
the sum total of instruction cache, branch con-
trol, fixed point, and floating point instructions mixed language project a software project
processed in a given second. where more than one language is involved. For
example, COBOL/CICS, C/Make, C/Assembly,
mirror to maintain a duplicate of, for exam- etc. Mixed languages are common: about 30%
ple, a database. of all projects use more than one language.
MISD See multiple instruction stream, single mixture model a probability model that con-
data stream. sists of a linear combination of simpler compo-
nent probability models.
mishap an undesirable consequence of sys-
tem failure, whose cost, whether economic, eco- ML (1) (archaic) machine language.
logical, or in terms of injury or loss of life, is un- (2) a specific functional language.
acceptable. In some cases, it is a synonymous See also maximum likelihood estimation.
malign failure or accident.
M/M/1 queueing notation for a queue with
MISO See multi-input-single-output system. a Poisson arrival (Markovian or "M" arrivals)
process, exponential service, and a single server.
miss the event when a reference is made to an See also Kendall's classification.
address in a level of the memory hierarchy that
is not mapped in that level, and the address must M/M/n queueing notation for a queue with
be accessed from a lower level of the memory a Poisson arrival (Markovian or "M" arrivals)
hierarchy. process, exponential service, and "n" servers.
See also Kendall's classification.
miss penalty the time from when a miss oc-
curs to when it is completely processed by the MMSE See minimum mean square estimator
main memory or next level of cache. or minimum mean square error.
miss probability the probability of falsely MMU See memory management unit.
announcing the absence of a signal.
MMX register a register that is designed to
miss rate the percentage of references to a hold as many as eight separate pieces of inte-
cache which do not find the data word requested ger data for parallel processing by a special set
in the cache, given by 1 — h where h is the hit of MMX instructions. An MMX register can
rate. Also called miss ratio. hold a single 64-bit value, two 32-bit values,
four 16-bit values, or eight byte integer values,
miss ratio See miss rate. either signed or unsigned. In implementation,
each MMX register is aliased to a correspond-
miss time the time to process a cache access ing floating-point register. MMX technology is
that results in a miss. a recent addition to the Intel Pentium architec-
ture.
mistake See human error.
mobile robot a wheeled mobile robot is
mixed file a file that contains records of dif- a wheeled vehicle that is capable of an au-
ferent record types. tonomous motion because it is equipped for its
312
model of computation
motion, with actuators that are driven by an on- computer vision techniques to analyze incom-
board computer. Therefore, mobile robot does ing images in terms of the models, and the de-
not have an external human driver and is com- coder using computer graphics techniques to re-
pletely autonomous. synthesize images from the models. The trans-
mitted data are model parameters that describe
mock-up prototype an early version of a at a relatively high level, the motion of the model
prototype typically produced for the feasibility parts. For example, if the stored model is of a
study of a system. human head, the transmitted data may be muscle
flexions.
modality a specific medical imaging tech- (2) the appreciation that all image coding re-
nique, such as X-ray CT, magnetic resonance lies on some model of the source, and the cate-
imaging, or ultrasound, that is used to acquire gorization of methods according to the type of
an image data set. model. In this scheme, (1) is termed "known-
object coding" or "semantic coding".
modal logic an extension of preposi-
tional logic with operators that express various model-based recognition approaches to rec-
"modes" of truth. Examples of modes are: nec- ognizing objects in images that are based on
essarily A, possibly A, it has always been true comparing sets of stored model features against
that A, it is permissible that A. See temporal features extracted from an unknown image (gen-
logic. erally geometric features).
mode in a statistical sample, the value that model checking (1) a technique used to al-
occurs most often. See also mean. gorithmically check whether a model satisfies a
specification. The model has to be operational
mode filter a filter that takes the mode of the (state machines, Petri Nets, etc.) and the speci-
distribution containing the various input signal fication language is usually a temporal logic.
components, or in the case of an image, the mode (2) efficiently deciding whether a temporal
of the distribution of all the pixel intensity values logic formula is satisfied in a finite state machine
within the neighborhood of the current pixel. model. See also Kripke structure.
Complications can arise from the sparsity of the
local pixel intensity distribution, and the mode modeling the process of building a model for
should be that of the underlying, rather than the an artifact or activity.
actual, intensity distribution.
modeling assumption a proposition express-
model (1) a representation of reality of an ar- ing control knowledge about modeling such as
tifact or activity intended to explain the behavior when a model fragment is relevant.
of some aspects of it. In creating a model, an ab-
straction technique is used. Thus, the model is modeling time the time spent in producing
typically less complex or complete than the re- the model.
ality modeled and can be regarded as an abstract
description. This technique identifies common- model input an input parameter to a model;
alties and, in doing so, loses detail. typical inputs include the rate of service at each
(2) a mathematical or schematic description device, the number of devices, and the number
of a computer or network system. Modeling of customers in the system.
usually involves an act of abstraction; i.e., the
model only includes the most important proper- model of computation a formal, abstract
ties of the original system. definition of a computer. Using a model one
can more easily analyze the intrinsic execution
model based image coding (1) image com- time or memory space of an algorithm while
pression using stored models of known objects ignoring many implementation issues. There
at both encoder and decoder, the encoder using are many models of computation which differ in
313
model output
computing power (that is, some models can per- modification state a specification of which
form computations impossible for other models) modifications have been carried out on a partic-
and the cost of various operations. See also cell ular example of an item in use on a given instal-
probe model, random access machine, big-O no- lation. The item may be a piece of hardware or
tation, alternation, alternating Turing machine, an instance of a software component. The modi-
nondeterministic Turing machine, oracle Tur- fication state must specify both the baseline ver-
ing machine, probabilistic Turing machine, uni- sion of the item, and all minor modifications that
versal Turing machine, multiprocessor model, have been carried out.
work depth model, parallel random access ma-
chine. modified-return-to-bias recording See
magnetic recording code.
model output a value that is the result of
solving a model; typical model outputs include modified signed-digit computing a comput-
average device queue length, average device or ing scheme in which a number is represented by
system throughput, or mean time to failure. modified signed-digit. This number system of-
fers carry-free addition and subtraction. Instead
model-theoretic semantics the semantics of of 0 and 1, numbers are represented by — 1,0, and
a deductive database DB with default negation 1 for the same radix 2. If a number is represented
usually is determined by a special subset At (DB) by 0 and 1, we may need carry in the addition.
of the set of its Herbrand models, the so-called However, since the number can be represented
intended models of DB. For a database with def- by three possibilities —1,0, and 1, the addition
inite rules and without default negation, there and subtraction can be directly performed with-
exists a unique intended model, the minimal out carry following a specific trinary logic truth
model, which can also be derived procedurally table for this number system.
by forward chaining or backward
chaining. modifier an operation that modifies the mem-
bership of a fuzzy set. Examples of modifiers
modem abbreviation for modulator-de- are:
modulator. A device containing a modulator and 1. very A = ^Con(A)(u) = GM«0)2 (con-
a demodulator. The modulator converts a binary centration);
stream into a form suitable for transmission over 2. more or less A = Hdil(A)(u) = OM"))'5
an analog medium such as telephone wires or (in (dilatation).
the case of a wireless modem) air. The demod- See also fuzzy set, linguistic variable.
ulator performs the reverse operation, so two
modems connected via an analog channel can Modula a language designed by Nicklaus
be used to transfer binary data over the (analog) Wirth as a modern language for system im-
channel. plementation. Two dialects, Modula-2, from
Wirth, and Modula-3, from a research consor-
modem-FEC coding error control coding tium, are published.
(ECC), applied to a digital signal such that feed-
forward error correction (FEC) can be used in modular decomposition See decomposition.
the modem, thus detecting and often correcting
transmission errors. modular design modular is pertaining to the
design concept, in which interchangeable units
modification change to the design or the are used to create a functional end product. The
implementation of an item. The term change modular design is referring to the process of
is used synonymously. Changes may be made composition/decomposition of a system.
for reasons of corrective, adaptive, or perfective
maintenance. modularity an attribute of a design that leads
to the creation of highly reusable program com-
modification anomaly See update anomaly. ponents.
314
monitor
315
monitor display
code during test and development. It is typically match the underlying physical description of the
removed in the final delivered version, since the problem. This technique is widely used to in-
monitor is not an operating system. vestigate transport and terminal characteristics
(3) an abstract data type for which only one in small semiconductor structures.
process may be executing procedures of this data
type at any given time. Monte Carlo simulation an approach to es-
timating the mean value of a vector of random
monitor display See monitor. variables, often used in cases where analytic
computation is not feasible. The steps of Monte
monochromatic light (or other source of Carlo simulation include generating a sequence
electromagnetic radiation) having only one of random variables from a uniform distribution
wavelength. on (0,1), then calculating the mean of the cor-
responding values obtained for f(x\,... , *„),
monochrome single color, as in a mono- where / is the joint density function applied to
chrome monitor. n of the input values.
monochrome display adapter (MDA) a Moore machine the model of a state machine
monocrome video adapter with 25 lines and sup- in which the output actions are associated with
porting 80 columns, proposed by IBM in 1981. the state. See Mealy machine.
monocular vision a vision model in which Moore's law the observation by Gordon E.
points in a scene are projected onto a single im- Moore, in 1964, that the number of transistors
age plane. on a chip was increasing by a factor of two per
year. Since the late 1970s, the doubling time has
monotonically decreasing a function from been about 18 months.
a partially order domain to a partially ordered
range such that x > y implies f(x) < f(y). MOPS millions of operations per second. A
See also monotonically increasing, strictly de- measure of performance of a processor to com-
creasing. pare against other machines. For example, 200
MFLOPS and 100 MOPS correspond to two
monotonically increasing a function from floating-point operations and one integer opera-
a partially order domain to a partially ordered tion per clock cycle for a computer with a clock
range such that x > y implies /(*) > f ( y ) . rate of 100 MHz.
See also monotonically decreasing, strictly in-
creasing. morphing a continuous deformation from
one keyframe or 3D model to another. In 3D
monotonic reasoning a reasoning system this is often achieved by approximating a surface
based on the assumption that once a fact is de- with a triangular mesh that can then be continu-
termined it cannot be altered during the course ously deformed. In 2D, it is generally performed
of the reasoning process. by either distortion or deformation.
316
mother wavelet
erator, and let N be the operation transforming complementation. However, morphological op-
an image / into its negative N(I) (when / is erators for gray-level images can be visualized
a set, N(I) is its complement, while when / by applying the corresponding morphological
is a gray-level numerical function, N(I) has the operator for binary images to the umbra of a
gray-level inverted at each point). Then the dual gray-level image. See closing, dilation, erosion,
of ^ is the operator $* arising from applying V mathematical morphology, opening, umbra.
to the negative of an image; in other words V*
transforms / into N(i/r(N(I))). morphological pattern spectrum the nor-
3. Adjunction duality: The dilation and ero- malization of a granulometric size distribution.
sion by B, namely SB : X *-* X ® B and
SB : X H> X 0 5, form an adjunction, which morphological processing low-level pro-
means that for every X, Y we have cessing technique for binarized images involv-
ing the shrinking or growing of local image re-
SB(X) < Y <=!> X < sB(Y) , gions to remove noise and reduce clutter.
317
motion analysis
motion analysis determination of the mo- requires the measurement of velocities across
tion of objects from sequences of images. It the scene.
plays important roles in both computer vision
and image sequence processing. Examples for motion stereo a specific case in motion esti-
the latter include image sequence data compres- mation in which the 3D scene is stationary and
sion, image segmentation, interpolation, image the only camera is in rigid motion.
matching, and tracking.
motion vector a vector displacement repre-
motion blur blur which is due to the motion senting the translation of a pixel, block, or re-
of an object: it frequently arises when images gion between two frames of video, usually de-
containing moving objects are grabbed by an termined by optical flow calculation or block
insufficiently rapid digitizer. matching (See motion estimation). For instance,
in the case of dense motion field, say, an optical
motion compensation generation of a pre- flow field, a motion vector is assigned to each
diction image, an interpolated or extrapolated pixel on the image plane. In the case of block
frame, from pixels, blocks, or regions from matching for image coding, a motion vector is
known frames, displaced according to estimates assigned to each block. In the case of computer
of the motion between the known frames and the vision, a motion vector sometimes refers to the
target frame. velocity of a point or an object in the 3D space.
Sometimes motion vectors are referred to as dis-
motion estimation strictly the process of es- placement vectors.
timating the displacement of moving objects ina
scene within a video sequence, including cam- move instruction a computer instruction
era movement and the independent motion of which transfers data from one location to an-
objects in the scene. In practice, refers to the other within a computing system. The trans-
determination of optical flow (the spatiotempo- fer may be between CPU registers, between
ral variation of intensity) which may not corre- CPU registers and memory, or I/O interface in
spond to real movement (when, for example, an either direction. Some systems (such as Mo-
object moves against a background of the same torola M68000) permit transfer by a move in-
color). Gradient-based methods are based on the struction between memory locations (memory-
expansion of a Taylor series for displaced frame to-memory transfer).
difference yielding an "optical flow constraint
equation". This must be combined with other moving average (1) an Nth order moving av-
constraints to yield a variational problem whose erage relationship between an input x and output
solution requires the iterative use of spatial and y takes the form
temporal derivatives. Block-matching methods
rely on finding minimum error matches between N-\
blocks of samples centered on the point of inter- y[n] = X] ai*ln ~ '1 •
est. Frequency-based techniques measure phase i=0
differences to estimate motion.
A moving average process is any process y
motion measurement the measurement of which can be expressed as the moving average
velocities. Usual motion measurement tech- of white noise x. See also autoregressive.
niques such as optical flow give incomplete and (2) the average value of an image over the
unstable results which must be regularized by pixels in a window when it is centered at a certain
comparing velocities over a whole moving ob- pixel.
ject (the latter must first be segmented).
moving maximum an image operation found
motion segmentation the decomposition of a by translating the image to a pixel and then tak-
scene into different objects according to the vari- ing the maximum of all values in the translate.
ation of their velocities. Motion segmentation Contrast with moving minimum.
318
multiclass queuing network
moving median a type of binary image fil- MSI See medium scale integration.
ter used to suppress salt-and-pepper noise and
preserve edges. MTBF See mean time between failures.
moving minimum an image operation found MTTF See mean time to failure.
by translating the image to a pixel and then tak-
ing the minimum of all values in the translate. MTTI See mean time to interrupt.
Contrast with moving maximum.
MTTR See mean time to repair.
Moving Picture Experts Group (MPEG)
Group that standardizes methods for moving multiaccess link a link on which more than
picture compression. MPEG-1 and MPEG-2 two nodes may reside.
are very flexible generic standards for video
coding, incorporating audio and system-level multibus a standard system bus originally
multiplex information. They use block-based developed for use in Intel's Microcomputer De-
motion-compensated prediction on 16 x 16 velopment System (MDS). This standard gives a
"macroblocks", and residue coding with the full functional, electrical, and mechanical spec-
8x8 discrete cosine transform. Frame types are ification for a backplane bus through which a
Intraframes (coded without reference to other number of circuit boards may be interconnected.
frames), P frames (where the prediction is gen- A full range of devices may be involved, includ-
erated from preceding I and P frames), and B ing computers, memory boards, I/O devices, and
frames (where the prediction is generated bidi- other peripherals.
rectionally from surrounding I and P frames).
multibyte character set a representation
MPEG See Moving Picture Experts Group. which allows more than one character to rep-
resent a single glyph in a language. Originally
MPP distance See maximum a posteriori designed to support ideographic languages such
probability. as Japanese and Chinese whose glyph set ex-
ceeds 256, the maximum that can be represented
in a single byte. A multibyte character set typ-
MRI See magnetic resonance imaging.
ically intermixes sequences of one, two, three,
or more characters, with transitions embedded
MRVQ See mean/residual vector quantiza- in the character sequence to indicate transitions
tion. between the representations. In some cases,
the use of a multibyte character set can be sup-
MSB in a binary word, a bit with the highest planted with Unicode. Many programming lan-
weight associated with it. guages support the use of multibyte character
set values either in the source file or in string
MS-DOS Microsoft's disk operating system. constants. See also ASCII, ANSI, ISO.
MSB See mean squared error. multicast the ability to transmit a single mes-
sage or packet that is received by multiple recip-
m-sequence maximal length sequence. A bi- ients.
nary sequence generated by a shift register with a
given number of stages (storage elements) and a multiclass queuing network a queuing net-
set of feedback connections, such that the length work in which not all customers at a particular
of the sequence period is the maximum possi- device are statistically identical. Rather, cus-
ble for shift registers with that number of stages tomers fall into categories, called classes, and
over all possible sets of feedback connections. all customers within the same class at a device
For a shift register with n stages, the maximum are statistically identical. Different classes may
sequence period is equal to 2n — 1. have different mean service times. Customers
319
multi-commodity flow
can be routed from a class at one device to an- multiresolution block matching in the literature.
other class at another device. In the strict sense they are different. In the for-
mer, different levels in the hierarchical structure
multi-commodity flow a network flow prob- have the same resolution, while in the latter, dif-
lem involving multiple commodities, in which ferent levels have different resolutions.
each commodity has an associated demand and
source-sink pairs. multilayer perceptron an artificial neural
network consisting of an input layer, possibly
multiconstraint-based motion detection a one or more hidden layers of neurons (percep-
gradient motion detection scheme where the op- trons), and an output layer of neurons. Each
tical flow estimation is transformed from an ill- layer receives input from the previous layer and
posed to a well-posed problem using constraint the outputs of the neurons feed into the next
equations. layer.
multifunction card a card that provides multilevel cache a cache consisting of two or
multiple functions, such as serial and/or paral- more levels, (typically) of different speeds and
lel connections, clock/calendar, and additional capacities. See also hierarchical memory.
memory.
multilevel code in this scheme each bit
multigrid an efficient numerical algorithm (level) of a signal is encoded with different error
for solving large sets of linear equations Ax = correction codes of the same block length. It has
b, particularly for "stiff' (nearly singular) A. inherent unequal error protection capability.
The algorithm defines a hierarchy of grids,
with interpolation and decimation operations multilevel index an index with many levels.
defined between successive grids in the hier- The first index built on a file can be viewed as
archy. A system of equations Agxg = bg is an ordered file. A multilevel index comprises
defined on each grid g: the systems on finer a primary index built on this first level and a
grids yield higher resolution solutions; how- primary index built on this second layer and so
ever, coarser grids yield much faster covergence on.
times. Various empirical strategies have been
devised which dictate the order in which differ- multilevel memory See hierarchical mem-
ent grids are used to contribute to the final solu- ory.
tion. See also interpolation, decimation, multi-
scale. multilevel optimization decision mecha-
nism (or operation of such mechanism) whereby
multigrid block matching a block match- the decisions are made by solving a large-
ing technique that is carried out with a hier- scale optimization problem, partitioned (decom-
archical structure, known as a multigrid struc- posed) into several smaller problems; in a two-
ture. In the highest hierarchical level an image level optimization case local decisions are in-
may be decomposed into large blocks each with fluenced by the coordinator — in the process
equal size. Each block in a higher level is fur- of iterative coordination until overall satisfac-
ther equally decomposed into sub-blocks, form- tory decisions are worked out; in a three-level
ing the next level. The block matching is first or in a multilevel case the coordinating unit of
applied to the highest level. The matching re- the higher level coordinates the decisions of sev-
sults obtained are then propagated to the next eral subordinate units, which themselves can be
hierarchical level. That is, die matching results coordinating units for the lower levels.
obtained in the highest level are utilized as ini-
tial estimates and refined in the second highest multilinear regression a mathematical
level. This process continues until the last hier- method where an empirical linear function is de-
archical level. It is noted that the term multigrid rived from a set of experimental data that are dis-
block matching is sometimes intermixed with tributed in an n-dimensional space (i.e., the es-
320
multiple Instruction stream, single data stream (MISD)
timation of the suitable weights of a linear com- phases, each of which performs some specific
bination of variables related to an explanatory subtask of the compilation process. Also called
variable by using a specific criteria of finding). multipass compilation.
multiphase compilation a technique that di- multiple instruction stream, single data
vides the compilation process into two or more stream (MISD) a parallel processing archi-
321
multiple-operand instruction
lecture where more than one processor performs multiplexor channel I/O channel that can
different operations on a single stream of data, handle several (time-multiplexed) I/O transac-
passing from one processor to another. MISD tions at a time. See also byte multiplexer chan-
computers include pipelined and very long in- nel, block multiplexer channel, selector channel.
struction word architectures. See Flynn's tax-
onomy. multiplication pattern for arrays of similar
elements, it is the product of the pattern of a
multiple-operand instruction a computer single element and the array factor of the array.
instruction that contains two or more data ele-
ments that are used while executing the instruc- multiplicative normalization a procedure
tion; i.e., ADD Z, X, Y is a multiple operand used in the computation of mathematical func-
instruction that specifies the values of X and Y tions, such as sine, cosine, etc. To compute
are added together and stored into Z. /(*)» two variables, say X and K, are main-
tained such that as X is reduced to some known
multiple-valued logic any logic whose set constant (usually 0 or 1), y tends to f(x). The
of truth values is not restricted to true and false. reduction of X is by multiplication with a se-
quence of constants.
multiplex (1) to use a single unit for multiple
purposes, usually by time sharing or frequency multiplier an electronic system or computer
sharing. software which performs the multiplication cal-
culation.
(2) a unit used for multiple purposes. See
multiplexer, multiplexing.
multiplier receding See Booth's algorithm.
multiplexer a combinational logic device multiplying D/A a D/A conversion process
with many input channels and usually one out- where the output signal is the product of a digi-
put, connecting one and only one input channel tal code times an analog input reference signal.
at a time to the output. This allows the analog reference signal to be
scaled by a digital code.
multiplexer channel I/O channel that can
handle several (time-multiplexed) I/O transac- multipoint bus a bus to which multiple com-
tions at a time. See also byte multiplexer chan- ponents may be attached. The PCI bus is an
nel, block multiplexer channel, selector channel. example of a multipoint bus. See also point-to-
point bus.
multiplexing of or being a communication
system that can simultaneously transmit two or multiport a circuit presenting multiple ac-
more messages on the same circuit or radio chan- cess ports.
nel.
multiport card card that has multiple ports
multiplexing gain a measure of the sav- of a single type; for example, several parallel
ings in resources that come from dynamically ports.
sharing the transmissions from several sources
over a single communication channel. Its value multiport memory one memory module can
indicates that in order to reach the same per- be accessed by two devices simultaneously. One
formance, the bandwidth per connection in a example is a video memory that is interfaced
multiple user system is less than the bandwidth to a graphics co-processor as well as the video
needed for a single connection system. For a interface of the monitor.
given line bandwidth, traffic description of one
connection and a number of connections, the multiprefix a generalization of the scan (pre-
bandwidth needed for each connection is known fix sums) operation in which the partial sums are
as the "effective bandwidth". grouped by keys.
322
multispeclral image
multiprocessing a modality by which two tures are revealed in the fine to coarse resolution
or more processes are concurrently executed by components.
separate processors that typically have access to
a common memory. Compare with multipro- multiresolution coding coding schemes that
gramming. See multitasking, time sharing. involve a multiresolution structure.
multiprocessing operating system an oper-
ating system where more than one processor is multiscale characterized by a parameteri-
available to provide for simultaneity. Compare zation or decomposition in scale, as opposed
with multitasking operating system. to (for example) time or frequency; in partic-
ular, an algorithm that computes or analyzes
multiprocessor a computer system that has a function or an image at multiple resolutions.
more than one internal processor capable of op- See also wavelet, multigrid, Laplacian pyramid,
erating collectively on a computation. Normally quadtree, resolution.
associated with those systems where the proces-
sors can access a common main memory. multi-scale analysis the analysis or trans-
There are some additional stipulations for a formation of a signal using analysis basis func-
"genuine multiprocessor": tions or analysis filters with differing time res-
1. It must contain two or more processors of olutions or spatial resolutions. Equivalently the
approximately comparable capabilities, basis functions have differing frequency resolu-
2. all processors share access to a common, tions. This is in contrast to the continuous or
shared memory, discrete Fourier transform whose analysis ba-
3. all processors share access to common I/O sis functions all have (roughly) the same fre-
facilities, and quency and time resolution. For discrete multi-
4. the entire system is controlled by a single resolution analysis, a multi-level filter bank is
operating system (OS). often used: the discrete wavelet transform is a
See also mulitple-instruction multiple-data classic example. See also multiscale.
architecture, operating system, shared memory
architecture. multiserver, multiserver queue a system
that can process more than one task at the same
multiprocessor model a model of parallel
time. The processing time for a single task re-
computation based on a set of communicating
mains the same as for a single server system, but
sequential processors.
some maximum number of additional tasks can
be served at the same time without interference.
multiprogramming a modality by which
two or more tasks are executed in time sharing
by the same processor. Compare with multipro- multispectral image an image that contains
cessing. information from more than one range of fre-
quencies. In this sense, an RGB color image is
multirate signal processing a system in multispectral in that it contains red, green, and
which there is at least one change of sampling blue information. More usually, multispectral
rate. Typically an input signal is split into two refers to frequencies of such number and type
or more sub-signals each with a sampling rate that it presents difficulties in interpretation and
lower than the input signal. display. Adding infrared, ultraviolet, and radar
information to an RGB image creates a prob-
multi-resolution analysis See multi-scale lem, since the data cannot be simply drawn on a
analysis. display. The use of many frequencies also pro-
vides a wealth of information sometimes needed
multiresolution analysis analysis method to make fine distinctions between regions in an
that decomposes a signal into components at image, especially in satellite imagery. See also
different resolution levels; the fine to coarse fea- data fusion.
323
multi-stage subset decoding
multi-stage subset decoding in this scheme their environment with each other. Threads may
decoding is done, first on the lowest partition be distinguished only by the value of their pro-
level of the signal set and then gradually on the gram counters and stack pointers while sharing a
higher level with decoded information flow from unique address space and set of global variables.
the lower to the higher level. Multithreading can thus be used for fine-grain
multitasking. Specific policies are provided for
multi-stage vector quantization a method the selection of threads that have to be succes-
for constrained vector quantization where sev- sively executed.
eral quantizers are cascaded in order to produce
a successively finer approximation of the input multi-valued attribute an attribute that may
vector. Gives loss in performance, but lower take on numerous values for any entity.
complexity than optimal (single-stage) vector
quantization. multi-valued dependency a property of
a database relationship. Given a relational
multi-stage VQ See multi-stage vector quan- schema /?, a relation r, and sets of attributes
tization. A and B (A C R and B C R) there exists
a multi-valued dependency between A and B,
multitasking a mode of operation that pro- denoted A -* B, if when t\[A] = t2[A] for
vides for concurrent execution of two or more t\*t2 € r, then there also exists t$ and t4 in
tasks. See also multithreading. r such that t\[A] = t2[A] = f 3 [A] = t4[A]
and ti[A] = t3[B] and t2[A] = t4[B] and
multitasking operating system an operat- t\(A] £ t3[R - B] and t2[A] £ t4(R - B].
ing system that provides sufficient functionality
to allow multiple programs to run on a single multi-variable system (MV) See multi-
processor so that the illusion of simultaneity is input-multi-output system.
created. Compare with multiprocessing operat-
ing system. multi-version data See multi-version tech-
nique.
multithreaded several instruction streams or
threads executed simultaneously. multi-version technique a technique to in-
crease concurrency, where a new version of a
multithreaded execution a form of execu- database object is written, rather than updating
tion in which two or more threads of execu- an existing version.
tion can be operational concurrently, or pseudo-
concurrently. A multiprocessor computer can multiway merge the mechanism by which
actually execute more than one thread of con- CD sorted runs are merged into a single run. The
trol concurrently; a uniprocessor computer can input runs are usually organized in pairs and
execute only one thread at a time, but by using merged using the the standard method for merg-
preemptive scheduling, will give the illusion that ing two sorted sequences. The results are paired
multiple threads are actually running. See also again and merged, until just one run is produced.
fork, join, synchronization mechanism, cactus The parameter o> is called the order of the merge.
stack.
multiway tree a tree with any number of
multithreading sharing a single CPU among children for each node. See also binary tree.
multiple threads. This is accomplished by shar-
ing as much as possible of the program execution Munsell color system a way of precisely
environment between different threads so that specifying colors and showing the relationships
the minimal information is saved and retrieved between colors. In this system, the color space
during the passage from a thread to the next has three parameters: hue, value, and chroma
(See context switch). Multithreading differs (saturation). Munsell uses scales with visually
from multitasking in the sense that threads share uniform steps for each of these parameters. A
324
MVA
Munsell Book of Color displays a collection of tested in order to detect if the used test cases are
colored chips arranged according to these scales. capable of detecting mutations.
The parameters are written in (//, S, V) form,
known as the Munsell notation. See HSV. mutex a synchronization construct that uses
two operations, lock and unlock, and the notion
It-recursive function a function that is a ba- of ownership. A special case of a semaphore in
sic function (zero, successor, or projection) or which the count value can be only 0 or 1. Also
one that can be obtained from other ^-recursive known as a binary semaphore. Some languages
functions using composition and /x-recursion. provide a mutex as a primitive data type. Some
languages or systems permit a mutex to be ac-
musical instrument digital interface (MIDI) quired multiple times by a single thread of con-
a hardware and software standard for interfac- trol while blocking access by multiple threads.
ing compatible musical instruments to comput-
ers and other electronic devices. mutual exclusion a principle requiring that
concurrent program units access the same criti-
mutation random changes in genetic infor- cal section only one at a time.
mation due to replication errors in reproduc-
tion. In evolutionary computation, mutation is mutual illumination See intersection.
implemented in several different ways to allow
the introduction of new features to the original mutually exclusive events that cannot occur
population. In genetic algorithm, this is imple- together.
mented as the random flipping of bit values in a
chromosome with a certain mutation probabil- mutual recursion a situation in which two
ity. On the other hand, in ES and EP, mutation functions call each other, for example, function
is modeled as the random perturbation of each A calls function B, and function B calls function
real-valued component of an individual using a A. This usually requires, in most languages, a
Gaussian random variable. See also evolution- forward declaration of one of the functions.
ary programming, evolutionary strategy, genetic
algorithm, program mutation. MV See multi-variable system.
mutation testing a technique for which two MVA See mean value analysis.
or more program mutations are executed and
325
N-ary association
N
alent if the names used to designate them are
equivalent. The names must be textually equiv-
alent and also represent the same instance of the
name (for example, a type name declared in one
scope is disjoint from the same textual name
name a sequence of characters representing declared in a different scope). See structural
a fundamental lexical entity in a programming equivalence, textual equivalence.
language. Typically a sequence of letters, dig-
its, and some punctuation symbols which de- name mangling See name decoration.
fine entities that represent values (for example,
variables). The rules for forming a name are namespace (1) a specification of how a name
language-specific. See also symbol. is interpreted, in particular, how lexically identi-
cal names may be disambiguated by contextual
named COMMON a construct in the FOR- information.
TRAN language which allows blocks of storage (2) in many languages, a method of syntacti-
to be globally shared among subprograms. Un- cally qualifying a name to disambiguate it from
like unnamed COMMON, the rules of modern other names.
FORTRAN do not require that the storage used (3) in C++ and many other languages, a spec-
for Named COMMON have extent commen- ification encompassing how names are to be in-
surate with the program execution. A named terpreted.
COMMON block is required to exist only as
long as some set of functions is actively using NaN See not-a-number.
it.
nand negated conjunction: 0 AND 0 = 1 , 0
name decoration transformations applied to AND 1 = 1,1 AND 0 = 1 , 1 AND 1 = 0. See
exported function names to encode additional also AND, NOT, OR.
information and make the name unique. Partic-
ularly important when overloaded functions can NAND gate a logic circuit that performs the
be specified. The name actually referenced by operation equivalent to the AND gate followed
the object code, and defined by the object code, by the inverter. The output of a NAND gate is
is often unreadable except to those who know Low only if all inputs are High.
the decoration algorithm.
nano prefix for metric unit which indicates
named parameter a parameter whose ac- division by one billion.
tual value is bound to its formal parameter by
specifying its name, allowing parameters to be nanocode a very low level form of code that
specified at the call site in any order convenient is used to write a program that interprets mi-
to the programmer. Often a named parameter crocode.
mechanism is coupled to a default parameter
mechanism by which the parameters that are nano-kernel code that provides simple
not named are assigned specified (default) val- thread-of-execution (same as "flow-of-control")
ues. This mechanism is not in common use in management. It essentially provides only one of
most programming languages, but is often used the three services provided by a kernel; that is,
in interactive languages, particularly command it provides for task dispatching.
languages. See also command language, shell
language. Compare with positional parameter. N-ary association an association among
three or more classes. Each instance of the asso-
named pipe a pipe that has at least one di- ciation is an n-tuple of values from the respective
rectory entry and is generally accessible. classes.
0-8493-2691-5/01/$0.00+$.50
© 2001 by CRC Press LLC 327
N-ary function
N-ary function (1) a function with n argu- NBS National Bureau of Standards, renamed
ments. in 1988 to the National Institute of Standards and
(2) a function which takes any number of ar- Technology (NIST). See NIST.
guments, or a variable number of arguments.
See also constant function, unary function, bi- NC the set of all languages £ that are decid-
nary function, trinary function. able in parallel time (log n)o(1) and processors
n 0(0
NAS parallel benchmarks the Numeri-
cal Aerodynamic Simulation (NAS) Parallel NCSS See non-commented source state-
Benchmarks (NPB). These were developed in ments.
1991 to evaluate the performance of parallel
computing systems for workloads typical in NDFSA See nondeterministic finite state au-
NASA and the aeronautics community. tomaton.
Nassi-Shneiderman chart See box diagram. NDPDA See nondeterministic push-down au-
tomaton.
NASTRAN a widely used computer code for
mechanical and structural analysis, such as for nearest neighbor algorithm a method of
optomechanical and thermal analyses. classifying samples in which a sample is as-
signed to the class of the nearest training set
natural image an image as it comes directly pattern in feature space; a special case of the
from the camera. K-nearest neighbor algorithm.
natural join an equi-join where the repeated nearness query a form of spatial query which
join attributes are removed. involves selecting objects that are located within
a certain range from a specified location.
natural language (1) a language with rules
which depends on the usage rather than on strictly near pointer in some languages, running on
formalized rules. For example, English, Italian. machines which have more than one represen-
See formal language. tation of a machine address, designates those
(2) the branch of AI research that studies addresses which can access a memory location
techniques that allow computer systems to ac- within a limited range of some base location.
cept inputs and produce outputs in a conven- Although commonly used in the context of Mi-
tional language like English. crosoft Windows running on segmented-address
Intel processors, the concept predates that usage
natural metric a metric that has a physical by at least 20 years. Compare with far pointer.
appearance: 5 lines of code or 3 dollars. As
opposed to synthetic/indirect metric: function negation normal form (NNF) a form for
points, or the Dow-Jones index. Synonymous logical formulas in which conjunction and dis-
with direct metric. function are the only binary connectives and in
which all negations are at the atomic level.
AM>est interface an interface between a
speech recognition system and a natural lan- neighborhood in self-organizing system an
guage system in which the recognizer proposes area surrounding the winner in self-organizing
N whole-sentence hypotheses, and then the nat- competitive learning. According to so-called
ural language system selects the most plausi- Mexican-hat interaction between the brain cells,
ble alternative form among the N theories. In Kohonen proposes that weight updating should
an alternative tightly coupled mode, the natural be conducted not only for the winner but also
language system is allowed to influence partial for its neighbors. See self-organizing algorithm.
theories during the initial recognizer search. See also Mexican-hat function.
328
network caching
329
networked operating system
viding enough storage, efficient look-up, and network operating system an operating sys-
managing stale data. tem that uses a network for sharing files and
other resources.
networked operating system an operating
system that uses a network for sharing files and network performance the ability of a net-
other resources. work to deliver a requested or agreed service.
See also quality of service, grade of service.
network file system protocol (NFS) a net-
network prefetching fetching files across
work file-sharing strategy, originally developed
a network because traffic patterns indicate they
by Sun Microsystems.
are likely to be used soon. For example, on the
World Wide Web, fetching the links within a
network interface card (NIC) the physical file when the file is fetched, anticipating that the
device or circuit used to interface the network user will follow a link soon. In this example,
with a local work-station or device. the improvement in user response time is at the
expense of a great increase in network load.
network latency the difference between the
time a message leaves its source and the time network pruning the process of cutting out
it arrives at its destination. Network latency is nodes or unwanted connections in a neural net-
the sum of the queuing delay and the transmis- work, to save computation or computational
sion time at each node on the path from source hardware. See also artificial neural network.
to destination. In general, network latency in-
creases as the load on the network increases — network service a service available through
the higher the throughput, as a percentage of the the network such as mail and file transfer.
capacity, the greater the queuing delay and thus
the greater the latency. See also end-to-end de- network throughput sum of all output bit
lay, transfer delay. rates at one point of time.
330
nibble-mode DRAM
is reached, a neural network model contains ar- other languages, there is no specific operator for
tifical neurons that sum the inputs they receive creating new instances, but instead a general op-
via weighted links from other neurons and out- eration for allocating storage (for example, mal-
put a value that is a non-linear function of the loc in the C language). See also delete.
input activation. Neural network models can be
trained on a set of input data and used to predict newline character an invisible line termina-
time series; they have found wide applicability
in modeling complex systems.
news See netnews.
neural tree a tree-structured neural network.
Such networks arise in the application of certain Newton-Raphson approximation an itera-
kinds of constructive algorithm. tive method for approximating the root of a non-
linear function. If x, is an approximation to the
neuro-fuzzy control system control system root of /, then XM * *, - *,/(*«)//'(*,),
involving neural networks and fuzzy systems, or where /' is thefirstderivative of / and aj is the
fuzzy neural networks. See also adaptive fuzzy step-size parameter. For use in the division of
system. n by rf, a good approximation to l/d is found
and then multiplied by N. In square-root eval-
neuron a nerve cell. Sensory neurons carry uation, of V*» either the procedure is used to
information from sensory receptors in the pe- find a good approximation to V*» or it is used
ripheral nervous system to the brain; motor neu- to find a good approximation to \/<Jx and the
rons carry information from the brain to the mus- result then multiplied by x.
cles.
Newton's method a class of numerical root-
neutrosophic logic a generalization of fuzzy finding methods; that is, to solve f(x) = 0. The
logic which is the study of neutrosophic logical methods are based on iteratively approximating
values of the propositions. / using a low order polynomial andfindingthe
roots of the polynomial. The most commonly
neutrosophic probability a generalization used first-order method iterates the following
of the classical probability that studies the equation:
chance that a particular event will occur, where
that chance is represented by three coordinates r _r /(*«)
(variables): /% true, i% indeterminate, and /% "-"-'"'T^T
false, with 1+1 -I- / = 100 and /, i, t belonging
to [0,100]. where /' represents the derivative of /.
neutrosophic set a generalization of the NFS See network file system protocol.
fuzzy set such that an element belongs to the
set with a neutrosophic probability; i.e., t% is ii-gram language model See statistical Ian-
true that the element is in the set, /% false, and guage model.
i% indeterminate.
nibble four bits of information.
neutrosophy a branch of philosophy which
studies the origin, nature, and scope of neutral- nibble-mode DRAM an arrangement where
ities, as well as their interactions with different a dynamic RAM can return an extra three bits,
ideational spectra. for a total of four bits (i.e., a nibble), with every
row access.
new an operator that creates new instances The typical organization of a DRAM includes
of objects of a specific type. In object-oriented a buffer to store a row of bits inside the DRAM
languages, the creation of such an instance will for column access. Additional timing signals
invoke the constructor for the object type. In allow repeated accesses to the buffer without
331
NIC
a row-access time. See also two-dimensional usually define the minimum detectable signal
memory organization. level of the receiver.
(2) any undesired disturbance superimposed
NIC See network interface card. onto the original input signal of an electronic
device; noise is generally categorized as being
niche a set of environmental conditions to either external (disturbances superimposed onto
which a species has been adapted and which the signal before it reaches the device) or in-
allows its continual survival. In evolutionary ternal (disturbances added to the signal by the
computation, the term also refers to stable sub- receiving device itself). Some common exam-
populations of individuals clustering around in- ples of external noise are crosstalk and impulse
dividual optima of a multi-modal fitness land- noise as a result of atmospheric disturbances or
scape. These sub-population clusters are usu- manmade electrical devices. Some examples of
ally formed using specialized techniques such internal noise include thermal noise, shot noise,
as fitness sharing to maintain diversity among 1/f noise, and intermodulation distortion.
the individuals.
noiseless source coding theorem states that
NIST National Institute of Standards and any source can be losslessly encoded with a code
Technology, the national standards-setting body whose average number of bits per source symbol
for the U.S., part of the Department of Com- is arbitrarily close to, but not less than, the source
merce. Although it is concerned primarily with entropy in bits.
measurement standards, it does have some im-
pact on computing technology. See also ANSI,
noise smoothing any process by which noise
IEEE, ISO.
is suppressed, following a comparison of poten-
tial noise points with neighboring intensity val-
nit an equivalent name for the unit of lumi- ues, as for mean filtering or median filtering.
nance: candelas per square meter.
noisy channel vector quantization a gen-
NMI See non-maskable interrupt.
eral term for methods in vector quantizer trans-
mission for noisy channels. See channel robust
NNF See negation normal form. vector quantization, channel optimized vector
quantization, channel matched vector quantiza-
node a queue and its associated servers in a tion, redundancy-free channel coding.
queuing network.
noisy channel VQ See noisy channel vector
node name a symbolic name or address by
quantization.
which a Unix system is known to other systems
on a network.
noisy source coding See lossy source coding.
node state a node can be excited into firing
signals at different levels of activity. The state non-binary code a code in which the fun-
of the node describes how active the node is in damental information units or symbols assume
firing. more than two values. This is in contrast to
binary codes for which the fundamental infor-
noise (1) any undesired disturbance, mation symbols are two-valued or binary only.
whether originating from the transmission See also binary code, block code, convolutional
medium or the electronics of the receiver itself, code.
that gets superimposed onto the original trans-
mitted signal by the time it reaches the receiver. non-blocking cache a cache that can handle
These disturbances tend to interfere with the in- access by the processor even though a previous
formation content of the original signal and will cache miss is still unfinished.
332
non-fuzzy output
non-blocking call a call that does not re- nondeterministic finite state automaton
quire the recipient to be present for the data to (NDFSA) a finite state automaton in which
be passed. for each state and input, one or more next states
may be possible.
nonclustering index a dense index that puts
no constraints on the table organization. Also nondeterministic finite tree automaton ac-
known as secondary index. See also clustering cepts finitary trees rather than just strings. The
index. tree nodes are marked with the letters of the al-
phabet of the automaton, and the transition func-
non-commented source statements (NCSS) tion encodes the next states for each branch of
this measurement refers to the data declarations the tree. The acceptance condition is modified
and procedural code (executable statements) of accordingly. See also deterministic finite tree
a software system. automaton, nondeterministic tree automaton.
333
non-interleaved data ordering
non-interleaved data ordering data order- nonredundant number system the system
ing in which processing is performed compo- where for each bit string there is one and only
nent by component from left-to-right and top- one corresponding numerical value.
to-bottom.
non-redundant replication each fragment is
non-maskable interrupt (NMI) an external stored exactly at each site and there is no overlap
interrupt to a CPU that cannot be masked (dis- between fragments.
abled) by an instruction. See maskable interrupt.
non-removable disk See removable disk.
nonmonotonic logic a logic in which the ad- non-repeatable read See unrepeatable read.
dition of new knowledge may invalidate previ-
ously inferrable conclusions. non-restoring division a division algorithm
that is similar to the restoring-division algorithm,
nonmonotonic reasoning reasoning that can except that there is no restoration of negative
be revised if some values change during a ses- partial dividends. Instead of a restoration, the
sion. It can deal with problems that involve rapid next operation is an addition instead of a sub-
changes in values in short periods of time. traction.
non-preemptive priority the next customer nonseparable data See separable data.
to be serviced will be the one that is waiting and
has highest priority number, but this customer non-serial schedule a schedule S of n trans-
cannot start until the customer currently being actions is said to be non-serial, if the operations
serviced has completed. of the transactions are interleaved.
nonrecursive equation See recursive equa- nonuniform sampling See uniform sam-
tion. pling.
334
norm
non-volatile random-access memory NOR gate a logic circuit that performs the
(NVRAM) SRAM or DRAM with operation equivalent to the OR gate followed by
non-volatile storage cells. Essentially each the inverter. The output of a NOR gate is low
storage cell acts as a normal RAM cell when when any or all inputs are high.
power is supplied, but when power is removed,
an EEPROM cell is used to capture the last norm for a vector space V, a real-valued
state of the RAM cell and this state is restored function N defined on V, satisfying the follow-
when power is returned. ing requirements for every v, w e V, and scalar
A,:
nonzero-sum game one of a class of games 1. N(0) = 0 and for v £ 0, N(v) > 0.
in which the sum of the cost functions of the 2. N(Xv) = \X.\N(v).
players is not constant. A number of players 3. N(v + w)< N(v) + N(w).
is not limited to two as in zero-sum games and The most usual norms are the L1, L2, and
in this sense one may distinguish between two- L°° norms; for a vector x with n coordinates
person and multi-person nonzero-sum games. x\»• • • > xn we have
Since the objectives of the players are not fully n
antagonistic, cooperation between two or more Wi=I>il ,
decision makers may lead to their mutual advan- *=1
tage. However, if the cooperation between the
/ " 2\1/2
players is not admissible because of informa- IWl2 = I J>*l ) ,
tion constraints, lack of faith, or impossibility
of negotiation, the game is noncooperative and
an equilibrium may be defined in a variety of and
ways. The problem of solving the nonzero-sum
game differs from the one for zero-sum games. ||*||oo=max|*t| ;
The most natural is Nash equilibrium which is
relevant to the saddle point equilibrium in zero- for a function / defined on a set E, these norms
sum games. Its main feature is that there is no become
incentive for any uniteral deviation by any one
of the players and their roles are symmetric. If \\f\\\~t \fM\dx,
JE
one of the players has the ability to enforce his
strategy on the other ones, then a hierarchical H/ll2 = (£l/WI 2 ^) ,
equilibrium called von Stackelberg equilibrium
is rational. Yet another solution for the player
and
is to protect himself against any irrational be-
havior of the other players and adopt min-max
||/||oo=min{r>0 | |/(;c)|
strategy by solving a zero-sum game although
the original is nonzero-sum. <r almost everywhere}.
335
normal distribution
Given a norm Af, the function d defined by normal vector a vector perpendicular to the
d(x, y) = N(x — y) is a distance function on tangent plane of a surface. Also, a vector that is
V. See chessboard distance, Euclidean distance, geometrically perpendicular to another vector.
Manhattan distance.
NOT a Boolean operation that returns the 1 's
normal distribution See Gaussian distribu- complement of the data to which it is applied.
tion. NOT 0=1, NOT 1 = 0. See also AND, OR.
336
Nyquist frequency
queen can attack another. Efficiently find all number of machine instructions per executed
possible placements. See also eight queens. line of code the quantity of low-level assem-
bly commands required to execute a given line
NuBus an open bus specification developed of high-level source code.
at MIT and used by several companies. It is a
general-purpose backplane bus, designed for in- number system the representation of num-
terconnecting processors, memory, and I/O de- bers as a sequence of digits with an interpre-
vices. tation rule which assigns a value to each se-
quence. The conventional number systems are
nucleus See kernel. fixed-radix and positional systems, where the
digit in position i has a weight of r1, where r is
null (1) empty, as in "the null set". the radix.
(2) invalid, as in "null and void".
(3) rendered invalid, as in "nulls the effect NURBS Non-Uniform Rational B-Splines.
of f . A class of piecewise parametric curves or sur-
(4) in a language that has pointers or refer- faces where each curve segment or surface patch
ences, a designated value which indicates that is described by a ratio of Non-Uniform B-Spline
the pointer or reference does not reference a polynomials. B-splines are a class of polynomi-
value. als whose coefficients depend on a set of control
points. For the Uniform B-Splines each curve
(5) in the C language, a designated value (tra- segment or surface patch is defined by a param-
ditionally zero, but not constrained to this value eter domain of fixed length or area, respectively,
by the standard) representing a pointer which
whereas in the Non-Uniform B-Splines the pa-
does not point to a valid value, and which by rameter domain does not have to be uniform.
convention has a symbol NULL which is de-
The Non-Uniform characteristic allows differ-
fined to represent that value. ent levels of continuity between the curve seg-
(6) a type of device that (/dev/null) ac- ments and the surface patches, whereas it is re-
cepts input but has no output and no function. stricted to p-1 levels for the uniform case, where
p is the degree of the polynomial. Thus, Non-
nullary function a function with no argu- Uniform B-Splines can interpolate points more
ments, also known as a constant function. See accurately. Furthermore, rational forms can rep-
also unary function, binary function, N-ary func- resent conic curves and are invariant under rota-
tion. tion, scaling, translation, and perspective trans-
formations. NURBS provide a superset of com-
null modem cable a cable that allows two monly used surfaces and have been adopted as
standard RS-232C devices to be connected di- the IGES (Initial Graphics Exchange Specifica-
rectly without any other communications equip- tion) for free-form surfaces.
ment such as a modem.
NVRAM See non-volatile random-access
null pointer detection a form of execution memory.
semantics in which an attempt to access an ob-
ject via a null pointer generates an error con-
N-well a region of n-type semiconductor lo-
dition. What the error condition is, and how it
cated at the surface of a p-type substrate (or
is handled, is determined by factors such as the
larger P-well) usually created in order to con-
definition of the language, its implementation,
tain p-channel MOSFETs.
and the machine on which it is running.
337
Nyqulst rate _
Nyquist rate the lowest rate at which recov- signal is transformed to a digital signal using an
ery of an original signal from its sampled signal A/D converter.
is possible. If the highest frequency of the ana-
log signal is /#, the Nyquist frequency is the Nyquist sampling theorem fundamental sig-
frequency of the samples f$ for proper recov- nal processing theorem that states that in order
ery of the signal at the receiving end. to unambiguously preserve the information in a
continous-time signal when sampled, the sam-
/Nyquist = fs should be > 2/ff pling frequency, fs = l/7\ must be at least
twice the highest frequency present in the sig-
In digital transmission systems, the analog nal. See also aliasing.
338
object manipulation language (OML)
object code a representation of a source pro- object linking and embedding (OLE) a
gram in a lower-level representation more suited technology developed by Microsoft to represent
for execution. Object code is that code which is composite objects in a persistent object store.
presented to a component that can execute the It is implemented in terms of their underly-
program. Object code may be machine code or ing Component/Common Object Model tech-
byte codes. May also refer to an intermediate nology. Languages are emerging which work
representation, relocatable code, which must be directly with COM objects, for example, Visual
processed by a linker and perhaps a loader be- Basic. See also COM.
fore it can be executed. See machine code.
object management group (OMG) an in-
object, composite See composite object. dustry consortium aimed at setting standards in
object-oriented development.
object database management group (ODMG)
a consortium of object-oriented database ven- object manipulation language (OML) a
dors responsible for defining standards for language that allows objects in an object-
object-oriented database management systems. oriented database to be created, updated, and
destroyed. Normally implemented by adding
object definition language (ODL) the data extensions for persistence to an object-oriented
definition language proposed by the ODMG for programming language.
0-8493-2691-5/01/$0.00+$.50
<g>2001 by CRC Press LLC 339
object measurement
object measurement the measurement of (2) a database which uses objects rather than
objects, with the aim of recognition or inspec- relational tables to organize and manage its con-
tion to determine if products are within accept- tents (objectbase).
able tolerances.
object-oriented database management sys-
object model another name for an object dia- tem the system which comprises all aspects
gram. Although it is really the model and not the of database management but focused towards
diagram, the main way of visualizing the model the use of the object-oriented mechanisms.
and making it real is by drawing it on a diagram.
Thus, the terms object model and object diagram object-oriented database management sys-
have often come to be used synonymously. tem (OODBMS) a database management
system in which the logical database model is
object module a program unit that is the out- object-oriented. The OODBMS interface to the
put of a translation of a source code. database is an object-oriented programming lan-
guage.
object orientation (1) the set of concepts
which constitute the object paradigm (object object-oriented decomposition breaking a
technology). problem down into smaller pieces based on the
(2) measurement of the orientation of objects, rules and expectations of the object-oriented
either as part of the recognition process or as part paradigm.
of an inspection or image measurement process.
object-oriented design (OOD) the activi-
object-oriented (1) an adjective prefixed to ties in the life-cycle in which an object-oriented
any software term to indicate that it is operat- approach is being used and which is targeted
ing within the constraints and definitions of the toward deriving a solution to a problem.
object-oriented paradigm rather than any other
paradigm (such as the functional, procedural, or object-oriented language (OOL) a lan-
data abstraction paradigms). guage for object-oriented programming. It
(2) a model which assumes that data is repre- has to be mainly conformant with the object-
sented as objects from one or more classes, and oriented paradigm, allowing the definition of
that methods of the classes are used to manipu- classes and their relationships of is-part-of, is-
late the objects. a, is-referred-by, etc. It also has to provide an
intrinsic mechanism for data hiding. Present ex-
object-oriented addressing a form of virtual amples include Java and C++.
addressing in which object numbers are mapped
to memory regions and internal object references object-oriented methodology an applica-
are mapped to offsets within an object's memory tion development methodology that uses a top-
region. down approach based on a decomposition of a
system in a collection of objects communicating
object-oriented analysis (OOA) the activi- via messages.
ties in the life-cycle in which an object-oriented
approach is being used and which are targeted object-oriented paradigm the set of con-
towards understanding the problem. Perhaps cepts which define an approach to software
better named "object-oriented modeling": development using object technology. Al-
though not globally agreed, the underpinning
object-oriented database (OODB) (1) a concepts in the OO paradigm are encapsula-
database described in terms of classes of objects, tion/information hiding; abstraction, especially
which includes their attributes and behavior, and classification; and modularity, identity, and
the relationships between those classes. polymorphism.
340
occurrence
object-oriented process environment and no- a heterogeneous network. The ORB acts as a
tation (OPEN) full life-cycle, process-focus- software bus to facilitate the interchange. This
ed, third-generation OO "methodology". OPEN is now commonly known as middleware.
is underpinned by a process metamodel consist-
ing of, inter alia, activities, tasks, techniques, object sharing in object-oriented and based
and deliverables. models, this is the sharing of an instance among
two or more other objects. This mechanism can
object-oriented programming (OOP) the be implemented by means of is-referred-by re-
activities in the life-cycle in which an object- lationship and may be the cause of severe errors
oriented approach is being used and which are when one of the objects sharing the other object
targeted towards translating the design into code. deletes it without communicating the operation
to the others.
objectory an outdated methodology which
is the precursor to RUP. object SQL (OSQL) a query language pro-
posed by the Object Database Management
object persistence the ability of an object to Group for forming queries on object-oriented
outlive the program that created it. databases. Similar to SQL.
object program See object code. object table an index of (object identifier,
object location) pairs used to dereference objects
object query language (OQL) a functional, from their identifiers.
statically typed query language used for object-
oriented databases. All OQL query expressions
object type the type of an object determines
consist of an operator applied to zero or more
the set of allowable operations that can be per-
operands. The result of an OQL query can be
formed on the object. This information can be
any valid type defined in the OQL environment.
encoded in a "tag" associated with the object,
can be found along an access path reaching to
object recognition the process of locating
the object, or can be determined by the compiler
objects and determining what types of objects
which inserts "correct" instructions to manipu-
they are, either directly or indirectly through the
late the object in a manner consistent with its
location of sub-features followed by suitable in-
type.
ference procedures. Typically, inference is car-
ried out by application of Hough transforms or
association graphs. object type library the collection of all ob-
ject types and their inheritance hierarchies for
Object Relational Database Management an application.
System (ORDBMS) a DBMS that supports
the Object Relational Model. occlusion visual obstruction. An occlusion
occurs when an opaque surface prevents another
object/relational database management sys- surface from being seen. When rendering, it is
tem an occurrence of a parent child relation- necessary to determine which surfaces are not
ship consists of one of the parent record types occluded, a problem known as the hidden sur-
and zero or more of the child record types. face problem.
Object Relational Data Model a data model occur-check a test performed during unifica-
that allows extensions to the relational data tion to ensure that a given variable is not defined
model by allowing addition of object-oriented in terms of itself (e.g., X = f(x) is detected by
concepts. an occur-check, and unification fails).
object request broker (ORB) the means by occurrence a string v occurs in a string u if
which objects send and receive requests across v is a factor of u.
341
OCR
OCR See optical character recognition. off-line (1) pertaining to the operation of a
functional unit when not under the control of a
octal a numerical system of radix 8. Conve- computer.
nient for expressing computer value representa- (2) handled on a different computer.
tions because three bits make up one octal digit.
See also binary, hexadecimal. off-line problem a decision problem in which
an algorithm is given the entire sequence of in-
octal number system a number system con- puts in advance.
sisting of eight digits from 0 to 7; it is also re-
ferred to as base 8 system. offset distance, usually measured in address-
able units, from a designated base address to
octree a space-occupancy representation used another designated address. Often used within
for representing 3D volumetric objects. It is a compilers to designate locations such as: (1) the
hierarchical representation, designed to use less location of a local variable as an offset from a
memory than representing every voxel of the ob- stack pointer or frame pointer.
ject explicitly. Octrees are based on subdividing (2) the location of a parameter location as an
the full voxel space containing the represented offset from a stack pointer or frame pointer.
object into 8 octants by planes perpendicular to (3) the location of the field of a record relative
the three coordinate axes. Octants that com- to the base address of the record.
pletely contain a single object are denoted as be- (4) in a string, the distance from the begin-
ing pure. Octants that contain multiple objects ning to the end of a segment in that string.
are recursively split into 8 new smaller octants.
This splitting continues until all volumes are ei- offspring a new individual in the population
ther pure, or some volume size limit is reached. which is derived, through the processes of re-
A tree data structure can be used to represent combination and mutation, from one or more
the octree. Normally, the octree data structure original individuals in the previous generation.
will have only about as many nodes as there are
voxels on the object surface, which can be much off-the-shelf software product that is already
less than the total number of voxels in the object. developed and available, usable either "as is" or
Hence, an octree representation can save a lot of with modification, and provided by the supplier,
space when representing an object or scene. the acquirer, or a third party. See commercial
The octree is the 3-dimensional generaliza- off-the-shelf.
tion of the quadtree. See quadtree.
OLAP See optical linear algebraic processor.
octtree See octree.
OLE See object linking and embedding.
ODL See object definition language.
S2 a theoretical measure of the execution of an
ODMG See object database management algorithm, usually the time or memory needed,
group. given the problem size n, which is usually the
number of items. Informally saying some equa-
ODMG-93 the standard for object-oriented tion /(/i) = £2(g(n)) means it is more than
databases defined by the ODMG. some constant multiple of g(n). More formally,
it means there are some c and k, such that 0 <
ODMG data model an obj ect model intended cg(n) < f(n) for all n > qk. The values of
to be used by any object-oriented database that c and k must be fixed for the function / and
complies with the ODMG standard. must not depend on n. See also big-O notation,
asymptotic lower bound.
ODP See optimum distance profile code.
omega motion a code motion characterized
OFD code See optimum free distance code. by moving a computation to the tail of a branch-
342
on-line support system
ing construct such that it is executed only once, a "zero" in the leftmost bit. To obtain the one's
after all the branches are executed. complement of a given binary representation,
every bit is inverted (which is equivalent to sub-
OMG See object management group. tracting from 1 the value of the bit). See also
diminished-radix complement.
omicron the Greek letter written as "o". (See (2) the operation of inverting a data word so
little-o notation) or "O". (See big-O notation). that all ones become zeroes and vice versa.
OML See object manipulation language.
one-sided surface a surface rendered in such
a way that only one side is visible. That side is
OMZ See order-of-magnitude-zero.
usually facing the same direction as the surface
normal.
one-copy equivalence a replica control pol-
icy which asserts that the values of all copies
of a logical datum should be identical when the on-line pertaining to the operation of a func-
transaction that updates that item terminates. tional unit when under the direct control of a
computer.
one-dimensional cellular automaton a cel-
lular automaton, where we trace the evolution on-line algorithm algorithm that processes
of the system by observing a row of cells at time the input sequentially.
t followed by the row at time t -f 1 and so on.
on-line arithmetic See digit-online arithme-
one-dimensional coding scheme a scheme tic.
in which a run of consecutive pixels of the same
gray scale is combined together and represented online estimation a method to determine sta-
by a single code word for transmission. tistical characteristics of a time series while it
Scan lines are coded as "white" or "black" is being observed. Due to the fact that long-
which alternate along the line. The scans are term measurements will produce an unlimited
assumed to begin with white and are padded with number of observations, online estimators can-
white if this is not the case. Generally run-length not rely on accessing every single observation
coding is a one-dimensional coding scheme. in history. Instead, they must have a strategy of
reducing older data to a number of variables that
one-level memory an arrangement of differ- do not depend on the duration of observation.
ent (in terms of speed, capacity, and medium)
types of memory such that the programmer has
on-line memory memory that is attached to
a view of a single flat memory space. See also a computer system.
hierarchical memory, virtual memory.
one-level storage See one-level memory. on-line planning algorithm a planning al-
gorithm in which planning computations and the
one-out-of-N coding a method of training execution of actions are carried out concurrently.
neural networks in which the input vector and/or
the output vector has only one non-zero element on-line problem a problem in which an
(usually equal to unity) for each training exam- algorithm receives a sequence of inputs, and
pie. must process each input in turn, without detailed
knowledge of future inputs.
one's complement (1) a notation used for the
representation of negative numbers. In this rep- on-line support system digital form of as-
resentation a data word is organized such that sitance, such as tutorials, documentation, and
negative numbers all contain a binary "one" in help that aid computer-based learning and task-
the leftmost bit, while positive numbers contain oriented activities.
343
on-line transaction processing
on-line transaction processing the class of dilation, erosion, morphological filter, structur-
applications where the transactions are short, ing element.
typically 10 disk I/Os or fewer per transaction;
the queries are simple, typically point and mul- opening/closing filter See closing/opening
tipoint queries; and the frequency of updates is filter.
high.
open-loop planner a planning system that
OOD See object-oriented design.
executes its plans with no feedback from the en-
vironment, relying exlusively on its ability to
OODB See object-oriented database.
accurately predict the evolution of the underly-
ing dynamical system.
OOL See object-oriented language.
open queueing network a queueing network
OOP See object-oriented programming.
in which there are arrivals to the system from
outside (called external arrivals) and external de-
op any one of the arithmetic operations, e.g.,
partures from the system. In contrast to a closed
addition, subtraction, multiplication, or divi-
queueing network, the number of customers in
sion; as in floating point operation (flop).
the network is not fixed.
opaque impervious to light. An opaque sur-
face will reflect light to some degree dependent open software foundation (OSF) a founda-
on surface attributes. See also specular reflec- tion created by nine computer vendors to pro-
tion, diffuse reflection. mote open computing. It is planned that com-
mon operating systems and interfaces, based on
opcode a part of an assembly language in- developments of Unix and the X Window Sys-
tem will be forthcoming for a wide range of dif-
struction that represents an operation to be per-
formed by the processor. Opcode was formed ferent hardware architectures. OSF announced
from the contraction of "operational" and "code." the release of the industry's first open operating
system.
OPEN See object-oriented process environ-
ment and notation. open subroutine See inline function.
open an operation on a file or device that open system architecture a layered architec-
results in the initialization of this unit and its tural design that allows subsystems and/or com-
readiness for exchanging data. ponents to be readily replaced or modified; it
is achieved by adherence to standardized inter-
open addressing a collision resolution policy faces between layers.
whereby, upon collision, a search begins from
the current free space until a free location is open systems interconnection model (OSI)
found. a reference model for a network architecture and
a suite of protocols (protocol stack) to imple-
opening a key morphological filter involving ment it developed by ISO in 1978 as a frame-
the union of translates. work for international standards in heteroge-
For structuring element B, the opening is the neous computer network architecture. The ar-
composition of the erosion by B followed by chitecture is split between seven layers, from the
the dilation by B; it transforms X into X o B = lowest to the highest: physical layer, datalink
(X 0 B) © B. The opening by B is called an layer, network layer, transport layer, session
algebraic opening; this means that: (a) it is a layer, presentation layer, application layer. Each
morphological filter, (b) it is anti-extensive; in layer uses the layer immediately below it and
other words it can only decrease an object. See provides a service to the layer above.
344
operator function
operability attributes of software that bear states. The operational models specify the sys-
on the user's effort for operation and operation tems by describing what the system has to do,
control. The capability of the software product instead of stating which are the properties of the
to enable the user to operate and control it. As- systems such as the descriptive models. See ex-
pects of suitability, changeability, adaptability, ecutable specification.
and installability may affect operability. Oper-
ability corresponds to controllability, error tol- operational profile a characterization of the
erance, and conformity with user expectations. conditions of use of a system, this is the set of
operations that the software in a system can exe-
operand (1) an object or value on which an cute along with the probability with which each
operation is performed. In machine code, the operation will occur, where an operation is de-
values manipulated by a single instruction. fined as a group of runs that typically involve
(2) specification of a storage location that similar processing. The profile can sometimes
provides data to or receives data from the op- be defined by a partitioning of the input space
eration. and estimate of the probability of encountering
an input from each feature. A system trial must
operand address the location of an element therefore be performed using a realistic opera-
of data that will be processed by the computer. tional profile. Definition of conditions of use
is essential for measurement of reliability (and
operand address register the internal CPU some other dependability attributes), since a sys-
register that points to the memory location that tem will generally exhibit different reliabilities
contains the data element that will be processed under different conditions. Usage is synony-
by the computer. mous.
345
operator overloading
The concept of operator function is strictly re- has to ripple through the cascaded layers. It is
lated to operator overloading. This is usually also known as digital adder.
performed by an operator function.
optical addition adding operation using light.
operator overloading (1) the characteristic Two incoherent light beams have intensities A
where the meaning of an operator depends upon and #, respectively. When two beams are com-
the context in which it is used. For example, in bined, i.e., illuminating the same area, the resul-
most languages, operators such as ' V and "-" tant intensity is A + B.
may be interpreted as "integer add" or "floating
point add9' or to concatenate strings depending optical bus an optical channel used for trans-
on the context. As a further example, "-" can mitting a signal from a source to one or more de-
be used as a monadic operator to negate an ex- tectors. A bus allows only the same interchange
pression, or as a dyadic operator to return the of information to take place at different detec-
difference between two expressions. tors. A source is connected to many detectors.
In the object-oriented paradigm, overloading
is a good exploitation of polymorphism. User-
optical character recognition (OCR) a pro-
defined operator overloading is provided by sev-
cess in which optically scanned characters are
eral object-oriented programming languages.
recognized automatically by machine. It is
(2) the ability to define an operator to operate
widely utilized in document storage, process-
upon user-defined objects, not just the elemen- ing, and management.
tary types defined by the language. See also
function overloading, polymorphism.
optical computer (1) a general purpose dig-
operator tree a logical representation of a ital computer that uses photons as an electronic
query in which the inner nodes represent opera- computer uses electrons. The technology is still
tors and the leaf nodes represent relations. immature. The nonlinear operations that must
be performed by a processor in a computer are
opportunistic design a term used to refer to a difficult to implement optically.
behavior of software design. In empirical obser- (2) an analog optical processor capable
vations of designers at work, the sequence of de- of performing computations such as correla-
sign steps that a designer actually takes appears tion, image subtraction, edge enhancement, and
to be strongly determined by specific events that matrix-vector multiplication that are usually
have occurred earlier in the design activity rather performed by an electronic digital computer.
than by any overall strategy. Often, this results Such a computer is usually very specific and
in the designer working on some aspect of the inflexible, but well adapted to its tasks.
problem as soon as it presents itself.
optical computing the use of optics to aid
opportunistic planning planning episodes in any type of mathematical computation. Cat-
in which subproblems at different levels are an- egories of optical computing include:
alyzed simultaneously, with alternation among 1. analog processing such as using optical
levels determined by emerging features of the Fourier transforms for spectral analysis and cor-
solution. relation,
2. optical switching and interconnection us-
optical adder an optical device capable of
ing nonlinear, e.g., bistable, optical devices, and
performing the function of arithmetic addition
using binary signals. It can be constructed using 3. the use of optical devices in digital com-
a series of cascaded full adders where carry has puters.
to ripple through each full adder from least sig-
nificant bit to most significant bit. It can also be optical demultiplexer a device which directs
constructed using cascaded layers. Each layer an input optical signal to an output port depend-
consists of a series of half adders. Carry also ing on its wavelength.
346
optical logic gate
optical disk a disk on which data are stored (sum and carry). The sum is the XOR function
optically. Data are written by altering the re- of two inputs, and the carry is the AND function
flectivity of the surface, and read by measuring of two inputs. An optical half adder consists of
the surface reflection of a light source. Storage an optical XOR gate and an optical AND gate.
is organized in the same way as on a magnetic It is also known as a one-digit adder.
disk, but higher storage density can be achieved.
optical interconnect an optical communica-
optical expert system an expert system that tion system in an electronic computer that con-
utilizes optical devices for performing logic op- sists of three primary parts:
erations. An expert system mostly requires logic 1. sources,
gates to perform inferences. In an optical expert 2. optical paths with switches or spatial light
system, not only discrete optical logic gates are modulators, and
used, but the parallelism and capability of per- 3. detectors.
forming matrix-vector multiplication of optical An optical signal from a source or an array of
processors are exploited as well. Sequential rea- sources is transmitted to a detector or an array of
soning in an electronic expert system is replaced detectors in optical interconnects. The transmit-
by parallel reasoning in an optical expert system, ted optical signal from the source is converted
so its speed can be increased substantially. As from an electronic signal. The detector in turn
with the optical computer, it is still immature. reverts the optical signal into an electronic sig-
nal. The merits of optical interconnects include
optical flow the 2D field of apparent veloc- large bandwidth, high speed of light propaga-
ities of pixels on an image plane; i.e., the raw tion (the velocity of electric signals propagating
motion information arising from the displace- in a wire depends on the capacitance per unit
ment of points in the visual (optical) field. Let length), no interference, high interconnection
each image point p have an intensity / and a density and parallelism, and dynamic reconfig-
velocity v = (vx,vy), which are both func- uration.
tions of p and time f, where the velocity rep-
resents the image plane projection of the point's optical linear algebraic processor (OLAP)
three-dimensional velocity. Under the assump- an optical processor that performs specific ma-
tion that the point's intensity does not change trix algebraic operations as fundamental build-
along its trajectory, it follows that ing blocks for optical computation and signal
(dl/3x)vx + (dl/3y)vy + (dl/3z)vz processing.
+ dl/dt = V7 - v + dl/dt = 0. optical logic logic operations, usually binary,
See also aperture problem. that are performed optically.
optical flow field the changes in light inten- optical logic gate an optical device for per-
sity values in the image plane. See optical flow. forming Boolean logic operations. The basic
idea is that since a computer is built by Boolean
optical flux See optical flow. logic gates, if we can make optical logic gates,
then we can eventually build a complete opti-
optical full adder an optical device forming cal computer. Since light does not affect light,
part of an adder and able to receive three inputs it cannot directly perform nonlinear operations
(augend, addend, and carry) from the previous represented by 16 Boolean logic gates. A thresh-
stage, and deliver two outputs (sum and carry). olding device is required if intensities of two in-
Several logic gates are required to provide the put beams are simply added in the logic gate. For
sum and the carry. example, to perform AND operation, 00-0,01-
0,10-0,11-1, the threshold is set 2. Only when
optical half adder an optical device forming both beams have high intensities is the output
part of an adder and able to receive two inputs 1. Otherwise, the output is 0. To perform OR
(augend and addend), and deliver two outputs operation, 00-0, 01-1, 10-1, 11-1, the thresh-
347
optical matrix-matrix multiplication
old is set at 1. The gate can be constructed by ements x\9 X2, and x$ are represented by the
directing two input light beams onto the same transmittance of three vertical lines on afirstspa-
detector. After passing through an electronic tial light modulator. A collimated coherent light
thresholding device, the resulting electric signal beam passes through the first spatial light modu-
from the detector shows the logic output. To im- lator. The modulated light then passes through a
plement an optical logic gate without using an second spatial light modulator displaying three-
electronic circuit, optical thresholding devices by-three squares with transmittances of wn to
such as MSLM or nonlinear optic materials can M>33- Two spatial light modulators are aligned
be used. such that the vertical line x\ covers three squares
of u>n, tU2i, M>3i, line *2 covers tun, ^22, u>32,
optical matrix-matrix multiplication an op- and line*3 covers tun, u>23, ^33. Thelightpass-
eration performing matrix-matrix multiplication ing the second spatial light modulator is focused
using optical devices. For two-by-two matrices by a cylindrical lens to integrate light in a hori-
A and B, the matrix-matrix multiplication pro- zontal direction. In other words, w\\x\9 wi2#2>
duces two-by-two matrix C, whose elements are and u>i2*3 are summed up at a point on the focal
line of a cylindrical lens. A detector placed at
c\\ =011*11 + 012*21
this point will produce y\. Two other detectors
C12=01 1*12 + 012*22 will provide yi and y$ in a similar way. Various
C21 =021*11 +022*21 optical arrangements are possible to implement
C22 =021*12 +022*22- matrix-vector multiplication, including correla-
tors. Optical matrix-vector multiplication is im-
An optical implementation is as follows. Ma- portant for crossbar switch and neural networks.
trix elements *i2»*22»*n» and *2i are repre- It can also be used for finding eigenvalues and
sented by four vertical lines on a spatial light eigenvectors, solving linear equations, and com-
modulator. Matrix A is represented by a two- puting the discrete Fourier transform.
by-two source array. Two images of matrix A
are generated by an optical means, for exam- optical multiplication multiplying operation
ple two lenslets. An image of A covers two using light. A light beam has intensity A. When
lines of *i2 and *22» another image of A covers the beam passes through a transparency with
lines *u and *2i. Using two cylindrical lenses, transmittance B, the intensity of the transmit-
light passing through the spatial light modula- ting light beam is AB.
tor is focused into four points at the four cor-
ners of a square representing en, en, 021, and optical neural network optical processor
C22- Various optical arrangements for imple- implementing neural network models and algo-
menting matrix-matrix multiplication have been rithms. A neural network is an information pro-
proposed. Optical matrix-matrix multiplication cessing system that mimics the structure of the
is needed for solving algebraic problems, which human brain. Two features of neural networks
could be faster than an electronic computer be- are recognition capability and learning capabil-
cause of parallel processing. ity. In recognizing process, the neural net is
formulated as
optical matrix-vector multiplication an op-
eration performing matrix- vector multiplication
using optical devices. For matrix W and vec-
tor X9 the matrix- vector multiplication produces
^~/(x>+^)'
vector F, whose elements are where zj is the output of the j\h neuron, tu,/ is
yi -W\lXl + U>12*2 + M>13*3 the interconnection weight between the ith in-
y2 =U>21*1 + W22X2 + W23X3
put neuron and the yth neuron, *,- is the input
coming from the /th input neuron, 0y is the bias
» =«W3i*i + W32X2 + W&X1 .
in the yth neuron, and / is a nonlinear trans-
A simple coherent optical processor to imple- fer function. Notice that Zj and *, are binary.
ment this operation is as follows. Vector el- Nonlinear transfer function / could simply be
348
optimistic locking
a threshold function. The formation of an inter- represented by four LEDs is imaged by a lenslet
connection weight matrix is called the learning onto a part of the tensor that is a two-by-two
process. It appears that in the recognizing pro- matrix
cess, the neural network has to perform a matrix-
/ u>mi mm \
vector multiplication and a nonlinear operation.
\ ^1211 ^1212 / '
The matrix-vector multiplication can be easily
performed using an optical system. However, represented by a spatial light modulator. Light
the nonlinear operation cannot be performed by passing through the spatial light modulator is
optical means. It may be performed using elec- integrated by another lenslet to provide y\\.
tronic circuits. For two-dimensional neural pro- Thus, two sets of two-by-two lenslet arrays with
cessing, tensor-matrix multiplication is needed four LEDs and a spatial light modulator dis-
which can also be realized by optical means. playing all tensor elements as four matrices are
sufficient to perform this tensor-matrix multi-
optical representation of binary numbers plication. Various optical arrangements can
the representation of binary numbers 0 and 1 us- implement tensor-matrix multiplication. Opti-
ing light. Since an optical detector is sensitive cal tensor-matrix multiplication is important for
to light intensity, it is a very logical choice to two-dimensional neural networks.
represent binary numbers 0 and 1 with dark and
bright states or low and high intensity, respec-
optimal (1) a solution to an optimization
tively. However, some difficulty would occur
problem which has the minimum (or maximum)
when 1 has to be the output from 0, because
value of the objective function.
no energy can be generated for 1 from 0 with-
out pumping light. Binary numbers 0 and 1 (2) the time, space, resource, etc. complexity
can be represented by a coded pattern instead of an algorithm which matches the best known
of the intensity of a single spot. They can also lower bound of a problem.
be represented by two orthogonal polarizations,
although the final states should be converted to optimal cost the minimum cost to process an
intensity, which is the only parameter that can input sequence.
be detected by a detector.
optimal decision the best decision, from the
optical tensor-matrix multiplication an op- point of view of given objectives and available
eration performing tensor-matrix multiplication information, which could be taken by the con-
using optical devices. For tensor W and matrix sidered decision (control) unit; the term optimal
X, the tensor-matrix multiplication produces decision is also used in a broader sense — to
matrix K, whose elements are denote the best decision which can be worked
out by the considered decision mechanism, al-
yn =u>m\x\\ + w\\nxn though this decision mechanism may itself be
+ U>1211*21 + W1212*22 sub-optimal; an example is model-based opti-
mization as a decision mechanism at the upper
yi2 =101121*11 + w\ 122x12 layer of a two-layer controller for the steady-
+ W1221X21 + ^1222*22 state process — the results of this optimization
y2i =102111*11 + W2112*12 will be referred to as the optimal decision.
+ ^2211*21 -Hu;2212*22
y22 =^2121*11 "I- W2122X12
optimistic concurrency control See opti-
mistic locking.
-I- W222lX\2 -H W2222*22 •
An incoherent optical processor can implement optimistic locking the acquisition of locks
this operation as follows. The two-by-two late in a transaction, with the assumption that no
matrix conflicting updates have been made by concur-
/ rent transactions, or with explicit tests to detect
\ X22 such updates.
349
optimization
optimization (1) a transformation by which file given the code rate, memory, and alphabet
a program is converted to an equivalent program size. ODP codes are suitable if, for example,
which has better performance along one or more sequential decoding is used.
metrics (space, time, disk transactions, network
transactions, etc.) optimum free distance code (OFD) a con-
(2) a transformation as in (1) effected by a volutional code with the largest possible free dis-
compiler. tance given the code rate, memory, and alphabet
(3) a transformation as in (1) effected by a size. Often referred to as OFD code.
programmer rewriting the program. Note that
in general usage, "optimization" means achiev- optoelectronics the interaction of light and
ing the lowest cost along the desired metrics, in electrons in which information in an electrical
all but a few well-defined cases it is actually im- signal is transferred to an optical beam or vice
possible to prove that the transformed program is versa, e.g., as occurs in optical fiber communi-
the best. It has been suggested that amelioration cations components.
is a better designation for some of these transfor-
mations, particularly those performed by com- OR the Boolean operator that implements the
pilers. disjunction of two predicates, the true table for
(4) determining the values of the set of free V m X OR Y is
parameters that minimizes or maximizes an ob- X Y XvY
jective function. The minimization or max- F F F
imization may be subject to additional con- F T T
straints. See also gradient descent, graph search, T F T
genetic algorithm, minimax estimate, simulated T T r,
annealing.
n-ary ORs can be obtained as disjunction of bi-
optimization problem a computational prob- nary ORs. See also AND, NOT, XOR, implies.
lem in which the object is not to decide some
yes/no property, as with a decision problem, but oracle Ibring machine a Turing machine
to find the best solution in those "yes" cases with an extra oracle tape and three extra states
where a solution exists. #?» #;y» 4n- When the machine enters #7, control
goes to state qy if the oracle tape content is in
optimizer a program, or set of programs, the oracleset; otherwise control goes to state qn.
used to choose an efficient execution strategy
for a query from the possible strategies. ordered set a set of values which has a total
ordering relationship R (symmetric, transitive,
optimizing a performance criterion that re- and reflexive) on its elements, such that an iter-
quires maximizing or minimizing a specified ator over the elements of the set always delivers
measure of performance. the elements in an order such that for any two
elements ej and e^ if j < k,
optimizing compiler a compiler which is
able to perform optimizations during the com- ordering among events the specification of
pilation process to minimize the resulting code the event ordering. It can be done by Since and
along one or more metrics such as code size, Until operators in temporal logics. The ability
execution speed, data size, or other metrics es- of a temporal logic to express the order in which
tablished by the writer of the compiler. Since events are realized.
many of the computations are either NP-hard or
involve undecidable problems, there is no guar- ordering field the field chosen on which the
antee that the resulting code is actually optimum. records of a file are physically ordered on disk.
optimum distance profile code (OOP) a ordering key a key field on which the records
convolutional code with superior distance pro- of a file are physically ordered on disk.
350
otherwise
351
DTP
is selected, a designated computation will be se- second instruction must write to the location af-
lected. In some languages this is designated the ter the first instruction. Also known as write-
"otherwise" case, in C it is the "default" case. after-write hazard.
OTP one-time programmable. See pro- output device a device that presents the re-
grammable read-only memory. sults sent to the user, and typical output devices
are the screen and the printer. (According to
outer join a type of join between two re- some interpretations, it also includes the stable
lations which results in all the tuples from one storage where the processor saves data.)
of the participating relations being included to-
gether with die tuples from the second relation
that satisfy the join condition. output neuron layer a neuron (layer of neu-
rons) that produces the network output (outputs).
outer union allows union of relations that are In feedforward networks, the set of weights con-
not union compatible. The union of the tuples nected directly to the output neurons is often also
of the two relations that are partially compatible referred to as the output layer.
are included in the results. Attributes that are
not compatible are kept in the result. NULL output product a product that is the result or
values are inserted into the tuples that have no the output of a process. A product that is gen-
value for these attributes. erated by some phase of software development.
An output product may be either an intermediate
outlier a statistically unlikely event in which product or a final product.
an observation is very far (by several standard
deviations) removed from the mean. Also refers
output routine low-level software that han-
to points that are far removed from fitted lines
dles communication with output devices. Han-
and curves. In experimental circumstances,
dles the formatting of data as well as eventual
"outlier" frequently refers to a corrupt or invalid
protocols and timings with the output devices.
datum.
outline function a function whose code is output vector a vector formed by the output
executed through a function call. It is the oppo- variables of a network.
site of inline functions, whose code is directly
embedded in the calling function. outsourcing contracting an outside company
for delivering a software system.
output assertion See post condition.
352
owner
outstar training neuron training where the applications. Many languages for these ma-
weights are updated according to chines have explicit support for overlay man-
agement.
Wi(t + 1) = wi(t) + v (yi - wi(t)) ,
(2) an image compositing method where an
where v is the training rate starting from about 1 image is displayed over a background image.
and gradually reduced to 0 during the training.
See also instar configuration. overload a state in which a system has more
work than it could process while still meeting
overflow a condition in which the resulting all delay or loss requirements. A system can
value is too large to represent in the available get into overload state if the offered load ex-
machine representation. For example, adding 1 ceeds the throughput for which the system was
to the largest possible integer produces an over- dimensioned.
flow. In the case of floating point numbers, a
value that exceeds the largest possible floating overloading principle according to which
point number that can be represented. See also operations bearing the same name apply to argu-
overflow detection, underflow, underflow detec-
ments of different data type. In object-oriented
tion. systems, overloading is also known as ad-hoc
polymorphism. See operator overloading, func-
overflow detection a form of execution se-
tion overloading, polymorphism.
mantics in which an arithmetic overflow pro-
duces an error condition. The exact nature of the
condition and how it is handled are determined override a technique by which a subclass can
by factors such as the language, its implemen- change the behavior of a method of its superclass
tation, and the platform on which it is running. by defining a method with the same name and
parameter types. In the absence of an override in
overhead (1) the set of operational costs ad- the subclass, the method of the superclass will be
ditionally present to perform an activity. It is invoked, providing the class declaration permits
typically used in the definition of project costs it. See also virtual method.
and refers to a percentage on the personnel costs
due to the cost of the structure. It is also used overriding a member of a class, both at-
for identifying the time spent in scheduling and tribute and method, that is redefined in one of
context switching in multitasking operating sys- the derived classes, changing one or more of
tems. its characteristics without addressing polymor-
(2) the amount of time or work exceeding that phism is considered overridden. For example,
needed to perform a required function. an attribute (an integer) of the base class can be
overridden in the derived class by re-declaring
overlap the process that the next phase in the it with the same name, but with a different type
software development process is entered before (a double).
the current phase is entirely finished. This is
typical of evolutionary models. oversampling sampling a continuous-time
signal at more than the Nyquist frequency.
overlapped execution processing several in-
structions during the same clock pulses.
overshoot the amount by which an out-
overlay (1) a mechanism by which sec- put value momentarily exceeds the ideal output
tions of code are explicitly loaded into mem- value for an underdamped system.
ory when required, replacing code which was
already present. Although largely supplanted owner with respect to a file, the user who is
by virtual memory mechanisms, overlay tech- authorized to change a file's access mode and
niques are still used on some embedded ma- ownership; in general, a file's owner is the user
chines, real-time systems, and other specialized who created it.
353
owner-coupled set
354
page
p
messages are divided into a sequence of short
segments called "packets" and relayed from the
source to the destination through a series of in-
termediate nodes. Each packet contains enough
addressing information in its header so that the
intermediate nodes can determine the next hop
on a path to the destination. Packets from dif-
P the set of all languages £ that are decidable ferent sources may be interleaved on each link,
in sequential time n°^. the transmissions over each link are scheduled
independently. Unlike a circuit-switched net-
package a grouping of several classes into a work, links are tied up only when they are be-
higher level chunk which has high internal co- ing used, so throughput is better, but there is no
hesion and coupling and low inter-package cou- guaranteed transmission time after a circuit is
pling. It can be regarded as a subsystem. See established. See also store-and-forward, virtual
software package. cut-through.
packet-switched bus See split transaction. page a fixed-length memory area that has a
virtual address and that is transferred as a unit
packet switching a technique for transfer- between main memory and auxiliary storage.
ring data through a computer network in which See virtual memory.
0-8493-2691-5/01/$0.00+$.50
<§> 2001 by CRC Press LLC 355
paged-segment
page fault event that occurs when the pro- page printing a printing technique where the
cessor requests a page that is currently not in information to be printed on a page is electron-
main memory. When the processor tries to ac- ically composed and stored before shipping to
cess an instruction or data element that is on the printer. The printer then prints the full page
a page that is not currently in main memory, a nonstop. Printing speed is usually given in units
page fault occurs. The system must retrieve the of pages per minute (ppm).
page from secondary storage before execution
can continue. page-printing printer a human-readable
output device used for producing documents in a
written form. The printer stores a whole page in
page-fault-frequency replacement a re-
memory before printing it (e.g., a laser printer).
placement algorithm for pages in main memory.
The is the reciprocal of the time between suc-
pager a routine that initiates and controls the
cessive page faults. Replacement is according to
transfer of pages.
whether or not the page-fault frequency is above
or below some threshold.
page replacement at a page miss, when a
page will be loaded into the main memory, the
page frame a block of main memory having
main memory might have no space left for that
the size of, and used to hold, a page. See virtual
page. To provide space for that new page, the
memory.
processor will have to choose a page to replace.
page lock a type of lock. Some database page table a mechanism for the translation of
systems assign locks on entire pages contain- addresses from logical to physical in a processor
ing a datum being read or updated by a trans- equipped with virtual memory capability. Each
action. This can cause unnecessary contention, row of the page table contains a reference to a
since other data on the same page will then be logical block of addresses and a reference to a
unavailable for conflicting access by other trans- corresponding block of physical storage. Every
actions. memory reference is translated within the CPU
before storage is accessed. The page table itself
page miss penalty when a page miss oc- may be stored in standard memory or may be
curs, the processor will manage the load of the stored within a special type of memory known
requested page as well as the potential replace- as associative memory. A page table stored in
ment of another page. This time involved, which associative memory is known as a translation
is entirely devoted to the page miss, is referred lookaside buffer.
to as the page miss penalty.
paging the process of transferring pages be-
page-mode DRAM a technique that uses a tween main memory and secondary memory.
buffer like a static RAM; by changing the col-
umn address, random bits can be accessed in the painter's algorithm a hidden-surface algo-
buffer until the next row access or refresh time rithm that sorts primitives in a back-to-front
occurs. order, then an algorithm for hidden surface
356
parallel discrete event simulation (PDES)
removal, where objects are assigned priori- parallel architecture a computer system ar-
ties based on proximity to the camera posi- chitecture made up of multiple CPUs. When
tion. When the image is rendered to the buffer, the number of parallel processors is small, the
the objects with higher priority overwrite those system is known as a multiprocessing system;
with lower priority (it "paints" them into the when the number of CPUs is large, the system
frame buffer in this order, overwriting previ- is known as a massively parallel system.
ously "painted" primitives.) Although intuitive
and simple to implement, this algorithm has parallel bus a data communication path be-
been superseded by z-buffering. tween parts of the system that has one line for
each bit of data being transmitted.
PAL See programmable array logic.
paraUel composition in a process algebra,
palette the set of colors that may be used to the possibility to define a process as two sub-
compose an image. processes executing in parallel.
pan camera rotation about an axis (vertically) parallel computation thesis sequential
perpendicular to the camera's view direction. space is polynomialiy related to a parallel time.
357
parallel divider
parallel divider a divider in which quotient tion of the algorithmic transforms done by the
bits are produced in the same cycle. compiler.
Although parallelism can be found in many
parallel genetic algorithms parallelized ver- electronic computing systems, parallelism is the
sions of a genetic algorithm where multiple pro- inherent property of an optical system. For ex-
cessors are assigned to different subsets of the ample, a lens, the simplest optical system, forms
population for solution evaluation. In the migra- the whole image at once and not point-by-point
tion model, the total number of individuals is di- or part-by-part. If the image consists of one mil-
vided into different sub-populations and the pro- lion points, the lens processes one million data
cesses of crossover and selection are restricted in parallel.
to members within each sub-population. Oc-
casionally an individual is allowed to migrate parallelism profile a description of proces-
from one sub-population to another for informa- sor usage by a parallel application. The paral-
tion exchange. In the diffusion model, a local lelism profile is determined experimentally, and
neighborhood structure is defined for each indi- indicates the number of processors in use by the
vidual and the application of genetic operations application as it executes as a function of time.
is restricted within each neighborhood. In this
way, information is allowed to propagate slowly parallel manipulators manipulators that
throughout the population. See also diffusion consist of a base platform, one moving platform,
model, migration model. and various legs. Each leg is a kinematic chain
of the serial type, whose end links are the two
parallel input/output generic class of in- platforms. Parallel manipulators contain unac-
put/output (I/O) operations that use multiple tuated joints which makes their analysis more
lines to connect the controller and the peripheral. complex than that of serial type. A paradigm of
Multiple bits are transferred simultaneously at parallel manipulators is the flight simulator con-
any time over the data bus. sisting of six legs actuated by hydraulic pistons.
parallel I/O interface I/O interface consist- parallel port a data port in which a collection
ing of multiple lines to allow for the simulta- of data bits are transmitted simultaneously.
neous transfer of several bits. Commonly used
for high-speed devices, e.g., disk, tape, etc. See parallel processing (1) an environment in
also serial I/O interface. which a program is divided into multiple threads
of control, each of which is capable of running
parallelism concurrent execution of an algo- simultaneously, at the same time instant.
rithm. Many languages have explicit support for (2) processing carried out by a number of pro-
parallelism. In other cases, compilers for tradi- cessing elements working in parallel, thereby
tional languages (notably FORTRAN) attempt speeding up the rate at which operations on large
to discover those segments of the program which data sets such as images can be achieved. Often
can be executed concurrently. Parallelism may used in the design of real-time systems.
be at the low-level computation level (multiple
arithmetic units working concurrently), at the parallel random access machine (PRAM)
instruction set level (multiple instructions exe- a theoretical shared-memory model, where typi-
cuting concurrently), or at the architecture level cally the processors all execute the same instruc-
(more than one processor executing the same tion synchronously, and access to any memory
program). Parallelism often requires synchro- location occurs in unit time.
nization between concurrent paths of execution,
either implicitly in the hardware, explicitly in parallel system a system with a low degree
the program, or implicitly in the implementa- of autonomy.
358
parity bit
parallel thinning a technique employing the parameter space a domain formed by all
hit-or-miss transform to restore noise-degraded possible values of the given parameters.
images.
parametric an approach to shape represen-
parallel-to-serial conversion a process tation in which a curve or a surface is defined
whereby data whose bits are simultaneously by a set of equations expressed in terms of a set
transferred in parallel are translated to data of independent variables (i.e., the parameters).
whose bits are serially transferred one at a time. This representation is convenient for curvature
During the translation process, some timing in- and bounds computation and the control of po-
formation may be included (such as start and sition and tangency.
stop bits) or is implicitly assumed.
parametric surface a surface defined explic-
parallel-transfer disk a disk in which it is itly by the range of values of a parametric func-
possible to simultaneously read from or write tion. For a parametric function f (a) that depends
to multiple disk surfaces. Advantageous in pro- upon the parameter vector a, the surface S can
viding high data transfer rates. be defined formally as: S = {p : p = f (a), Va}.
359
parity-check code
be inserted to make this number even. See also ticular grammars without having to write much
error detecting code. of the common code each time.
parity-check code a binary linear block code. parse tree a graphical representation of
the analysis of a sentence of a grammar, in
parity check matrix a matrix whose rows which terminal symbols appear at the leaf nodes
are orthogonal to the rows in the generator ma- and nonterminal symbols appear in the internal
trix of a linear forward error control block code. nodes. The root node of a parse tree represents
A non-zero result of element-wise finite field the designated root symbol of the grammar.
multiplication of the demodulated word by this
matrix indicates the presence of symbol errors parsing the process by which an input string
in the demodulated word. is analyzed using a grammar to determine if the
It is generated from the parity check polyno- input string satisfies the rules of the grammar.
mial of any linear (n, k) code and has dimension Also known as syntactic analysis.
of (n - k x ri). It is used by the decoder for error
detection by checking the parity bits. partial borrow See assimilation of borrow.
parity detection circuit a parity check logic partial carry See assimilation of carry.
incorporated within the processor to facilitate
the detection of internal parity errors (reading partial correctness during the proving of
data from caches, internal buffers, external data the program correctness, it indicates that post-
and address parity errors). conditions follow directly from pre-conditions.
Compare with total correctness, correctness.
parking (1) on a bus, a priority scheme which
allows a bus master to gain control of the bus partial difference See assimilation of bor-
without arbitration. row.
(2) the process of placing the heads of a disk
on the landing zone before shutting off power. partial dividend at the start of a division, this
is the dividend. Subsequently, it is the result of
Parnas partitioning a software design tech- subtracting a multiple of the divisor. At the end
nique where modules are defined so as to isolate it is the (final) remainder.
hardware-dependent or volatile sections of code.
partial inheritance a mechanism by which
parse (1) to analyze an input string according a class may inherit only partially from the mem-
to the rules of a grammar. bers of its superclass. Typically, this is formal-
(2) the results of such an analysis, for exam- ized by specifying in the superclass the private
ple, as represented by a parse tree. members that are those that cannot be accessed
by derived classes. It is the main cause of non-
parser generator a program that takes a monotonic inheritance.
specification of a grammar as input and pro-
duces as output a program (or data used by a partial key a set of attributes that may be used
standard program) which will parse input text. in conjunction with the key of an identifying
A parser of this type usually takes specific ac- owner to uniquely identify instances of a weak
tions during the parse to construct an intermedi- entity type.
ate representation, and check for errors. Inputs
not conforming to the grammar will be rejected. partially compatible two relations are
said to be partially compatible if some of their
parse table a representation of grammar rules attributes are union compatible.
that is processed by an interpreter. Generally
constructed by parser generators, provides a gen- partially decidable decision problem an
eral mechanism for constructing parsers for par- important class of decision problems that can
360
partition
be transformed to a program that always halts partial replication some fragments (and sec-
and outputs 1 for every input expecting a pos- tions of which) may be replicated.
itive answer and either halts and outputs 0 or
loops forever for every input expecting a nega- partial specification an incomplete specifi-
tive answer. See halting problem. cation of a system where some parts have been
folly specified while other parts have only the
partially decidable problem one whose as- interface specified.
sociated language is recursively enumerable.
Equivalently, there exists a program that halts partial sum See assimilation of carry.
and outputs 1 for every instance having a yes
answer, but is allowed not to halt or to halt and participation constraints specifies whether
output 0 for every instance with a no answer. an entity must be related to another entity via a
relation.
partially dynamic graph problem prob-
lem where the update operations include either participatory design (PD) any of a broad
edge insertions (incremental) or edge deletions range of techniques designed to increase stake-
(decremental). holder participation in the design process.
partial order an order defined for some, but particle system a technique for modeling
not necessarily ail, pairs of items. For instance, irregular natural structures by a collection of in-
if two athletes lose to the same person, they both dependent objects, often represented as single
rank lower than the winner, but no rank between points. Objects that have been represented using
them is proved. this technique include fire, smoke, clouds, fog,
explosions, grass, etc. Each particle will have
partial order relation in process schedul- its own motion and property parameters, usu-
ing, indicates that any process can call itself (re- ally drawn randomly from a distribution (per-
flexivity) if process A calls process B then the haps constrained by or linked to other parti-
reverse is not possible (antisymmetry), and if cles, or other scene objects, such as grass be-
process A calls process B and process B calls ing constrained to grow from a specified sur-
process C than process A can call process C face). Because natural effects based on parti-
(transitivity). cle systems need many particles for realistic ap-
pearance, rendering of particle systems often re-
partial participation of an entity type E in quires special-purpose methods that exploit the
a relation R specifies that each entity may ex- properties of the particular particle system.
ist without being involved in any relationship
instance. partition (1) a portion of memory designated
to hold a particular program or programs.
partial product those bits of a product that (2) division into parts. This is usually done
have been developed at a given stage in a multi- by creating such a subdivision to the class and
plication. Sometimes confusingly used to refer "overlaying" this division in such a way that
to the multiplicand-multiples. each instance belongs to one or more partitions.
Ideally, the partitions will not overlap so that an
partial quotient those bits of a quotient that instance belongs to only one partition. When
have been developed at a given stage in a divi- partitions overlap, care must be taken. In object
sion. technology, the use of discriminators can high-
light potential overlapping problems and the use
partial recursive function a partial function in UML of stereotypes can effectively create
computed by a Turing machine that need not halt partition-overlap problems.
for all inputs. (3) a logical section or drive of the hard disk.
(4) a division of a set into nonempty disjoint
partial remainder See partial dividend. sets which completely cover the set.
361
partitioned Join
partitioned join a parallel join algorithm passive object object that does not work au-
which involves partitioning the two input rela- tonomously and thus is only used by other ob-
tions across the available processors, executing jects in the systems. See active object.
them locally and then merging the results. Suit-
able for equi-joins. password a unique string of characters that
identifies a user to confirm his login identity be-
partitioned parallel hash join a parallel ver- yond the username.
sion of the hash join.
password aging a security precaution in
partitioned process controlled process which a system periodically requires users to
which is considered as consisting of several sub- change their passwords.
processes which can be interconnected; process
partitioning is an essential step in control prob- password file a system administration file
lem decomposition — for example, before de- that contains, among other things, the login
centralized or hierarchical control can be intro- name, home directory, and default shell for each
duced; the term partitioned system is used when system user. Some systems provide an addi-
one is referring to the partitioned control system tional measure of protection by hiding the loca-
but is also often used to denote just the parti- tion of the file that contains the encrypted user
tioned controlled process. passwords.
partitioned system controlled control sys- password prompt a text string issued during
tem which is considered as consisting of several the login sequence that indicates the system is
sub-systems which can be interconnected; pro- ready to accept a user's password.
cess partitioning is an essential step in control
problem decomposition — for example before patch (1) traditionally, a modification made
decentralized or hierarchical control can be in- directly to an object module without reassem-
bling or recompiling it from the source code.
troduced; the term partitioned system is used
when one is referring to the partitioned control (2) in modern systems with dynamic mod-
system but is also often used to denote just the ule linking, a patch is more often implemented
partitioned controlled process. by replacing a single module of a large set of
modules.
partitioning attribute an attribute chosen on
path (1) in a file system, hierarchical se-
which to partition a relation.
quence of directory names specifying the loca-
tion of a file.
partitioning vector a range of values used
(2) the current location within the directory
to specify ranges in range partitioning. A par- tree.
titioning vector (< VQ, v\,... , VN >) (given N
(3) in software engineering, a sequence of op-
disks) is used as follows: all records with value
erations that are performed during the execution
in partitioning attribute less than VQ are placed
of a given program.
on disk 0, all records with values between v, and
Vi+\ are placed on disk i.
path condition a set of conditions that have
to be satisfied in order to execute a program.
partition table (1) a table that enables the
grouping of states into equivalent sets. path dissolution an inference mechanism
(2) a disk file that contains information about that operates on formulas in negation normal
how the disk is partitioned. form. See negation normal form.
362
Pawlak's Information system
pathname a file reference that consists of at pattern matching (1) a process by which pat-
least a file name optionally preceded by a list terns may be recognized, potentially and some-
of directory names. See also path, full path, times in practice by template matching, but oth-
relative path. erwise by inference following the location of
features. Typically, inference is carried out by
path planning the process of finding a con- -application of Hough transforms or association
tinuous path from an initial robot configuration graphs.
to a goal configuration without collision. (2) the detection, in an image (signal), of a
subimage (time window) in which pixel (sam-
path system problem for a path system P = ple) values are structured according to a prede-
(*, /?, 5, 7), where S c X, T c X, and R c. fined schema.
X x X x X, the problem of whether there is an
admissible vertex in 5. A vertex is admissible pattern recognition ability to recognize
if and only if x e 7\ or there exists admissible a given subpattern within a much larger pat-
y, z € X such that (x, y, z) e R. tern. Alternatively, a machine capable of pat-
tern recognition can be trained to extract cer-
tain features from a set of input patterns. There
path testing a testing action designed to ex-
are statistical, syntactic, and structural meth-
ecute the selected paths in a computer program.
ods for pattern recognition, and neural network
methods are often considered a subset of pattern
path tracing an improvement on general ray- recognition.
tracing techniques. Normal ray-tracing uses a
constant factor to estimate the contribution of pause operating system command to suspend
ambient light at a given surface point, but path the execution of a computer program.
tracing estimates the global illumination using,
for example, Monte Carlo techniques. Images pause instruction an assembly language in-
are thus generated using many paths through struction whose execution causes a momentary
each pixel. Note that a degree of oversampling pause in program execution.
is always necessary, so this technique is compu-
tationally expensive. Pawlak's information system a system
model denoted 5 can be viewed as a pair S =
Patricia tree a compact representation of a (I/, A), where U = [x\,... , xn] is a nonempty
tree where all nodes with one child are merged finite set of objects. The elements of U may
with their parents. be interpreted, for example, as concepts, events,
goals, political parties, individuals, states, etc.
pattern a rule that specifies equivalence The set U is called the universe. The elements
classes of textual sequences. A pattern is often of the set A, denoted ay, j = 1,... , m, are
expressed in a notation such as a regular expres- called the attributes. The attributes are vector-
sion or some equivalent notation. Languages valued functions. For example,
such as SNOBOL had elaborate pattern specifi-
cations which included rules for re-attempting a;:£/-» {-1,0,1}.
a match after one attempt failed ("backtrack-
An example of a simple information system is
ing rules")- Modern languages which include shown in the following table.
string matching patterns as primitive operations
include awk and Perl. ai a2 a3
*i -1 0 0
pattern element a positive (negative) pattern *2 0 0 1
*3 0 1 1
element is a "partial wildcard" presented as a
*4 1 1 1
subset of the alphabet E, with the symbols in
the subset specifying which symbols of E are The first component of ai being -1 may
matched (mismatched) by the pattern element mean that x\ is opposed to the issue ai, while
363
PC
JC4 supports ai, etc. Such data can be collected (2) in communication networks, a traffic de-
from newspapers, surveys, or experts. scriptor giving the bit rate of a source that may
not be exceeded on a cell rate or packet rate ba-
PC See program counter, personal computer. sis.
PDF See probability density function. penumbra that part of a shadow due to a light
source which receives partial illumination from
PDL See program description language. the source. By definition the source will be an
extended light source and the penumbra always
PDU See protocol data unit. surrounds the umbra.
364
perfect shuffle
of the interconnection weight matrix, and T is observing the minimum perceptual levels of the
a generalized threshold. If the interconnection human observer.
weight matrix is known, an input vector (*/)
can be classified into A or B according to the perceptualization a term perhaps more suit-
result of z. On the other hand, the intercon- able than visualization in recognition of the ef-
nection weight matrix can be formed if a set of ficacy of using auditory and tactile techniques
input vectors (*,) and their desired outputs z are for representing and communicating about sci-
known. entific data.
The process of forming the interconnection
weight matrix from known input-output pairs is perfect code a /-error correcting forward er-
called learning. The perceptron learning is as ror control block code in which the number of
follows. First, the weight wi and the threshold non-zero syndromes exactly equals the number
T are set to small random values. Then the out- of error patterns of t or fewer errors. Hamming
put z is calculated using a set of known input. codes and Golay codes are the only linear non-
The calculated z is compared with the desired trivial perfect codes.
output r. The change of weight is then calcu-
lated as follows: Swi = ri(t — z)*/ where rj perfect hash a method for constructing a
is the gain term that controls the learning rate, hash table such that the expected number of op-
which is between 0 and 1. The learning rule erations required to locate an entry in the ta-
determines that the corrected weight is ble, or verify that it is not present, approaches
1 as a lower bound. Generally the hash func-
wi = wi(o\d) + 8wi . tion h (value) -> key is characterized by either
algorithm selection or the selection of specific
The process is repeated until (t — z) = 0. The values for one or more additional parameters to
whole learning process is completed after all the function A(value, constant, |) -> key such
input-output pairs have been tested with the net- that the desired lower bound is closely approxi-
work. If the combination of inputs are linearly mated. A true perfect hash guarantees that each
separable, after a finite number of steps, the it- equivalence class of hash keys under the selected
eration is completed with the correct intercon- hash function contains precisely one key.
nection weight matrix. Various optical systems
have been proposed to implement the percep- perfective maintenance maintenance action
tron, including correlators. that is usually taken to improve system charac-
The original perceptron was a feedforward teristics without changing its functionalities.
network of linear threshold units with two layers
of weights, only one layer of which (the output perfect matching a matching, or subset of
layer) was trainable, the other layer having fixed edges without common vertices, of a connected
values. graph which touches all vertices exactly once.
A graph with an odd number of vertices has one
perceptron convergence procedure a su- unmatched vertex.
pervised learning technique developed for the
original perceptron. If the output yi of unit i in perfect shuffle interconnects that con-
the output layer is in error, its input weights, tity , nect sources 1,2,3,4,5,6,7,8 to detectors
are adjusted according to Dwy = A(f/ — yi)xj9 1,5,2,6,3,7,4, 8, respectively. The opera-
where t\ is the target output for unit i and h is a tion divides 1,2,3,4,5,6,7, 8 into two equal
positive constant (often taken to be unity); Xj is parts 1,2,3,4 and 5,6,7,8 and then interleaves
the output of unit j in the previous layer which them. The size of the array must be 2n. The ar-
is multiplied by weight w^ and then fed to unit ray returns to its original order after n operations.
i in the output layer. When the option to exchange pairs of neighbor-
ing elements is added to a perfect shuffle net-
perceptual coding involves the coding of the work, any arbitrary permutation of the elements
contextual information of the image features by is achievable.
365
performability
performability a measure that gives the performance tuning the modification of the
probability that a system provides a certain level database schema or database management sys-
of performance, where the performance may be tem to facilitate efficient performance.
characterized in measures appropriate to the sys-
tem under study. periodic pertaining to a task or process exe-
cuting repeatedly in cycles.
performance the degree to which a system of
components accomplishes its designated func- periodic convolution a type of convolution
tions within given constraints, such as speed, that involves two periodic sequences. Its calcu-
accuracy, or memory usage. lation is slightly different from that of discrete
linear convolution in that it only takes summa-
tions of the products within one period instead
performance analyst a person who is re-
of taking summations for all possible products.
sponsible for the computation, measurement,
Circular convolution is an operation applied to
and/or analysis of the performance of a system.
two finite-length sequences. In order to make
its result equal to that of the linear convolution,
performance animation measurement and the two sequences have to be zero-padded ap-
recording of direct actions of a real person or propriately. These two zero-padded sequences
animal for immediate or delayed analysis and can then serve as periods to formulate two pe-
playback. riodic sequences. At this time, the result of the
periodic convolution is equal to circular convo-
performance bound an upper (lower) value lution.
for a performance measure of interest. System
performance is not to exceed (to fall below) the periodic event an event that is pro-
performance bound. duced/received with periodicity. The period can
be constant or variable in a bounded interval.
For example, if event e happens then the next
performance evaluation the overall activi-
occurrence of e is between SO ms and 200 ms.
ties related to assessing performance.
periodic task a task that is periodically
performance requirement specification started, generally because some information has
within a computer system architecture impos- to be periodically evaluated/updated. It is usu-
ing specific constraints on the final performance ally used to manage sampled continuous inputs
of the system such as component, executable that have to be evaluated before the next sample
latency, throughput, and utilization. In design- becomes available.
ing, analyzing, and verifying a computer system
architecture, measurements of these quantities peripheral an ancillary device used to put
must be made to verify that all specifications information into and get information out of the
in system performance are met with acceptable computer. Also called input/output device.
margin. This is typical of real-time and critical
systems.
peripheral adapter a device used to con-
nect a peripheral device to the main computer;
performance specification a document that sometimes called an I/O card, I/O controller, or
specifies the performance that the final system peripheral controller.
has to provide. This is typical of real-time and
critical systems. peripheral controller See peripheral control
unit.
performance testing a test devoted to assess
the performance of the system in critical condi- peripheral control unit a device used to con-
tions. nect a peripheral device to the main computer;
366
persistent object store
sometimes called an I/O card, I/O controller, or the average number of words the recognizer must
peripheral controller. consider at each decision point.
peripheral device a physical mechanism at- persistence (1) systems support persistence
tached to a computer that can be used to store to the degree that they provide a consistent long-
output from the computer, provide input to the term view of data objects. This support may in-
computer, or do both. See I/O device. clude automatic translation from program data
structures to long-term storage structures, and
peripheral processor a computer that con- procedures for keeping snapshots of transactions
trols I/O communications and data transfers to that change persistent data, so that recovery is
peripheral devices. It is capable of executing possible in the case of system error. Persistence
programs much like a main computer. See I/O can be implemented by using a database man-
channel. ager, a file system, or by creating an image of
the whole application and reloading this infor-
peripheral transfer a data exchange be- mation at the next program execution.
tween a peripheral device and the main com- (2) the ability of data to outlive the program
puter. that created it.
perplexity a measure associated with a sta- persistent object store a repository for the
tistical language model, characterizing the geo- long-term storage of objects. Some form of per-
metric mean of the number of alternative choices sistent object store is at the heart of all object-
at each branching point. Roughly, it indicates oriented databases.
367
persistent programming language
persistent programming language a pro- points, one for each of the infinity of directions
gramming language that provides support for in which a line can be oriented.
persistence through orthogonal persistence.
perspective transformation a matrix trans-
persistent root used in systems that provide formation which represents the perspective pro-
persistence by reachability, a persistent root is a jection of objects in 3D scenes into 2D images,
value that is persistent. Furthermore, any value or the projection of one 2D image into another
that is a component of the persistent root will 2D image. Perspective transformations are con-
also be persistent. veniently carried out using 4 x 4 matrices rep-
resenting homogeneous co-ordinate transforma-
persistent store a long-term store of objects. tions.
Generally, objects in the persistent store have
unique identifiers (UIDs) that allow a program pessimistic concurrency control See pes-
to access them. Some programming languages simistic locking.
incorporate the notion of a persistent store di-
rectly in the language, while others use mech- pessimistic locking the acquisition of locks
anisms such as subroutine libraries to manage early in a transaction to prevent conflicting up-
persistent stores. dates being made by concurrent transactions.
Transaction isolation is a form of pessimistic
persistent value a value that must be stored locking.
persistently at the end of the current process.
PET See positron emission tomography.
personal computer (PC) a generic term for
a desktop, laptop, or hand-held microcomputer Petri net a graphical language used in de-
for general purpose use. scribing discrete parallel subsystems and allow-
ing for the expression of concurrency concepts.
personal digital assistant (PDA) a small Petri nets consist of a directed bipartite graph in
computer intended for tasks like maintaining which "places" (which can store tokens) are con-
phone lists, to do lists, and similar tasks. nected to "transitions". A transition can "fire"
if each of its input places contain at least one to-
perspective distortion a type of object dis- ken, removing one token from each of its input
tortion that results from projecting 3D shapes places and adding one token to each of its output
onto 2D image planes by convergence of rays place. Invented by Carl Adam Petri. See also
toward a center of projection. See also perspec- stochastic Petri net, timed Petri net.
tive projection. This type of distortion is also
called foreshortening. PGA See field-programmable gate array.
368
physical page number
phonetics the study of the acoustic sounds physical data independence the ability to
where the emphasis is placed on observable, change the internal schema without changing the
measurable characteristics of the speech signal. conceptual schemas.
Phong shading a shading model for surfaces physical failure a failure that is solely due to
based on the interpolation of local surface nor- physical causes, e.g., heat, chemical corrosion,
mals at the vertices of a triangular patch. The mechanical stress, etc.
technique is used for more realistic rendering of
glossy surfaces. physical fault a fault that is the result of a
physical failure.
photometry making measurements from im-
ages. One example is creating a 3D scene de- physical page number the page-frame ad-
scription using stereo image analysis, and mea- dress (in main memory) of a page from virtual
suring the volume of an object in the model. memory.
369
physical process
physical process a mechanism that can cause pile file See heap file.
changes in the physical world, such as heat flow,
motion, and boiling. pin the electronic connection that allows con-
nection between an integrated circuit or circuit
physical sensor an interface device at the board and some socket into which it is plugged.
input of an instrumentation system that quan-
titatively measures a physical quantity such as pincushion distortion the geometric distor-
pressure or temperature. tion present in an image in which both horizon-
tal and vertical lines appear to collapse toward
pi-calculus a core calculus of message-based the display center. For a CRT image system,
concurrency, in which everything is a process pincushion distortion is a result of the interac-
and all computation proceeds by communica- tion of the long face plate radius of curvature
tion on channels. and the short radius from the deflection center
to the face plate. The interaction causes the top,
pickling a term used in the Modula language bottom, left, and right raster center points to be
to describe the action of writing out an internal closer to the center of the CRT face plate de-
data structure to an external medium (often a flection than the top left, top right, bottom left,
disk file) in such a way that the data structure and bottom right raster corners. Consequently, a
can be reconstructed to an equivalent structure square grid has the appearance of a pin cushion.
when read back into the program. This involves
converting pointers to some form of represen- pipe a one-way, first in/first out data channel
tation such as a relative pointer or relocatable to exchange data between two or more processes
pointer so that the pointer values may be recon- in a producer/consumer model.
structed when the data is read back.
pipe flush when a pipeline containing the
picture a collection of mutually disjoint sub- stream of instructions or data must be emptied
sets of an alphabet. before execution can continue. See pipeline.
PICTURE a construct in the COBOL lan- pipeline (1) a means by which computations
guage which specifies external representation of are partially performed in a stepwise fashion,
a value, as well as its precision. Compare with such that as the computation passes from one
USAGE. stage to the next, a new computation can enter
the previous stage. The consequence is that the
picture description language a language in first result from the pipeline takes n time units
which parts of scenes are labeled and their rela- where n is the number of stages of the pipe, but
tive positions are described in a special symbolic thereafter a new result will be produced on each
form. Typical relationships between objects are subsequent time unit. However, the final result
"inside", "adjacent to", "underneath", and so on. of a computation will not appear for n — 1 time
Such a language can be parsed and interpreted units.
symbolically to build up a meaningful under- If the pipeline is kept full without stalls, an
standing of the picture. n-stage pipeline, in which each stage takes unit
time, can operate on m instructions in time m +
PID See process ID. n - 1, rather than the mn time units that would
be required if each instruction were executed
piezo-electric effect the phenomenon in sequentially without overlap. The term n — 1 in
which a material possesses a non-centrosym- the total time is often referred to as the pipeline
metric crystal structure that will generate a delay.
charge upon application of mechanical stress. A pipeline has serious implications for a com-
As in the case of a pyroelectric material, this piler writer, since the goal of the compilation
can be detected as either a potential difference process is to reorder the computations to maxi-
or as a charge flowing in an external circuit. mize the utilization of the pipeline.
370
PL/1
pipelined bus See split transaction. pixel (1) a single discrete sample point of an
image. Image size and resolution are defined in
pipelined cache a cache memory with a la- terms of number of pixels.
tency of several clock cycles that supports one (2) screen picture element capable of display-
new access every cycle. A new access can be ing one or more colors.
started even before finishing a previous one. The
access to the cache is divided into several stages pixel adjacency the property of pixels be-
whose operation can be overlapped. For in- ing next to each other. The adjacency of pixels
stance, the cache can be pipelined to speed-up is ambiguous and is defined several ways. Pix-
write accesses: tags and data are stored in inde- els with four-adjacency or four-connected pix-
pendently addressable modules so that the next els share an edge. Pixels with eight-adjacency
tag comparison can be overlapped with the cur- or eight-connected pixels share an edge or a cor-
rent write access. Read accesses are performed ner. See also chain code, connectivity, pixel.
in a single cycle (tag and data read at the same
time). pixel depth the number of bits used to gen-
erate a color at each pixel. The number of dif-
pipelined divide-and-conquer a divide-and- ferent colors that can be displayed is equal to
conquer paradigm in which partial results from 2pixel depth por instance> a pixei depth equai to
recursive calls can be used before the calls com- one means that only black and white colors could
plete. The technique is often useful for reducing be displayed; with a pixel depth equal to four,
the depth of an algorithm. sixteen different colors could be displayed.
pipelined parallelism parallelism achieved PJNF See project join normal form.
by pipelining. Pipelining refers to the using of
the results from one operation as input to another PL/1 acronym for Programming Language
operation before the original operation has fully One, a language defined and implemented by
completed. For example, given Rl txi R2 txfc IBM. PL/1 was a traditional procedure-oriented
R3, the results from Rl txj R2 may be used as block-structured language that attempted to in-
input to t><2 before the operation xi has fully corporate the features of all major programming
completed. languages of its era, including COBOL-like data
371
PLA
372
policy
point feature a small feature which can be two, and only two, components. It should be
regarded as centered at a point, so that inter- noted that buses support communications within
feature distances can be measured, as part of a the CPU, as well as external to the CPU. Most
process of inspection, or prior to a process of internal buses are point-to-point buses. Contrast
inference of the presence of an object from its with multipoint bus.
features. Commonly used point features include
corners and small holes, or fiducial marks (e.g., point-to-point motion the manipulator has
on printed circuit boards). See also salient fea- to move from an initial to a final joint configu-
ture, key point detection. ration in a given time //.
373
Polish notation
374
poset
sured over a rectangular array. The objective is portable application an application that can
then to perform a spatial correction warp to pro- run on dissimilar computers and/or under dis-
duce a corrected image array. similar operating systems. This may be done
by writing it in a language which compiles for
pop an operation that removes the item from all the desired environments, or in a language
the top of a stack, revealing the item underneath. which compiles to an abstract machine that is
See also push. then implemented via interpreters which run on
the desired environments. See Java.
pop instruction an instruction that retrieves
contents from the top of the stack and places the portable common tool environment (PCTE)
contents in a specified register. a European Computer Manufacturers Associa-
tion standard framework for software tools de-
populating the process of adding chips to a veloped in the Esprit program. It is based on
card. an entity-relationship object management sys-
tem and defines the way in which tools access
population in evolutionary computation, a this.
set of individuals that represents potential so-
lutions to an optimization problem. Instead of portable compiler a compiler which is a
a single sequence of search points, the adop- portable application. A portable compiler can
tion of multiple potential solutions increases the be used to bootstrap itself onto another machine
efficiency of the search process by allowing si- by first using it as a cross-compiler executing on
multaneous exploration of different regions of machine A to generate code for machine B, com-
the search space, and decreases the probability piling the compiler itself via this mechanism,
of pre-mature convergence to local minima. and thus producing an instance of the compiler
which executes on machine B and which pro-
pop-up menu a menu that pulls down like a duces code for machine B.
roller blind from a permanently visible title bar,
usually at the top of the display or window. portals a method for reducing framebuffer
overdraw where visible areas of a 3D model are
port (1) a terminal pair. clipped before they are rendered. Small areas in
the model are grouped as sectors and portals are
(2) a place of connection between one elec-
the transition planes between them.
tronic device and another.
An initial view frustum is defined to be as
(3) an input/output channel for the computer.
large as the image plane. Then all visible poly-
gons are clipped to this volume. A sector is
portability the ability for software to be com- rendered only if its portal is within the clipping
piled and successfully operate on a number of frame. Then a new smaller frustum is defined
different environments. The environment may at that position and polygons visible from it are
include organizational, hardware, or software clipped and so on, recursively.
features.
port protection device device in line with
portable (1) a characteristic of a program a modem that intercepts computer communi-
which can run on more than one computer archi- cation attempts and requires further authentica-
tecture, or combination of computer architecture tion.
and operating system.
(2) a characteristic of a program that is ac- pose recovery determining the position and
ceptable to more than one compiler. orientation of an object in the world with respect
(3) of a language, a subset of the language to the camera coordinate system.
which is known to be acceptable (empirically,
or by conformance to a standard) to more than poset a set the elements of which are subject
one compiler. to a partial order.
375
positional number system
376
precondition
Originally developed by Adobe Systems to sup- tem and in parallel. This processing is done
port page layout operations. prior to processing by the mechanisms of visual
attention.
potential difference the difference between
the electron energy level on one side of a circuit precedence graph a topological representa-
and another (measured in volts). Also called a tion of a schedule.
voltage.
precise interrupt an implementation of the
potpourri module a module that provides interrupt mechanism such that the processor can
more than one service to a program. This form restart after the interrupt at exactly where it was
of module violates the idea of a module being interrupted. All instructions that have started
considered a responsibility assignment. The ex- prior to the interrupt should appear to have com-
istence of this form of module increases consid- pleted before the interrupt takes place and all in-
erably the effort that a programmer has to ex- structions after the interrupt should not appear to
pend on a maintenance operation, and increases start until after the interrupt routine has finished.
the likelihood of an error being introduced to a Compare with imprecise interrupt.
program as a result of maintenance work.
precision (1) for floating point numbers, or
power product of current and voltage, mea- scaled integer numbers, a specification of the
sured in watts. accuracy of the representation. Typically, a pro-
grammer has a choice of two precisions: sin-
power on self test (POST) a series of diag- gle precision floating point and double preci-
nostic tests performed by a machine (such as the sion floating point. Languages may extend or
personal computer) when it powers on. limit these choices depending on the computer
on which the programs will execute. Some lan-
power supply an electronic module that con- guages allow the programmer to specify the pre-
verts power from some power source to a form cision and the compiler is responsible for choos-
which is needed by the equipment to which ing a suitable underlying representation that will
power is being supplied. meet the programmer-specified precision con-
straints. See also single precision, double pre-
power supply unit (PSU) See power supply. cision.
(2) the degree of exactness with which a cer-
pragma a construct in a programming lan- tain measure has been performed.
guage which allows the programmer to com- (3) a feature of a set of documents. Given
municate information about the program to the a document set of N documents comprising
compiler. See pragmatics. Nr relevant documents and Nn irrelevant doc-
uments, let R be the set of returned documents
pragmatics those aspects of a programming with Rr being the relevant returned documents,
language which must be expressed outside the Rn being the irrelevant documents. The preci-
formal definitions of the language, that is, be- sion is defined to be \Rr\/\R\.
yond the syntax and semantics.
precondition an assertion that pertains to
PRAM See parallel random access machine. a point immediately preceding, in the execu-
tion sequence, a specified portion of a program.
PRAM model a multiprocessor model in Characterized by a predicate that evaluates to
which all the processors can access a shared "true" if all the conditions are well-defined and
memory for reading or writing with uniform meet the constraints for correct execution. The
cost. lack of verification may cause the generation
of error messages, the fault, and/or the non-
preattentive processing visual stimuli that execution of the associated operation. See also
are processed at an early state in the visual sys- weakest precondition, post condition.
377
predecessor
predictability the property characterized by preempt a concept from the scheduling the-
an upper bound on the overall reaction time of ory. A higher-priority task is said to preempt
each task in the system to external stimuli. a lower-priority task if it interrupts the lower-
priority task.
predicted quality software quality that is es-
timated and predicted for the end software prod- preemption the action of forceful removal of
uct quality at each stage of development, and a currently executing program from the proces-
which is based on fundamental design quality sor to replace it with a program unit with higher
and intermediate product quality. priority.
378
preprocessor
379
preventive maintenance
primary index an index built upon an order- Princeton architecture a computer archi-
ing key field of a file. tecture in which the same memory holds both
data and instructions. This is contrasted with
primary key the candidate key chosen from the Harvard architecture, in which the program
those available. and data are held in separate memories.
primary port the first port of a particular principal axis the optical axis of a lens or
type in the computer. camera, usually normal to the image plane.
primary site the site chosen to host the dis- principal component notionally, the direc-
tinguished copies in the primary site technique. tion of greatest variability of a random vector or
among a set of sample vectors. More specifi-
primary site technique a technique for con- cally, the principal component is the direction
currency control in distributed databases where of the eigenvector associated with the largest
all the distinguished copies are stored at one site, eigenvalue of the covariance matrix of the ran-
the primary site. dom vector (or the sample covariance of a sam-
ple set). More generally, the n principal compo-
primary storage short-term storage consist- nents of a distribution are the eigenvectors corre-
ing of the CPU's address space. sponding to the n largest eigenvalues. Principal
components are frequently used for data cluster-
primary work job-related tasks, such as writ- ing, pattern analysis, and compression.
ing a newsletter, managing a budget, or learning
a procedure, for which individuals rely on com- principal point the point at which the opti-
puter technologies for their successful comple- cal axis of the lens in a camera meets the image
tion. plane: also, the corresponding point in the im-
age.
prime attribute any attribute which is a
member of any key of the relation. principal variation splitting (PV split) a
static parallel search method that takes all of the
prime-number interleaving See interleaved processors down the first variation to some lim-
memory. iting depth, and then splits the subtrees among
380
private
the processors as they back up to the root of the ority higher than the program unit currently ex-
tree, ecuting.
principle of locality See locality. See also priority inversion a situation in which a high
sequential locality. priority process is blocked from execution by
a potentially infinite number of lower priority
principle of optimality the observation, in processes due to a lower priority process hold-
some optimization problems, that components ing a resource which the high priority process
of a globally optimum solution must themselves attempts to access.
be globally optimized.
priority mean value analysis a mean value
printed circuit board (PCB) a substrate analysis method for priority systems. Starting
made from insulating material which has one or with the highest priority, the mean waiting time
more sandwiched metallic conductor layers ap- for each priority class is computed from a mean
plied which are etched to form interconnecting value analysis taking into account the mean wait-
traces useful for interconnecting components. ing time due to services in the considered prior-
ity class and in all classes with higher priority.
printer an output device for printing results
on paper. priority queue an abstract data type which
efficiently supports finding the node with the
prioritization coding a coding scheme highest priority across a series of operations.
whereby the position of the symbol in the data The basic operations are: insert, find-minimum
stream indicates its weight. (or maximum), and delete-minimum (or maxi-
mum). Some implementations also efficiently
priority the level of urgency assigned to a support join two priority queues (meld), delete
program unit. The priority associated with an an arbitrary node, and increase the priority of a
activity (a job or operation for example) de- node (decrease-key). See also discrete interval
termines its relative importance with respect to encoding tree, best first search, heap, Fibonnaci
other activities on the system. A higher prior- heap.
ity activity is executed prior to a lower priority
activity. prior statistics the statistics of a random
quantity (scalar, vector, process, etc.) before
priority ceiling protocol a method used in any experimental or measured knowledge of the
interrupt driven systems to avoid priority inver- quantity is incorporated. See also posterior
sion. It dictates that a task blocking a higher statistics.
priority task inherits the higher priority for the
duration of that task. prismatic joint a joint characterized by a
translation which is the relative displacement
priority encoder an encoder with the addi- between two successive links. This translation
tional property that if several inputs are asserted is sometimes called the joint offset.
simultaneously, the output number indicates the
numerically highest input that is asserted. private (1) a name which is not visible out-
side a designated context.
priority inheritance temporary reassign- (2) in the C language, adding the qualifier
ment of a higher priority to a task which accesses "static" to a declaration which appears at the
a resource potentially accessible by higher pri- global file level makes the declaration private to
ority tasks. the file.
(3) in C++, a keyword in a class declaration
priority interrupt an interrupt performed to that indicates that the members which follow
permit execution of a program unit that has pri- are visible only to the class and to friends of the
381
private implementation
class, but not to derived classes. See information probabilistic neural network a term applied
hiding. See also protected, public. loosely to networks that exhibit some form of
probabilistic behavior but also applied specifi-
private implementation that portion of an cally to a type of network developed for pattern
abstract data type, module, or object-oriented classification based upon statistical techniques
type/class that is hidden from the other portions for the estimation of probability densities.
of an application. Critical for achieving repre-
sentation independence. probabilistic splitting random splitting of a
process. Consider a parent arrival stream that
private key cryptography also known as se- is split into two; arrivals from the parent stream
cret key cryptography. In such a cryptographic are assigned to the child stream i , i = 1 , 2, with
system, the secret encryption key is known only probability p,-, p\ + p2 = 1. One consequence
to the transmitter and the receiver for whom the of random or probabilistic splitting of a process
message is intended. The secret key is used both is that the individual (component) streams are
for the encryption of the plaintext and for the de- independent.
cryption of the ciphertext. See also public key
cryptography. probabilistic Turing machine a Turing ma-
chine in which some transitions are random
private member in object-oriented, a class choices among finitely many alternatives.
member having a visibility scope only for the More formally, for a random x and any proba-
class in which it is declared. Derived classes bilistic event A, the probability density function
cannot access the private members and therefore px(x) satisfies
they are subject to partial inheritance.
Pr(x 6 A) = I dpx(x) .
JA
private type See private.
See also cumulative distribution function.
privileged instruction an instruction that can
probability density function (PDF) a func-
be executed only when the CPU is in privileged
tion describing the relative probability of out-
mode.
comes of an experiment. For experiments with
discrete outcomes, the PDF is analogous to a
privileged mode a mode of execution of ma-
relative frequency histogram. For experiments
chine instructions in the CPU in which certain
with continuous outcomes, the PDF is analogous
special instructions can be executed or data ac-
to a relative frequency histogram where the cat-
cessed which would otherwise be prohibited.
egory bin widths are reduced to zero. The total
See also user mode.
area underneath a PDF must always be unity.
More formally, for a random variable x and
privileged state an execution context that
any probabilistic event A, the probability density
allows all hardware instructions to be executed.
function PX(X) satisfies
probabilistically checkable proof an inter- Pr(x € A) = dpx(x) .
active proof system in which provers follow a JA
fixed strategy, one not affected by any mes- See also cumulative distribution function.
sages from die verifier. The prover's strategy
for a given instance x of a decision problem can probability of delivery the proportion of
be represented by a finite oracle language Bx, messages that arrive at the destination node.
which constitutes a proof of the correct answer
for*. problem domain model See conceptual ab-
straction.
probabilistic models underlying probabilis-
tic models that determine the input distribution procedural abstraction separating out the
(e.g., of generated strings). details of an execution unit in such a way that
382
process control block
procedural surface uses external parame- process algebra algebra on processes, that
ters supplied to a model that determines how views a process as a type. Operators for par-
the surface will be generated. For example, a allel composition, sequential composition, and
procedural surface that generates a polygonal synchronization are usually defined. The most
representation of a sphere at a specified detail common process algebras are CSP and CCS. See
is procedural; the actual surface is generated by also formal verification, formal method.
the specified sphere diameter and the number of
polygons that will make up the surface. An ad- process assessment a disciplined examina-
vantage of using this approach is efficient stor- tion of the processes used by an organization
age and replication since individual polygons against a set of criteria to determine the capa-
need not be explicitly specified. bility of those processes to perform within qual-
ity, cost, and schedule goals by characterizing
procedural texture a texture generated by a current practice and identifying strengths and
model controlled by external parameters. weaknesses.
procedure a subroutine which does not re- process control block an area of memory
turn a value. A procedure is a self-contained containing information about the context of an
code sequence designed to be re-executed from executing program. Although the PCB is pri-
different places in a main program or another marily a software mechanism used by the oper-
procedure. See also return instruction. Syn- ating system for the control of system resources,
onym for subroutine, function. some computers use a fixed set of process con-
383
process creation
trol blocks as a mechanism to hold the context process number an identifier that represents
of an interrupted process. a process by acting as an index into the array of
process descriptors.
process creation the action that creates a new
process. processor the central processing unit (CPU)
of a computer.
process decomposition definition of a pro-
cess behavior with a set of communicating pro- processor-centered view a view of comput-
cesses. ing that emphasizs the work of a processor.
process descriptor a data structure in the processor element See processing element.
kernel that represents a process.
processor farm a collection or ensemble
process diagram a diagram that represents of processing elements to which parallel pro-
the set of communicating processes that model cessing tasks are assigned and distributed for
the system or a part of it. May also be depicted concurrent execution. In this model, tasks are
as the communication connections between pro- distributed, or "farmed out", by one "farmer"
cesses if inputs/outputs communication model is processor to several "worker" processors and
used. results are sent back to the farmer. This ar-
rangement is suitable for applications that can
process environment pan of the control be partitioned into many separate, independent
scene which is outside the controlled process; tasks. The tasks are large and the communica-
within this environment are formed the uncon- tions overhead is small.
trolled, free inputs to the process; specified
quantities related to the environment may be ob- process oriented a characteristic of a spec-
served and used by the controller, for example ification model that uses processes to represent
when performing free input forecasting. active parts of a system.
process ID an identifier which uniquely iden-
processor sharing (PS) a mathematical ab-
tifies a process.
straction of round robin scheduling in which the
processing element (PE) a processing mod- quantum size approaches zero. When PS is used
ule, comprising at least a control section, reg- in a queuing network model, the server appears
isters, and arithmetic logic, in a multiprocessor to divide service equally among the customers
system. A processing element may be capable present. That is, each customer's service rate is
of operating as a stand-alone processor. divided by the number of customers present at
the server at any point in time.
processing narrative a natural language de-
scription of a model or a program component. processor state privileged or nonprivileged
state.
process interface the set of service calls
available to processes. processor status word a register in the CPU
that stores a collection of bits that, taken as a
process management the direct control of group, indicate the status of the machine at a
the project evolution coordinating all the activ- given period of time.
ities and controlling the progress and results.
process state the set of information required
process measure a measure defined for some to resume execution of a process without inter-
attribute of a process. fering with the results of the computation.
process model a model for a set of partially process status the operating system record
ordered steps required to reach a goal. of the current details of a process's execution.
384
production rate
product assessment a disciplined examina- production library the entire set of appli-
tion of the product against a set of criteria and cations available to an enterprise. This is also
metrics to determine the features of the prod- called a software portfolio.
uct, for instance, considering quality, costs, etc.
The product assessment can be performed by production rate the amount of work that
considering all the product components: code, can be produced by a single worker in a certain
documentation, assistance, service, etc. amount of time.
385
production rule
production rule a rule in a grammar. Using ten may be a procedural language, functional
production rules, one can generate sentences in language, or nonprocedural language, although
the language, or recognize if a sequence of input traditional usage generally does not refer to non-
symbols defines a valid sentence in the language. procedural specifications as "programs".
(2) any file which is executable by the oper-
productive work the effective time that an ating system.
actual software engineer is working during a
day. This figure is geographically dependent: program analysis tools that are designed to
in the U.S. it is about 5 hours, but in other coun- aid the task of understanding existing source
tries it can be more or less. code by providing a large amount of detailed
information about the program. Analysis tools
productivity goods and services produced help focus on the structure and attributes of the
per unit of labor and expense. Measurable in system. The relevant information can be ex-
function points. tracted from a program by either analyzing the
program text (static analysis), or by observing
productivity analysis the analysis of the pro- its behavior (dynamic analysis).
ductivity of each product and unit in a company.
program concepts See program plan.
productivity improvement plan plans to
improve the productivity of software develop-
program counter (PC) the register in a CPU
ment, for instance, by adopting CMM, ISO 9001,
which is a pointer to the current instruction
etc.
(while an instruction is being fetched) or the
next instruction (while an instruction is being
productivity paradox a speculation on the
executed). A branch, jump, or skip instruction
basis of the fact that the estimated return on
may change the value in the program counter
investment of the current information society
to change instruction flow. In some machines
is negative: each dollar invested returns about
with certain kinds of parallelism (particularly
80 cents, so it is a loss.
RISC machines), the modification to the pro-
gram counter may not be effected until after the
product management the definition and the
next instruction is executed.
coordination of all the activities for maintaining
a product on the market. It includes the config-
uration management. program description language (PDL) any
of a large class of formal and profoundly useless
product measure a measure defined for some pseudo-languages in which management forces
attribute of a product. one to design programs. Too often, management
expects PDL descriptions to be maintained in
product of sums (PS) the AND combina- parallel with the code, imposing massive over-
tion of terms, which are OR combinations of head of little or no benefit.
Boolean variables.
program design language (PDL) See pro-
product specification See specification. gram description language.
profiling the activity of collecting and pre- program generator an application that is ca-
senting timing data about a program. pable of generating a program. See application
generator.
program (1) a specification of an algorithm
to be executed by a computer. A program may program heuristic a general rule of pro-
be represented as source code, an executable file, gramming concept that captures the conventions
an applet, a byte code, or many other representa- in programming and governs the composition of
tions. The language in which a program is writ- the program plans into programs.
386
program slice
programmable array logic (PAL) a pro- commands to control the transfer. An alterna-
grammable logic array with a fixed set of OR tive is to transfer data using DMA or memory-
gates into which are fed sets of product terms. mapped I/O.
programmable gate array (PGA) See field- programming (1) the action of writing code
programmable gate array. in a language consisting of both syntax and se-
mantics. The resulting code is usually compiled
programmable logic array (PLA) a pro- or interpreted in order to obtain an executable
grammable logic device which consists of an form of the code allowing the performing of the
AND array forming logical products of the in- task addressed with the code.
put literals and an OR array which sums these (2) human task during human-robot interac-
products to form a set of output functions. tion: storing a behavioral repertoire via sym-
bols, including words.
programmable logic controller (PLC) a
microprocessor-based system comprised of a set programming language a formalism for
of modules for acquiring signals from the envi- specifying the instructions that have to be ex-
ronment and others for producing effects on the ecuted by the computer. Several different pro-
environment. These effects are typically used gramming languages are available. The selec-
for controlling electromechanical machines by tion of a specific programming language may
means of actuators (motors, heating element, influence the process of development.
etc.). The rules for specifying the control law
are Boolean expressions. These are sequentially programming system a set of programming
and cyclically executed. More complex PLCs languages and the support software necessary
allow the description of the control law by means for using these languages with a given computer
of a ladder diagram. system.
programmable logic device (PLD) an inte- program mutation (1) a program that has
grated circuit which is able to implement combi- been intentionally changed in order to verify if
national and/or sequential digital functions de- test cases are capable of detecting the mutations.
fined by the designer and programmed into this (2) the process of creating mutated programs.
circuit.
program plan an abstract representation of
programmable radio system radios based source code fragments. Comparison methods
on digital waveform synthesis and digital sig- are used to help recognize instances of program-
nal processing to allow simultaneous multiband, ming plans in a subject system, the focus being
multiwaveform performance. to identify similar code fragments with pattern
matching at the programming language seman-
programmable read-only memory (PROM) tic level.
a semiconductor memory device that has a pri-
mary function of storing data in a non-volatile program plan recognition the use of pro-
fashion which can be programmed to contain gram plans to identify similar code fragments.
predetermined data by means other than pho- Existing source code is often reused within a
tomasking. PROMs may be one time pro- system via "cut and paste" text operations. De-
grammable (OTP) or they may be either UV or tection of cloned code fragments must be done
electrically eraseable, depending on the partic- using program heuristics since the decision of
ular semiconductor process technology used for whether two arbitrary programs perform the
manufacturing. same function is undecidable.
387
program slicing
program status word (PSW) a combination program visualization a mapping from pro-
program counter and status-flag register pro- grams to graphical representations. For visual
vided in IBM mainframe computers. programming languages, the visualization is
only a way for showing the visual program.
program structure diagram See structure
progressive coding ordering of coded val-
chart.
ues such that the original signal can be recov-
ered progressively. For example, in transform
program transformation a reengineering coding of a picture, transmission of the zero se-
process. Transformations are the changes from quences coefficients for all blocks first, rather
unstructured code to structured code, updating than transmission of all coefficients for the first
design documents, or correcting specifications. block first. This allows the receiver to gener-
It is assumed that the transformation improves ate an approximate reconstruction early in the
the subject system according to some measur- reception of data.
able criterion.
progressive DCT-based encoding image en-
program translation transformation of coding in which the image is encoded in mul-
source code from one language to another or tiple scans, in order to produce a quick, rough
from one version of a language to another ver- decoded image when the transmission time is
sion of the same language. For example, con- long.
verting from COBOL-74 to COBOL-85.
progressive refinement an elaboration of the
program trouble report (PTR) See error original radiosity method that enables a visual-
report. ization of the solution to emerge as the equations
are being solved. The solution, originally ap-
program understanding a term related to re- proximated with an ambient term, is gradually
verse engineering. Program understanding al- made more accurate.
ways implies that understanding begins with the
source code while reverse engineering can start progressive spectral selection algorithm a
at a binary and executable form of the system selection algorithm in which DCT coefficients
or at high level descriptions of the design. The are grouped into several spectral bands.
science of program understanding includes the
cognitive science of human mental processes in progressive successive approximation algo-
program understanding. rithm an approximation algorithm where all
388
project plan
DCT coefficients are sent first with lower preci- der perspective projection. The cross-ratio is an
sion, and then refined in later scans. important type of projective invariant, which is
constant for four collinear points viewed under
progressive transmission partial informa- perspective projection from anywhere in space.
tion of an image is transmitted. At each stage, Projective invariants are important in helping
an approximation of the original image is re- with egomotion (e.g., automatic guidance of a
constructed at the receiver. The quality of the vehicle) and for initiating the process of object
reconstructed image improves as more informa- recognition in 3D scenes.
tion is received.
projective rule a database relationship.
project (1) the planning of activities, re- Given a set of attributes A, fi, and C, if A ->
sources, deliverables, deadlines, and milestones EC |= A -> C.
for reaching a specific set of objectives.
(2) a relational operator for extracting speci- project join normal form (PJNF) See fifth
fied attributes from a relation. normal form.
project control the supervision activity that project management system a software tool
guarantees the correct development, the respect that aids the process of planning, organizing,
of timelines, and the planned profile of a project. staffing, directing, and controlling the produc-
tion of a system. These tools usually aid the
project coordinator See project manager. manager with views, i.e., Gantt, PERT, Kiviat
diagrams, and charts.
project database a repository in which docu-
mentation, code, fault-reports and quality man- project manager the leader of the project.
ual of a project are stored. He/she has the responsibility to:
1. control by facilitating the information flow
projection (1) a mapping from a set to a sub- among teams;
set of the set. 2. ensure that the project program, mile-
(2) in signal and image processing, the con- stones, and time scales are maintained and devi-
version of an fl-dimensional signal into an n — 1 ations resolved and recorded with change con-
dimensional version through some integration trol;
in the continuous case, or some summation in 3. manage related documentation;
the discrete case. For instance, a 2D image can 4. maintain relationships between partners;
be viewed as a (perspective) projection of 3D 5. control the behavior of project participants
scene via a camera. Another example exists in against the planned activities;
computed tomography. There a projection is a 6. communicate progress;
line integral along a straight ray. 7. establish external relationships according
to the dissemination activity;
projection of a fuzzy set for fuzzy set Q in a 8. control quality of all activities and deliv-
Cartesian product X", Xn = X\ x • • • x Xw, the, erables via specific tools;
fuzzy set subspace R in Xi of Xn, (i < n). The 9. administrate, e.g., collect cost statements
projection is usually denoted R = proj(2; X1), on a timely basis, collect information for EC
in Xm with membership function obtained as the management, and collect progress reports on a
supremum of the membership function for the timely basis;
dimensions to be eliminated. See also cylindri- 10. act as a link between this project and
cal extension of a fuzzy set, fuzzy set, member- other related projects;
ship function. 11. arrange for the preparation of necessary
project review documentation, etc.
projective invariant a measure that is in-
dependent of the distance and direction from project plan the schema of the project evolu-
which a particular class of object is viewed, un- tion along its development life-cycle consider-
389
project planning
ing both the macro- and the micro-cycles and the proof (1) a series of logical mathematical
decomposition of the project into sub-projects steps that are used to demonstrate the truth of a
and thus into subsystems. The project plan has mathematical expression. The steps can be char-
to consider resources and time according to the acterized as a finite sequence of well-formed for-
technology used and the deadlines imposed. Typ- mulas, F\, Fa,... Fn, where each Ft is either an
ical project plans are given in Gantt diagrams. axiom or follows by some rule of inference from
some of the previous F's, and Fn is the statement
project planning the activity that creates a being proved.
description of the management approach for a (2) a formal methodology for demonstrating
project (the project plan). the correctness of a segment of software, usually
by treating the code as a mathematical expres-
project risk one of a set of potential project sion.
problems or occurrences that may cause the
project to fail. proof of correctness in the development of a
system or of a component using a formal method,
project scope a statement of basic require- the activity that proves that the specification or
ments of the software to be built. the implementation is correct with respect to cer-
tain constraints or properties that a correct sys-
project size the dimension of a project on tem must satisfy.
the basis of its size. For example, the cost of the
project, the number of person months, the num- propagated borrow a borrow that is pro-
ber of lines of code of the system, the number duced from the subtraction of two one-bit num-
of attributes or methods counted of all system bers, with a borrow-in included, i.e., from the
classes, etc. subtraction of 1 from 1 with a borrow-in of 1.
See also generated borrow.
project start-up the phase in which the
project details and constraints are defined before
propagated carry a carry that is produced
the actual starting of the development phase. In
from the addition of two one-bit numbers, with
this phase, decisions about the feasibility, the
a carry-in included, i.e., from the addition of 0
resources, the tools, etc. that will be used are
and 1 with a carry-in of 1. See also generated
made.
carry.
project team the personnel involved in the
project development, set-up, preparation, and propagated error in computer arithmetic,
the error that results because a machine operator
dissemination. The leader of the project team
propagates, possibly with some amplification,
is the project manager.
errors in the operands.
project tracking the activity that enables a
manager to understand the status of a project. propagation delay (1) the delay between
transmission and reception of a signal. Caused
Prolog a symbolic programming language by the finite velocity of electromagnetic propa-
used in artificial intelligence based on predicate gation.
calculus. (2) the delay time between the application of
an input signal to a chain of circuit elements and
PROM See programmable read-only mem- the appearance of the resulting output signal.
ory. (3) the time it takes for a transistor switch to
respond to an input signal, symbolized tpd- It
prompt a symbol or message displayed by is calculated between the 50% rise point to the
a computer system, requesting input from the 50% fall point or vice versa (see graph of typical
operator. inverter gate).
390
protocol
propagation delay time See propagation de- protected (1) referring to an entity whose
access is limited by some rule of the language.
lay.
(2) in C++, a declaration that indicates the
proper qualities of a factor of a string that is members of the class which follow are available
not equal to the string itself. only to the class itself, friends of the class, and
derived classes. See also private, public.
proper subgraph a subgraph which does not
contain all of the edges of the given graph. protected member class member that can be
accessed by the class in which it is declared or
property a statement that describes a char- by the derived classes.
acteristic of a system. It can be expressed in
an informal way (with natural language) or with protection a hardware or software mech-
a formal language (logic, temporal logics, au- anism for protecting software/hardware/data
tomata). from unauthorized use or copy. Diffuse protec-
tion mechanisms are encryption, watermarking,
property-oriented a characteristic of a spec- and fingerprint. The protection mechanism typ-
ification model that uses properties to describe ically includes a code for identifying the prod-
the system. See also descriptive. uct and the owner. Ring numbering was intro-
duced in the Multics system as one basis for
proportional selection a probabilistic selec- limiting access and protecting information. The
tion mechanism adopted in a genetic algorithm term "security" is used when the constraints and
where the fitness of each individual is interpreted policies are very restrictive.
as the probability of its survival into the next
generation. More specifically, for each individ- protection exception an exception that oc-
ual in the population, the associated probabil- curs when a program tries to access a protected
ity of survival is evaluated using the following part of the memory of the system. The protected
equation: memory can be assigned to other processes as
well as the operating system.
p(Xi )=
' £0b' protection fault an error condition detected
by the address mapper when the type of request
where p(\i) and f(\i) are the probability of the is not permitted by the object's access code.
survival and fitness value of the i-th individual,
respectively. Roulette wheel selection is then protocol a set of formal rules describing how
adopted where the wheel is divided into sectors to transmit data, especially across a network.
391
protocol data unit (PDU)
Low level protocols define the electrical and proving properties the activity of building
physical standards to be observed, bit- and byte- proofs for properties of a system.
ordering, and the transmission and error detec-
tion and correction of the bit stream. High level pruning self-generating neural network
protocols deal with the data formatting, includ- a methodology for reducing the size of a self-
ing the syntax of messages, the terminal to com- generating neural network (SGNN).
puter dialogue, character sets, sequencing of During SGGN training, the network may
messages, etc. grow very quickly, and some parts of the net-
work may become useful in either training or
protocol data unit (PDU) the unit of ex- classification, and the weights of these parts of
change of protocol information between entities. the neurons of the network never change after
Typically, a PDU is analogous to a structure in some training stage. We call these parts of the
C or a record in Pascal; the protocol is executed network dead subnets. It is obvious that the dead
by processing a sequence of PDUs. subnets of the network should be pruned away
to reduce the network size and improve the net-
work performance. One way to achieve this is to
protonotion in a W-grammar, a possibly
check the weights of each neuron in the network
empty sequence of syntactic marks designated
to see if they have been changed since the last
by lower-case words. See also metanotion, hy-
training epoch (or during the last few epochs). If
pernotion.
they are unchanged, the neuron evidently may
be dead and should be removed from the net-
prototype (1) a working model of an appli- work. If a neuron is removed from an SGNN,
cation or system that is functionally equivalent all of its offsprings should also be removed. See
to a subset of the product. Generally this model self-generating neural network. See also train-
is inefficient and with many problems. It can be ing algorithm of self-generating neural network.
shown to the end-user/purchaser to check if the
analysis is correct. Particularly important is the PS See processor sharing, product of sums.
"User Interface Prototype" that shows how the
user will interact with the system. pseudo-associative cache similar to direct-
(2) synonym for signature, a specification of a mapped cache, but the processing of a miss in-
function and its parameters, including parameter volves first checking for a match with another
type and result type information. cache entry. Also known as column-associative
cache.
prototyping the creation of a model and the pseudo code See pseudo-code.
simulation of all aspects of a product. CASE
tools support different degrees of prototyping. pseudo-code any form of informal algorithm
Some offer the end-user the ability to review all description used to communicate an algorithm.
aspects of the user interface and the structure of Often a blend of notation from a programming
documentation and reports before code is gen- language, other suitable notations such as math-
erated. The software development process that ematical expressions, and the writer's native lan-
follows a prototyping approach starts with an guage. Pseudo-code does not have to follow any
early prototype of the system and proceeds by syntax rules and can be read by anyone who un-
means of a sequence of refinements adding new derstands programming logic.
functionalities to the previous version. The ver-
sions are tested according to the requirement's pseudocolor See pseudocoloring.
needs, and the evolution should be planned ac-
cording to a specific schedule. pseudocoloring pseudocoloring recolors pix-
els with colored values as a function of the gray
provable a property of a system for which level value in the original monochrome image.
there exists a proof for it. Pseudocoloring is used because of the limitation
392
public defect
of the human visual system to distinguish all the pseudo-transitive rule a database relation-
brightness range values. ship. Given sets of attributes A, B, C, and D,
The display in color of gray-level pixels in then if A -> B, and BC -» D, (= AC -* D.
order to make certain gray-level pixels or gray-
level patterns more visible. Typical pseudocol- PSU power supply unit. See power supply.
oring schemes are: 1. displaying all pixels in a
range of gray levels in one color; 2. displaying PSW See program status word.
each gray level at a fixed interval in a different
color to produce colored contour lines; or 3. dis- psychovisual redundancy the tendency of
playing the entire gray-level range as a rainbow. certain kinds of information to be relatively un-
Pseudocoloring is usually carried out by look- important to the human visual system. This
up tables. See also false color, look-up table information can be eliminated without signifi-
(LUT). cantly degrading image quality, and doing so is
the basis for some types of image compression.
pseudo-exhaustive testing a testing tech- See also image compression, Joint Photographic
nique which relies on various forms of circuit Experts Group (JPEG), quantization matrix.
segmentation and application of exhaustive test
patterns to these segments. PTAS See polynomial time approximation
scheme.
pseudofile an object that appears to be a file
on the disk but is actually stored elsewhere.
PTR acronym for program trouble report.
See eiror report.
pseudo-operation in assembly language, an
operation code that is an instruction to the as-
p-tree a spatial access method that defines
sembler rather than a machine-language instruc-
hyperplanes, in addition to the orthogonal di-
tion.
mensions, which node boundaries may paral-
lel. Space is split by hierarchically nested poly-
pseudo-random number generator a pro- topes (multidimensional boxes with nonrectan-
gram that produces numbers from a particular gular sides). The R-tree is a special case which
distribution, often uniform or normal, that can has no additional hyperplanes.
be used instead of real data in simulations of sys-
tems. A huge variety of methods are known, and
public (1) an entity, program, or system, is
the choice of pseudo-random number generator
said to be public when it is visible and freely
is important to the validity of a simulation, since
usable with limited restrictions. Public matter
hidden dependencies can be quite subtle.
is currently made available on WWW and FTP
sites.
pseudo-random skewing See interleaved
memory. (2) an entity, typically a name, which is ex-
ported from another entity in a compilation. The
name may represent a variety of syntactic enti-
pseudo-random testing a testing technique
ties, such as variables, functions, or types, de-
(often used in BISTs) which is based on pseudo-
pending on the nature of the language and its
randomly generated test patterns. The technique
implementation.
that uses a linear feedback shift register (LFSR)
or similar structure to generate binary test pat- (3) in the C++ language, a declaration that
terns with statistical distribution of values (0 and indicates that subsequent names of a class are
1), across the bits; these patterns are generated exported. Compare with private, protected.
without considering the implementation struc-
ture of the circuit to which they will be applied. public defect a defect found by someone
Test length is adapted to the required level of other than the developer, as opposed to private
fault coverage. defect, which is a defect found by the developer.
393
public key cryptography
public key cryptography two different keys poses of constructing a higher rate code. Also,
are used for the encryption of the plaintext and deletion of parity bits in a forward error control
decryption of the ciphertext. Whenever a trans- block code.
mitter intends to send a receiver a sensitive mes-
sage that requires encryption, the transmitter will purchaser customer in a contractual situa-
encrypt the message using a key that the receiver tion.
makes available publically to anyone wanting to
send them encrypted messages. On receiving
pure class a synonym that some languages
the encrypted message, the receiver applies a
use to denote an abstract class.
secret key and recovers the original plaintext in-
formation sent by the transmitter. In contrast to
secret key cryptography, public key cryptogra- pure functional language a functional lan-
phy does not suffer from the problem of having guage that provides absolutely no mechanism
to ensure the secrecy of a key. See also private for performing side effects, thus exhibiting ref-
key cryptography. erential transparency.
public key cryptosystem system that uses purely functional language a language that
a pair of keys, one public and one private, to does not allow any destructive operation — one
simplify the key distribution problem. which overwrites data—such as the assignment
operation. Purely functional languages are side
public member a class member that can be effect-free; i.e., invoking a function has no effect
accessed by external functions of classes not other than computing the value returned by the
bounded by friendships or inheritance relation- function.
ships.
pure procedure a procedure that does not
pull-down menu a menu that pulls down like modify itself during its own execution. The in-
a roller blind from a permanently visible title bar, structions of a pure procedure can be stored in
usually at the top of the display or window. a read-only portion of the memory and can be
accessed by many processes simultaneously.
punched card a method, now obsolete, used
to represent data and programs as cardboard pure virtual function in C++ language, ab-
cards where the values were represented by stract classes (for which an implementation can-
punched holes at appropriate places. not exist) define some functions as virtual, but
when no implementation can be provided, they
punctured code a code constructed from an- became pure virtual by the means of "=0" ini-
other code by deleting one or more coordinates tialization.
from each codeword. Thus, an (w, k) original
code becomes an (n — 1, k) code after the punc-
purity the degree to which a color is satu-
turing of one coordinate.
rated.
punctured convolutional code a code where
certain symbols of a rate l/n convolutional code push operation that places data on the stack.
are periodically punctured or deleted to obtain a See also pop.
code of higher rate. Because of the simplicity,
it is used in many cases particularly in variable pushdown automaton a restricted Turing
rate and high-speed application. Compare with machine where the tape acts as a pushdown store
punctured code. (or stack, where only the latest element can be
read), with an extra one-way read-only input
puncturing periodic deletion of code sym- tape. See also Chomsky hierarchy, context-free
bols from the sequence generated by a forward grammar, nondeterministic push-down automa-
error control convolutional encoder, for pur- ton.
394
pyramid coding
pushdown stack (1) a data structure con- pyramid coding any compression scheme
taining a list of elements that are restricted to which repeatedly divides an image into two sub-
insertions and deletions at one end of the list bands, one a lowpass representation that is sub-
only. Insertion is called a push operation and sampled and used as input for the next level, and
deletion is called a pull operation. the other an error (difference) image. A small
(2) a pipeline that has the property that the lowpass image plus a pyramid of difference im-
intermediate results remain in the pipeline un- ages of increasing size is generated, allowing
til forced out by subsequent additional compu- the lowpass information to be coded accurately
tations. This is an important consideration for with few codewords, and the highpass informa-
compiler writers since the optimization of such tion to be coded with coarse quantization. See
a pipeline requires complex analysis of the com- also Laplacian pyramid.
putations specified by the program.
395
quality
Q
of nodes in a quadtree region representation for a
simple polygon (i.e., with nonintersecting edges
and without holes) is O (p+q) for a 2q x 2q im-
age with perimeter p measured in pixel widths.
In most cases, q is negligible and, thus, the num-
ber of nodes is proportional to the perimeter. It
QBE See query by example. also holds for three-dimensional data where the
perimeter is replaced by surface area, and in gen-
QoS See quality of service. eral for {/-dimensions where instead of perime-
ter we have the size of the (d - l)-dimensional
quadric surface a curved surface defined by interfaces between the ^-dimensional objects.
the equation
quadtree compression compression of an
ax2 + by2 + cz2 + 2dxy + 2exz
image using a quadtree.
+ 2fyz + 2gx + 2hy + 2iz + j = 0.
Special cases of the surface include spheres, quadword a data unit formed from four
cones, cylinders, ellipsoids, hyperboloids, etc. words. On machines with a 16-bit word length,
The translation, rotation, and scaling of a or in languages with a history of a 16-bit word
quadric surface is easy, as is the calculation of length, a quadword represents 64 bits. Note that
its surface normal, intersection with a ray and for some machines, 64 bits is the word length, so
calculation of the z-value (given the x and y the usage depends upon the culture from which
values). the language and machine evolved. See also
byte, halfword, word, longword.
quadtree data structures that cater to the stor-
age and retrieval of data in multi-dimensional qualification a process for verifying if a sys-
data space, particularly an image space. tem can be operatively used.
The approach is to recursively divide the data
space into subdivisions. At each subdivision the qualitative proportionality a qualitative re-
subquadrants are assigned a "full", a "partially lationship expressing partial information about
full", or an "empty" label depending on how a functional dependency between two parame-
much the quadrant intersects the region of the ters.
interest in the data space. The subdivision of
partially full subquadrants continues recursively qualitative simulation the generation of pre-
until all the subquadrants are homogeneous (full dicted behaviors for a system based on qualita-
or empty) or a predetermined cutoff depth has tive information. Qualitative simulations typi-
been reached. The tree is such that each node cally include branching behaviors due to the low
is split along all d dimensions, leading to 2d resolution of the information involved.
children.
Quadtrees can be used for facsimile coding, quality to be exchanged with the "degree of
for representing contiguous regions in primitive- excellence" or "fitness for use" that only par-
based coding, or for representing motion vec- tially meets the definition. Software quality is
tor distributions. In facsimile, where the im- defined in the ISO 9126 norm series. Software
age consists of black and white values only, quality includes: functionality, reliability, us-
three codewords are required: 5, /?, W, mean- ability, efficiency, maintainability, and portabil-
ing split-block, black-block, and white-block. ity. The quality of a system is the evaluation of
Starting from large squares, each is analyzed the extent to which the system meets the above-
and an appropriate codeword generated. If the mentioned features. The response of the system
codeword is 5, then the same process is applied to these features is called the estimated quality
recursively to the four quarter-size blocks. See profile. Quality should not be used as a single
also octree. term to express a degree of excellence in a com-
parative sense nor should it be used in a quantita- fulfilling specified requirements related to over-
tive sense for technical evaluations. To express all quality. A quality evaluation may be used
these meanings, a qualifying adjective shall be to determine supplier quality capability. In this
used. For example, use can be made of the fol- case, depending on specific circumstances, the
lowing terms: "relative quality" where entities result of quality evaluation may be used for qual-
are ranked on a relative basis in the "degree of ification, approval, registration, certification, or
excellence" or "comparative sense" (not to be accreditation purposes. An additional qualifier
confused with grade); "quality level" in a "quan- may be used with the term quality evaluation de-
titative sense" (as used in acceptance sampling) pending on the scope (e.g., process, personnel,
and "quality measure" where precise technical system) and timing (e.g., pre-contract) of the
evaluations are carried out. quality evaluation such as "pre-contract process
quality evaluation". An overall supplier qual-
quality assessment See quality evaluation. ity evaluation may also include an appraisal of
financial and technical resources. In English,
quality assurance all the planned and sys- quality evaluation is sometimes called "qual-
tematic activities implemented within the qual- ity assessment", "quality appraisal", or "quality
ity system, and demonstrated as needed, to pro- survey" in specific circumstances. The process
vide adequate confidence that an entity will ful- of measurement, rating, and assessment of qual-
fill requirements for quality. There are both ity attributes for an evaluation item to determine
internal and external purposes for quality as- if the specified software quality characteristics
surance: internal quality assurance: within an are fulfilled.
organization quality assurance provides confi-
dence to management; external quality assur- quality improvement the process on the ba-
ance: in contractual or other situations, quality sis of which the measures performed are ana-
assurance provides confidence to the customers lyzed for defining actions to improve the general
or others. quality of the production process or of a specific
product.
quality attribute a feature or characteristic
that affects an item's quality. In a hierarchy of
quality attributes, higher level attributes may be quality indicator a measure that shows a
called quality factors, lower level attributes may trend in the relative quality of software or its
be called quality attributes. The features and products.
characteristics of a software component that de-
termine its ability to satisfy requirements. quality in use the quality that is estimated or
predicted for the end software product at each
quality circle a group of people who are pro- stage of development for each quality in use
fessionally involved in quality assurance who characteristic, based on knowledge of the inter-
meet on a regular basis to discuss quality assur- nal and external quality.
ance in order to improve the quality of software.
Very popular in Japan.
quality measure any assessment of software
quality control operational techniques and quality. For example, low quality may be de-
activities that are used to fulfill requirements fined as delivered software which does not work
for quality. Quality control involves operational at all, or repeatedly fails in operation. A project
techniques and activities aimed at both monitor- where users report more than 0.5 bugs or defects
ing a process and at eliminating causes of unsat- per function point per calendar year are of low
isfactory performance at all stages of the quality quality.
loop in order to result in economic effectiveness.
quality metric a quantitative measure of the
quality evaluation systematic examination degree to which an item possesses a given qual-
of the extent to which an entity is capable of ity attribute.
398
query by example (QBE)
quality model the set of characteristics and quantization matrix a matrix of numbers
the relationships between them which provide in the JPEG compression scheme that specifies
the basis for specifying quality requirements and the amount by which each discrete cosine trans-
evaluation quality. form coefficient should be reduced. The num-
bers are based on the human contrast sensitivity
quality of service (QoS) performance of a to sinusoids and are such that coefficients cor-
communication network from the point of view responding to frequencies which people are not
of the user of a service. QoS measures can be, very sensitive to are reduced or eliminated. See
e.g., signal-to-noise ratio, packet loss rate, call also contrast sensitivity, discrete cosine trans-
blocking rate, achievable throughput, or cell de- form, Joint Photographic Experts Group, human
lay variation. visual system, psychovisual redundancy.
quality profile a set of defined features that quantizer characteristic a measure of quan-
are considered relevant factors for the quality of tization performance. The performance of a
a process or product. The quality profile also in- scalar quantizer Q is typically characterized by
cludes for each feature a value of reference that its mean-squared quantization error
may depend on the company goals and product
market profile. The quality profile is considered E [(Q(x) - x)2] = j(Q(x) - x)2fx(x) dx ,
the reference profile for all the development pro-
cesses and can be part of the contract.
where fx(x) represents the probability distribu-
tion of the input X. In the special case where
quality system organizational structure, pro- X is uniformly distributed, and where Q is a
cedures, processes, and resources needed to im- uniform quantizer (that is, the interval between
plement quality management. The quality sys- successive quantization levels is A, and Q(x) is
tem should be as comprehensive as needed to the rounding of x to the nearest level), then the
meet the quality objectives. The quality sys-
mean-squared quantization error is ^-.
tem of an organization is designed primarily to
satisfy the internal managerial needs of the or-
quantum mottle See speckle.
ganization. It is broader than the requirements
of a particular customer, who evaluates only the
quaternion hyper-complex number (com-
relevant part of the quality system.
plex number pair) that transforms the magnitude
and direction of a vector. Used in the generation
quantization (1) the subsetting of data or a of three-dimensional fractals.
resource to enable or speed up processing. An
example of the former is where a device has QUEL the query language developed for the
no more than an 8-bit color capability thus re- INGRES relational database management sys-
quiring a 24-bit image to be requantized to 8-bit tem. QUEL is a data definition and data manip-
color for processing. Subsetting large data sets ulation language based on the relational calcu-
can also speed up processing. An example of re- lus.
source quantization is where the processing of a
screenfull of data in an image-based algorithm query a request to retrieve data from a data
can be made much more efficient by subdividing base. A query to a deductive database DB is
the screen, perhaps on a binary basis, and apply- usually formulated as a goal; e.g., the goal G
ing the algorithm to smaller sections of the data. {brother(cain, B)} asks for all brothers of cain
(2) converting a continuous quantity into se- in the database DB.
ries of discrete values. For example, continu-
ous images can be quantized into discrete pix- query by example (QBE) a query language
els, color spaces can be quantized into a set of developed by IBM in which the user formulates
discrete colors, or continuous time can be quan- a query by filling in an on-screen template of re-
tized into discrete steps. lations rather than explicitly specifying a struc-
399
query compiler
tured query. The names of attributes and rela- sic operations are insert or enqueue and delete
tions are displayed as part of the template. or dequeue. Queues are useful in many situa-
tions, particularly in process and event schedul-
query compiler one of the components of a ing. See also FIFO memory, stack.
database management system. The query com- (2) a waiting area for tasks that arrive asyn-
piler is used to parse and analyze a query that chronously to a serially reusable resource. See
is entered by the user. The query compiler gen- also buffer.
erates calls to the run-time processor, which is (3) a data structure characterized by having
responsible for executing the request. values added at one end and removed from the
other.
query evaluation plan See execution strat-
egy. queueing analysis the study of the behavior
of queueing systems using mathematical tech-
query expansion the process of adding new niques applied to a statistical model of the sys-
terms to a query automatically, for example, in tem.
response to relevance feedback.
queueing center a device at which a job joins
query graph an internal representation of a a queue of waiting jobs if it finds the device busy
query generated by the query compiler. upon arrival.
querying the process of retrieving data from queueing discipline a scheduling discipline
a database using a query language. used for the selection of a job for processing
from a set of jobs enqueued at a resource.
query language a language used to access
information stored in a database. In addition, a queueing network a particular approach for
query language normally supports data defini- modeling computer and communication systems
tion and data manipulation. Examples include in which the system is modeled as a network of
SQL and OQL. Query languages are usually queues. The model consists of service centers
nonprocedural languages. that represent system resources and customers
that represent units of work that need to be pro-
query optimization a facility provided by cessed by the system. See also closed queueing
database management systems to select the most network, open queueing network.
reasonably efficient method of responding to a
query from possibly many different strategies. queueing network model a mathematically
based software analysis/design technique for es-
query processing the process that the data- timating and predicting performance for com-
base management system must follow in order puting systems. Queueing models allow soft-
to generate the result of a query on a database ware engineers to identify bottlenecks and de-
from a query expressed in a high-level query lan- termine components that are I/O or computation
guage. The process involves scanning, parsing, bound at the earliest stages of the software de-
and validating a query in a high-level language, sign process.
optimizing the query, generating the code to ex-
ecute the query, and returning the result of the queueing system a generic model for a sys-
query to the user. tem in which waiting and serving entities and
sources of requests are found.
query tree See operator tree.
queueing time the delay experienced by a job
queue (1) a data structure maintaining a first- before it starts receiving service at a resource.
in-first-out discipline of insertion and removal.
The earliest added item is at the head, and the queues with priorities a queueing system
item added most recently is at the tail. Ba- in which the scheduling discipline for select-
400
quoting a character
ing when each task will be executed depends on quincunx sampling the downsampling of a
some parameters of the tasks. See also first-in- 2D or 3D signal on a quincunx lattice by re-
first-out, last-in-first-out, round-robin, proces- moving every even sample on every odd line
sor sharing. and every odd sample on every even line. In the
frequency domain, the repeat spectrum centers
quicksort an in-place sort algorithm that uses also form a quincunx lattice. Quincunx sam-
the divide and conquer paradigm. It picks an el- pling structures have been used for TV image
ement from the array (the pivot), partitions the sampling on the basis that they limit resolution
remaining elements into those greater than and on diagonal frequencies but not on horizontal
less than this pivot, and recursively sorts the par- and vertical frequencies.
titions. There are many variants of the basic
scheme above: to select the pivot, to partition quorum-based voting algorithm a replica
the array, to stop the recursion on small parti- control protocol where transactions collect votes
tions, etc. See also sort. to read and write copies of data. They are per-
mitted to read or write data if they can collect a
quincunx five points, four at the corners of quorum of votes.
a square and one in the center.
quoting a character See escaping a charac-
quincunx lattice a horizontally and verti- ter.
cally repeated pattern of quincunxes, which is
identical to a square lattice oriented at 45°.
401
RAM
R
by evaluating the radiation of light from light
sources and reradiation among surfaces. Ra-
diosity calculations determine the steady state in
the radiative transport of light around a closed
volume. Essentially, the illumination leaving a
R*-rounding See round-to-nearest-odd. patch is a proportion of the light reaching the
patch from all the other visible patches in the
race a state in which two or more processes closed volume. Patch surface normals are typ-
are continuously competing for resources and ically distributed everywhere and some patches
neither progresses. are occluded or partly obscured from each other.
The accumulation of these radiation-attenuating
race condition a situation where multiple effects is summed up as the form-factor between
processes access and manipulate shared data each pair of patches. The main and most time-
with the outcome dependent on the relative tim- consuming part of the radiosity calculation is the
ing of these processes. calculation of these form factors.
RAD See rapid application development. radix the base number in a number system.
Decimal (radix 10) and binary (radix 2) are two
radial basis function network a common examples of number systems.
network model consisting of a linear combina-
tion of basis functions, each of which is a func-
radix complement in a system that uses bi-
tion of the difference between the input vector
and a center vector. nary (base 2) data, negative numbers can be rep-
resented as the two's complement of the positive
radial intensity histogram a histogram of number. This is also called a true complement.
average intensities for a round object in circular
bands centered at the center of the object, with radix sort a multiple pass sort algorithm that
radial distance as the running index. Such his- distributes each item to a bucket according to
tograms are easily constructed and, suitably nor- part of the item's key beginning with the least
malized, form the basis for scrutinizing round significant part of the key. After each pass, items
objects for defects and for measuring radius are collected from the buckets, keeping the items
and radial distances of cylindrically symmetri- in order, then redistributed according to the next
cal features. most significant part of the key. Also called
bucket sort.
radiance a measure of the amount of elec-
tromagnetic radiation leaving a point on the sur- Radon transform the Radon transform of
face. More precisely, it is the rate at which light a function /(*, y), r(d, $) is its line integral
energy is emitted in a particular direction per along a line inclined at angle </> from the y axis
unit of projected surface area. The projected and at a distance d from the origin.
surface area is the projection of the surface onto
the plane perpendicular to the direction of radia-
ragged matrix a matrix having irregular
tion. It is found by multiplying the surface area
numbers of items in each row. See also uniform
by cos0r, where Or is the angle of the radiated
matrix, sparse matrix.
light to the surface normal.
radiography an imaging modality that uses RAID See redundant array of inexpensive
an X-ray source and collimator to create a pro- disks.
jection image. The image intensity is propor-
tional to the transmitted X-ray intensity. RAM See random access memory.
0-8493-2691-5A)l/$0.00+$.50
©2001 by CRC Press LLC 403
RAM neuron
RAM neuron a random-access memory with random failure failures that result from a
n inputs and a single output The inputs define variety of degradation mechanisms in the hard-
2ft addresses and presentation of a particular in- ware. Unlike failures arising from systematic
put vector allows the contents of the 1-bit reg- failures, system failure rates arising from ran-
ister at that address to be read, or to be written dom hardware failures can be quantified with
into. Training consists of writing Is or Os into reasonable accuracy.
the 1-bit registers, as required for the various
input vectors in the training set. randomized algorithm algorithm that
makes some random (or pseudo-random)
random access (1) term describing a type of choices.
memory in which the access time to any cell is
uniform. randomized complexity the expected run-
(2) a method for allowing multiple users to ning time of the best possible randomized algo-
access a shared channel in which transmissions rithm over the worst input.
are not coordinated (or perhaps are partially co-
ordinated) in time or frequency. randomized decision rule a hypothesis deci-
(3) access to a file that is not sequential. This sion/classification rule which is not determinis-
is possible with hash files, sorted files (of fixed tic (that is, the measurement or observation does
length records), and relative files. not uniquely determine the decision). Although
typically not useful given continuous observa-
random access machine model of compu- tions, a randomized rule can be necessary given
tation whose memory consists of an unbounded discrete observations.
sequence of registers, each of which is capable
of holding an integer. In this model, arithmetic randomized rounding a technique that uses
operations are allowed to compute the address the probalistic method to convert a solution to
of a memory register. a relaxed problem into an approximate solution
to the original problem.
random access memory (RAM) direct-
access read/write storage in which each address- random logic a digital system constructed
able unit has a unique hardwired addressing with logic gates and flip-flips and other basic
mechanism. The time to access a randomly se- logic components interconnected in a nonspe-
lected location is constant and not dependent on cific manner. See also microprogramming.
its position or on any previous accesses. The
RAM has a set of k address lines (m = 2*), n random orbit attracting point determined by
bidirectional data lines, and a set of additional iteration of random starting points by an appro-
lines to control the direction of the access (read priate geometric procedure.
or write), operation, and timing of the device.
RAM is commonly used for the main mem- random process a mathematical procedure
ory of a computer and is said to be static if power for generating random numbers to a specific rule
has to be constantly maintained in order to store called a process, x, which is defined on contin-
data and dynamic if periodic absences of power uous x(t), t € Kn, or discrete x(k), k e Zn
do not cause a loss of data. RAM is usually space/time. The value of the process at each
volatile. See also static random access memory, point in space or time is a random vector. See
dynamic random access memory, non-volatile also random variable, random vector, correla-
random-access memory. tion, autocovariance.
404
rapid application development (RAD)
algorithm is not very commonly used though range are placed on the disk associated with that
it was used in the translation buffers of the range.
VAX11/780 and the Intel i860 RISC processor.
range query a query that contains a selection
random sampling using a randomly selected criteria specifying values in a range.
sample of the data to help solve a problem on the
whole data. range relation specified by a condition on a
relation.
random testing the strategy of selecting test
cases at random according to the probability rank for a given match, this is the number of
with which they are expected to be encountered matches in a longest chain terminating with that
in operation, in order to ensure that the opera- match, inclusive.
tional profile used in test and trial is a reasonable
approximation to reality. rank-based selection a selection mechanism
in evolutionary computation where survival of
random variable a continuous or discrete an individual is determined by the ranking of
valued variable that maps the set of all outcomes its associated fitness value among all other in-
of an experiment into the real line (or complex dividuals. In other words, the actual magnitude
plane). Because the outcomes of an experiment of the fitness value does not affect the selection
are inherently random, the final value of the var- process as long as its ranking remains the same
iable cannot be predetermined. within the list. Examples of rank-based selec-
tion strategy include the (/x+X) and (/i, X) strat-
egy in ES, and the tournament selection strategy
random vector a vector (typically a column
in EP. On the other hand, the proportional se-
vector) of random variables. See also random
lection mechanism in GA is not a rank-based
variable, random process.
selection strategy due to the dependence of the
selection probabilities on the magnitudes of the
range (1) for numeric data types, the limit
fitness values. See also evolutionary program-
of valid values for an instance of the data type. ming, evolutionary strategy.
Some languages permit the programmer to spec-
ify the range of valid values for numeric data
rank filter an image transform used in mathe-
types. See also precision.
matical morphology. Assume that to every pixel
(2) the possible results of a function or re- p one associates a window W(p) containing it.
lation. For instance, the range of cosine is Let k be an integer > 1 which is less than or
[—!,+!]. See also domain. equal to the size of each window W(p). The
rank filter with rank k and windows W(p) trans-
range filter an edge detection filter that finds forms an image / into a filtered image V whose
edges by taking the difference between the max- gray-level /'(/?) at pixel p is defined as the £-th
imum and minimum values in a local region of least value among all initial gray-levels I(q) for
the image. The range filter also accepts a weight q in the window W(p). In a dual version, the k-
mask the size of the local image region that con- th greatest value is selected. When each W(p)
trols pixel values before they enter the minimum is the translate by p of a structuring element W
and maximum calculations. The weight mask of size /i, three particular cases are noteworthy:
allows edges in certain directions to be searched 1. k = 1: the rank filter is the erosion by W.
for. 2. k = n: the rank filter is the dilation by W, the
symmetric of W. 3. n is odd and k = (n -f l)/2:
range partitioning a partitioning technique the rank filter is a median filter. See dilation,
where relations are partitioned according to the erosion, median filter, structuring element.
range of the partitioning attribute. A partition-
ing vector is chosen which defines the set of rapid application development (RAD) a
intervals or ranges. All records within a certain technique in which users and developers interact
405
rapid prototyping
within a workshop environment. RAD aims to several source models and distortion measures,
facilitate, in a relatively short period of time, the rate distortion theory provides the optimum dis-
development of the software system by identifi- tortion function and the optimum rate function.
cation of a readily agreed set of requirements in The distortion function is optimum in that the
a collaborative manner. distortion for a given rate is the theoretical min-
imum value of distortion for encoding the source
rapid prototyping See prototyping. at the given or lower rate. The rate function is
optimum in that the rate at a given distortion is
raster an array of scanlines, painted across a the minimum possible rate for coding the source
CRT screen, which taken together form a rect- at the given or lower distortion.
angular 2D image. Often the term raster is used
to refer to the 2D array of pixel values stored rate-monotonic scheduling a scheduling
digitally in a frame buffer. technique that assigns priorities to periodic tasks
according to the principle: the shorter the task
raster coordinates an artifact of the method period the higher its priority.
of CRT image reconstruction where pixels are
addressed and illuminated in a top-to-bottom, rate-monotonic system a preemptive pri-
left-to-right fashion. Hence, raster coordinates ority system where task priorities are assigned
are the 2D coordinates of the current drawing so that the higher the execution frequency, the
position either in the image window or the hard- higher the priority.
ware frame buffer.
rating the action of mapping the measured
raster image See bitmapped image. value to the appropriate rating level. Used to
determine the rating level associated with the
rate-compatible punctured convolutional software for a specific quality characteristic.
code (RCPC code) one of a family of
punctured convolutional codes derived from rating level a range of values on a scale to
one low-rate convolutional parent code by allow software to be classified (rated) in accor-
successively increasing the number of punc- dance with the stated or implied needs. Appro-
tured symbols, given that the previously priate rating levels may be associated with the
punctured symbols should still be punctured different views of quality, i.e., users, managers,
(rate-compatibility). These codes have applica- or developers.
tions in, for example, variable error protection
systems and in hybrid automatic repeat re- rational function a function that is the ratio
quest schemes using additional transmitted of two polynomials. Rational functions often
redundancy to be able to correctly decode a arise in the solution of differential equations by
Laplace transforms.
406
read-only memory (ROM)
this curve, allocation and de-allocation of hu- read authorization permission to read data
man resources is performed, Also represents from a relation.
error and code rates. The Rayleigh equation is
f(x) = Cte~Dt where C and D are constants read committed a transaction isolation level
and t is time. that permits reading of all committed changes.
A read committed transaction prevents dirty
ray tracing a rendering paradigm that aims to reads, but not non-repeatable reads and phan-
produce realistic images (rather than real-time) tom reads.
given a 3D model. The color of a pixel is deter-
mined by calculating the path of a ray of light read instruction an assembly language in-
passing through a point in the 3D model corre- struction that reads data from memory or the
sponding to the pixel. The path is traced back input/output system.
to a light source.
read lock a database synchronization mech-
anism. If a transaction T holds a read lock on a
RBD See reliability block diagram.
data item X, then no other transaction can obtain
a write lock on x.
r-command a set of commands (rsh, rlogin,
rep, rdist, etc.) that relies on address-based au- read/modify/write an uninterruptible mem-
thentication. ory transaction in which information is obtained,
modified, and replaced under the assurance that
RCPC code See rate-compatible punctured no other process could have accessed that in-
convolutional code. formation during the transaction. This type of
transaction is important for efficient implemen-
reachability graph (1) a directed graph in tations of locking protocols.
which each node is a state from a stochastic pro-
cess or finite-state machine, and an edge from read-modify-write cycle a type of memory
state i to state j indicates that it is possible for device access that allows the contents at a single
the state of the system to change from i to j in address to be read, modified, and written back
one step. without other accesses taking place between the
(2) a graph used in formal verification to read and the write.
prove that every designed state of a process (e.g.,
a communication protocol) can be reached. read-mostly memory memory primarily de-
signed for read operations, but whose contents
reaction time the time needed to react to an can also be changed through procedures more
event and to produce a result. complex and typically slower than the read op-
erations. EPROM,EEPROM, and flash memory
are examples.
reactive system a system that does not work
in isolation but performs its task by interacting
read-once-write-all protocol the replica
with others.
control protocol which maps each logical read
operation to a read on one of the physical copies
read to access contents of a storage device and maps a logical write operation to a write on
or data medium. all of the physical copies.
read-after-write hazard See true data de- read-only memory (ROM) semiconductor
pendency. memory unit that performs only the read opera-
tion; it does not have the write capability. The
read ahead on a magnetic disk, reading more contents of each memory location are fixed dur-
data than is nominally required, in the hope that ing the hardware production of the device and
the extra data will also be useful. cannot be altered. A ROM has a set of k in-
407
read past locking
put address lines (that determine the number of real a value which nominally represents a real
addressable positions 2*) and a set of n output number. This is a misnomer, in that at best any
data lines (that determine the width in bits of given implementation on any specific machine
the information stored in each position). An can only represent an approximation to a real
integrated circuit ROM may also have one or number, a floating-point number.
more enable lines for interconnecting several
circuits and make a ROM with larger capac- real address the actual address that refers
ity. Plain ROM does not allow erasure, but pro- to a location of main memory, as opposed to
grammable ROM (PROM) does. Static ROM a virtual address which must first be translated.
does not require a clock for proper operation, Also called a physical address. See also memory
whereas dynamic ROM does. See also random mapping, virtual memory.
access memory, programmable read-only mem-
ory. real part in a complex number, the compo-
nent that consists of a real number, that is, a
read past locking where a read omits locked number that can be found on the number line.
data.
real time See real time.
read permission grants or denies the associ-
ated class of users the right to read a file. real-time clock a hardware counter which
records the passage of time.
read phase the first portion of a transaction
real-time computing support for environ-
during which the executing process obtains in-
ments in which response time to an event must
formation that will determine the outcome of the
occur within a predetermined amount of time.
transaction. Any transaction can be structured
Real-time systems may be categorized into hard,
so that all of the input information is obtained at
firm, and soft real-time.
the outset, all the computation is then performed,
and finally all results are stored (pending func-
real-time constraint See timing constraint.
tionality checks based on the locking protocols
in use).
real-time database a database that supports
real-time applications. Queries submitted to a
read/write head conducting coil that forms real-time database usually have an associated
an electromagnet, used to record on and later re- time constraint.
trieve data from a magnetic circular platter con-
structed of metal, plastic, or glass coated with a real-time logic logic used for the specifica-
magnetizable material. During the read or write tion of real-time systems; generally this type of
operation, the head is stationary while the plat- logic is an extension of a temporal logic with the
ter rotates beneath it. The write mechanism is ability to express timing constraints.
based on the magnetic field produced by elec-
tricity flowing through the coil. The read mech- real-time operating system (RTOS) any op-
anism is based on the electric current in the coil erating system where interrupts are guaranteed
produced by a magnetic field moving relative to to be handled within a certain specified maxi-
it. mum time, thereby making it suitable for con-
Less common are magneto-resistive heads, trol of hardware in embedded systems and other
which employ non-inductive methods for read- time-critical applications. RTOS is not a spe-
ing. A system that uses such a head requires an cific product but a class of operating systems.
additional (conventional) head for the writing.
See also disk head, magnetic recording code. real-time software software which must re-
turn an output within a certain real-time inter-
ready a state of a task or process in which it val, in order to be able to affect some social or
is waiting to run on the processor. physical process. In general, real-time software
408
reconstruction from marker
presents a behavior that depends on the time and standards, improving source code readability,
this behavior is defined in terms of temporal con- renaming programming items, etc.
straints that if unsatisfied may lead the system
to critical and sometimes disastrous conditions. receding of multiplier See Booth's algo-
Examples are airline booking systems, chemical rithm.
plant control, and avionics flight-control
software. recognize in the context of an automaton,
the automaton is said to recognize a string if the
real-time system a system whose correct- last symbol in the string causes the automaton
ness depends on the satisfaction of timing con- to enter an accepting state.
straints. Typical real-time systems are process
control systems. A class of real-time systems recombination an operation in evolution-
called hard real-time systems must have a fixed ary computational algorithms which generates
upper bound on their response times in order a new individual from two or more original in-
to prevent failure due to lack of response to a dividuals in the population. There are several
critical external process. variants of this operation which can be summa-
rized by the following equation:
reantrant term describing a program that
concurrently uses exactly the same executable xi=Kx?+(l-ri)xp,
code in memory for more than one invocation
where */ denotes the ith component of the new
of the program (each with its own data), rather
than separate copies of a program for each invo- individuals, xfl and x?2 denote the correspond-
cation. The read and write operations must be ing components of the two parents, and 17 is a re-
timed so that the correct results are always avail- combination factor which is defined differently
able and the results produced by an invocation for different types of recombination strategies.
are not overwritten by another one. In discrete recombination, r\ is a binary random
variable which is sampled anew for every i. In
intermediate recombination, TJ is assigned the
recall a feature of a set of documents. Given
value of 0.5, which in effect performs an aver-
a document set of N documents comprising
aging operation on the two parents. In gener-
Nr relevant documents and Nn irrelevant doc-
alized intermediate recombination, rj is a uni-
uments, let R be the set of returned documents
form random variable between 0 and 1. These
with Rr being the relevant returned documents,
operations can be generalized to more than two
Rn being the irrelevant documents. The recall
is defined to be \Rr\/\Nr\. parents by replacing xi 2 with the corresponding
component of another randomly chosen individ-
ual in the population for every i . In genetic algo-
reception action about the receiving of a
rithms, a special form of recombination known
message.
as crossover is implemented which exchanges
sub-strings between pairs of randomly chosen
receptive field the part of the visual field of chromosomes. See also crossover.
a neuron within which a stimulus can influence
the response (i.e., the firing rate) of the neuron. reconstruction the process of forming a 3D
image from a set of 2D projection images. Also
receptive field function describes the re- applies to the formation of a 2D image from ID
sponse of a neuron to a small spot of light as projections. See image reconstruction, tomog-
a function of position. raphy and computed tomography.
409
record
generalized to gray-level images by a morpho- or transition in system state has been achieved
logical operator applying such a reconstruction successfully as judged by an acceptance test.
on the gray-level slices of the image. The later modules in the sequence are only in-
voked if all earlier modules fail to satisfy the
record (1) a collection of related fields. acceptance test.
(2) unit of data, corresponding to a block,
sector, etc. on a magnetic disk, magnetic tape, rectangle detection the detection of rectan-
or other similar I/O medium. gular shapes, often by searching for corner sig-
(3) in a database, a synonym for a row of a nals, or from straight edges present in an image.
relational table. Rectangle detection is important when locating
(4) in many languages, a synonym for struc- machined parts in images, e.g., prior to robot
ture or class. assembly tasks. See also square detection.
recording code a line code optimized for rectangular decomposition a space decom-
recording systems. See line code. position method that partitions the underlying
space by recursively halving it across the vari-
recording density number of bits stored per ous dimensions instead of permitting the parti-
linear inch on a disk track. In general, the same tioning lines to vary.
number of bits are stored on each track, so that
the density increases as one moves from the out- rectangular matrix an n x m matrix, or one
ermost to the innermost track. whose size may not be the same in both dimen-
sions. See also square matrix.
record type a definition of the record format.
Usually comprises a set of field names and their
rectangular window in image processing, a
associated type. rectangular area centered at a pixel under con-
sideration. This area is known as a window, a
recover to retrieve or reconstruct a database
mask, or a template. A square window of size
from a backup.
3 x 3 is used most often. See also neighborhood
operation.
recoverability the capability of the software
product to re-establish a specified level of per-
formance and recover the data directly affected rectilinear distance, paths, lines, etc. which
in the case of a failure. Following a failure, a are always parallel to axes at right angles. For
software product will sometimes be down for example, a path along the streets of Salt Lake
a certain period of time, the length of which is City or the moves of a rook in chess. See also
assessed by its recoverability. See availability. Euclidean distance, lm distance.
410
recursive procedure
recurrent network a neural network that recursive equation a difference equation that
contains at least one feedback loop. is of the form
411
recursive relationship
412
reentrant
Compare with complex instruction set com- redundancy statistics model refers to sta-
puter. tistical similarities such as correlation and pre-
dictability of data. Statistical redundancy can be
reduce-reduce conflict in bottom-up parsers, removed without destroying any information.
a property of a state in which a parser has a
choice of two productions which can be used redundant array of inexpensive disks (RAID)
to reduce the parsing stack, and both are legal standardized scheme for multiple-disk database
for the amount of lookahead allowed. Reduce- systems viewed by the operating system as a
reduce conflicts have no natural disambiguating single logical drive. Data is distributed across
rule. the physical drives allowing simultaneous ac-
cess to data from multiple drives, thereby reduc-
reduction a computable transformation of ing the gap between processor speeds and rela-
one problem into another. tively slow electromechanical disks. Redundant
disk capacity can also be used to store additional
reduction in strength an optimization tech-
information to guarantee data recoverability in
nique where the compiler is persuaded to replace
case of disk failure (such as parity or data du-
arithmetic operations with equivalent, but faster
plication). The RAID scheme consists of six
operations.
levels (0 through 5), RAIDo being the only one
that does not include redundancy.
redundancy (1) the use of parallel or series
components in a system to reduce the possibil-
ity of failure. Similarly, referring to an increase redundant number system the system in
in the number of components which can inter- which the numerical value could be represented
changeably perform the same function in a sys- by more than one bit string.
tem. Sometimes it is referred to as hardware re-
dundancy in the literature to differentiate from reengineering the examination and modifi-
so-called analytical redundancy in the field of cation of a system to reconstitute it in a new
FDI (fault detection and isolation/identification). form and the subsequent re-implementation of
Redundancy can increase the system reliability. the new form. Also known as renovation and
(2) the duplication of data in a database. reclamation. This process encompasses a com-
(3) in robotics, the number n degrees of mo- bination of subprocesses such as reverse en-
bility of the mechanical structure, the number m gineering, restructuring, redocumentation, for-
of operational space variables, and the number ward engineering and retargeting. Reengineer-
r of the operational space variables necessary to ing also emphases the importance of a greater
specify a given task. Consider the differential return on investment than could be achieved
kinematics mapping v = J(q)q in which v is through a new development effort.
(r x 1) vector of end-effector velocity of concern
for the specific tasks and J is r x n Jacobian ma-
trix. If r < n the manipulator is kinematically reentrancy the property of a software mod-
redundant and has (n - r) redundant degrees of ule such that it can be invoked while still exe-
mobility. Manipulator can be redundant with cuting one or more previous invocations.
respect to a task and nonredundant with respect
to another. reentrant a program that uses concurrently
exactly the same executable code in memory for
redundancy-free channel coding refers to more than one invocation of the program (each
methods for channel robust source coding where with its own data), rather than separate copies
no "explicit" error protection is introduced. In- of a program for each invocation. The read and
stead, knowledge of the source and source code write operations must be timed so that the cor-
structure is utilized to counteract transmission rect results are always available and the results
errors (for example by means of an efficient in- produced by an invocation are not overwritten
dex assignment). by another one.
413
reentrant code
reentrant code code which does not main- reference semantics a semantic model in
tain any local state in such a way that a concur- which values are always acted on by reference,
rent execution would be affected. Contrast with so that changes always appear in the only in-
serially reusable, recursive. See also reentrant. stance of the value. Compare with copy seman-
tics.
reference in object-oriented languages ref-
reference white in a color matching process,
erence identifies an alias for an object In many
a white with known characteristics used as a ref-
languages and in common usage, reference is
erence. According to the trichromatic theory, it
equivalent to pointer. However, there are lan-
is possible to match an arbitrary color by apply-
guages in which a reference is implemented as
ing appropriate amounts of three primary colors.
a more complex construct than a simple pointer.
In languages that support pointers, it is some-
referential integrity states that any value of
times possible to perform pointer arithmetic and
a foreign key in a relation occurs as a value of
compute a new address based on an existing
a primary key in a related relation or else must
pointer address. Language designers, in order
have the NULL value.
to distinguish a type of pointer on which address
arithmetic cannot be performed (for example, as
referential transparency a mathematical
in the Java language), sometimes use the term
principle that states that if the value of an ex-
reference to designate such a pointer.
pression can be determined solely from the val-
ues of its subexpressions, and if any subex-
reference count a means of managing heap pression is replaced by an arbitrary expression
storage in which each object contains a count of with the same value, then the value of the ex-
the number of references to it. Creating a new pression remains unchanged. Many optimiza-
reference increases the reference count; delet- tions performed by compilers are based upon as-
ing a reference decreases the reference count. sumptions of referential transparency; many op-
When the reference count is zero, it means there timizations not performed by optimizing com-
is no outstanding reference to the object and the pilers are based upon incomplete knowledge of
storage it occupies may be released for reuse. referential transparency.
Often more efficient than garbage collection,
but requires careful maintenance of the refer- refinement-specification process by which
ence count. Requires special case analysis to a specification is refined by adding details and
determine reachability of objects when a cyclic verifying the consistency of the previous speci-
graph of references can exist, since all the ob- fication with the new one. This approach is typ-
jects have references but the entire subgraph is ical of denotational/descriptive languages and
unreachable from anywhere else in the program. models.
414
register direct addressing
reflexive rule a relationship in a database Region growing is one approach to image seg-
system. Given sets of attributes A and fi, then mentation. See also dilation, erosion, image
if B C A, then A -> B. segmentation, mathematical morphology.
reformatting the functional equivalent trans- region of interest (ROI) a restricted set of
formation of source code which changes only image pixels upon which image processing op-
the structure to improve readability. Examples erations are performed. Such a set of pixels
are pretty-printers and tools that replace GOTO might be those representing an object that is to
loops with equivalent loops. The latter case in be analyzed or inspected.
some cases is not only a simple process of re-
formatting but a real process of transformation. region query a form of spatial query which
requests objects that lie within a designated re-
refraction the phenomenon of a beam of light gion.
bending as the light's velocity changes. This
occurs when the refractive index of the material register a circuit formed from identical flip-
through which the light is passing changes. Let
flops or latches and capable of storing several
i be the normalized incident ray vector (pointing
towards the surface), which has unit surface nor- bits of data. Registers are usually limited in
mal n. If t is the transmitted (refracted) vector number, so that they can be designated by a
inside a transparent medium, then: small number of bits in each instruction (3 to
6 bits are typical). Most registers are disjoint
t = Mi-n(Ma-n) + (l-M 2 (l-(i-n) 2 ))M , from main memory, although this is not univer-
sally true (the DEC PDP-10, for example). Reg-
isters limited to use in address computations are
where /i is the ratio Womside/flinside of the refrac-
designated index registers, those which can be
tive indices of the inside and outside media. See
involved in all arithmetic operations are desig-
SnelPs law.
nated accumulators, and most architectures that
refresh refers to the requirement that dy- have registers which can serve any purpose are
namic RAM chips must have their contents pe- designated general registers. These distinctions
riodically refreshed or restored. Without a peri- become important for writing compilers.
odic refresh, the chip loses its contents. Typical
refresh times are in the 5 to 10 millisecond range. register alias table See virtual register.
See also memory refresh.
register allocation a method used by com-
refresh cycle (1) a periodically repeated pro- pilers for machines with limited register sets,
cedure that reads and then writes back the con- which attempts to allocate intermediate compu-
tents of a dynamic memory device. Without this tations and/or user-defined variables to the ma-
procedure, the contents of dynamic memories chine registers such that the number of times
will eventually vanish. data has to be moved is reduced. Computation-
(2) the period of time taken to "refresh" a ally, this problem is very difficult, and is often
portion of a dynamic RAM chip's memory. See done by using a graph-coloring algorithm. Most
also refresh. commonly, a complete or optimal solution can-
not be realized and a heuristic approximation is
refresh period the time between the begin- used.
nings of two consecutive refresh cycles for dy-
namic random access memory devices. register direct addressing (1) an instruction
addressing method in which the memory address
region a portion of memory allocated dy- of the data to be accessed or stored is found in a
namically to an application program. general purpose register.
(2) a memory addressing scheme similar to
region growing the grouping of pixels or direct addressing except that the operand is a
small regions in an image into larger regions. CPU register and not an address.
415
register file
register file a collection of CPU registers as the first conditional moment, i.e.,
addressable by number.
r(y) = E(X\y).
register indirect addressing an instruction
addressing method in which the register field
contains a pointer to a memory location that regression analysis a mathematical method
contains the memory address of the data to be where an empirical function is derived from a
accessed or stored. set of experimental data.
register renaming dynamically allocating a regression testing the test that is performed
location in a special register file for an instance on a system when this has been produced in
of a destination register appearing in an instruc- a new version/release. The regression testing
tion prior to its execution. Used to remove an- has to verify: (i) all of the already tested func-
tidependencies and output dependencies. See tionalists that were correct and available in the
reorder buffer. previous version are also present in the new ver-
sion without any problems, (ii) that the problems
register set a designation of a storage class solved in the new version have been effectively
in a computer represented by one or more equiv- solved without causing second level problems.
The regression testing is very important in order
alent registers. The implementation of one reg-
ister set may not necessarily be disjoint from to verify if the new release has solved the prob-
a different register set; for example, the inte- lems without adding new problems at the same
ger register set and the floating-point register time.
set may be the same physical registers in some
machines and disjoint physical registers in other regular expression a recursive notation for
machines. Register sets form the basis of one of a linguistic construct that can be analyzed by a
the problems in most compilers, that of allocat- finite state automaton. Equivalent to a Type 3
grammar in the Chomsky Hierarchy.
ing intermediate computations to storage classes
which are more efficiently accessed by the ma-
chine instructions. regularization a procedure to add a con-
straint term in the optimization process that has
a stabilizing effect on the solution.
register transfer notation a mathematical
notation to show the movement of data from one
regularization-based motion detection a
register to another register by using a backward
gradient motion detection approach which con-
arrow. Notation used to describe elementary op-
siders the optical flow estimation as an ill-posed
erations that take place during the execution of
problem according to the Hadamard theory.
a machine instruction.
regular language a language that can be de-
register window in the SPARC architecture, scribed by some right-linear/regular grammar
a set or window of registers selected out of a (or equivalently, by some regular expression).
larger group.
regulator a controller that is designed to
registration the process of aligning multi- maintain the state of the controlled variable at a
ple images obtained from different modalities, constant value, despite fluctuations of the load.
at different timepoints, or with different image
acquisition parameters. reinforcement learning learning on the basis
of a signal that tells the learning system whether
on the methods which use backward its actions in response to an input (or series of
prediction error as input to produce an estima- inputs) are good or bad. The signal is usually
tion of a desired signal. Quantitatively, the re- a scalar, indicating how good or bad the actions
gression of y on X, denoted by r(y), is defined are, but may be binary.
416
relative path
rejection criteria criteria such as poor sur- E\, £2,... EN is a member of the Cartesian
face texture, existence of scratch marks, or out- product E\ x £2 x • • • x EN.
of-tolerance distance measures, which consti-
tute reasonable grounds for rejecting a product relationship type a definition of associations
from a product line. between entities. A relationship between the
entities E\, £2* - • - EN is defined as the subset
relation (1) a computation which takes some of the Cartesian product E\ x £"2 x • • • x EN.
inputs and yields an output. Any particular input
may yield different outputs at different times. relative-address coding in facsimile coding,
(2) formally, a mapping from each element represents the transition between levels on a par-
in the domain to one or more elements in the ticular scan line relative to transitions on the pre-
range. See also function. ceding scan line. A relative-address coding sys-
tem has a pass mode codeword for indicating
relational algebra algebra governing the re- where a pair of transitions on the previous line
lational operators. does not have corresponding transitions on the
current line, and a runlength coding mode ap-
relational calculus a declarative formal lan- plied when there is no nearby suitable transition
guage for relational databases. on the previous line. CCITT Group IV facsimile
uses a form of relative-address coding.
relational database a database in which a
collection of tables contains database entries relative addressing an addressing mecha-
along with sets of attributes, such that the data nism for machine instructions in which the ad-
can be accessed along complex dimensions us- dress of the target location is given by the con-
ing the structured query language (SQL). Such tents of a specific register and an offset held as
databases make it convenient to look up infor- a constant in the instruction added together. See
mation based on specifications derived from a also PC-relative addressing, index register, base
semantic frame. address.
relational operator an operator that returns relative error the ratio of the absolute error
a Boolean result based on a test between two to the correct result, provided the latter is not
values. Classically, arithmetic comparison op- zero; otherwise it is undefined.
erators such as less than, greater than, and equal
are relational operators, but in languages that relative file the address of a record is an
support them, operators such as set membership integer value which reflects the position of the
("in"), subset relationships between sets ("£"), record relative to the first record.
string relationships ("is an initial substring of,
"is a substring of), and pattern matching are all relative form for time in temporal logics,
relational operators. when time is referenced to a general system
clock and the value is expressed in time units.
relational schema See relational type. See absolute form for time.
relational type comprises a relation name R relative input device an input device that
and a list of attributes A\,..., An. reports its distance and direction of movement
each time it is moved, but cannot report its ab-
relationship connections between entities. solute position. A mouse operates in this way.
Used in entity relationship and object modeling. See also absolute input device.
relationship instance an element of a re- relative path a pathname that starts with
lationship. Given the sets £1, £3,... EN, a something other than a slash character and uses
relationship instance of the relation between the current directory as a reference point. A
417
relative pointer
given relative path may refer to different files, reliability the probability that a component
depending on the current directory. or system will function without failure over a
specified time period, under stated conditions.
relative pointer a pointer which is not it- Limitations in reliability are due to faults in re-
self a pointer to a memory location, but which quirements, design, and implementation. Fail-
when combined with a specific base value be- ures due to these faults depend on the way the
comes a reference to a memory location. A rel- software product is used and the program op-
ative pointer may be used to maintain location tions selected rather than on elapsed time. The
independence or because, given the nature of the ability of a system to deliver its required service
information, a relative pointer may be encoded under given conditions for a given time. The
using fewer bits than a full pointer. reliability of a system is generally measured us-
ing operating time as the time domain, i.e., as
relaxation an enlargement of the feasible re- the probability of non-failure in a given period
gion of an optimization problem. Typically, the of time during which the item is actually oper-
relaxation is considerably easier to solve than ating. For calculating the probability of failure
the original optimization problem. over real time, operating time or execution time
must be transformed into real time taking into
account the frequency of use of the item, simul-
relaxed two-phase locking two-phase lock-
taneous operation of multiple copies, etc.
ing, where locks can be released before the trans-
action terminates.
reliability block diagram (RED) a paral-
relay a device that opens or closes a contact lel structure representing alternative paths for
when energized. Relays are most commonly which a system is considered functional.
used in power systems where their function is to
detect defective lines or apparatus or other ab- reliability model model that allows one to
normal or dangerous occurrences and to initiate project consistently in accordance with specifi-
appropriate control action. When the voltage or cations.
current in a relay exceeds the specified "pickup"
value, the relay contact changes its position and reliability performance the probability that
causes an action in the circuit breaker. A de- an item can perform a required function un-
cision is made based on the information from der given conditions for a given time interval,
the measuring instruments and relayed to the Cl.fe).
trip coil of the breaker, hence the name "relay".
Other relays are used as switches to turn equip- relocatable (1) pertaining to a program that
ment on or off. can be loaded into memory at any address, rather
than at a specific address. Compare with abso-
release a configuration management activity lute addressing.
whereby a particular version of an item is made (2) object code form that can be combined
available for a specific purpose (e.g., released (linked) with other components such that any
for test). references within it may be modified depend-
ing on its relationship to the components with
relevant failure a failure that should be in- which it is linked. Note that a relocatable object
cluded in interpreting test or operational results file may become a component of a relocatable
or in calculating the value of a reliability perfor- program.
mance measure.
relocatable pointer a pointer that does not
relevant incident an incident that should be reference a memory location but which has asso-
included in interpreting test or operational re- ciated information, implicit or explicit, describ-
sults or in calculating the value of a dependabil- ing how to convert it to a pointer to a memory
ity measure. location. Often used as a means of storing com-
418
repeatabie read
plex data structures on disk or otherwise trans- remote terminal unit (RTU) hardware that
ferring them. See also pickling. gathers system-wide real-time data from vari-
ous locations within substations and generating
relocation the operation performed by a plants for telemetry to the energy management
linker or loader which modifies relocatable val- system.
ues to bind them to actual memory addresses.
Note that a linker may compute relative reloca- removable disk disk that can be removed
tions which are not bound until the loader loads from disk drive and replaced, in contrast with
the program. a non-removable disk, which is permanently
mounted. See also exchangeable disk.
relocation register register used to facilitate
the placement in varying locations of data and rename register See virtual register.
instructions. Actual addresses are calculated by
adding program-given addresses to the contents
render to create an image from a description
of one or more relocation registers.
of a scene, its objects, light sources, and the
viewer.
remainder an operation which returns as
its result the remainder after integer division.
rendering the preparation of the representa-
Some languages support two operations, rem
tion of an image to include illumination, shad-
and mod, one of which returns an absolute value
ing, depth cueing, coloring, texture, and reflec-
of the remainder and the other of which returns
tion. Rendering often takes into account scene
the signed value. Other languages will imple-
lighting and object texturing. Common ren-
ment the remainder (modulo) operation as one
dering techniques include Phong and Gouraud
or the other of these choices. See also modulo.
shading; more complex rendering models such
as raytracing and radiosity emphasize realistic
remodularization changing a module's
physics models for calculating light interactions
structure in light of coupling analysis, in order and texture interactions with objects.
to redefine the boundaries between modules and
function of modules.
rendezvous a synchronization mechanism in
the Ada language in which both the sender and a
remote file system a file system accessible
receiver are blocked until a message is delivered.
to one or more systems, other than its physical
host, over a network; a file system residing on
one host system that is attached to the root file reorder buffer a set of storage locations pro-
system of a separate computer. vided for register renaming for holding results
of instructions. These results may not be gener-
remote job entry the submission of jobs ated in program order. At some stage, the results
through a remote device. will be returned to the true destination registers.
419
repelling point
repelling point in an iterated function, a the result. Choosing the proper representation
point that escapes. during reverse engineering is the representation
problem.
repetition coding the simplest form of error
control coding. The information symbol to be representative level one of the discrete out-
transmitted is merely repeated an uneven num- put values of a quantizer used to represent all
ber of times. A decision regarding the true value input values in a range about the representative
of the symbol transmitted is then simply made level. See also decision level.
by deciding which symbol occurred the greatest
number of times. reprocessing recovery of a database by man-
ually or automatically reapplying all transac-
replaceability the capability of the software tions since a backup to a database restored from
product to be used in place of another specified the backup.
software product for the same purpose in the
same environment. For example, die replace- reproducible failure See systematic failure.
ability of a new version of a software product is
important to the user when upgrading. Replace- reproduction in evolutionary computation,
ability may include attributes of both installabil- the process of creating a new individual from
ity and adaptability. one or more of the original individuals in the
population.
replacement policy the paging policy that
determines which page should be removed from required function a function of an item
primary memory if all page frames are full. which is necessary to provide a given service.
replay See reversible execution. required product quality the quality rep-
resented by the essential requirements stated in
replication the storing of data at more than the Software Requirements Specification, which
one site. can be evaluated through validation.
repository a place in which documents, source required service the totality of functions re-
code, etc. are stored. For a tool, it represents quired to be performed by an item on behalf of
the core, which is typically a database manage- its users.
ment system, where all generated documents are
stored. requirement an essential condition or fea-
ture that a system has to satisfy.
representation error the error that arises
from the limitations of finitude imposed by the requirements acquisition the collection of
machine. For example, the decimal 1/3 cannot requirements is the process in which all the fea-
be represented exactly as a fixed-point number tures that have to be included in the systems are
in decimal, nor can the decimal 1/10 be repre- collected. Typically the collection of require-
sented exactly as a fixed-point number in binary; ments is a document in natural language which
both would require an infinite number of digits. may include technical details in some specific
aspects. They can be incomplete and incon-
representation problem building models sistent. In some cases, in order to be capable
to understand software systems is an important of verifying their completeness and consistency
part of reverse engineering. Formal and explicit they are formalized with formal languages.
model building is important because it focuses
attention on modeling as an aid to understand- requirements analysis a phase of software
ing and results in artifacts that may be useful to development life-cycle in which the business re-
others. The representation used to build models quirements for a software product are defined
has great influence over the success and value of and documented. When the requirements are
420
residual error
collected and formalized with a formal language The traceability of the requirements allow veri-
or model, the analysis verifies their complete- fication of how a required functionality has been
ness and consistency. implemented and which parts of the system have
been influenced by its presence.
requirements engineering a nexus between
social science and computer technology. It in- requirements validation the process that al-
cludes the elicitation and analysis of the require- lows demonstration of the validity of require-
ments of the user as well as ways of identify- ments, showing that the requirements will lead
ing sources. Requirements engineering leads to to production of the right systems with respect
the production of a requirements specification to the needs. This is performed by verifying the
which is understandable to the end user (client) requirements against test cases.
and from which the software design can be eas-
ily created. requirements verification the process that
allows verification of the completeness and the
requirements for quality expression of the consistency of the requirements. It has to
needs or their translation into a set of quanti- demonstrate the system correctness.
tatively or qualitatively stated requirements for
the characteristics of an entity to enable its re- rescalable an optimization where given any
alization and examination. The requirements instance of the problem and integer A. > 0, there
for quality should be expressed in functional is an easily computed second instance that is the
terms and documented. It is crucial that the same except that the objective function for the
requirements for quality fully reflect the stated second instance is (element-wise) A. times the
and implied needs of the customer. Quantita- objective function of the first instance. For such
tively stated requirements for the characteristics problems, the best one can hope for is a multi-
include, for instance, nominal values, rated val- plicative performance guarantee, not an absolute
ues, limiting deviations, and tolerances. one.
requirements traceability the property that residual error the degree of misfit between
allows the tracing of the requirements along the an individual data point and some model of the
development life-cycle up to the final product. data. Also called a residual.
421
residual vector quantization
residual vector quantization See interpola- resource analysis the process in which the
tive vector quantization. resources that are needed for a project are com-
pared with those that are available.
residue in computer arithmetic, the remain-
der from the division of one integer by another. resource authorization authorization to cre-
ate new relations.
residue number system a system in which a
number is represented by the set of its residues resource conflict the situation when a com-
relative to a given set of numbers known as the ponent such as a register or functional unit is
moduli. required by more than one instruction simulta-
neously. Particularly applicable to pipelines.
resolution (1) indicates the number of pixels resource deallocation the mechanism by
per image. It is often represented in this format: which the resources assigned to a project are re-
N x M where N and M are the number of pixels moved from it to return to the general resource
per column and row, respectively. pool of the factory, research group, etc.
(2) refers to the ability to resolve two point
targets which are closely spaced in time or fre- resource editor an application which edits
quency. For a linear system, resolution can be the values and objects that are placed in a re-
measured in terms of the width of the output source segment.
pulse produced by a point target.
(3) the minimum controllable displacement resource fork the name Macintosh environ-
of a robotic manipulator. ment uses to refer to a resource segment.
resource (1) the consumable elements that resource management the process of iden-
tifying, estimating, allocating, and monitoring
are used by a process, i.e., decreased in value
the resources of the project.
when used (e.g., personnel time — effort, fi-
nance, facilities, equipment, tools, energy, ma-
chinery, materials, facilities, transportation, pa- resource measure a measure defined for
per, diskettes, ink, etc.). Software tools are not some attribute of a resource. Different types of
measures have to be defined depending on the
"consumed" in the normal sense of the word,
resource type.
but are still resources, e.g., computer hardware
will be "amortized" during development, and
resource segment a segment of the exe-
software licenses will consume cash. Overhead
cutable file which holds resources.
costs (heating, lighting, rent of office space, etc.)
also represent the consumption of resources.
resource sharing the situation in which a re-
(2) any abstract machine environment entity source can be accessed simultaneously by mul-
referenced by the program unit and explicitly tiple processes.
allocated to this unit.
(3) in the world of Graphical User Interfaces, resource utilization the capability of the soft-
the arrangement of interface elements such as ware product to use appropriate amounts and
buttons, check boxes, and so on, within a win- types of resources when the software performs
dow are often represented by storing their geo- its function under stated conditions.
metric information in an entity known as a re-
source. This entity is usually bundled into the respecify changes to requirements character-
executable file by creating a resource segment istics. This type of change can refer to changing
(or on the Macintosh, what is called a resource only the form of existing requirements. For ex-
fork) to hold it. Many systems include other ample, taking informal requirements expressed
interface elements, including message strings, in English and generating a formal specification
bitmaps, and the like as resource objects. expressed in a formal language such as Z. This
422
return address
type of change can also refer to changing system result equivalence where two or more sched-
requirements. Requirement changes include the ules produce the same database state.
addition of new requirements or the deletion or
alteration of existing requirements. retargeting the re-engineering process of
transforming and hosting or porting the existing
response store in associative memory the tag system in a new configuration. This could be a
memory used to mark memory cells. new hardware platform, new operating system
or a new CASE platform. See adaptive mainte-
responsibility any purpose, obligation, or re- nance.
quired capability of the instances of a class or
package. A responsibility is typically imple- retention constraint a constraint in the net-
mented by a cohesive collection of one or more work model which specifies whether a record
features. A responsibility can be a responsibil- of a member record type may exist in the data-
ity for doing, a responsibility for knowing, or a base on its own or whether it must have a related
responsibility for enforcing. owner.
responsibility-driven a suite of design tech- retiming the technique of moving the delays
niques in which the focus is upon the identifica- around the system. Retiming does not alter the
tion of the responsibilities rather than the data latency of the system.
or the functionality. One relevant and popular
technique is CRC card modeling in which de- retire unit in modern CPU implementations,
velopers role-play objects. This is sometimes the module used to assure that instructions are
called anthropomorphizing. completed in program order, even though they
may have been executed out of order.
restart the act of starting again a hardware
retrace time amount of time that a blanked
or software process.
vertical retrace takes for a display device. Note
that this time is less than the time the display is
restore to recreate the current or earlier state blanked.
of a database from a backup.
retroreflector a type of surface with unusual
restoring division the main operation in divi- reflectance characteristics, namely, that it re-
sion is the subtraction of a multiple of the divisor flects light mainly back in the direction from
from the partial dividend. In restoring division which it came. This makes retroreflecting sur-
the partial dividend is modified immediately af- faces appear much brighter than matte surfaces,
ter the subtraction but should the new value be if the light source is in the same direction as
negative (assuming positive operands), an addi- the viewer, and dark otherwise. Retroreflecting
tion is subsequently used to restore its original surfaces are often found on road markings and
value before the next subtraction. See also non- signs.
performing division, non-restoring division.
return a construct in a programming lan-
restricted universe sorts algorithms that op- guage which causes control to be transferred
erate on the basis that the keys are members of from a function back to the site that made the
a restricted set of values. They may not require function call. In some languages, there may be
comparisons of keys to perform the sorting. no overt syntactic construct that performs this
transfer, but it may be implicit in the structure
restructuring the engineering process of of the program.
transforming the system from one representa-
tional form to another at the same relative level return address the address of an instruction
of abstraction, while preserving the subject sys- following a call instruction, where the program
tem's external functional behavior. returns after the execution of the call subroutine.
423
++return instruction
return instruction an instruction, when exe- reverse engineering the process of analyz-
cuted, gets the address from the top of the stack ing an existing system to identify its components
and returns the program execution to that ad- and their interrelationships and create represen-
dress. tations of the system in another form or at a
higher level of abstraction. Reverse engineer-
return-to-bias recording See magnetic ing is usually undertaken in order to redesign
recording code. the system for better maintainability or to pro-
duce a copy of a system without access to the
return-to-zero recording See magnetic design from which it was originally produced.
recording code.
reverse execution See reversible execution.
reusability the ability to use or easily adapt
the hardware or software developed for a system reverse Polish notation See postfix, Polish
to build other systems. Reusability can be ap- Notation.
plied at any scale, e.g., analysis diagrams, code,
patterns, frameworks, or components.
reverse specification any technique intended
to extract a description of what the examined
reusable component a component whose in-
system does. The description is made in terms
terface and functionalities are designed to be
of the application domain. Specification in this
reused in more than one project or system.
context means an abstract description of what
the software does. In forward engineering, the
reuse using code developed for one applica-
specification tells us what the software has to
tion program in another application. Tradition-
do, but this information is not included in the
ally achieved by using program libraries.
source code. Only in rare cases can it be recov-
Object-oriented programming offers reusa-
ered from comments in the source code and from
bility of code via mechanisms of inheritance
the people involved in the original forward engi-
and genericity. Class libraries with intelligent
neering process. On one hand, this process must
browsers and application generators are under
be bottom-up since the only reliable description
development to help in this process. Polymor-
of the behavior of software is its source code.
phic functional languages also support reusabil-
On the other hand, reverse specification must
ity while retaining the benefits of strong typing.
be top-down also. Trivially, knowledge of the
application domain is necessary to describe in
reuse analysis the process in which the pos-
terms of the application domain.
sibilities for reusing software components are
analyzed on the basis of the needs and the for-
mal description of the available components. reversible execution a debugging approach
in which the evolution of the execution is reg-
reused code code that is being reused (in- istered and then is reproposed under the user
cluded in a system different from that for control. See capture and playback.
which it has been developed) without being pro-
grammed from scratch. review a process of meeting in which the
planned results and costs are compared with the
reuse engineering the modification of soft- obtained results and costs. This process is per-
ware to make it more reusable, usually rebuild- formed with the support of the project person-
ing parts to be put into a library. nel: manager, sub-system managers, and users,
customers, etc.
reverse appraisal review of higher managers
by their employees. Useful issue since many review cycle the cycle of approval that one
problems are caused by management and are goes through when working on large software
not of a technical nature. Normally done via projects. Can take time when it is on more than
questionnaires on an annual basis. one location.
424
RISC technology
REVOKE an SQL command that may be propriate) p times the optimum. The ratio p is
used to revoke privileges previously granted. the performance ratio of the algorithm.
revolute joint a joint characterized by a ro- Rice's model a method of complex asymp-
tation angle which is the relative displacement totics that can handle certain alternating sums
between two successive links. arising in the analysis of algorithms.
rewrite rule (1) in a formal grammar, a for- ridge detection See edge detection.
mal specification of a rule to transform a se-
quence of tokens into a different sequence of right associative an interpretation of infix
tokens. operators in which operations of equal opera-
(2) in processing a tree, a specification for tor precedence are interpreted as binding to the
transforming some subtree into a different sub- right, for example, A * B * C is interpreted
tree. as A * (B * C). A language may be right as-
sociative independent of its specified operator
rewriting system a general mechanism precedence, and some languages are right asso-
which transforms input strings to output strings. ciative with no operator precedence. See also
All automata are rewriting systems, as are com- left-associative.
putationally equivalent mathematical systems
such as Post productions or Turing machines. right outer join an outer join between two
relations, whereby all the tuples from the right-
most operand (right relation) are included.
REXX a scripting language developed on
IBM mainframes and available on several other
rigid body motion motion of bodies which
systems.
are assumed not to change their shape at all, i.e.,
deformation is absent or is neglected. In con-
RGB color model the most widely used im-
trast, non-rigid body motion takes deformation
age representation, where color is represented
into consideration.
by the combination of the three primary colors
of the additive light spectrum.
rigid job a parallel job for which the number
If the R, G, and B components are defined of processors is determined outside the sched-
as scalars constrained to a value between 0 (no uler and the processor allocation remains un-
intensity) and 1 (maximum intensity), all the de- changed until the job completes.
finable colors will be bounded by a cube and it is
typical to describe RGB combinations as coor- ringing in image processing, the occurrence
dinates on the cube (r, g, b). For example, pure of ripples near edges in an image processed by
red is (1,0,0) and the secondary color cyan is (0, a lowpass filter with a steep transition band.
1, 1); darker colors have values closer to (0,0,
0) (black) and lighter colors have values closer ripple adder See ripple-carry adder.
to (1,1,1) (pure white).
See also tristimulus value, color space. ripple-carry adder a basic n-bit adder that
is characterized by the need for carries to prop-
RGB true color an RGB color system with agate from lower- to higher-order stages.
24 bits per pixel color resolution. This gives a
choice of over 16 million colors per pixel. Such RISC See reduced instruction set computer.
a system is generally known as a true color or
full color system. RISC processor See reduced instruction set
computer.
^-approximation algorithm an approxima-
tion algorithm that is guaranteed to find a solu- RISC technology See reduced instruction set
tion whose value is at most (or at least, as ap- computer.
425
risk
risk a measure of the cost of operating a sys- a ranked and relative ordering of the risk items
tem, derived by combining hazard probability, identified and analyzed.
danger, and severity of mishap. Risk is defined
as the possibility of loss or injury. Risk exposure risk resolution and monitoring production
is defined by the relationship of a situation in which the risk items are elim-
inated or resolved. Risk monitoring involves
RE = P(UO)*L(UO), tracking the project's progress towards resolv-
ing its risk items and taking corrective action
where RE is the risk exposure, P(UO) is the where appropriate.
probability of an unsatisfactory outcome, and
P(LO) is the loss to the affected parties if the river routing a single-layer channel routing
outcome is unsatisfactory. Examples of unsat- problem in which each net contains exactly two
isfactory outcome include schedule slips, bud- terminals, one at the top edge of the channel and
get overruns, wrong functionality, compromised one at the bottom edge of the channel. The nets
non-functional requirements, user-interface have terminals in the same order along the top
shortfalls, and poor quality. and bottom — a requirement if the problem is
to be routable in one layer.
risk analysis the assessment of the loss prob-
ability and loss magnitude for each identified RLL See run-length limited code.
risk item. Prioritization involves producing a
ranked and relative ordering of the risk items RMS See root-mean-squared error.
identified and analyzed.
RM W memory cycle See read/modify/write.
risk identification the production of a list
of project specific risk items that are likely to Roberts gradient a morphological gradient
compromise a project's success. For example, calculated using a set of two images that when
risk identification is the generation of checklists used in windowed convolution provides an edge
of likely risk factors. filter.
426
ROM
jects; robots operate in a spatially complex en- With image data, robust procedures are those
vironment; the description and representation that are able to detect objects without becom-
of three-dimensional objects in a computer are ing confused by partial occlusions, noise, clut-
imprecise; and sensory information has to be ter, object breakages, and other distortions.
monitored, manipulated, and properly utilized.
Robot programming languages can be spliced robust statistics the study of methods by
into three categories: which robust measures may be extracted from
1. Specialized manipulator languages which statistical or numerical data, thereby exclud-
are built by developing a completely new lan- ing measurements which are unlikely to be reli-
guage. An example is the VAL language devel- able and weighting other measurements appro-
oped by Unimation, Inc. priately, thereby increasing the accuracy of fi-
2. Robot library for an existing computer nally assessed values. Of specific interest is the
language. It is a popular computer language systematic elimination of outliers from the input
augmented by a library of robot-specific subrou- data. See also robustness, median filter.
tines. An example is PASRO (Pascal for Robots)
language. ROI See region of interest.
3. Robot library for a new general-purpose
language. These robot programming languages role a class or an entity can play a role in
have been developed by first creating a new gen- a system a different role in another. In object-
eral purpose language, and then supplying a li- oriented programming, the relationship of spe-
brary of predefined robot-specific subroutines. cialization is sometimes defined by considering
An example is AML language developed by the specialization of the roles of the real entities
IBM. which are internally modeled as classes.
robot vision a process of extracting, charac- role modeling identification and description
terizing, and interpreting information from im- of the roles played in a system. These are tem-
ages of a three-dimensional world. This process porary and parallel ^classifications. Typically
is also called machine or computer vision. an object might have a permanent type, such as
person, but then for a short period of time take
robust box bound a set of upper and lower on the classification of traveler or teacher.
bounds for closed multiclass queueing networks
that are robust in the sense that they are based on rollback (1) an operation that undoes all of
minimal assumptions about the stochastic nature the computations performed after some previ-
of the system. They are called box bounds be- ously stored state, typically through the use of
cause they enclose a rectangular polytope of fea- recovery blocks. See also commit.
sible throughput region in the multidimensional (2) SQL92 standard term for an abort.
throughput space each dimension in which cor-
responds to the throughput of a particular class. roll forward to reinstate database changes
by applying after images.
robust fuzzy controller a fuzzy controller
with robustness enhancement or robust con- roll in to transfer data or computer program
troller with fuzzy logic concepts. segments from auxiliary storage to main mem-
ory.
robust fuzzy filter a fuzzy filter with ro-
bustness enhancement or robust filter with fuzzy roll out (1) to transfer data or computer pro-
logic concepts. gram segments from main memory to auxiliary
storage for the purpose of freeing the main mem-
robustness the degree to which a system or ory.
component can function correctly in the pres- (2) to go live with a new software product.
ence of invalid inputs or stressful environmental
conditions. ROM See read-only memory.
427
root
root (1) a user with special privileges, usually for a programming language to make the rotate
reserved for a system administrator. operation visible to the programmer, but many
(2) in overlaying memory management, the compilers can take advantage of this operation
portion of memory containing the overlay man- to generate faster code for special cases.
ager and code common to all overlay segments,
such as math libraries. rotation a geometric transformation that
See also root node, root symbol. changes the orientation of an object, extended
light source, or viewpoint. Specific rotations
root class in object-oriented modeling, it is are often represented by a matrix /?, which then
the base/super class common to all the classes transforms point p to the new position Rp. Ro-
of a class tree. A system may have one or more tation and many other simple transformations
root classes. can be done simultaneously if positions and di-
rections are represented in homogeneous coor-
root directory the directory highest in a hi- dinates.
erarchy.
rotational latency the time it takes for the
root-mean-squared (RMS) error (1) the desired sector to rotate under the head position
square root of the mean squared error. before it can be read or written.
(2) in robotics, the average square of devia-
tions from a prescribed path; a measure of the rotational position sensing mechanisms
quality of movements. used in disks to recognize the different sectors
in a track and synchronize the different bits in a
root node a node in a graph which has the sector.
property that it has no arcs leading into it. A
graph in general may have multiple roots. A
rounding an operation which modifies
tree is a graph which has a single designated
a floating-point representation considered in-
root, among its other properties. A special case
finitely precise in order to fit the required final
of a tree which has only one node where the node
format. Usually an attempt is made to minimize
is both a root node and a leaf node. If the graph
the error involved. Common rounding modes
is a lattice or semi-lattice, it also has a single
include round to nearest, round toward zero, and
root node, called the top node.
round toward positive or negative infinity. See
also chopping, round-to-nearest, jamming, trun-
root symbol a designated nonterminal sym-
cation.
bol in a grammar, the starting point for all sen-
tences generated by the grammar.
rounding bias the tendency of a rounding
root user See super user. procedure to round in just one direction. A bi-
ased method is upward biased or downward bi-
rotate a low-level operation available on ased, according to whether the expected value
many machines which computes a result by of the rounding error is positive or negative.
treating the representation as if it were repre-
sented in a circular fashion, with the low-order rounding digit after an alignment shift, the
bit adjacent to the high-order bit, and thus com- second most significant of the digits shifted out
puting the new result based on performing a shift of the significand proper.
operation where the bits "shifted in" to one side
of the value are the bits that had been shifted out rounding error See round-off error.
of the other side. Also known as a circular shift.
A common variant is to treat the machine rounding overflow overflow that occurs dur-
value of n bits as consisting of n +1 bits for pur- ing rounding, usually as a result of upward
poses of the shift, where the extra bit is a state rounding being down as an addition, in the least
value such as the carry flag. It is uncommon significant bit position, followed by truncation.
428
routing probability
429
routing protocol
routing protocol a mechanism by which net- minimum bounding rectangles of the elements
work switches discover the current topology of immediately below it. The elements at the deep-
the network. est level of the hierarchy are groups of spatial
objects. The result is usually a nondisjoint de-
row-access strobe See two-dimensional composition of the underlying space. The ob-
memory organization. jects are aggregated on the basis of proximity
and with the goal of minimizing coverage and
row decoder logic used in a direct-access overlap. See also b-tree, p-tree (2), p-tree (3).
memory (ROM or RAM) to select one of a num-
ber of rows from a given row address. See also RTTI acronym for run-time type informa-
two-dimensional memory organization. tion.
row level lock a lock applied to a single row RJU See remote terminal unit.
in a table.
rule a fundamental concept in database the-
RFC See remote procedure call. ory. A rule, "A {Bi A J?2 A ... A Bn}" denotes
a statement that an atomic formula A — called
RPG acronym for RePort Generator, a lan- the head or conclusion — should be inferred,
guage developed by IBM to allow nonprocedu- if the atomic formulas BI , 62,... , Bn — their
ral specification of reports from databases. conjunction is called the body or precondition
— have been inferred already. See also clausal
RPN acronym for reverse Polish notation. form.
See Polish Notation.
For example, the rule brother(P,B)
{father(RF)A father(B,F)A different(RB)A
RR See round-robin system.
male(B)} states that if a person F is the father
RS flip-flop a single-bit, storage element, of two different persons P and B, and B is male,
usually formed by connecting two NOR or then B is called a brother of P.
NAND gates in series. RS stands for Reset-Set.
For state variable Q and next state variable Q1 rule modeling identification and description
the simplified truth table is given as of business rules. They are "declarations of pol-
icy or conditions that must be satisfied" (OMG,
R S Q Q1 1988). Some authors discriminate between con-
0 0 0 0 straint rules (which specify policies or condi-
0 0 1 1 tions) and derivation rules (for inferring or com-
0 1 0 0 puting facts from other facts).
0 1 1 0
1 0 0 1 run a single, usually continuous, execution
1 0 1 1 of a computer program.
1 1 0 X
1 1 1 X
run-length coding See run-length encoded.
the symbol "X" is used to denote an unknown
state for the flip-flop. See JK flip-flop. run-length encoded a lossless compression
technique where the image is stored as a se-
RSGNN See recursive self-generating neural quence of triples specifying a pixel at which the
network. image is black such that the pixel to the left is
white for a specified run length.
RTOS See real-time operating system.
run-length limited code (RLL) a line code
r-tree an object hierarchy where associated which restricts the minimum and/or maximum
with each element of the hierarchy is the min- number of consecutive like-valued symbols that
imum bounding rectangle of the union of the can appear in the encoded symbol sequence.
430
rvalue
431
sample
s
safety-critical software software that per-
forms (or controls a subsystem that performs) a
safety-critical function.
safety (1) the probability that a system will Sagittal projection a projection of a three-
either perform its functions correctly or will dis- dimensional object onto a two-dimensional
continue its functions in a well-defined, safe plane which intersects the object in a front to
manner. For system safety, all causes of failures back direction dividing the objects into right and
which lead to an unsafe state shall be included: left halves. Typically with reference to an ani-
hardware failures, software failures, failures due mal or human body.
to electrical interference, and human interaction,
and failures in the controlled object. The sys- salient feature a characteristic often local
tem safety also depends on many factors which feature on an object which can be detected and
cannot be quantified but can only be considered used as part of the process of inferring the pres-
qualitatively. ence of an object from its features. Typical
(2) in a database, a rule where all variable salient features include point features such as
symbols "X" occurring anywhere in the rule are corners and small holes, or fiducial marks (e.g.,
safe. "X" is safe if it occurs in a regular body on printed circuit boards), but may in addition
atom (i.e., an atom that does not have a built- include large-scale straightforwardly detected
in predicate symbol) or in an atom "X = f" or features such as large circular holes which can
"f = X" with the built-in predicate symbol "=", also aid the inference process.
such that all variable symbols in the term "f" are
safe. salt and pepper noise See impulse noise.
safety-critical a system whose failure may SAM See standard additive model.
cause injury or death to human beings. For ex-
ample, an aircraft or nuclear power station con- sample a single measurement that is taken
trol system. Common tools used in the design to be representative of the measured property
of safety-critical systems are redundancy and over a wider area, frequency range, or time pe-
formal methods. riod. When recording digital sound, a sample is
a voltage measurement that reflects the intensity
safety-critical function a function that can of the acoustic signal at a particular moment, and
cause or allow a hazard to exist. has a time period associated with it; that is, the
0-8493-2691-5/01/$0 00+S.50
© 2001 by CRC Press LLC 433
sample space
sample represents the signal until the next mea- saturation (1) with respect to color, the
surement is made. In a digital image, a sample is amount or purity of the color seen. A pure color
a single measurement of light intensity at a par- is said to be fully saturated, and the saturation
ticular point in the scene, and that measurement decreases as white is added to the mix. The color
is used to represent the actual but unmeasured pink, for example, is a less saturated version of
intensity at nearby points. red.
(2) the condition where the system load
sample space the set of all possible samples reaches its capacity. The server is busy 100%
of a signal, given the particular parameters of of the time.
the sampling scheme.
save instruction an assembly language in-
sampling function a mathematical function struction that saves information about the cur-
used when sampling a signal. In particular, a rently executing process.
sampling function S(t) can be multiplied by the
continuous function to be sampled, F(f), to ob- savepoint See checkpoint.
tain the sampled version of F. S is most often
a collection of equally spaced impulses. scalability the degree to which a system
can be expanded by duplicating its components,
without degradation of performance due to com-
sandbox a term used to describe a limited
munication overhead and resource conflicts.
operating environment in which a program will
be executed. The limited environment is in-
scalable video coding compression of video
tended to isolate the program so that it cannot
such that transmission at different data rates,
read, modify, or damage the system in which
or reception by decoders with differing perfor-
it is executing. Languages such as JavaScript
mance, is possible merely by discarding or ig-
and VBScript usually execute in the context of
noring some of the compressed bitstream, i.e.,
a sandbox.
without recoding the data. The compressed data
are prioritized such that low-fidelity reconstruc-
satellite imagery the acquisition of pictures
tion is possible from the high-priority data alone;
of the earth from space. Satellite imagery can addition of lower-priority data improves the fi-
be used to enhance maps, collect resource in- delity.
ventories (e.g., forestry, water, land use), assess
environmental impact, appraise damage follow- scalar (1) a quantity that has magnitude but
ing a disaster, and collect information on the ac- no direction.
tivities of humans. Satellite imagery tends to be
(2) a simple numeric value, such as integer
multi-spectral, including a wide range of opti-
or floating point.
cal frequencies and, more recently, infrared and
(3) a value that represents a single object,
radar. See also remote sensing.
rather than an aggregate of objects (such as an
array).
satisfaction the degree to which the software
system is appreciated by the end-users. scalar processor a CPU that dispatches at
most one instruction at a time.
satisfiability relation a logic formula where
there exist values of the variables in the formula scalar quantization (SQ) quantization of a
for which the formula is true. scalar entity (a number as opposed to vector
quantization), obtained for example from sam-
saturated logic logic gates whose output is pling a speech signal at a particular time-instant.
fully on or fully off. The output voltage from Each input value to the quantizer is assigned a
such a switch or the current through such a reproduction value, chosen from a finite set of
switch is determined principally by the external possible reproductions. A device performing
circuit. Compare with active logic. scalar quantization is called a (scalar) quantizer.
434
scenario
scale (1) a set of values with defined prop- scan a parallel operation in which each ele-
erties. Examples of scales are: a nominal scale ment in an array receives the sum of all previous
corresponding to a set of categories; an ordinal elements.
scale corresponding to an ordered set of scale
points; an interval scale corresponding to an or- scan design a technique whereby storage el-
dered scale with equidistant scale points; a ratio ements (i.e., flip-flops) in an 1C are connected in
scale that not only has equidistant scale points series to form a shift-register structure that can
but also possesses an absolute zero; an absolute be entered into a test mode to load/unload data
scale corresponding to the counting of entities. values to/from the individual flip-flops.
Metrics using nominal or ordinal scales produce
qualitative data, and metrics using other scales scan line in a digital image, a contiguous set
produce quantitative data. A numerical relation of intensity samples reflecting one row or col-
system into which a mapping from entities in the umn of the image. A class of image processing
real world is defined (i.e., a measure) to charac- algorithms, called scan line or scan conversion
terize an attribute. methods, looks at the image one or two scan
(2) a property of an image relating the size lines at a time in order to achieve the goal.
of a pixel in the image to the size of the cor-
responding sampled area in the scene. A large scanline algorithm an algorithm that renders
scale image shows object features in more detail an image one row at a time, e.g., generates the
than a small scale image. (See also resolution.) image values for pixels left-to-right as it scans
(3) to change the size of (i.e., enlarge or shrink) across the image. After one row is generated,
the algorithm proceeds to the next row. One
an image or object while maintaining the overall
advantage of this algorithm is it can use less
proportions.
memory to generate the results for only single
(4) one of two parameters of a wavelet, the rows at a time. Another potential advantage is
other being translation. The scale specifies the a reduction in computation as the set of object
duration of the wavelet. primitives that need to be rendered at each pixel
along a scan line may not change very often, so
scaled integer arithmetic a computational some results calculated at one pixel can be used
technique that represents fractional values by at the next.
multiplying the desired value by a scaling fac-
tor so that the resulting value is represented as scanner (1) a device used for scanning writ-
an integer, for example, representing distances ten documents or printed pictures by tracing
in units of nanometers or time in microseconds. light along a series of many closely spaced par-
Often used in computations involving curren- allel lines.
cies to avoid the intrinsic errors of floating point (2) any device that deflects a light beam
representations. Also used on machines with no through a range of angles, using mecha-
floating point unit or very slow floating point nisms such as diffraction from electro-optic or
computations to improve performance. acousto-optic gratings or mechanical deflectors.
435
scene analysis
scription of system requirements. It may involve ple, the schema 1###0 is of order 2 and defining
the description of the typical operations that the length 3. See also schema theorem.
users of the system may need to perform on the
system with the results that are obtained. schema diagram (1) diagrammatic represen-
tation of the database schema.
scene analysis the process of extracting spe- (2) any object in the database schema.
cific features from a larger picture or scene. Typ-
ically, this process will involve object and fea- schema evolution a problem in persistent ob-
ture detection, inference of the presence of ob- ject storage in that as a system evolves, the data
jects from their features, projective invariance representation of objects may be modified to re-
properties, analysis of the play of light on sur- flect changes in the requirements or implemen-
faces, including approaches such as texture anal- tation. This requires that objects that already
ysis, and many other types of procedures. exist either have to be modified or newer ver-
sions of the application need to be able to read
schedulability analysis the compile time pre- older versions of the objects.
diction of execution time performance.
schema theorem a statement which charac-
terizes how the number of individuals associated
schedulability the property of a set of tasks
with a particular schema varies from generation
that ensures that the tasks all meet their dead-
to generation in genetic algorithms. Formally,
lines. .
the theorem can be summarized by the following
inequality:
schedule (1) to select units of concurrency
that are to be dispatched.
N(H, t+l)>N(H, I) (^=|7p)
(2) a group of transactions where each trans-
action's operations are (and must be) executed
in order; however, operations from two or more (,-^- p . 0(H) ),
transactions may be interleaved.
where N(H, t) and N(H , t 4- 1) are the num-
ber of individuals associated with schema H
scheduler a part of the operating system for
in the current and next generation, respectively,
a computer that decides the order in which pro-
/(//, 0 is the average fitness of those individ-
grams will run.
uals associated with //, /(//, t) is the average
fitness of all individuals in the population, pc is
scheduling in an operating system, schedul- the crossover probability, and pm is the mutation
ing of CPU time among competing processes. probability. In addition, O(H) andd(H) refer
to the order and defining length of schema H ,
schema (1) a description of the structure of respectively. Essentially, the theorem states that
an object. Plural: schemata. See also metadata. for those schemajfif with above average fitness
(2) in evolutionary computing, a symbol (i.e., /(//, /) > /(/)), a low order O(H ), and
string defined over the alphabet {0,1, #}, where a short defining length d(H), its corresponding
# is a wildcard symbol denoting either 0 or 1 for number of representatives N(H, t) in the popu-
the purpose of matching. The specified posi- lation will increase at an exponential rate. See
tions in a schema, i.e., those positions with defi- also building block, schema.
nite bit values rather than the # symbol, uniquely
characterize a set of binary symbols with identi- scientific notation a notation in which a value
cal bit values in the corresponding positions. For is adjusted so that it is expressed as a numeric
example, the schema 11## refers to any of the value in the range —10.0 < n < 10.0, fol-
strings 1100, 1101, 1110, and 1111. The order lowed by a power-of-ten multiplier. For ex-
of a schema is the number of specified positions, ample, 9999.7 is expressed as 9.9997 x 103.
and the defining length refers to the maximum Scientific notation is used, with some syntac-
length between specified positions. For exam- tic changes, to enter and display floating point
436
search tree
numbers into a computer. For example, most iosyncratic, rarely have a consistent syntax or
languages would allow the constant to be writ- semantics, and are often a blend of several lan-
ten as 9.9997E3, where E stands for "10 to the". guages including, in some cases, the native com-
See also floating-point constant. mand language of the underlying operating sys-
tem shell. Also called command language.
scientific visualization the use of computer
graphics techniques to represent complex phys- SCSI pronounced "scuzzy". See small com-
ical phenomena and multidimensional data in puter systems interface.
order to aid in its understanding and interpreta-
tion. SCSI adapter card which provides an in-
put/output port attachment from main processor
scope a context that controls the visibility memory to external storage devices and other
of, and interpretation of, names in a program- peripherals using the SCSI interface.
ming language. See also dynamic scope, lexical
scope, unbound name. SCSI throughput the speed with which the
SCSI interface adapter can send and receive data
Scoreboard term originally used for a cen- to and from a device connected to it.
tralized control unit in the CDC 6600 processor
which enabled out-of-order issue of instructions. sculptured surface a highly flexible surface
The Scoreboard unit held various information to generated by the combination of surface patches
detect dependencies. Now sometimes used for which have both their boundary curves and inte-
the simpler mechanism of having a single valid rior blending functions defined by polynomials
bit associated with each operand register. of, usually, at least order three. See also b-spline
and B6zier curve.
scotopic formally, a description of lumi-
nances under which human rod cells are active. SDL See specification and description Ian-
Informally, describing dim or night-time lumi- guage.
nances.
search to look for a value or item in a data
SCP See service control point. structure. There are dozens of algorithms, data
structures, and approaches. See also array, bi-
scrambling randomization of a symbol se- nary search, b-tree, dictionary, hash table, heap,
quence using reversible processes that do not inverted index, linked list, quadtree.
introduce redundancy into the bit stream. See
also self-synchronizing scrambling. search space the set of all potential solutions
to a problem, from which the correct solutions
screen See monitor. are to be chosen.
screen door transparency a technique for search tree a tree where every subtree of a
rendering the transparency of an object. The node has values less than any other subtree of
key idea is to render only some of the pixels the node to its right. The values in a node are
associated with the object, depending on how conceptually between subtrees and are greater
transparent the object is. than any values in subtrees to its left and less
than any values in subtrees to its right.
script a program written in a command Ian- Formally, each node in the search tree con-
guage. tains p — 1 search values and p pointers to other
nodes, i.e., (P\, K\, P2,... Kq-.\, Pq). Two
scripting language a programming language constraints are enforced:
designed for writing sequences of commands \.K\<K2<...Kq for all nodes and
that would otherwise have to be typed repeti- 2. for all values Z in a subtree referenced by
tively. Many scripting languages are highly id- Pj, Kj-i <Z< Kj.
437
secondary cache
See also binary search tree, b-tree. second-order type system a language sys-
tem that includes existential or universal quan-
secondary cache a buffer element between tification over type variables.
slow speed peripheral devices, such as disks, and
a high speed computer. sector See disk sector.
438
self-generating neural network (SGNN)
439
self-generating neural tree (SGNT)
age/video coding, large scale Internet informa- pare them to find the neuron closest to the train-
tion services, and speech recognition. See self- ing vector, i.e., the winner.
generating neural tree. See also self-organizing 2. Update the weights of the winner and its
neural tree. neighborhood according to
440
semantics
network size grows if the uniform tree structure self-synchronizing scrambling a technique
is adopted. The utilization may be improved if that attempts to randomize a source bit stream
a carefully designed structure is used, but how by dividing it by a scrambling polynomial us-
to obtain an optimum structure remains an issue. ing arithmetic from the ring of polynomials
Self-generating neural network (SGNN) may be over GF(2). Descrambling is performed with
a solution to this problem. See self-organizing only bit-level synchronization through continu-
system. See also self-generating neural net- ous multiplication of the demodulated sequence
work. by the same scrambling polynomial. The divi-
sion and multiplication procedures can be im-
self-organizing strategies heuristic that re- plemented with simple shift registers, enabling
orders a list of elements according to how the this technique to be used in very high bit rate
elements are accessed. systems.
self-organizing system a class of unsuper- self-test a test that a module, either hardware
vised learning systems which can discover for it- or software, runs upon itself.
self patterns, features, regularities, correlations,
or categories contained in the training data, and self-test and repair a fault tolerant tech-
organize itself so that the output reflects these nique based on functional unit active redun-
discoveries. dancy, spare switching, and reconfiguration.
self-similar in an image, when the structure semantic analysis See syntactic analysis,
of the whole is often reflected in every part. lexical analysis.
self-similar data traffic Network traffic that semantic description language a notation
consists of slow decaying "bursts" across all that incorporates both the concept of a formal
time scales. Unlike Poisson, or Markov-like syntax for a language and the concept of lan-
distributions with short-range dependence and guage semantics, such that sentences generated
fast decaying correlations, studies have shown by this language are both syntactically correct
the computer network traffic, such as Ethernet, and semantically correct.
WWW, and variable bit-rate video, is character-
ized by long-range dependence and burstiness semantic modeling a conceptual modeling
and can be more accurately modeled by a self- technique based on the concept of a class and its
similar stochastic process. properties.
self-similarity a fractal-like model of ran- semantic net a diagram using a graph struc-
dom error perturbations, introduced by Benoit ture to represent knowledge. Nodes represent
Mandelbrot in a 1965 paper, for data that ap- things and arcs joining them represent relation-
pears to come in bursts, as in the early hydro- ships. There are many kinds of semantic nets in-
logical data studied by Hurst. Such data shows cluding class diagrams, collaboration diagrams,
self-similarity over different time scales. See and context diagrams.
self-similar stochastic process, Hurst parameter.
semantics the meaning of a string or se-
self-similar stochastic process a stochastic quence of toke symbols in some language, as
process Xt is self-similar if the m-aggregated opposed to syntax which describes how symbols
series X(m) obtained by summing the original may be combined independent of their meaning.
series Xt over non-overlapping blocks of size The semantics of a programming language are
m has the same autocorrelation function r(k) = a transformation from programs to answers. A
E[(Xt -n)(Xt+k)—AOl as the original series for program is a closed term and, in practical lan-
all m. The distribution of the aggregated series guages, an answer is a member of the syntactic
is thus the same, except for the changes in time category of values. The two main kinds are de-
scale, as the original. notational semantics and operational semantics.
441
semaphore
See also static semantics, execution semantics, states due to only slight variance in the initial
syntax, pragmatics. conditions.
semaphore a variable used to synchronize sensor a transducer or other device whose in-
concurrent program units by two operations: put is a physical phenomenon and whose output
lock and unlock. Semaphores were promulgated is a quantitative measurement of that physical
by Edsger Dijkstra in 1965 (although they had phenomenon. Physical phenomena that are typ-
been invented in 1961). See also mutex, binary ically measured by a sensor include temperature
semaphore, critical section. or pressure to an internal, measurable value such
as voltage or current.
semidefinite programming a generalization
of linear programming in which any subset of the sensor alignment alignment of sensors so
variables may be constrained to form a semidef- as to correct the time delay differences arising
inite matrix. Used in recent results obtaining from spatial differences.
better approximation algorithms for cut, satisfi-
ability, and coloring problems. sentence (1) a sequence of symbols gener-
ated by applying the rules of a grammar.
semi-join a technique used to join relations (2) a sequence of symbols which cause an
located at different sites. Given relations R1 and automaton to enter an accepting state.
R2 stored at site 51 and 52, respectively, the
semi-join of Rl and R2 (i.e., Rl XA=B R2) is separable data a 2D signal that can be writ-
equivalent to performing a projects (R2) at site ten as a product of two ID signals.
51, transferring the result to 52 and performing
the join there. separable kernel for a 2D transform, a ker-
nel that can be written as the product of two
semi-lattice a directed acyclic graph that has ID kernels. For higher dimension transforms,
a single designated root node, called the top a separable kernel can be written as the product
node. Unlike a lattice, a semi-lattice has no of several ID kernels. See separable transform.
bottom node. A tree is a special case of a semi-
lattice in that in a tree there is a unique path from separable queueing network a set of inter-
the root node to any other node. The data types connected queues in which the joint distribution
of many programming languages form a semi- of the states of all queues factors into the prod-
lattice, particularly in object-oriented systems uct of marginal distributions. See also Jackson's
with a class structure. If multiple inheritance is theorem, product-form network.
not a capability of the type system, the types will
form a tree; if multiple inheritance is possible, separable transform a 2D transform that can
the types will form a semi-lattice. be performed as a series of two ID transforms.
In this case the transform has a separable ker-
semiorthogonal wavelets wavelets whose nel. The 2D continuous and discrete Fourier
basis functions in the subspaces are not or- transforms are separable transforms. In higher
thogonal but the wavelet and scaling subspaces dimensions a separable transform is one that can
spanned by these basis functions are orthogonal be performed as a series of ID transforms.
to each other.
separation theorem a theorem showing that
sense amplifier in a memory system, cir- two complexity classes are distinct. Most
cuitry to detect and amplify the signals from se- known separation theorems have been proved
lected storage cells. by diagonalization.
sensitive dependence on initial conditions, separator a syntactic mark that is used be-
a system that is subject to great variance in later tween syntactic constructs. For example, a
442
serial
comma is traditionally a separator in the pa- sequential consistency the situation when
rameters of a function call. See terminator. any arbitrary interleaving of the execution of
instructions from different programs does not
SEQUEL acronym for Structured English change the overall effect of the programs.
Query Language, developed by IBM for data-
base queries. Became SQL. sequential DCT-based encoding image en-
coding in which each image component is en-
sequence diagram a kind of interaction di- coded in a single left-to-right, top-to-bottom
agram in which time is shown linearly for each scan.
of the interacting objects. Messages passed be-
tween objects are also shown. Sequence dia- sequential decoding a sub-optimum decod-
grams are useful for focusing on temporal or- ing method for trellis codes. The decoder finds
dering of messages. a path from the start state to the end state us-
ing a sparse search through the trellis. Two ba-
sequence number attack an attack based on sic approaches exist: depth-first algorithms and
predicting and acknowledging the byte sequence breadth-first algorithms.
numbers used by the target computer without
ever having seen them. sequential divider a divider in which quo-
tient bits are produced at a rate of one per addi-
tion/subtraction cycle.
sequence point a point in a program, ei-
ther explicit (such as a semicolon, or just before
sequential fault a fault that causes a combi-
a function call after all parameters have been
national circuit to behave like a sequential one.
evaluated) or implicit (such as an end-of-line)
that indicates that all computations preceding it
sequential file See sorted file.
must be completed before any computation fol-
lowing it is performed. Note that with an op-
sequential locality part of the principle of
timizing compiler the evaluation order implied
(spatial) locality, that refers to the situation when
by a sequence operator may be changed by the
locations being referenced are next to each other
compiler if such a change does not violate the
in memory. See also principle of locality.
semantics of the program; that is, the resulting
program performs the identical computation as
sequential multiplier a multiplier in which
one which is not optimized.
product bits are produced at a rate of one per
addition cycle.
sequency coefficients the coefficients gen-
erated when multiplying an image by the
sequential-parallel divider a divider in
Hadamard matrix.
which quotient bits are produced at a rate of a
few bits (concurrently) per addition/subtraction
sequential access (1) access to a file in a cycle.
linear manner.
(2) retrieving data from sequential devices sequential-parallel multiplier a multiplier
like cartridge tapes. Before the nth datum is in which product bits are produced at a rate of a
retrieved, the first through n — 1th data item few bits (concurrently) per addition cycle.
must be bypassed. Compare with direct access,
random-access. serial executed sequentially, one operation
at a time, until completion. Generally, there is
sequential-access storage storage, such as an explicit or implicit interdependence of op-
magnetic tape, in which access to a given loca- erations performed in a serial fashion such that
tion must be preceded by access to all locations any other sequence would produce a different
before the one sought. See also random-access result. In many cases, underlying machine ar-
device. chitectures are obliged to maintain serial seman-
443
serial adder
tics even when the machine can perform one or serialization graph a means of represent-
more operations in parallel. Serial semantics ing a transaction history, showing interactions
may be based strictly on the original coding of between reads and updates of data.
the program, or a compiler may be permitted to
change the order, subject to the restrictions of serially reusable a description of a section
a sequence point. See also collateral execution, of code which can be executed by at most one
parallelism. thread of control at a time. If other threads of
control must be locked out, a synchronization
serial adder a one-digit adder in which mechanism may be necessary to avoid concur-
n-digit addition is performed by feeding in rent access. Contrast with reentrant code.
operands one digit-pair at a time.
serial multiplier a one-digit multiplier in
serial bus a data communication path be- which /i-digit addition is performed by feeding
tween parts of the system that has a single line in operands one digit-pair at a time.
to transmit all data elements.
serial operation data bits on a single line are
serial divider a one-digit divider in which transferred sequentially under the control of a
n-digit addition is performed by feeding in single signal.
operands one digit-pair at a time.
serial port a communications interface that
serial I/O interface I/O interface consisting supports bit by bit data transmission.
of a single line over which data is transferred one
bit at a time. Commonly used for low-speed serial printing printing is done one charac-
devices, e.g., printer, keyboard, etc. See also ter at a time. The print head must move across
parallel I/O interface. the entire page to print a line of characters. The
printer may pause or stop between characters.
serializable a transaction isolation level that Printing speed is usually given in units of char-
guarantees concurrent serializable transactions acters per second (cps).
produce the same result, when the same transac-
tions are run serially. A serializable transaction serial schedule a schedule where all oper-
prevents dirty reads, non-repeatable reads, and ations for each transaction in the schedule are
phantoms. executed together; i.e., operations from differ-
ent transactions are not interleaved.
serialization (1) forcing operations to oc-
cur in a serial fashion, even when the operations serial transmission a process of data transfer
could be performed in parallel. Serialization is whereby one bit is transmitted at a time over a
usually accomplished by one or more synchro- single line.
nization mechanisms. Serialization is manda-
tory when the correctness of the computation server (1) a computer that serves, through
depends upon, or might depend upon, the exact storage of data and execution of programs, a
order of computation. Common examples of se- number of peripheral computers or terminals
rialization are multiple processors that want to connected through a computer network.
write into the same region of memory, or two (2) a program that provides services to
packets, arriving on different input links to a other programs (named client). The connection
node in a network, that both want to exit on the among clients and server is normally managed
same output link. by means of message passing, often over a net-
(2) converting an internal data structure rep- work. Sometimes a special protocol to encode
resentation to an external one, generally with or encrypt the client's requests and the server's
the implication that the external representation responses is adopted. In general, the server runs
could be converted to an equivalent internal rep- continuously (e.g., a daemon) waiting for the
resentation at a later time. See also pickling. client requests.
444
set-membership uncertainty
445
set partitioning
suboptimal filtering and control laws similar to shadowing (1) excess propagation loss re-
the optimal ones for the energy-type constraints. sulting from the blocking effect of obstacles
Generally efficient results might be found only such as buildings, trees, etc.
for bounding sets parameterized by a little num- (2) the statistical variation of propagation loss
ber of parameters. Except for the ellipsoids, in a mobile system between locations the same
such property is endowed only by polyhedral distance from a base station, usually described
sets bounding uncertain variables. In this case by a log normal distribution.
efficient results could be reached by the use of
linear programming algorithms. shadow map a pre-computed array used to
test if points on object surfaces are in shadow.
set partitioning rules for mapping coded se- The array contains depth values from the view-
quences to points in the signal constellation that point of a point light source giving the distance
always result in a larger Euclidean distance for to the first object surface encountered. If a given
a trellis coded modulation system than for an pixel in the environment is not contained in the
uncoded system, given appropriate construction array, then it is in shadow. This method is use-
of the trellis. Used in coded modulation for op- ful for quickly re-rendering an image from sev-
timizing the squared Euclidean distance. eral different viewpoints or when several light
sources are used — each would then have its
set theory theory governing sets and the set own shadow map.
operators.
shadow paging a database recovery tech-
set type a description of a 1:N (1 to many) nique that uses copies of physical database
relationship between two record types. pages.
446
shared memory architecture
Communication", he established the field of in- shape function a function that gives the
formation theory by developing the relationship possible dimensions of the layout of a com-
between the information content of a message ponent with a flexible (or not yet completely
and its representation for transmission through determined) layout. For a shape function s :
electronic media. [U>min» 00] -* [/imin, OO] with [u^n, 00] and
[Amin» oo] subsets of 91"1", s(w) is the minimum
Shannon information the information con- height of any rectangle of width w that contains
tent of an event x with a probability of occur- a layout of the component.
rence of p(x) defined as
shape-gain vector quantization (SGVQ) a
/(*) =-log/>(*). method for vector quantization where the mag-
nitude (the gain) and the direction (the shape)
The unit of / (x) depends on the base of the log- of the source vector are coded separately. Such
arithm — "bits" for base 2, "nats" for the natural an approach gives advantages for sources where
logarithm. See also entropy. the magnitude of the input vector varies in time.
Shannon's law See Shannon's source coding shape measure a measure such as circularity
theorem. measure (compactness measure), aspect ratio, or
number of skeleton nodes, which may be used
Shannon's sampling theorem states that to help characterize shapes as a preliminary to,
when an analog signal is sampled, there is no or as a quick procedure for, object recognition.
loss of information and the analog signal can be
reconstructed by low-pass filtering, if and only shaping a traffic policing process that con-
if the largest (absolute value) frequency present trols the traffic generation process at the source
in that signal does not exceed the Nyquist fre- to force a required traffic profile.
quency, this being half the sampling frequency.
shared-disk architecture a parallel database
Shannon's source coding theorem a ma- management system architecture where any pro-
jor result of Claude Shannon's information the- cessor has access to any disk unit through the in-
ory. For lossy source coding it gives a bound to terconnect but exclusive (nonshared) access to
the optimal source coding performance at a par- its main memory.
ticular rate ("rate" corresponds to "resolution").
The theorem also says that the bound can be met
shared file system files residing on one com-
by using vector quantization of (infinitely) high
puter that can be accessed from other computers.
dimension. For lossless source coding the theo-
rem states that data can be represented (without
loss of information) at a rate arbitrarily close to shared lock a lock that permits concurrent
(but not lower than) the entropy of the data. See readers access to an object.
also entropy, rate-distortion theory.
shared memory characteristic of a multi-
shape analysis the analysis of shapes of ob- processor system in which all processors in the
jects in binary images, with a view to object or system share access to the main memory. In a
feature recognition. Typically, shape analysis is physically shared memory system, any proces-
carried out by measurement of skeleton topol- sor has access to any memory location through
ogy or by boundary tracking procedures includ- the interconnection network.
ing analysis of centroidal profiles.
shared memory architecture a computer
shape from the recovery of the 3D shape of system having more than one processor in which
an object based on some feature (e.g., shading) each processor can access a common main mem-
of its (2D) image. ory. See shared memory.
447
shared variable
shared variable a variable that can be ac- shifter thatcomponent of thecomputer which
cessed by two or more concurrent program units. performs a shift or rotate operation. The prop-
erties of a shifter are usually of great interest
sharpening the enhancement of detail in an to a compiler writer, since the performance of
image. Processes that sharpen an image also the compiled code can be greatly improved if an
tend to strengthen the noise in it. See also edge efficient shifter is known to exist.
enhancement, gradient, image enhancement,
Laplacian operator, noise, Sobel operator. shift instruction a program instruction in
which data in a register or memory location is
shell (1) program that accepts user input and shifted one or more bits to the left or right. Data
performs the operations specified by such in- shifted off the end of the register or memory
put. This may involve performing specific oper- location is either shifted into a flag register, used
ations, executing programs, and modifying to set a condition flag, or dropped, depending on
state. A synonym is command interpreter. implementation of the instruction.
(2) the language used by a shell. Often a
full programming language constitutes a shell shift register a register whose contents can
language. See shell language. be shifted to the left or right.
(3) common name for a Unix command pro-
cessor.
Shockley, William (1910-1989) Born: Lon-
don, England.
shell language a language used to write pro-
grams for a shell or command interpreter. Shockley is best known as one of the devel-
opers of the transistor. In 1956 Shockley, along
shell program See shell script. with John Bardeen and Walter Brattain, received
the Nobel Prize for his work. Schockley led
shell script a program file consisting of a se- the group at Bell Labs responsible for the semi-
ries of shell commands and shell programming conductor research that led to the development
constructs. Shell scripts are ASCII text files. of the "point-contact transistor". In later life
Shockley became known for his controversial
shell sort a diminishing increment sort where public pronouncements on various political and
the first increment is the smallest power of 2 genetic issues.
less than half the number of items to be sorted
(2Ltog2"J-i) and each succeeding increment is short-circuit evaluation a term applied to
half. the evaluation of Boolean expressions which im-
plies that only as much of the expression needs
shell variable a name-value pair created and to be evaluated as will uniquely determine the
maintained by the shell; often used to specify result. For example, in the expression (A and B),
operational parameters to the shell. if A evaluates to false, B need not be evaluated
at all, since its evaluation will not change the
shift a low-level operation on the bits of a value of the expression. Generally used in pro-
value in which the result is computed by chang- gramming languages so illegal conditions can
ing the positions of the bits by a linear motion be bypassed; for example, "if n is not zero and
towards the high-order bit ("shift left") or the q divided by n is greater than 5" means that if n
low-order bit ("shift right"). If the high-order is zero, the division will not occur because the
bit represents the sign, there may be variants conjunction is false. Note that some languages
such as signed shift and unsigned shift. Contrast will not short-circuit an evaluation if they detect
with rotate. In some languages, these operations that there are side effects from the evaluation
are directly visible to the programmer. Whether of later terms. Other languages state that either
these operations are visible or not, compilers the side effects are guaranteed to not occur, or
may take advantage of the existence of such op- that the meaning of the program is undefined
erations to generate more efficient code. because the side effects may or may not occur.
448
signal detection
shortened code a code constructed from an- Sierpinski triangle a fractal generated by re-
other code by deleting one or more message peatedly dividing a triangle into four self-similar
symbols in each message. Thus, an (/?, k) orig- ones and removing the inner fourth one.
inal code becomes an (n - 1, k - 1) code after
the deletion of one message symbol. sieve of Eratosthenes an algorithm to find
all prime numbers up to a certain N. Begin with
shortest common superstring the shortest an (unmarked) array of integers from 2 to N.
possible string that contains as substrings a num- The first unmarked integer, 2, is the first prime.
ber of given strings. Mark every multiple of this prime. Repeatedly
take the next unmarked integer as the next prime
shortest job first a scheduling discipline that and mark every multiple of the prime.
selects the job with the smallest execution time
to run on the node. sigmoid function a compressive function
that maps inputs less than -1 to approximately
shortest job next a scheduling policy that re- zero, inputs greater than 1 to approximately 1,
lies on running the program unit with the shortest and maps values from -1 to 1 into the range 0 to
job. 1. A common sigmoid function is
show stopper a problem that is so severe that
it stops or cancels an entire project.
1
l + «-f
shrinking phase the phase in which locks
Sigmoid functions are often used as activation
are released by a transaction operating under the
functions in neural nets. See also activation
two-phase locking protocol.
function.
shuffle See permutation.
signal (1) in synchronization, an indication
sibling node a sibling is a node in a tree that that a semaphore, mutex, or other synchroniza-
has the same parent node as another node. The tion primitive may permit one or more threads of
two nodes are siblings. control waiting on the synchronization primitive
to proceed in execution.
side effect an effect, intended or unintended, (2) in some languages, a mechanism that
of performing a computation. Even intended causes a control transfer to a specified handler.
side effects can change the meaning of a program This transfer may be asynchronous, for exam-
if they violate referential transparency; for ex- ple, as an interrupt, or synchronous, performed
ample, "h(x) + g(x)" appears to be an addition at a point chosen by the programmer.
and, consequently, under the commutative rule
should be equivalent to "g(x) + h(x)"9 but only signal averaging an averaging process which
if the computations of function g cannot affect is used to enhance signals and suppress noise,
the computation of function h and vice-versa. thereby improving the signal to noise ratio. See
When side effects are present, the language's also averaging.
specification of evaluation order may be critical,
or the compiler's ability to reorder evaluations signal decimation See decimation.
may be limited by the language's specification of
evaluation order. See also aliasing, short-circuit signal detection detecting the presence of a
evaluation. signal in noise.
449
signaling channel
signaling channel a means of information representation, each digit can assume one of the
flow inherent in the basic model, algorithm, or values-1,0, and 1.
protocol and, therefore, implementation invari-
ant. signed shift a shift operation in which a shift
toward the low-order bit creates new high-order
signal processing a generic term which refers values by copying the sign bit as often as needed
to any technique that manipulates the signal, in- to supply the new values. Compare with un-
cluding but not limited to signal averaging, sig- signed shift.
nal conditioning, and signal recognition. When
applied to images, it is normally referred to as sign flag a bit in the condition code regis-
image processing, the term signal processing ter which indicates whether the numeric result
usually being reserved for ID signals. of the execution of an instruction is positive or
negative (1 for negative, 0 for positive).
signal recognition the recognition of signals
by appropriate analysis, often with the help of significant! the mantissa portion of a floating-
filters such as matched filters or frequency do- point number in the IEEE 754 floating-point
main filters. standard. It consists of an implicit or explicit
leading integer bit and a fraction.
signal variance See variance.
significant digit an approximate value repre-
sign-and-magnitude notation the computer sented in radix r is said to be correct to n signif-
equivalent of paper-and-pencil representation of icant digits if the absolute error from the corre-
signed numbers. A number is represented by sponding exact result is no greater than r~n/2.
one bit or digit used for the sign and other digits
used for the unsigned magnitude. sign-magnitude representation a number
representation that uses the most significant bit
signature (1) a characteristic easily com- of a register for the sign and the remaining bits
puted feature or function by which a particular for the magnitude of a binary number.
object or signal may be at least tentatively iden-
tified. An example is the centroidal profile for signum function the function
I
an object having a well-defined boundary.
-hi t>Q
(2) a prototype of a function. Provides a defi-
0 f=0
nition, often as a forward reference, to a function
-1 /<0.
to simplify the design of a compiler.
(3) a value that is used as a component of a Used in modeling numerous types of system
data structure to identify the nature of the infor- functions.
mation contained therein.
silver bullet syndrome the idea that a single
signature analysis an analysis of the signa- tool or method can make large improvements
ture to extract the desired (signal) information. solving all problems in productivity or other
high level feature.
sign bit the bit, typically the high-order bit
of a numeric value, that indicates its sign. In SIMD pronounced "sim-dee". See single in-
most machines, 2's-complement representation struction stream, multiple data stream.
is used, and the high-order bit is 0 for positive
values and 1 for negative values. See also un- similarity measure the reciprocal concept of
signed integer. distance measure. See distance measure.
450
simultaneous resource possession
simple cell refers to the possibility of divid- and processing of distinct events, such as queu-
ing the receptive fields of visual cells into sepa- ing systems. Continuous Simulation Languages
rate excitory and inhibitory zones. simulate systems characterized by complex but
mathematically continuous problems such as
simple tandem queue a queueing system fluid dynamics, stress analysis, and the like.
where customers follow one routing chain from Simulation languages are used when the prob-
the outside world to the first queue, then to the lem does not have a closed form mathematical
second queue, and finally return to the outside solution and the results must be computed at
world. See also tandem queues. each individual step.
451
single-address computer
(such as main memory and the CPU) before ser- single inline packaging (SIP) a method of
vice can begin. packaging memory and logic devices on small
PCBAs with a single row of pins for connection.
single-address computer a computer based
on single-address instructions. In such a ma- single-input-single-output (SISO) system
chine each instruction specifies at most one a system that transforms one input signal to one
operand, the second operand (when required) output signal. Also known as single variable
being implicitly a single designated register, the (SV) system. See also multiple-input-multiple-
accumulator. See also two-address computer, output system.
zero-address computer.
single instruction stream, multiple data
stream (SIMD) a computer where each pro-
single-address instruction a CPU instruc-
cessing element is executing the same (and only)
tion defining an operation and exactly one ad-
instruction, but on different data. SIMD com-
dress of an operand or another instruction.
puters include systolic, wavefront, and vector
processors. Pronounced "sim-dee". SeeFlynn's
single-address machine See single-address taxonomy.
computer.
single instruction stream, single data stream
single-chip microprocessor a microproces- (SISD) a computer architecture where the
sor that has additional circuitry in it that allows CPU processes a single instruction at a time and
it to be used without additional support chips. a single datum at a time, von Neumann proces-
sors are the most common form of SISD proces-
sor. See Flynn's taxonomy.
single-destination shortest-path problem
a problem in computability theory. The prob-
lem is to find the shortest path from each ver- single layer perception an artificial neural
tex in a weighted, directed graph to a specific network consisting of a single layer of neurons
destination vertex. Equivalent to the single- (perceptions) with an input layer. See also mul-
source shortest-path problem with all directions tilayer perceptron, perceptron.
reversed. See also graph, all pairs shortest path.
single point failure a system failure due to
the failure of a single component.
single-extended precision See single preci-
sion. single precision in a given computer sys-
tem, the smallest format used for the representa-
single inheritance a subclass that has only tion of floating-point numbers; in IEEE-754, the
one class as a parent class. The obtained class single-precision format is 32 bits wide. Single-
(named derived class or subclass) inherits the in- extended precision uses more bits but no more
stance variables (attributes) and methods having that twice single precision; in DBEE-754, single-
predefined visibility scopes (i.e., in C++ public extended precision is between 43 and 64 bits
and protected) and may add new attributes and wide.
new methods or overwrite the existing methods, Historically, single precision computations
adding functionalities. See inheritance, multiple could be performed more quickly than double
inheritance. precision computations, hence their reflection
into programming languages.
single-inline memory module (SIMM) a
miniature circuit board that contains memory single program, multiple data (SPMD) the
chips and can be plugged into a suitable slot dominant style of parallel programming, where
in a computer motherboard in order to expand all of the processors utilize the same program,
the physical memory. though each has its own data.
452
size distribution
single-server queue a model in which a A. Any matrix can be represented in this way.
queue is served by one server. In image processing, SVD has been applied to
coding, to image filtering, and to the approxima-
single-source shortest-path problem a tion of non-separable 2D point spread functions
problem in computability theory. The problem by two orthogonal ID impulse responses.
is to find the shortest paths from a specific source
vertex to every other vertex in a weighted, di- sink node (1) a node in a network model
rected graph. See also all pairs shortest path, which receives traffic on its inputs, but does not
single-destination shortest-path problem, Dijk- generate any traffic back into the network.
stra's algorithm. (2) an output node.
single-valued attribute an attribute that may six connected See voxel adjacency.
have only one value for any entity.
six-sigma quality level this refers to a quality
singly linked list a list in which each cell has improvement method using statistics called six
a pointer only to its successor cell. sigma. The six sigma quality level is equivalent
to saying that the defect removal efficiency is
singularity analysis a complex asymptotic very high (about 99.9999%).
technique for determining the asymptotics of
certain algebraic functions. size distribution for a family of objects, a
function measuring the number or volume of
singular matrix a square matrix A is singular all objects in any size range. In mathematical
if its rows (or columns) are not linearly indepen- morphology, this notion is developed by anal-
dent. Singular matrices cannot be inverted, have ogy with a family of sieves: each sieve retains
zero determinants, and have linearly dependent objects larger than a given size, and lets smaller
columns and rows. objects go through; when two sieves are put
in succession, this is equivalent to using the
singular set a set with no owner record type. finest sieve. This idea is formalized by taking
a one-parameter family of morphological oper-
singular value decomposition (SYD) useful ators Yr (r > 0) such that for all objects X, F,
decomposition method for matrix inverse and and r, s > 0, one has
pseudoinverse problems, including the least- 1. Yr(X) < X, that is, yr is anti-extensive;
squared solution of overdetermined systems. 2. X < Y implies that yr(X) < yr(F), that
SVD represents the matrix A in the form A = is, Yr is increasing;
U A z V, where A is a diagonal matrix whose en- 3. Yr(Ys(X)) = Xmax(r,,)(X).
tries are the singular values of A, and U and V In particular, each Yr is an algebraic open-
are the row and column eigenvector systems of ing, and for s > r we have ys(X) < Yr(X).
453
skeleton
skew See also tape skew. slicer a device that estimates a transmitted
symbol given an input which is corrupted by
skewed addressing See interleaved memory. (residual) channel impairments. For example, a
binary slicer outputs 0 or 1, depending on the
skip instruction an assembly language in- current input.
struction that skips over the next instruction
without executing it. slicing floor plan a floor plan which can be
obtained by the recursive bipartitioning of a rect-
Skolem standard form a form for first-order angular layout using vertical and horizontal line
logical formulas in which all existentially quan- segments.
tified variables are replaced by constants or by
functions of constants and universally quantified sliding window in an ARQ protocol, the
variables. (sliding) window represents the sequence num-
bers of transmitted packets whose acknowledg-
SLDNF-resolution a concept in database ments have not been received. After an ac-
theory. Extends SLD-resolution for deductive knowledgement has been received for the packet
databases with default negation in rule bodies. whose sequence number is at the tail of the win-
The SLDNF-resolution of a default negated lit- dow, its sequence number is dropped from the
eral t|C succeeds (fails), iff the SLD-resolution window and a new packet whose sequence num-
for C fails (succeeds). ber is at the head of the window is transmitted,
causing the window to slide one sequence num-
SLD-refutation a concept in database the- ber.
ory. If through a sequence of steps of SLD-
resolution for a deductive database DB start- slow start in TCP a characteristic of the
ing with a goal "Go {A^ A ... A Am}" the goals sliding window protocol that is used in TCP to
GO, GI ,... , Gk have been constructed, where guarantee reliability between the sender and the
the final goal "Gk {}" has zero body atoms, receiver. The sending window starts out small
i.e., Gk denotes the textitcontradiction, then and gradually increases in size as a function of
this shows that DB U { GO } is inconsistent, the measured round-trip time and receipt of suc-
which in turn gives a proof of the conjunction cessful acknowledgments. This characteristic
A-|0 A ... A Am0 from DB, where 9 is die com- causes the sender to initially pause and wait for
position of the unifiers that have been used. acknowledgements on the first packets that are
454
soft computing
sent. If acknowledgments are received, then the of refraction, such as air and glass or air and
sending window is increased so that the sender water. It is expressed by nisin(^i) = n2sin(^2>
no longer has to wait. where n\ and HI are the index of refraction of
the two media. <f>\ and <fc are the angles which
small computer systems interface (SCSI) the boundary surface normal makes with the in-
a high-speed parallel computer bus used to in- cident light ray and the refracted light ray, re-
terface peripheral devices such as disk drives. spectively.
Pronounced "scuzzy".
SNOBOL a string-pattern-matching lan-
Smalltalk an object-oriented polymorphic guage. See also ICON, awk.
language developed at Xerox Palo Alto Re-
search Center. snooping bus a multiprocessor bus that is
continually monitored by the cache controllers
smart card credit-card-sized device contain- to maintain cache coherence.
ing a microcomputer, used for security-intensive
functions such as debit transactions. snoopy cache a type of cache used in sym-
metric multiprocessing computers. In such a
smoothing any process by which noise is configuration each processor usually has a pri-
suppressed, following a comparison of potential vate cache as well as shared main memory. With
noise points with neighboring intensity values, a snoopy cache, when one processor performs a
as for mean filtering and median filtering. Also, write to main memory across the shared system
a process in which the signal is smoothed, e.g., bus, the other processor will monitor the bus to
by a low-pass filter, to suppress complexity and detect this write, and update any values that are
save on storage requirements. in the local cache at the time of the write. The
next time a read is performed from the second
smoothing filter an operation applied to an processor, the value in the local cache of this
image to suppress random additive pixel noise. processor will be valid.
smooth shading a method of polygon shad- snow noise noise composed of small, white
ing where calculations are performed for the ver- marks randomly scattered throughout an image.
tices, and values for pixels inside the polygon Television pictures exhibit snow noise when the
are derived from linear interpolation of the ver- reception is poor.
tex values.
Sobel masks a set of two images that when
SMP See symmetric multiprocessor. used in windowed convolution provides an edge
filter. See Sobel operator.
SMS See service management system.
Sobel operator a common digital approxi-
mation of the gradient V/, often used in edge
snake energy-minimizing contour that com- detection. It is specified by the pair of convolu-
bines internal constraints on its shape, such as tion masks
smoothness of the contour, and external con-
straints from the image, such as brightness or - 1 0 1 -1 -2 -1
gradient magnitude. Also called an active con-
|£« -2 0 2 , g * 0 0 0.
- 1 0 1 1 2 1
tour.
The respective mask responses, gx,gy, are com-
snapshot a dynamic dump of the contents of ponents of the local vector gradient, from which
one or more specified memory areas. edge magnitude and direction can be calculated
straightforward.
Snell's law a law defining how light is bent or
refracted when it passes through a boundary be- soft computing an association of computing
tween two dielectric media of different indices methodologies centering on fuzzy logic, artifi-
455
soft deadline
cial neural networks, and evolutionary comput- software complexity See complexity.
ing. Each of these methodologies provides us
with complementary and synergistic reasoning software component a component that con-
and searching methods to solve complex, real- sists solely of software.
word problems. See also fuzzy logic, neural
network.
software defect a perceived departure in a
software product from its intended properties,
soft deadline a deadline that can always be
which if not rectified, would under certain con-
missed without severe consequences.
ditions contribute to a software system failure
(departure from required system behavior dur-
soft decision demodulation that outputs an
ing operational use).
estimate of the received symbol value along with
an indication of the reliability of that value. It is
usually implemented by quantizing the received software design a phase of software devel-
signal to more levels than there are symbol val- opment life-cycle that maps what the system is
ues. supposed to do into how the system will do it in
a particular hardware/software configuration.
soft-decision decoding decoding of encoded
information given an unquantized (or finely software development cycle See life-cycle.
quantized) estimate of the individually coded
message symbols (for example the output di- software development life-cycle a way to
rectly from the channel). Compare with hard- divide the work that takes place in the develop-
decision decoding. ment of an application.
soft failure See fail soft. software engineering (1) a systematic ap-
proach to the analysis, design, assessment, im-
soft link a directory entry that refers to a file
plementation, test, maintenance, and reengi-
via another directory entry and provides indirect
neering of software; that is, the application of
access to a file. Compare with hard link.
engineering to software. In the software engi-
neering approach, several models for the soft-
soft real-time system a real-time system in
ware life cycle are defined, and many method-
which failure to meet deadlines results in per-
ologies for the definition and assessment of the
formance degradation but not necessarily fail-
different phases of a life-cycle model are char-
ure. Compare with firm real-time system, hard
acterized and exploited. Software engineering
real-time system.
methodologies and techniques often use CASE
tools for aiding the process of development and
software all or part of the programs, pro-
assessment.
cedures, associated data, use, operation, rules,
and associated documentation of an information (2) the study of the techniques and ap-
processing system. Software is an intellectual proaches according to (1).
creation that is independent of the medium on
which it is recorded. software evolution the accommodation of
perfective, corrective, and adaptive mainte-
software bottleneck a saturated software nance, which may involve some reengineering
process that limits the increase in system perfor- activity. Those activities which are geared to-
mance. Typically occurs in multi-layered syn- ward improving the software itself, rather than
chronous client-server systems in which a server increasing one's understanding of the same. Ex-
is busy almost 100% of the time either executing amples include restructuring, redocumenting,
or waiting for response from lower level servers. and data reengineering. All are meant to evolve
the subject system from its current form to one
software characteristic See characteristic. that better meets the new requirements.
456
software quality assessment criteria
software factory a form of software devel- trol, or use hierarchies, partitioning functions,
opment first popularized in Japan. The idea is and allocating requirements) and how to repre-
to develop software in the same manufactured sent phase products (structure charts, stimulus-
manner as tangible items in a normal factory. response threads, and state transition diagrams).
software failure system failure due to the software metric a metric for assessing soft-
activation of a design fault in a software com- ware through measures. See metric, measure.
ponent. All software failures are design failures
because software consists solely of design and software off-the-shelf See off-the-shelf soft-
does not wear out or suffer from physical failure. ware.
software fault a design fault located in a software package a complete and docu-
software component. See fault. mented set of programs (synonymous with ap-
plication software) supplied to several users for a
software house a company mainly devoted generic application or function. Some software
to produce software products. packages are alterable for a specific application.
See package.
software inspection a process whereby a
team of software developers either follows se- software problem report See error report.
quences of state changes or possible execution
paths resulting from a particular series of events software process improvement the mech-
or inputs or, using a checklist of potential er- anism of improvement of the software devel-
rors, determines if similar errors are present in opment process. The improvement is typically
the code. reached by establishing a quality and cost con-
trol and by taking decision on die basis of the
software interrupt a machine instruction experience made on the quantitative analysis of
that initiates an interrupt function. Software in- the assessment result. In this way, a virtuoso
terrupts are often used for system calls because mechanism may be established for continuously
they can be executed from anywhere in memory improving the process of software development.
and the processor provides the necessary return
address handling. Also known as a Supervi- software product a set of computer pro-
sor Call instruction (SVC) (IBM mainframes) grams, procedures, and possibly associated doc-
or INT instruction (Intel X86). umentation and data. See product.
software library a controlled collection of software psychology area of study that at-
software modules and related documentation de- tempts to discover and describe human limita-
signed to aid in software development, use, and tions in interacting with computers. These lim-
maintenance. itations can place restrictions on and form re-
quirements for computing systems intended for
software life cycle the sequence of processes human interaction.
performed when developing and maintaining
software. See life-cycle process. software quality the totality of features and
characteristics of a software product that bear
software maintenance the set of modifica- on its ability to satisfy stated or implied needs,
tions to be performed on a software system in including internal and external aspects and con-
order to address new functionality, correct er- tributing to functionality, reliability, usability,
rors, and improve system characteristics. efficiency, maintainability, and portability of the
system under development.
software methodology the study of how
to navigate through each phase of the soft- software quality assessment criteria the set
ware process model (determining data, con- of defined and documented rules and conditions
457
software quality assurance (SQA)
which are used to decide whether the total qual- 3. the number of lines (carriage return) of
ity of a specific software product is acceptable or code.
not. The quality is represented by the set of rated Different size measuring techniques may have
levels associated with the software product. different consistency and reliability on different
languages and systems. Some of these may also
software quality assurance (SQA) a series depend on the style in which the program has
of activities that assist an organization in pro- been written. This is obviously an unsuitable
ducing high quality software. See assessment, feature.
quality.
software system architecture a definition of
software quality characteristic one of a set the software system in terms of computational
of attributes of a software product by which its components and interactions among the com-
quality is described and evaluated. A software ponents. Components are things such as clients
quality characteristic may be refined into multi- and servers, databases, filters, and layers in a
ple levels of sub-characteristics. These charac- hierarchical system. Interactions among com-
teristics are functionality, reliability, usability, ponents can be procedure call and shared vari-
efficiency, maintainability, and portability. able access, or client-server protocols, database-
accessing protocols, asynchronous event multi-
software quality metric a quantitative scale cast, and piped streams.
and method that can be used to determine the
value a feature takes for a specific software prod- software testing the process of examining
uct. the behavior of a program or part of a program
by executing it on selected or exhaustive sets
software reengineering the reverse analy- of input data. Testing is performed to discover
sis of an old application to conform to a new defects in a program. Testing is not the process
methodology. of confirming that a program is correct, nor is it
a demonstration that defects are not present.
software renovation See software reengi-
neering. software tool a computer program used to
help develop, test, analyze, configure, or main-
software requirements specification a de- tain another computer program or its documen-
liverable that describes all data, functional and tation; for example, automated design tools,
behavioral requirements, constraints, and vali- compiler, test tools, maintenance tools.
dation requirements for software.
software transformation See program
transformation.
software reuse the process that describes the
ability to reuse existing software in new appli-
software translation See program transla-
cations. When software is reused in its entirety
tion.
without changes, a gain in productivity is at-
tained. Critical for object-oriented design.
software volume a measure of the system
volume with specific metrics that take into ac-
software science a set of metrics also known count the number of operators and operands, an
as Halstead metrics. example is the program volume metric of Hal-
stead. See Halstead's metrics.
software size a measure of the dimension of
a software program. This measure is typically solid state disk (SSD) very large-capacity,
performed by counting: but slow, semiconductor memory that may be
1. the lines of code, used as a logical disk, extended main memory,
2. the number of tokens used (according to a or as a logical cache between main memory and
specific language), or conventional disk. SSD is typically constructed
458
source encoder
from DRAM and equipped with a battery to sort-merge join an implementation of the
make it non-volatile. First used in IBM 3090 join operator which is applicable if both rela-
and Cray-XMP computer systems. tions are physically sorted on the join attribute.
Both files are scanned in linear order with join
solvable problem a computational problem attributes of tuples in the two files checked dur-
that can be solved by a halting GOTO program. ing the scan.
The problem may have a nonbinary output.
sound deductive system a deductive system
SOM See self-organizing map. that produces only true statements of a theory.
sorting liked list a data structure where the source coding the process of mapping sig-
data to be sorted is a sequence represented as a nals onto a finite set of representative signal vec-
linked list. The goal is to rearrange the pointers tors referred to as codewords.
of the linked list so that the linked list has the
data in sorted order. source compression See source coding.
sort merge a sorting algorithm used to sort source encoder a device that substantially
records stored on disk. Initially, N blocks of file reduces the data rate of linearly digitized audio
are read into memory, sorted in memory, and signals by taking advantage of the psychoacous-
then written to disk. The second stage involves tic properties of human hearing, eliminating re-
merging these sorted sections. dundant and subjectively irrelevant information
459
source module
from the output signal. Transform source en- tation to write such complex code by providing
coders work entirely within the frequency do- well-structured control mechanisms that reduce
main, while time-domain source encoders work the need for the use of the GOTO statement.
primarily in the time domain. Source decoders Some languages (notably BLISS) eliminated the
reverse the process, using various masking tech- GOTO entirely. See also McCabe's metric.
niques to simulate the properties of the original
linear data. spanned organization a file organization in
which records may span more than one block.
source module a program unit that is the This is achieved by maintaining a pointer in one
input of a translation. block referencing the remainder of a record in
another block.
source node a node in a network model which
generates traffic, but does not receive any traffic spanning tree a connected, acyclic subgraph
from other nodes in the network; an input node. containing all the vertices of a graph.
source operand in ALU operations, one of SPARC See scaled processor architecture.
the input values.
sparse array an array that has very few val-
space-constructible function a function ues defined. A programming language or its
s(n) that gives the actual space used by some implementation may choose to provide a more
Turing machine on all inputs of length n, for all compact representation for a sparse array.
n.
sparse graph a graph in which | E\ <£ | V \2.
space sharing in multiple processor systems,
if more than one application is to be run on the
system at the same time, then space sharing oc- sparse index See non-dense index.
curs if some processors are allocated to the first
application, some to the second application, and sparse matrix a matrix that has relatively
so on, at the same time. An alternative is time- few non-zero (or "interesting") entries. It may
sharing, where all processors are allocated to be represented in much less than n x m space.
all executing applications at the same time, and See also ragged matrix.
each processor is time-shared by the processes
in the applications. sparse vector in computer instruction pro-
cessing, a matrix in which most elements have
space-time the product of the amount of such small values that they are treated as zeros.
memory and the amount of time used by a pro- Special representation schemes can be used to
cess. save memory space, with a cost of increased ex-
ecution time to access single elements of the
space-time constraint method for creating matrix.
automatic character motion by specifying what
the character has to be, how the motion should be sparsification technique for designing dy-
performed, what the character's physical struc- namic graph algorithms, which when applica-
ture is, and what physical resources are available ble transform a time bound of T(n, m) onto
to the character to accomplish the motion. O(T(n, ii)), where m is the number of edges,
and n is the number of vertices of the given
spaghetti code a programming style in which graph.
the control is so complex that it is likened to at-
tempting to follow a thread of spaghetti through sparsity used here to refer to LCS problem
a plate of spaghetti. The term is generally at- instances in which the number of matches is
tributed to Edsgar Dijkstra. Modern program- small compared to the product of the lengths
ming languages attempt to eliminate the temp- of the input strings.
460
specification fault
spatial database databases that store data uation Corporation (SPEC). SPEC benchmarks
and information pertaining to spatial locations. enable a common measure of performance
Support is provided for efficient querying and among processors of different architectures and
indexing of spatial locations. is source code independent.
spatial locality See locality. special file a point of interface to one of the
computer's hardware devices or a synchronized
spatial navigation the process of orienting communications channel (pipe) between coop-
and moving through a virtual environment. erating programs.
461
specification for exchange of text (SET)
speckle granular image noise due to fluctua- speculative execution synonym for specula-
tions in the number of photons arriving at an im- tive evaluation when implemented in computer
age sensor. Speckle often occurs in night-vision hardware.
equipment and X-ray images. Also called quan-
tum mottle. speech analysis process of extracting time-
varying parameters from the speech signal
specular component a component of light which represent a model for speech production.
reflected from a point in the mirror direction —
as if the surface was a perfect mirror. In prac- speech coding source coding of a speech sig-
tice this component is "empirically spread" to nal. That is, the process of representing a speech
simulate a practical glossy surface. signal in digital form using as low a rate (in terms
of, e.g., bits per second) as possible.
specular highlight a bright spot or highlight
on an object caused by angular-dependent illu- speech compression the encoding of a
mination. Specular illumination is dependent speech signal into a digital signal such that the
on the surface orientation, the observer location, resulting bit rate is small and the original speech
and the light source location. signal may be reproduced with as little distor-
tion as possible. The transformation of a coded
specular reflection one component of light speech signal into another coded speech signal
reflection at a surface point (see also diffuse of lower bit rate in such a way that there is in-
462
spiral model
463
spline
spline piecewise polynomial, with a smooth transferring data between peripheral equipment
fit between the pieces. See spline curve. and the processor.
spline curve a curve defined using a set of sporadic pertaining to a process or task ex-
control points (po, Pi, • • • PL)- Every control ecuting in a non-repeatable fashion, at some
point pk has an associated blending function, bounded rate.
» which is described within each span (//,
The blending function is a continuous sporadic system a system with interrupts oc-
piecewise polynomial, continuous at each knot curring sporadically.
and weighted by the polynomials. This gives a
curve p(t), which is the union of the piecewise sporadic task See aperiodic task.
polynomials where all segments meet.
spreadsheet a nonprocedural notation for
spline wavelet wavelet that is in the form of specifying computations based on individual
a spline. cells, rows, and columns of a table. Values are
computed by equations, rather than by specify-
split and merge procedure often used in im- ing an algorithm for evaluation.
age or signal segmentation. The procedure in-
volves splitting, iteratively applied if needed, the spurious interrupt unwanted, random
inhomogeneous regions of an image or sections interrupt.
of a discrete signal and followed by merging
similar regions or sections is a split and merge. SQ See scalar quantization.
SPMD See single program, multiple data. SRT division a division algorithm in which
a guess is made of the quotient digit (from a few
spool acronym for "simultaneous peripheral bits of the partial dividend and a few bits of the
operation on-line". Area managed by a process divisor) before the main subtraction is complete.
(called a spooler) where data from slow I/O op- SRT is commonly used in the implementation
erations are stored in order to allow their tem- of high-speed dividers. The name is derived
poral overlapping with other operations. from the first initials of its inventors: Sweeney,
Robertson, and Toch.
spooler the program that initiates and con-
trols spooling. SSD See solid state disk.
spooling the use of auxiliary storage as a stability (1) generally, the ability of a system
buffer storage to reduce processing delays when to achieve an equilibrium state.
464
stack overflow
(2) in a queueing or scheduling system, the missible strategies, then the set R(d\) defined
property of a system that the service rate is as [d (admissible for the follower): J^(d\, d) <
greater than or equal to the arrival rate. A sta- h(d\, <fe) for each admissible d%} is called the
ble scheduling algorithm will not make a stable optimal response or rational reaction set of the
system unstable. follower. Then a strategy d\ is a Stackelberg
(3) attributes of software that bear on the risk strategy for the leader if:
of unexpected effects of modifications. The ca-
pability of the software product to avoid unex- Jf = max J\(di,d2\
V
d2eR(d*l) '
pected effects from modifications of the soft-
ware. < max J\ (d\, di) ,
d2*R(di)
stable database the portion of the database for all admissible d\ . 7* is the Stackelberg cost
that is stored in secondary storage. of the leader and any d\ € R(d*) is an optimal
strategy for the follower that is in equilibrium
stable equilibrium a system which can not with djf. The pair (dj, d|) is a Stackelberg so-
easily be moved to a chaotic state. lution and corresponding values of the cost func-
tions give the Stackelberg equilibrium outcome.
stack a storage area that is nominally ac- The Stackelberg outcome of the leader may be
cessed solely in a last-in-first-out manner. In lower than his Stackelberg cost. If the rational
most machines, however, there is at least a means reaction set of the follower is a singleton, then
of accessing stack locations relative to a stack they are equal and they are not worse than the
pointer, and most of these additionally support outcome which could be achieved by the leader.
a frame pointer that allows a compiler to more
readily determine the offsets to locations repre- stack filter a positive Boolean function used
senting formal parameters and local variables. as a filter in conjunction with threshold sets.
Also called a pushdown stack, pushdown list, or
LIFO. stack frame a segment of a stack which pro-
vides the necessary context for the execution
stack algorithm a sequential decoding algo- of a function. A stack frame will include at
rithm for the decoding of convolutional codes, least space for the parameters to the function
proposed by Zigangirov in 1966. (when present), the return address to the caller,
and space for the local variables of the function.
stack architecture See zero-address com- Depending on the target architecture, additional
puter. information such as locations to save register
values, information for exception handling, and
Stackelberg equilibrium a hierarchical similar information may also be part of the stack
equilibrium solution in non-zero-sum games in frame. See also coroutine, frame pointer.
which one of the players has the ability to en-
force his strategy on the other players. The stack local variable a variable that is allo-
player who holds the powerful position is called cated on the stack when a context is entered and
the leader, while the other players who react deallocated when the context is exited. Syn-
to the leaders strategy are called the follow- onym for automatic variable. Sometimes re-
ers. In the case of multi-person games, there ferred to as a local variable although a name
exists a variety of possible multi-level decision with local scope does not necessarily have local
making structures with many leaders and fol- extent.
lowers. Thus, the definition of the von Stackel-
berg equilibrium is uniquely and clearly set only stack machine See zero-address computer.
for two-person decision problems but it could be
adopted for any given hierarchical structure. If stack overflow a condition in which the to-
J\, /2 denote cost functions of the leader and tal available space for the stack has been con-
the follower, respectively, and d\, di their ad- sumed, due either to excessive recursion or to
465
stack pointer
large blocks of stack-allocated storage being standard array decoding during decoding
used. of a forward error correction code, the process of
associating an error pattern with each syndrome
stack pointer a register in a processor that by way of a look-up table.
holds the address of the top of the stack memory
location. The address varies as information is standard error the I/O stream, usually as-
stored on or retrieved from the stack; it always sociated with the user's terminal display, where
points to the top of the stack. (by convention) a program outputs error mes-
sages and diagnostic information.
stage See segment.
standard input the I/O stream, usually asso-
staircasing image processing process in
ciated with the user's keyboard, where (by con-
which lines are scan-converted to fixed pixel grid
vention) a program reads its input.
points. The illuminated pixels often do not lie
on the true path of the line. The result is that
displayed lines are normally jagged in appear- standard output the I/O stream, usually as-
ance, an effect commonly known as the jaggies sociated with the user's terminal display, where
or staircasing. The effect can be reduced or (by convention) a program writes its output, pos-
eliminated by antialiasing. sibly excluding error and diagnostic messages.
stakeholder anyone who has an interest in a Standard Template Library (STL) a library
software development project. Typically, stake- of classes and methods defined for the C++ lan-
holders include the end users of the product, the guage as a set of templates (generic classes and
purchasers of the product (who may not be the methods). These classes and methods simplify
end users), the managers of the users, and the the use of C++ by providing a standardized and
developers and their managers. unified set of facilities such as iterators, enumer-
ators, and more to C++ programmers.
stale read See dirty read.
star-shaped polygon a polygon P in which
stand-alone pertaining to hardware or soft- there exists an interior point p such that all the
ware or a system that is capable of performing boundary points of P are visible from p. That
its function without being connected to other is, for any point q on the boundary of P, the
components. intersection of the line segment /?7#, which is
the boundary of P is the point q itself.
standard additive model (SAM) a fuzzy
system that stores IF-THEN rules that approxi- start bit the first bit (low) transmitted in an
mate a function F : X -> Y. In a simple SAM asynchronous serial transmission to indicate the
the rules may have the form "IF x = Aj THEN beginning of the transmission.
y = Bf, where x € X, y e K, and Aj, Bj are
fuzzy sets. The SAM then computes the output
F(x) given the input x using a centroidal de- start symbol a designated nonterminal sym-
fuzzifier. An example of a centroidal defuzzifier bol in a grammar, from which all sentence gen-
is eration starts, or which all parsing attempts to
*<"=1^
reach.
466
static
state (1) in an automaton, represents a com- mean "a computation returning a value which
putational stage of the process of processing an can be used in an expression, and which has no
input stream. side effects". Often implemented by compilers
(2) in any computation, the current set of val- as inline functions.
ues being operated upon.
state-oriented model a model based on state
state automaton See finite state machine. machines or their extensions.
state diagram (1) a form of diagram showing state space conditional code an approach
the conditions (states) that can exist in a logic where the number of codes is much less than
system and what signals are required to go from with conditional coding. The previous N - 1
one state to another state. pixels are used to determine the state Sj. Then
(2) a simple diagram representing the input- the 7-th variable word-length is used to code the
output relationship and all possible states of a value.
convolutional encoder together with the possi-
ble transitions from one state to another. Dis- state-space operator a representation for an
tance properties and error rate performance can individual action that maps each state into the
be derived from the state diagram. state resulting from executing the action in the
previous state.
state machine a software or hardware struc-
ture which can be in one of a finite collection state transition in a state machine, the event
of states. Used to control a process by stepping related to a change of state. Generally the tran-
from state to state as a function of its inputs. See sition is performed when a certain condition be-
also finite state machine. comes true while staying in the departing state
of the transition.
statement in most programming languages,
the basic unit of sequential computation. The The transfer of control from one state to an-
exact definition of what constitutes a statement other (possibly the same) state is affected by a
is language-dependent, but in traditional pro- production rule, which is a mapping from the
gramming languages an elementary computa- current input symbol, the current state, and the
tion that produces a result or modifies the flow values in the store (usually a pushdown stack),
of control of the program is a statement (as dis- to the new state. A state transition usually im-
tinguished from an expression or a declaration). plies reading one symbol from the input string.
Statements are usually basic objects of program See also lambda.
sequencing, and often are part of the specifi-
cation of evaluation order ("all computations state transition diagram (STD) a diagram
of one statement shall be completed before the consisting of circles to represent states and di-
next statement begins computations" is a typical rected arcs to represent transitions between the
specification). states. One or more actions (outputs) may be
associated with each transition. The diagram
statement coverage selecting and executing represents a finite state machine.
a series of test cases to ensure that every state-
ment in the code is tested at least once. state-translation function a function that
maps each state and action deterministically to a
statement function a construct in the FOR- resulting state. In the stochastic case, this func-
TRAN language (which has equivalents in some tion is replaced by a conditional probability dis-
other languages) which allows a programmer tribution.
to declare a single-line ("statement" in FOR-
TRAN) definition of a function. In this case, static (1) pertaining to an event or process
the word "function" is interpreted in the partic- that occurs before the execution of a computer
ular semantics of the FORTRAN language to program.
467
static allocation
(2) term used to describe memory that does static data member a data member, declared
not need to be refreshed periodically due to grad- as static, that becomes common to and shared by
ual discharge. all instances of a class.
(3) in many programming languages, a var-
iable whose scope is limited but whose extent static function (1) in C, a function whose
is permanent. Algol-60 is one of the earliest name is not exported from the module in which
languages to have used this designation. it appears.
(4) in C++, a static component is a component (2) in C++, a function that is not specific to
shared by all instances of objects of the type. See any object instance, and which may be called
also static member, static function. without having any object instance available.
(5) in C, a name which is not exported from
the module in which it appears. (Synonym: pri- static Huffman encoding See Huffman en-
vate). coding.
static allocation the mechanism by which static member in C++, the designation of a
the memory reserved for a variable is allocated value whose one instance is shared by all objects
at loading time and statically reserved at com- of the type. Synonym for class global member.
piling time. The size of the allocate memory is
determined on the basis of the variable declara-
static model in object-oriented analysis, it is
tion.
the definition of the system architecture based on
classes definition. The model also involves the
statically checked language a language description of internal design of classes, such as
where good behavior is determined before ex- attributes, member functions, cardinality, access
ecution. level, responsibility, etc.
static assertion an assertion about the system static random access memory (SRAM) ran-
that depends on elements that do not change their dom access memory that, unlike dynamic RAM,
truth value with time. retains its data without the need to be constantly
refreshed.
static binding association of the call of a
procedure with a specific procedure at compil- static scheduler a scheduler that can man-
ing time. In object-oriented programming and age the execution of processes that are known
in other dynamic typed systems, it implies the in advance. The scheduler establishes offline if
recognition at compile time of the type to which the execution of the processes can be done with
an instance belongs. It is also known as early the timing constraints specified. See dynamic
binding. See dynamic binding. scheduling.
static checking a collection of compile-time static scheduling (1) the scheduling process
tests, mostly consisting of type checking. that can be performed offline because all the tim-
ing constraints of the involved tasks to be sched-
static-column DRAM a DRAM that is or- uled are known. See dynamic scheduling.
ganized in the same manner as a page-mode (2) a scheduling approach, usually for mul-
DRAM but in which it is not necessary to tog- tiprocessor systems, in which the processor al-
gle the column access strobe on every change in location to a job does not change after the job
column address. starts running on the system.
468
stemming
static semantics semantics that are based STD See state transition diagram.
upon static analysis of the program. A program
that conforms to the rules of the grammar may steady state a state where characteristic sys-
still be invalid because of rules that are not part tem measures can be described as a stationary
of the formal grammar. An example of static random process. The system measures can be,
semantics is type checking. See also execution e.g., queue occupation, delay, or utilization. If
semantics. there are no inherent instabilities, a system can
reach steady state some time after a stationary
static storage (1) storage allocated at com- input process has been switched on. Reaching
pile time. the steady state is an important prerequisite for
(2) storage allocated when a program is evaluating mean values in a simulation.
loaded into memory, and whose addresses are
therefore fixed (static) for each object in the stor- steal/no-force a buffer management policy
age. Compare with dynamic storage. that allows committed data values to be over-
written on nonvolatile storage and does not re-
static type-checking the type-checking per- quire committed values to be written to non-
formed by the compiler in order to check if volatile storage. This policy provides flexibility
the constructs and expressions written in terms for the buffer manager at the cost of increased
of tokens and variables are consistent with the demands on the recovery subsystem.
types to which they refer.
steepest descent algorithm See gradient de-
static variable a variable whose scope is lim- scent.
ited by where it syntactically appears, but whose
extent is permanent. Steiner point (1) a point that is not part of
the input set of points, for instance, a point com-
statistical language model a powerful mech- puted to construct a Steiner tree.
anism for providing linguistic constraints to a
(2) a point with a particular geometric rela-
speech recognizer. The model specifies the set
tion to a triangle.
of follow words with associated probabilities,
based on the preceding n — 1 words. Statisti-
cal language models depend on large corpora of Steiner ratio for a given variant of the Steiner
training data within the domain to be effective. tree problem, the maximum possible ratio of the
Also called n-gram language model length of a minimum spanning tree of a set of
terminals to the length of an optimal Steiner tree
statistical pattern recognition methods for of the same set of terminals. Usually written p
carrying out the recognition of patterns on the (rho).
basis of statistical analysis. These methods are
typically based on the learning of unknown pat- Steiner tree a minimum-weight tree connect-
tern probability distributions from examples. ing a designated set of vertices, called terminals,
in a weighted graph or points in a space. The
statistical quality assurance a technique for tree may include non-terminals, which are called
process improvement based on the statistical Steiner vertices or Steiner points. See also Eu-
analysis of measurements of the product and the clidean Steiner tree, rectilinear Steiner tree.
process.
Steiner vertex a point that is not part of the
status register a register in a processor that input set of points, for instance, a point com-
holds the status of flags; individual bits in the puted to construct a Steiner tree.
register represent flag status.
stemming the reduction of morphological
s-t cut a partitioning of the vertex set into S and derivational variations of words to a com-
and T such that s e S and t 6 T. mon root form.
469
step edge
step edge an idealized edge across which the end-effector will deflect by an amount which de-
luminance profile takes the form of a step func- pends on the stiffness of the arm and the force
tion, i.e., a line separating two regions having applied. In another words, the stiffness of the
different average gray-levels. See edge. arm's end-effector determines the strength of the
manipulator arm. Usually the actuator itself has
stepwise refinement a technique for accom- a limited stiffness determined by its feedback
plishing functional decomposition or procedural control system, which generates the drive torque
design (also called partitioning). based on the discrepancy between the reference
position and the actual measured position. We
steradians the unit of solid angle. The solid model the stiffness by a spring contact that re-
angle corresponding to all of space being sub- lates the small deformation at the joint to the
tended is 4n steradians. Solid angle is defined force or torque transmitted through the joint it-
as the surface area of a unit sphere which is sub- self. It is called the joint stiffness.
tended by a given object.
still image stationary image or single frame
stereo the use of two images to generate a 3D as opposed to moving image or video. Includes
description. For example, two slightly different photographic images, natural images, medical
images are displayed in each eye of a virtual re- images, and remote sensing images. Usually
ality head mounted display in order to induce implies multilevel (grayscale or color) rather
an impression of 3D. Stereo matching is a pro- than bilevel.
cess by which two images of the same scene are
compared in order to deduce 3D information. still image coding compression of a still im-
age. A coder consists of the four steps: (i) data
stereo imaging See binocular imaging. representation (typically by transform, decom-
position into subbands, or prediction), (ii) quan-
stereopsis the recovery of depth (or relative tization (in which data is approximated or dis-
depth) by finding corresponding points in two carded according to some measure of its impor-
or more images of the same scene. See stereo tance), (iii) clustering of nulls (in which runs
vision. or blocks of zero values are coded compactly),
and (iv) entropy coding (in which the statistical
stereotype a user defined submetatype in properties of the data are exploited in lossless
UML. It represents a second and coincident compression).
classification. Thus, objects of an Apple class
might also be stereotyped as belonging to the Stirling's approximation n\ & J(2nn)
class called GreenObject. This extra annotation (n/e)n. See also factorial, gamma function.
would be given in UML as "GreenObject".
Stirling's formula J(2nn)(n/e)n < n\ <
stereo vision a vision model in which imaged J(2nn)(n/e)n(l + i^n). See also Stirling's
objects are projected onto two image planes, to approximation.
extract depth information from the scene. See
binocular vision. STL See Standard Template Library.
sticky bit after an alignment shift, the logical * stochastic neuron an artificial neuron whose
OR of all the bits shifted out except for the guard activation determines the probability with which
digit and the rounding digit. The bit is used its output will enter one of its two possible states.
during rounding, to check for the boundary case The most commonly used expression for the
in round-to-nearest rounding. probability that the neuron output y takes on the
value +1 is Pr [y = +1} = 1/(1 + <T2net/r),
stiffness of a manipulator arm an attribute where net represents the activation of the neu-
of robot arm. Assume that a force is applied ron and T is a quantity analogous to tempera-
to the end-effector of a manipulator arm. The ture which controls the uncertainty in the neuron
470
storage compaction
output. When T is infinite, a positive activation recorded as the random sampling proceeds, and
leads to an output of -1-1 with probability 0.5, the sampling does not terminate arbitrarily as
and when T is zero, a positive activation leads might occur in a deterministic search. Simu-
to an output of +1 with probability 1.0. lated annealing is an example of a stochastic
algorithm.
stochastic ordering a method to compare
two random variables. We say that random var- stochastic signal processing the branch of
iable X is stochastically larger than F, written signal processing that models and manipulates
as X >st Y if P[X > z]> P[Y > z], for all signals as stochastic processes rather than as de-
real z. A strong ordering between two random terministic or unknown functions. See also sig-
variables. nal processing, random process.
stochastic Petri net a Petri net in which the an operating system command to termi-
elapsed time from the moment that all of its in- nate the execution of a computer program.
put places are filled until a transition fires is
determined by a random variable. Typically,
stop bit the last bit (high) transmitted in an
these random variables are exponentially dis-
asynchronous serial transmission to indicate the
tributed, in which case the model is equivalent
end of a character. In some serial transmissions,
to a Markov process. one and half to two bits are used as stop bits.
stochastic process a collection of vector ran-
stopping criterion in artificial intelligence,
dom variables defined on a common probability
the conditions under which a set of instances is
space and indexed by either the integers (discrete
not further subdivided.
stochastic process) or the real numbers (contin-
uous stochastic process). A stochastic process
x = x(t) is a vector function of both time t and stopping time an event that can be recog-
the sample path. nized in real time without any knowledge of the
future that is used to terminate a measurement
stochastic sampling a type of sampling period. For example, the end of a fixed time
that varies the time intervals between samples. period, or the departure of a fixed number of
Stochastic sampling allows for a signal to be customers, or the entry into a particular system
sampled at a lower apparent sampling frequency state (e.g., server idle) could all be used as stop-
achieving equal results to a signal sampled at a ping times, while a time instant where the system
much higher sampling frequency. The appar- will remain idle for at least 30 minutes would not
ent benefits of stochastic sampling are counter- qualify.
balanced by the fact that the sampling interval,
since it is changing, must be recorded in addi- stop-word any word that contributes little to
tion to the signal samples, in order to reconstruct the semantic interpretation of a document. Usu-
the signal correctly. ally includes prepositions, conjunctions, and ar-
In image processing, stochastic sampling ticles. These are usually removed before com-
mitigates the visual effects of aliasing by sam- parisons in an information retrieval system.
pling in an irregular manner, rather than on a
regular grid. Recognizable aliasing artifacts are storage class a designation of types of stor-
replaced by noise, which viewers find less ob- age implemented on a machine. Storage classes
jectionable. See also jittering. may or may not be reflected in a programming
language. Examples of storage classes are inte-
stochastic search algorithm a form of opti- ger registers, floating point registers, main mem-
mization searching based on random sampling ory, and the stack, among others.
(Monte Carlo) methods where points v from
a set V are randomly chosen with probability storage compaction a method by which al-
I/ | V |. The minimum values of f(v) are located storage in a heap is moved so that all
471
storage fragmentation
allocated storage is contiguous, leaving all the straight through cable a cable that allows
unallocated storage contiguous. a standard RS-232C device to be connected to
communications equipment such as a modem.
storage fragmentation a phenomenon ex-
perienced in languages which allows for stor- strange attractor when the attracting set of
age allocation, in which the repeated allocation an iterated function or procedure is a fractal.
and deallocation of blocks of storage of variable
size result in fragmenting the heap, eventually strategy parameter the set of miscellaneous
resulting in a collection of unusably small frag- parameters associated with each individual in
ments which cannot be coalesced (usually after evolutionary systems and evolutionary program-
a compaction). ming which specifies the variances and covari-
ances of the random variables for the mutation
process. In other words, these parameters de-
store (1) the act of placing a value into stor-
termine the step size and direction of the search
age.
mechanism. They are typically modified by a
(2) in British usage, the main memory of the self-adaptation process according to the local
computer, once referred to in the U.S. as core. structure of the fitness landscape. See also self-
(3) in an automaton, the auxiliary storage adaptation.
used to hold state, such as a pushdown stack.
stratified negation a concept in database the-
store-and-forward a method for relaying ory. A database DB is locally stratified, if for
packets through an intermediate switching node all rules of DB none of the default negative liter-
in a network. Packets that arrive on each incom- als Cj in the body depends on the atom A in the
ing link are stored in a buffer. When the entire head. Stratification can be defined in terms of
packet has been received, the node checks it for atoms (local stratification) or predicate symbols
transmission errors and queues the packet for (global stratification, or just stratification).
transmission over the next hop towards the des- A stratified database DB can be evaluated by
tination. Packets may experience queueing de- partitioning it into layers that are evaluated sub-
lays at an intermediate node, or even be dropped sequently based on the results of the previous
if the node runs out of buffer space for storing layer.
packets. See also packet switching, virtual cut-
through. streakline a line showing the path taken by
all particles that pass through a given location in
stored program computer a computer sys- a vector field.
tem that is controlled by machine instructions
stored in memory. The instructions are executed stream the sequence of data or instructions
one after the other unless otherwise directed. that flows into the CPU during program execu-
tion.
store instruction a machine instruction
stream cipher an encryption system or ci-
which copies the contents of a register into a pher in which the information symbols compris-
memory location. Compare with load instruc-
ing the plaintext are transformed into cipher-
tion.
text individually. An important property of a
stream cipher is that like-valued plaintext sym-
straight edge detection the location of bols are not necessarily transformed into the
straight edges in an image by computer. Often same ciphertext. A stream cipher normally acts
accomplished with the Hough transform. in an additive sense and in the case of bits being
encrypted, the information bits, Xn are added
straight-line drawing a graph drawing in modulo-2 to the bits, Zn, generated by the so-
which each edge is represented by a straight line called running-key generator. The ciphertext,
segment. Yn, is therefore given by Yn = Xn ® Zn, n =
472
string operator
1,2,..., AT where the plaintext consists of N strictly increasing a function from a partially
bits and 0 denotes modulo-2 addition. Gener- ordered domain to a partially ordered range such
ally, the running key bits and the encryption key that x > y implies f ( x ) > f ( y ) . See also
bits are not the same. The encryption key merely strictly decreasing, monotonically increasing.
specifies the mechanism used to generate the
running-key bits. Such a mechanism could be a strict schedule a schedule where a value
number of linear feedback shift registers whose is not read or written until all transactions that
outputs are combined to form the running-key write the value have committed.
bits. See also block cipher, encryption.
strict two-phase locking two-phase locking
streamline a line drawn in a vector field such where locks are only released when the transac-
that, at any instant, the tangent to the line at any tion terminates.
point on the line is the direction of the flow.
Often restricted to fields with steady flow, in
stride See memory stride.
which case the streamline shows the path of a
tracer particle.
string (1) value that is an ordered sequence
stream traffic traffic that needs to be deliv- of characters which can be represented on the
ered at a certain rate. Stream traffic often has machine on which the program runs.
real-time requirements. (2) informal designation of a string constant.
(3) in the context of a formal grammar, a se-
strength reduction a global optimization quence of symbols of the grammar which can
that is characterized by discovering common be generated by the rules of the grammar.
partially specified computations and performing (4) in the context of a formal grammar, a se-
the common part once. For example, in access- quence of symbols presented to an automaton
ing elements in multiple arrays, the offset into which recognizes the string as either being one
corresponding arrays is usually identical except which can be generated by the grammar or one
for the value of the base address of the array. which cannot.
The access path becomes a partially specified
computation (base, computed offset), and the
string constant a representation of an or-
computed offset is computed once for all arrays
dered sequence of characters in the source code
sharing the computation.
of a program. The means of representing a string
constant are defined by individual programming
stress testing a type of testing where the
languages, although there are traditional repre-
system is subjected to a large disturbance in
sentations such as the use of single quotes or
the inputs (for example, a large burst of inter-
double quotes to mark the start and end of a
rupts), followed by smaller disturbances spread
string constant.
out over a longer period of time.
strict coherency the property of a distributed string editing problem for input strings x
file or memory system in which each read or load and y, the problem of finding an edit script of
retrieves the value produced by the most recent minimum cost that transforms y into x.
write or store to that location.
string literal See string constant.
strict functional language a function lan-
guage adopting applicative-order evaluation. string operator operator that applies to
string values. Typical string operators include
strictly decreasing a function from a par- single character extraction (subscripting), string
tially ordered domain to a partially ordered range concatenation, substring extraction, character
such that* > y implies f ( x ) < f ( y ) . See also membership, substring membership, and com-
strictly increasing, monotonically decreasing. parison operations.
473
string searching with errors
string searching with errors searching for strong typing a feature of programming lan-
approximate (e.g., up to a predefined number of guages and models that requires the definition of
symbol mismatches, insertions, and deletions) the type of each data. This approach allows the
occurrences of a pattern string in a text string. application of a strong type checking and the
execution of algorithms only on the right data
string searching with mismatches the spe- types.
cial case of string matching with errors where
mismatches are the only type of error allowed. structural aspect the aspect related to the
definition of the composition/decomposition of
striping the spreading of data across several a system.
disks in order to improve performance. See disk
array. structural decomposition the approach of
system decomposition.
strong bisimulation partitioning an algo-
rithm to partition a set of states by strong bisim- structural equivalence a means of type
ulation equivalence. This is used to minimize a equivalence in which an object is considered to
state space by combining the states in the same be of a specific type if its structure is identical to
partition into one. See also bisimulation equiv- the structure of the specific type. For example,
alence, formal verification. under structural equivalence, any record consist-
ing of exactly two integers is equivalent to any
strong entity type an entity type that pos- other record consisting of exactly two integers.
sesses its own key. See also name equivalence, textual equivalence.
strongly NP-hard a problem that is still NP- structure chart a diagram reporting mod-
hard even when any numbers appearing in the ules, activities, or other entities of a system
input are bounded by some polynomial in the considering their structural decomposition, or
length of the input. See also NP-complete. breakdown into smaller components. This
graph is typically different from the call graph
strongly typed a language that is based on a since the structure graph is mainly oriented in
strictly rigorous type checking. decomposing data while the call graph describes
the functional decomposition.
strong-neighbor mask an image mask used Synonymous with program structure chart.
in the moving median filter. Compare with call graph.
474
stub object
structured design A process of system de- a computationally complete language for the
sign that works in accordance to the system de- definition and management of persistent, com-
composition approach, top-down design. See plex objects. This includes: generalization and
top-down, structure chart. specialization hierarchies, multiple inheritance,
user-defined data types, triggers and assertions,
structured language a programming lan- support for knowledge-based systems, recursive
guage where the program may be broken down query expressions, and additional data adminis-
into blocks or procedures which can be written tration tools. It also includes the specification
without detailed knowledge of the inner work- of abstract data types (ADTs), object identifiers,
ings of other blocks, thus allowing a top-down methods, inheritance, polymorphism, encapsu-
design approach. lation, and all of the other facilities normally
associated with object data management.
structured light patterns of light projected SQL is also a data management language and
onto objects that are to be viewed by cameras a data definition language since it provides facil-
and interpreted by computer. For example, a ities for data definition, query, and update. The
grid of parallel straight lines of light projected result of an SQL query is a table of tuples.
on to a curved object will appear from a sep-
arate viewpoint to be curved and will provide structured software software implemented
information on the 3D shape of the object. as a set of independent modules, each with a
defined function and interface.
structured noise noise that is not random
but which is typically periodic, or contains ele- structure editor a text or graphical editor
ments of some unwanted signal. This category that allows a source program to be edited in
of noise includes clutter, crosstalk, easily recog- terms of its syntactic constructs. Such editors
nized spikes, and so on. typically allow the user to select and operate on
whole syntactic units and to apply transforma-
structured program a program constructed tions to the underlying parse tree rather than to
of a basic set of control structures, each one hav- the program text.
ing one entry point and one exit point.
structure estimation determination of the
structured programming a discipline of structure of objects, i.e., the 3D coordinates of
programming advocated initially by Edsgar Di- surface points of objects, from sequences of im-
jkstra, in which programs are developed in such ages. It is a task sometimes closely related to
a way that a high-level abstraction is used as a motion estimation.
specification, then is decomposed into a set of
lower-level operations, proceeding downward structuring element an image or shape that
until actual code must be written. A fad in the is used in a morphological operator as a probe
1970s, it has been largely supplanted by better interacting with the image to be analyzed, thus
techniques, such as modular decomposition. leading to a transformation of that image. It can
be either a set of points (a colorless shape), or a
structured query language (SQL) a query gray-level image (a shape with a gray-level pro-
language used for relational databases. SQL is file on it). In contrast with the natural image to
an ISO and ANSI standard. It is often embedded be processed, the structuring element is chosen
in other programming languages. SQL provides by the user and generally has a small support.
basic language constructs for defining and ma- See morphological operator.
nipulating tables of data, language extensions
for referential integrity and generalized integrity stub object an instance of a stub class/type.
constraints, facilities for schema manipulation It provides little or no functionalities allowing a
and data administration, and capabilities for test environment to narrow the focus of a test.
data definition and data manipulation. Develop- A stub creates an emulation layer of other el-
ment is currently underway to enhance SQL into ements providing the same interface but con-
475
style guide
taining only partial implementation or predeter- subprocess a process that is used in the com-
mined responses. position/decomposition of another process. See
process decomposition.
style guide a set of principles and rules for
consistently designing user interfaces according subquery an expression that identifies data
to a particular interface style (often for a specific from tables. Subqueries are used as expres-
platform). General industry style guides are usu- sions in the context of structured query language
ally independent of a particular application do- (SQL) statements.
main; in-house or application style guides may
provide additional rules for designing particular subroutine a section of a program that de-
classes of applications. fines a computation that can be requested from
other locations of the program by using a sub-
subadditive ergodic theorem if a stationary routine call, also known as a function call. The
and ergodic process satisfies the subadditive in- computation of a subroutine may be modified
equality, then it grows almost surely linearly in by values supplied at the time of the subroutine
time. call by specifying parameters. Synonyms: func-
tion, procedure, routine. In some programming
sub-block a part of a cache line that can be languages, these terms are defined more specifi-
transferred to or from the cache and memory in cally. For example, in FORTRAN, a "function"
one transaction. This is applicable in the cases can return a value and be used as a part of an ex-
where the complete line cannot be transferred in pression, while a "subroutine" is defined as the
one transaction. Each sub-block requires a valid target of a CALL statement and cannot return a
bit. value or be used in an expression.
476
sudden underflow
subsequence of a string, any string that can subtracter a circuit which subtracts two val-
be obtained by deleting zero or more symbols ues.
from that string.
subtractive adder an adder in which addi-
subspace method any method of reducing tion is realized as a subtraction, i.e., A + B is
realized as A-(-B).
the dimensionality of image matching or recog-
nition problems by representing the images in
subtransaction See nested transaction.
terms of their projection into lower-dimensional
space.
subtype See derived type.
substate a hidden state included in a more
subtyping mechanism of producing derived
general state which shares with them most of the
types from a type. See subclassing, type, class,
general state features. In state diagrams, states
subtype, subclass.
that include substates are differently drawn and
evidenced. successful termination termination of an al-
gorithm without problems.
subsumption a fundamental rule of subtyp-
ing, asserting that if a term has a type A, which successor a function that produces the next
is a subtype of a type B, then the term also has element of a set. In principle, any set which has
type*. a successor function is a totally ordered set, and
a corresponding predecessor function is usually
subsystem a component of a larger system defined. Note that a totally ordered set of val-
which interacts with other components via a de- ues may have a designated element for which the
fined interface and which is sufficiently complex successor function is not defined. Generally, for
to be considered a system in its own right. In programming languages, such sets include enu-
object-oriented programming, an independent meration sets, character sets, and lists. Singly
group of classes that collaborates to fulfill a set linked lists generally do not have a predecessor
of responsibilities; a separate branch of classes, function. See also child directory.
a set of classes addressing a specific problem.
sudden underflow a method for dealing with
subsystem composition the process of con- underflow. When underflow occurs, the com-
structing composite software components out of puted value is replaced with zero.
477
suffix
478
supporting technology
479
support manual
ments, data, etc. A supporting technology may surface patch (1) a small piece of surface
also be an output product of an external process. with arbitrary shape and size surrounding a sur-
face point with a given surface normal.
support manual the document containing (2) a primitive element of a geometric sur-
the information necessary to service and main- face description, such as a spline or triangulation
tain a system or component throughout its life- patch. Graphics techniques that use the different
cycle. surface patch representations are mainly related
to surface representation, visibility analysis, il-
lumination, and reflectance.
support of a fuzzy set the crisp set of all
points x in X with membership positive (MA(*)
surface rendering See rendering.
> 0), where A is a fuzzy set in the universe of
discourse X. See also fuzzy set, membership
surface texture See texture, texture analysis,
function.
texture modeling.
support software software that is used to surge protector a device used to protect the
develop and/or maintain other software. For ex- computer against sudden surges in power.
ample, a compiler.
suspend to break the execution of a program
support system system that contains the sup- unit temporarily.
port needed to actually execute an application
system, e.g., the operating system, the user- suspension the state of a task or a process as
interface library. It will normally consist of a result of a suspend operation.
several layers of support where the lower lay-
ers provide services to the higher layers. SVC See supervisor call instruction.
supremal decision unit control agent or a SVD See singular value decomposition.
part of the controller of the partitioned system,
SVID acronym for System V Interface Defi-
which perceives the objectives and the opera-
tion of this system as a whole and is concerned nition, pertaining to a version of the Unix oper-
ating system.
with following these overall objectives; in case
of a large scale system with hierarchical multi-
level (two-level) controller, the coordinator unit SVR3 System V Release 3, pertaining to a
is often regarded as the supremal decision unit. version of the Unix operating system.
480
symbolic model checking
switch (1) in the C language, the keyword symbol error rate a fundamental perfor-
for the multiselection control construct similar mance measure for digital communication sys-
to the case statement of most languages. tems. The symbol error rate is estimated as the
(2) in ALGOL-60, a simple form of multi- number of errors divided by the total number of
select statement in which one of a set of tar- demodulated symbols. When the communica-
get statements designated by labels would be tion system is ergodic, this is equivalent to the
selected. See computed goto. probability of making a demodulation error on
any symbol.
(3) in some command languages, a modifica-
tion or specification of an option, often preceded
by a syntactic mark such as a hyphen or slash symbolic constant a value that is a constant,
symbol. but which is represented by a name whose mean-
ing and type are determined at the time the name
(4) in some command languages, a specifica-
is declared. Some languages do not permit sym-
tion of a keyword parameter to a command.
bolic constants. Some languages permit sym-
bolic constants but whose values are fixed at
switch box a rectangular routing region con- compilation time, so the compiler knows the ex-
taining terminals to be connected on all four act value for each symbolic constant. Some lan-
sides of the rectangle boundary and for which guages permit a name to be assigned a value at
the entire interior of the rectangle can be used execution time, with the restriction that once the
by wires (contains no obstacles). value is assigned it may not be changed while
the name scope exists.
switching node a computer or computing
equipment that provides access to networking symbolic evaluation a form of evaluation in
services. which an expression is transformed from one
symbolic form to another. For example, the re-
switchover time the time occurring in a sult of evaluating "(0 + b) * (c + rf)" is not a
polling system between service to one queue numeric result based on the values of the vari-
and service to the following queue. During a ables a, b, c, and d, but the symbolic computation
switchover interval, the server is idle and at the "(a*c+a*d+b*c+b*d)". Many languages
same time unavailable to requests. provide for such symbolic evaluation, applying
mathematical rules to apply reductions to the
symbol (1) in a programming language, this resulting expressions. The intended result is a
is typically a name that conforms to the lexical closed-form solution to a problem. Symbolic
specifications for that language, but may also integration and symbolic differentiation apply
include other character sequences defined by the transformations of calculus; query optimization
language. applies transformations of relational calculus;
(2) in a definition of an automaton, a set of proof methods apply transformations of predi-
entities that can be used to form an ordered cate calculus.
sequence called an input string which is pro-
cessed by the automaton, or alternatively what symbolic language a programming lan-
are called sentences in the language the automa- guage expressing operations, instructions, and
ton is processing. addresses by using symbols that can be under-
(3) in the definition of a grammar, the set of stood by humans rather than in machine lan-
entities that can comprise a sequence generated guage. Assembly as well as all the high level
by the rules of the grammar, called a sentence. languages are symbolic languages.
(4) in the context of a formal grammar, an
entity defined by the grammar that can form a symbolic link See soft link.
sequence of input to the automaton. This is often
referred to as an input string. All input strings symbolic model checking extension of
are not sentences in the grammar. model checking for systems with infinite states
481
symbolic processing
(i.e., hybrid automata). States are merged in symmetric half plane field the class of image
classes of states. models which can be implemented recursively
pixel by pixel. That is, if the pixels in an image
symbolic processing use of symbols, rather are ordered lexicographically (either by rows or
than numbers, combined with rules-of-thumb by columns), then a symmetric half plane model
(or heuristics), in order to process information is one in which a pixel p is a function of only
and solve problems. those pixels preceding p in the ordering. See
also Markov random field.
symbolic substitution See symbolic substi-
symmetric multiprocessor (SMP) a class of
tution logic gate.
multiprocessor consisting of two or more CPUs
configured together via a common memory in-
symbolic substitution logic gate an optical terface bus and with each process maintaining
logic gate using a specific algorithm developed its own cache, but configured and attached to
for optical computing called symbolic substi- the same RAM. The operating system operates
tution. In symbolic substitution, one or more across all processors within the symmetric mul-
binary input data are together represented by tiprocessor and, hence, from the user's perspec-
an input pattern. In its original method, four tive, is transparent as to which processor is sup-
identical patterns are duplicated from the input porting use functions. The term symmetric is
pattern. The four patterns are shifted to differ- used to refer to the fact that all processors within
ent directions. The shifted patterns are added. the multiprocessor have "equal rank"; that is,
The added pattern is thresholded. The previous no one processor is responsible for maintain-
procedure is then repeated. The thresholded pat- ing cache coherency or for communication with
tern is split into four identical patterns. The four external interface devices. Rather, the oper-
identical patterns are shifted to different direc- ating system itself holds the functionality —
tions and then combined as output pattern. All and the responsibility — for maintaining con-
these steps are equivalent to first, recognizing in- sistency among processor cache segments and
put pattern, and then substituting it with output for evenly distributing workloads across all pro-
pattern. In the improved method, input pattern cessors (level-loading).
can be substituted with output pattern using two
correlators, the first correlator for recognition symmetry breaking a technique to break the
and the second for generating output pattern, or symmetry in a structure such as a graph, which
using a holographic associative memory. Out- can locally look the same to all vertices. Usually
put pattern can be any of 16 Boolean logic op- implemented with randomization.
erations or their combinations.
synchronization Controlling concurrent ac-
symbolic trace a trace reporting the execu- cess to code and/or data.
tion evolution in symbolic manner, thus report-
ing symbols instead of the actual values that can synchronization mechanism an implemen-
be typically obtained during the effective exe- tation of a means of synchronization. This may
cution. refer to constructs in a programming language,
or low-level machine-specific means of imple-
symbol synchronization a technique to de- menting synchronization. See also semaphore,
termine delay offset or rate of symbol arrival mutex, monitor, critical section, rendezvous.
from the received signal. Can be based on ei-
ther closed or open loop methods. synchronize to update a table or database to
be an exact image of another table or database.
symbol table the data structure in a compiler
which holds information describing the names synchronized refinement a systematic ap-
used by the program being compiled. proach to detecting design decisions in source
482
system analysis
code and relating the detected decisions to the syntax checked a modified compiler con-
functionality of the system. sisting of only the lexical analyzer and parser.
Used to verify that a program is valid under the
synchronous pertaining to two or more pro- program language in question.
cesses whose interaction depends upon the oc-
currence of a specific global event such as a com- syntax-directed analysis a compilation tech-
mon timing signal. nique characterized by the use of formal syntac-
tic analysis techniques. Historically, this was
synchronous bus a bus in which bus trans- a significant step up from ad hoc compilation
actions are controlled by a common clock sig- and analysis techniques which had preceded it.
nal and a fixed number of clock periods is al- Rarely heard in modern usage.
located for specific bus transactions. Compare
with asynchronous. syntax error an error in which the source
code for a program or function fails to adhere to
synchronous circuit a sequential logic cir- the rules of the source language.
cuit that is synchronized with a system clock.
synthesized attribute See attribute grammar,
synchronous communication a type of com-
inherited attribute.
munication that permits the communication
only if all the participants (usually the sender
and the receiver) assert that they want to com- synthetic data data generated probabilisti-
municate. It is also called rendezvous. See asyn- cally to have certain good statistical properties.
chronous communication.
synthetic image a computational model of
synchronous event an event that occurs at the natural image.
predictable times such as the execution of a con-
ditional branch instruction or a hardware trap. synthetic metric a metric that is derived from
data instead of a directly measurable metric. As
synchronous message passing synchroniza- opposed to a natural metric. Function points, the
tion protocol where the message sending process Bang metric, and Mark II metric are all synthetic
requires both sender and receiver to synchronize metrics.
at the moment of message transmission.
synthetic traffic data arrivals and request
syntactic analysis analyzing a program for sizes produced according to a stochastic model.
correctness of meaning. Typically, syntactic
analysis does not check that the input string
"makes sense", that is, is semantically correct system a collection of components, items, or
(although in some cases semantic information equipment organized or designed to accomplish
can be embedded in a powerful grammar). In a specific function or set of functions. It can
many compilers, the process of syntactic analy- be based on one or more processes, hardware,
sis and semantic analysis are combined, but that software, facilities, and people. System is a hi-
is often an issue of the compiler writer com- erarchic concept: a system at one level may be
bining these two processes. See also parsing, a subsystem viewed from a higher level.
lexical analysis, semantic analysis.
system administrator the person or persons
syntactic error See syntax error. responsible for the operation of a system.
syntax the part of a formal definition of a lan- system analysis the study of user needs using
guage that specifies legal combinations of sym- interviews, use cases, rapid prototypes, and the
bols that make up statements in the language. like.
483
system assessment
system call a call to a software module exe- system development cycle See life-cycle.
cuted by an operating system kernel.
system engineering an interdisciplinary ap-
system catalog in a relational database, the proach and means to enable the realization of
system catalog is a collection of relations con- successful systems. It focuses on defining cus-
taining information regarding the information to tomer needs and required functionality early
be stored in the database. Names and types of in the development life-cycle, documenting re-
relations and attributes are stored in the system quirements, then proceeding with design syn-
catalog together with information pertaining to thesis and system validation while consider-
security and indexes. ing the complete problem: operations, perfor-
mance, test, manufacturing, cost & schedule,
system clock clock internal to the CPU used training & support, and disposal. System en-
for synchronization and timing. gineering integrates all the disciplines and spe-
cialty groups into a team effort forming a struc-
system complexity the level of objective dif- tured development process that proceeds from
ficulty of the system. See complexity. For a sys- concept to production to operation. System en-
tem, die complexity may include the complexity gineering considers both the business and the
484
system testing
technical needs of all customers with the goal of system owned set See singular set.
providing a quality product that meets the user's
needs. System Performance and Evaluation Coop-
erative (SPEC) a standards body for perfor-
system failure a failure that is observed at mance benchmarks.
the interface of a system with its environment.
This is distinct from component failure, local
system profile the set of features with the
failure, and internal failure. Such events within
corresponding reference values that describe the
the system may or may not eventually lead to a
values that have to be reached at the end of the
system failure. See error recovery.
development life-cycle or at the end of the re-
engineering process.
system flow chart See flow chart.
system generation the process of selecting system program software used in the man-
optional parts of an operating system and creat- agement of computer resources.
ing its particular configuration.
system reliability the conditional probability
system implementation a phase of software that the system has survived the interval [0, t]
development life cycle during which a software given that it was operational at time t = 0.
product is integrated into its operational envi-
ronment. systems engineering an approach to the
overall life-cycle evolution of a product or sys-
system life-cycle See life-cycle. tem. Generally, the systems engineering process
comprises a number of phases. There are three
system load the volume of work to be pro- essential phases in any systems engineering life
cessed by the system. It is usually expressed cycle: formulation of requirements and specifi-
in normalized form as a fraction between 0 and cations, design and development of the system
1 (i.e., its utilization) or as a percentage of its or product, and deployment of the system. Each
capacity. of these three basic phases may be further ex-
panded into a larger number. For example, de-
system log See transaction log. ployment generally comprises operational test
and evaluation, maintenance over an extended
system maintainability the ability of a sys- operational life of the system, and modification
tem to be repaired and to evolve over time. and retrofit (or replacement) to meet new and
evolving user needs.
system model the abstraction of a real system
including stochastic models for arrivals and ser- system size the dimension of a system eval-
vice processes. System models are used both for uated by means of a size-based metric.
simulation and for mathematical analysis. Sim-
ulation models, however, can generally be more
system software software designed to facil-
complex than analytically tractable models.
itate the operation and maintenance of a com-
puter system and its associated application pro-
system modeling a technique to express, vi-
grams. Compare with application software.
sualize, analyze, and transform the architecture
of a system. Here a system may consist of
software components, hardware components, or system test See system testing.
both, and the connections between these compo-
nents. A system model is then a skeletal model system testing testing conducted on a com-
of the system. It is intended to assist in devel- plete, integrated system to evaluate the compli-
oping and maintaining large systems with em- ance with its specified requirements. See soft-
phasis on the construction phase. ware testing.
485
system thread
system thread a collection of processing returning to the memory just as blood flows from
functionality which encapsulates the perfor- and to the heart.
mance of a given system capability. For in-
stance, in the case of an automatic teller machine systolic processor a SIMD computer consist-
(ATM), one such thread is the cashing of checks. ing of a set of interconnected cells, each capable
This thread has associated with it functionality of performing a simple operation and synchro-
and processes which must be accomplished to nized by an external clock or "heartbeat".
satisfy the objective of the system thread.
486
task
0-8493-2691-5/01/$O.OOf$.50
©2001 by CRC Press LLC 487
task bar
(2) In concurrent programming, a generic it can be collected early in the lifecycle and pro-
word used for both process and thread. vide the basis for cost and effort estimation.
(3) the smallest unit of work that can be
project managed. task profiling the process of decomposing
(4) an activity of a set of actions undertaken an application task into subtasks, each of which
by an agent assuming a specific role in order to is homogeneous with respect to computational
change the current state of a system to another requirements, and characterizing those compu-
state (specified by the goal). tational requirements. In general, a task and its
(5) from the Ada specification, a synonym subtasks consist of both code and data; there-
for thread, with the inclusion of a particular syn- fore, both code and data must be considered
chronization mechanism, the rendezvous. during the task profiling process. In current
uses of heterogeneous computing, tasks are typ-
task bar a linear array of buttons which usu- ically decomposed by the application program-
ally floats on top of application windows for pro- mer. The complete automation of task profiling
viding quick access to frequently needed func- is a difficult problem, and represents a long-term
tions or applications. goal in the field of heterogeneous computing.
task control block (TCB) in an operating task script a formal task documentation used
system, a region of memory that defines status in requirements. Specified in the form of an
of individual tasks. SVDPI sentence expressed as Subject-Verb-
Direct. Object-[Preposition-Indirect.Object].
task coordinates variables in a frame most
suited to describing the task to be performed by taxonomy any schema that describes a piece
a manipulator. Task coordinates are generally of knowledge defining relationships among sim-
taken as Cartesian coordinates relative to a base ple entities. It is used for depicting classifica-
frame. tions and the body of knowledge. See Flynn's
taxonomy.
task domain the set of knowledge, skills,
and goals possessed by users that is specific to
TCB See task control block, trusted comput-
a kind of job or task.
ing base.
task interaction graph a graph that divides
a program into maximal sequential regions con- TCP See transmission control protocol.
nected by edges representing task interactions.
Task interaction graphs can be used to gener- teaching-by-doing See teaching-by-showing
ate concurrency graph representations, and both programming.
facilitate analysis of concurrent programs.
teaching-by-showing programming a pro-
task-level programming See object-oriented gramming technique in which the operator
programming. guides the manipulator manually or by means of
a teach pendant along the desired motion path.
task migration the act of moving a task from During this movement the data read by joint po-
one node to another within the system. sition sensors (all robots are equipped with joint
position sensors) are stored. During the execu-
task performance an activity carried out at tion of the motion (playing back) these data are
a user interface and aimed at completing a task. utilized by the joint drive servos. Typical appli-
cations of this kind of programming are spot
task point a decomposable unit of a task that welding, spray painting, and simple palletiz-
can be counted. This count is called the task ing. Teaching-by-doing does not require special
point metric. It has been proposed as an object- programming skill and can be done by a plant
oriented equivalent of the function point in that technician. Each industrial robot is equipped
488
temporal interval logic
with these capabilities. Also called teaching- Template matching is commonly performed for
by-doing. tasks such as edge detection and corner detec-
tion.
team decision decision taken independently (2) a prototype from which specific instances
by several decision makers in charge of a given can be generated.
process (or a decision problem) and forming a (3) in the C++ language, a keyword which
team; i.e., contributing to a commonly shared allows the specification of code without bind-
goal. ing specific data types to the values. Instantia-
tions of templates must bind the types. See also
team member any personnel involved in the generic.
building of a project. (4) in a dataflow architecture a way of orga-
nizing data into tokens. Also called an activity
technical metric refers to the software engi- packet.
neering aspects of system specification such as
size, complexity, number of attributes, number template mask a mask that forms a pixellated
of methods, etc. template of an object or feature, and which may
then be used for template matching. See also
technical reference a document describing template.
the technical aspects of a system. The system
presents both hardware and software aspects. template matching a technique in which a
model and an optimization method are used to
technical review a development stage, of- deform a template to a study in order to find
ten occurring many different times during the the best match for the purpose of detection or
life of a project, in which on-line support sys- recognition.
tems are examined for performance issues and
by subject-matter experts. templating the action of making a template.
It is sometimes used as a synonym for cloning.
technical risk any one of the set of poten-
tial technical problems or occurrences that may temporal averaging averaging a signal in
cause the project to fail. the time domain. For discrete signals, temporal
averaging by a finite impulse response filter is a
technical writer a specialist responsible for way to smooth out the signal.
documenting hardware and software or entire
systems. temporal cohesion a cohesion in which the
tasks performed by a software module/class are
technological risk the risk related to the tech- all used in a specific phase of the program execu-
nology chosen in the project. The technology tion. See cohesion, logical cohesion, procedural
includes: tools, languages, operating systems, cohesion.
platform, communication media, support me-
dia, methodology, modeling paradigm, etc. temporal constraint a constraint on the sys-
tem behavior regarding the time used to do some-
technology a collective term for a group of thing or the order in which things have to be
practices, tools, techniques, and/or methods. done.
489
temporal logic
time duration of an interval or to translate an n terms \i,... , tn. Example: f(a, Y), where a
interval by a constant time value. is a constant symbol and Y is a variable symbol.
temporal logic (1) logic with a notion of time terminal a position within a component
included. The formulas can express facts about where a wire attaches. Usually a terminal is
past, present, and future states. The formulas a single point on the boundary of a component,
are interpreted over Kripke structures, which but a terminal can be on the interior of a compo-
can model computation; hence, temporal logic nent and may consist of a set of points, any of
is very useful in formal verification. which may be used for the connection. A typical
(2) an extension of prepositional or first or- set of points is an interval along the component
boundary.
der logic with operators to state when statements
are true. Time can be continuous or discrete
and extend indefinitely into the future and/or terminal device an asynchronous in-
in the past. Three prefix operators are usually put/output port to which a user's terminal is con-
present, represented by a circle, a square, and a nected.
diamond; they mean "is true at the next time in-
stant", "is true from now on", and "is eventually terminal driver a systems program that man-
true". Usually the until operator is also present: ages asynchronous input/output ports, that is,
"A until B" means A is true until B is true. "A terminal devices.
until B" is the "strong until" and implies that
there is a time when B is true. "A unless B" terminal symbol one of a set of distinguished
is the "weak until" in which it is not necessary symbols used to define a grammar. A sentence
that B holds eventually. There are two types of generated by the grammar consists solely of ter-
temporal logic used: branching time and linear minal symbols. Contrast with nonterminal sym-
time. Linear time considers only one possible bol. For any specific grammar, the set of termi-
future; in branching time there are several alter- nal symbols and the set of nonterminal symbols
native futures. In branching time temporal logic are disjoint. Also known as a terminal vocab-
temporal operators are duplicated; one version ulary. Sometimes designated by the metasym-
is used to state that the temporal condition holds bol Vt. A set of terminal symbols is sometimes
for all the possible futures and the other one is called an alphabet. See also vocabulary.
used to state that there exists at least one future
where the temporal condition is true. terminal vocabulary See terminal symbol.
490
test phase
ular polygons, one of the following three cases test-and-set instruction an atomic instruc-
occurs: tion that tests a Boolean location and if FALSE,
resets it to TRUE. See atomic instruction.
1. Each cell is a regular hexagon and has 6
neighboring cells each having a side in test bed the environment containing the hard-
common with it. ware, software, tools, and other supports for
conducting the test.
2. Bach cell is a square and has 8 neighboring
cells, of which 4 have a side in common
test case (1) a set of test inputs, conditions for
with it, and 4 have a vertex in common
execution, and expected outputs with the aim of
with it. testing a particular part of the system, particular
3. Each cell is an equilateral triangle and has functionalities or particular requirements.
12 neighboring cells, of which 3 have a (2) documentation describing test cases as
side in common with it, 3 have a vertex in described in (1).
common with it in such a way that the two
neighboring cells are symmetric with re- test case generator See test generator.
spect to the common vertex, and 6 have a
vertex in common with it but without sym- test checklist an outline of usability test pro-
metry with respect to the common vertex. cedures. It helps remind usability testers of their
The tesselation of the plane into regular planned procedures and of the proper order of
cells is a mathematical model of the sub- these procedures.
division of an image into pixels, and the
corresponding digital space is made of the test coverage the degree to which a given test
centers of all the cells. In both the hexago- presents with respect to the whole functionalities
nal and square tesselations, there is a vec- and modules of the system.
tor basis such that the cell centers coin-
cide with points with integer coordinates. test criteria the criteria that have to be satis-
Modern technology accords with Carte- fied by a system or component to pass a test.
sian tradition in favoring the square tesse-
lation, but the hexagonal tesselation has test generator a tool to generate test cases
a simpler topology (with fewer neighbor- on the basis of: test criteria, requirements, spec-
ing cells, and all of the same type), which ification, and data structures. The test case gen-
simplifies certain types of algorithm, such erator has to produce the expected results and
as thinning algorithms. See also pixel ad- output for each corresponding test case.
jacency.
testing operating a system (possibly under
unrealistic conditions of use) in order to detect
test technical operation that consists of ver- faults. See debug, software testing.
ifying functionalities for a given product, pro-
cess, or service according to a specified proce- test library the entire collection of test cases
dure. that is available in an enterprise.
testability (1) the capability of the software test pattern (1) input vector such that the
product to enable modified software to be vali- faulty output is different from the fault-free out-
dated. put.
(2) the measure of the ease with which a cir- (2) a trace describing the evolution of the in-
cuit can be tested. It is defined by the circuit puts of a system used for stimulating the system
controllability and observability features. during testing.
test access port a finite state machine used test phase the period of time in the system
to control the boundary scan interface. life-cycle during which the test is performed.
491
test plan and procedure
Typically the testing phase is performed by a texture image, into display pixels in accordance
different team. with the spatial orientation of the surface.
test plan and procedure a description of text a list of characters, usually thought of
testing strategy and tactics. as a list of words separated by spaces. See also
string.
test point (1) a physical contact for a hard-
ware device that can be monitored with an ex- text categorization See text classification.
ternal test device.
(2) a data element within a software module text classification a task that involves la-
that is accessible to an external test module. beling texts as either relevant or irrelevant to a
particular category. For example, binary clas-
test register a register used in the processor sification tasks require each text to be labeled
to ease testing of some functional blocks (e.g., as either relevant or irrelevant to a single cate-
cache memory) by simplifying accesses to their gory, while multiclass tasks (sometimes called
internal states. text categorization problems) require each text
to be assigned one or more different category
labels.
test repeatability an indicator associated to a
test that gives a measure about the possibility to
text corpora text databases. A single text
obtain the same results repeating the test several
database is called a text corpus.
times.
text filtering a task that involves filtering a
test report a document reporting the test per- set of texts so that only relevant texts that satisfy
formed and the results obtained. the filter are passed on to a user.
test response compaction the process of re- text representation the form that is used to
ducing the test response to a signature. Com- represent a document. For example, a document
mon compaction techniques use signal transi- might be represented as a set of words or as a
tion counting, accumulated addition, CRC codes, set of linguistic structures.
etc.
text routing a task that involves categorizing
test vectors a test scheme that consists of texts with respect to a set of user profiles and
pairs of input and output. Each input vector is a sending relevant texts to the appropriate user.
unique set of Is and Os applied to the chip inputs
and the corresponding output vector is the set of text segment a synonym for code segment.
Is and Os produced at each of the chip's output. So named in the Unix operating system because
it contains the executable "text". See data seg-
texel a bitmap used to texture a 3D polygon ment.
model, including adjustments for perspective
correction, where vertices of the object model textual equivalence a form of type equiva-
are mapped onto the 2D texture bitmap. In ad- lence in which two objects are considered to be
dition to color and brightness, textures may also of the same type if their external representations
be encoded with the properties of transparency are the same. Note that this generally applies
and specular reflectivity. only to languages that do not have programmer-
This kind of texture may also be procedural defined types. Compare with structural equiva-
in nature. A possible side-effect of texture map- lence, name equivalence.
ping occurs unless the Tenderer can apply tex-
ture maps with correct perspective. Perspective- textural edgedness a measure of the mean
corrected texture mapping involves an algorithm edge contrast at every position in an image,
that translates texels, or pixels from the bitmap where the average is taken over a significant re-
492
this
gion so as to smooth out small scale variations, thermometer coding a method of coding
thereby providing an indication of the type of real numbers in which the range of interest is
texture present. divided into nonoverlapping intervals. To code
a given real number, say x, the interval in which
textural energy a measure of the amount of x lies is assigned the value +1, as are all inter-
statistical, periodic, or structural variation at a vals containing numbers less than x. All other
location in a texture, "energy" being a suitable intervals are assigned the value 0 (in the binary
square-law unit corresponding to the variance case) or — 1 (in the bipolar case).
imposed on the mean intensity at that location
in the texture. 0 a theoretical measure of the execution
of an algorithm, usually the time or memory
texture quantitative measure of the variation needed, given the problem size n, which is usu-
of the intensity of a surface that can be described ally the number of items. Informally saying
in terms of properties such as regularity, direc- some equation f(ri) = ®(g(n)) means it is
tionality, smoothness/coarseness, etc. within a constant multiple of g(n). More for-
mally, it means there are some ci, 02, and fc,
texture analysis the process of analyzing tex- such that 0 < c\g(n) < f(ri) < c2g(/t) for all
tures that appear at various positions in images. n > k. The values of c\, 02, and k must be fixed
The term also includes the process of demar- for the function / and must not depend on n.
cating the boundaries between different textural See also big-O notation, asymptotically tight.
regions, and leads on to the interpretation of vi-
sual scenes. think time the time that the user is not exe-
cuting a process or job on a device in a system.
texture modeling the process of modeling a Think time is measured as the interval of time
texture with a view to that elapses from when the user receives the re-
1. later recognition sult of one command until the user issues a new
command.
2. generating a similar visual pattern in a
graphics or virtual reality display. thinning image operator that clears, some-
Textures are usually partly random in nature, how symmetrically, all the interior border pixels
and texture models usually involve statistical of a region without disconnecting the region.
measures of the intensity variations. Successively applying a thinning operator re-
sults in a set of arcs termed "skeleton".
TGT See Kerberos ticket-granting ticket.
third generation language (3GL) a lan-
theorem solver program that aids in building guage designed to be easier for a human to un-
proofs of properties, it can be fully automatic or derstand, including things like named variables.
semi-automatic. A fragment might be let c = c + 2 * d. FOR-
TRAN, ALGOL, and COBOL are early exam-
theoretical maximum a maximum value for ples of this sort of language. Most "modern"
a random variable that can never be exceeded in languages (BASIC, C, C++) are third genera-
a system. An example is the theoretical maxi- tion. Most 3GLs support structured program-
mum of an end-to-end delay in a system without ming.
priorities or feedback and with bounded queue
sizes and service times. third normal form (3NF) a relation that is in
second normal form and no non-prime attribute
thermomagnetic recording recording meth- is transitively dependent on the key.
od used with magneto-optical disks. It involves
first using a focused laser beam to heat the disk this in C++, a designation of the object be-
surface and then forming or annihilating mag- ing operated upon. In other object-oriented lan-
netized domains. guages, known as self.
493
Thomas' write rule
Thomas' write rule a rule that specifies that thresholding any technique involving deci-
write operations superseded by later write oper- sion making based on certain deliberately se-
ations on the same object are ignored. lected value(s), known as threshold(s). For an
example, refer to threshold coding. These tech-
thrashing a state in which a computer system niques are also often utilized in image segmen-
is expending most of its resources on overhead tation. For example, the transformation of an
operations rather than on intended computing image / with depth > 1 into a binary image 4
functions. in which h (x) = 1 if / (x) is greater than a given
threshold (possibly dependent on x), 7&(x) = 0
otherwise.
thread a unit of concurrency within a pro-
cess. Sharing a single CPU between multiple
threshold method a technique used in con-
tasks (or '"threads") is a way designed to mini-
junction with the Hadamard matrix for selecting
mize the time required to switch threads. This
the compressed transform vector where those
is accomplished by sharing as much as possi-
components with values above some threshold
ble of the program execution environment be-
are kept. Compare with zonal method.
tween the different threads so that very little state
needs to be saved and restored when changing
thread. Multithreading differs from multitask- threshold set a way of partitioning an image
ing in that threads share more of their environ- into subimages that stack on top of each other,
ment with each other than do tasks under mul- with each being a subset of the one below it. See
titasking. Threads may be distinguished only also stack filter.
by the value of their program counters and stack
pointers while sharing a single address space and throughput (1) a measure of the amount of
set of global variables. There is thus very little work performed by a computer system over a
protection of one thread from another, in con- given period of time.
trast to multitasking. Multithreading can thus (2) the quantity of transactions or the amount
be used for very fine-grain multitasking, at the of data which can be processed or delivered
level of a few instructions, and so can hide la- through a network or computer system or com-
tency by keeping the processor busy after one ponent of such a system within unit time.
thread issues a long-latency instruction on which
subsequent instructions in that thread depend.
tiepoint a point in an input image whose
A lightweight process is somewhere between a
corresponding point in a transformed image is
thread and a full process.
known. Tiepoints are often used to specify trans-
formations in which the locations of transformed
threaded code an implementation technique pixels change, as in geometric transformations
for programming languages in which the pro- and morphing. See also geometric transforma-
gram is represented by a sequence of addresses tion.
to interpretive routines. The most common
example of this is an implementation of the TIFF See tagged image file format.
FORTH language. Compare with byte code.
tightly coupled multiprocessors a system
thread of control the most important task with multiple processors in which communica-
in a process. It typically controls all the other tion between the processors takes place by shar-
tasks. ing data in memory that is accessible to all pro-
cessors in the system.
threshold coding a coding scheme in trans-
form coding in which transform coefficients are time may denote either real time (also re-
coded only if they are larger than a selected ferred to as elapsed, calendar, or wall-clock time)
threshold. or execution time.
494
time implicit
time analysis the analysis of the evolution of in general, a vector. By specifying the required
specific aspects or systems considered against output at sufficient times t, the network can be
the time and the supposed temporal constraints, trained (using back propagation) to recognize
if any. sequences and predict time series.
time behavior attribute of software that time dependent variable variable of the sys-
bears on response and processing times and on tem that may change with time.
throughput rates in performing its function. The
capability of the software product to provide time domain the specification of a signal
appropriate response and processing times and as a function of time; time as the independent
throughput rates when performing its function, variable.
under stated conditions.
timed Petri net a Petri net in which there
time boxing a technique by which the prod- is some time delay from the moment that all of
uct is always delivered at the stated date. If there its input places are filled until a transition fires.
are problems and delays, the functionality may These firing delays can be either deterministic
be less than planned but the deadline never slips. or controlled by a random variable.
time-constructible function a function t (n) states that for all occurrences of event E within
that is the actual running time of some Turing 10 time instants, action A will occur.
machine on all inputs of length n, for all n.
time expression an expression that resolves
time critical task a task having a behavior de- to an absolute or relative value of time.
pending on temporal constraint and whose fail-
ure may lead to a great damage. See real-time time frequency analysis any signal analysis
system. method that examines the frequency properties
of a signal as they vary over time.
time-delay neural network a multilayer
feedforward network in which the output is time implicit in temporal logic, when the
trained on a sequence of inputs of the form meaning of formulas depends on the evaluation
x(t), x(t - D),... , x(t - wD), where *(.) is, time and this is left implicit in the formula.
495
time independent variable
time independent variable variable of the from a specific date or the number of millisec-
system that does not change with time; it is a onds from the boot of the system.
parameter of the system. In event-driven simulations, time stamps can
be used to determine the next event. In net-
timeliness a measure of how fast the event work routing, packets can be time-stamped to
already perceived can be processed. determine priority or to decide which will be
discarded in case of buffer overflow.
tune-loading See CPU utilization.
timestamp a date and time value obtained
timeout (1) to terminate a transaction after a from the system clock.
fixed period of time.
(2) a period of time after which an error con- timestamp ordering an optimistic locking
dition is raised if some event has not occurred. technique for achieving serializability, where a
A common example is sending a message. If transaction only updates a database object if no
the receiver does not acknowledge the message other transaction has left a timestamp signifying
within some preset timeout period, a transmis- a conflicting update to the object.
sion error is assumed to have occurred.
time-to-market the time between project
time-overloaded system a software system start-up and delivery of the final concrete sys-
that has a 100% or more utilization factor. tem. This duration is affected by organization
factors and non-software elements of the sys-
time sharing an operating technique of a tem.
computer system that provides for interleaving
in time of two or more processes. time to recover time taken for a system to
The effect is achieved by repeatedly preempt- resume operation following a transient failure.
ing the execution of each task to provide time to The recovering of a service is not necessarily
execute the others. Since tasks are often sub- synonymous with its repair; in the case of soft-
ject to execution delays for other reasons (i.e., ware failure, the system may recover rapidly and
waiting for interactive users to provide some in- corrective maintenance can be done offline.
put or for read/write operations from secondary
storage), overall system efficiency usually in- time to restore service See time to recover.
creases with the number of concurrently execut-
ing tasks (called the "multiprogramming level") timing constraint a constraint on the tempo-
up to a certain point, then drops quickly due ral behavior of a system oriented to quantitative
to the overhead of task switching (a condition constraints. Extensions of temporal logic that
known as "thrashing"). See also round-robin permit the specification of this type of constraint
system, processor sharing. have been introduced for real-time systems. See
also temporal constraint.
time shift for a signal x (t) a displacement in
time (Q. The time shift is given by x (t - *o). timing error an error in a system due to faulty
time relationships between its constituents.
time slicing a mode of operation in which
two or more processes are assigned quanta of TLB See translation look aside buffer.
time for execution on the same processor.
Toeplitz matrix a matrix with the property
time/space complexity a function describing that it is symmetric and the i, yth element is a
the maximum time/space required by the ma- function of (i —,/'). The Toeplitz nature of au-
chine on any input of length n. tocorrelation matrices of wide-sense stationary
discrete time random processes is exploited ex-
time stamp a value representing the current tensively in minimum mean square error predic-
time. It can be the number of seconds elapsed tion/estimation algorithms.
496
Torrance-Cook shading
token (1) device that generates or assists in B which forms a ring surrounding A, and at each
generation of one-time security code/passwords. pixel one computes the arithmetic difference be-
(2) in dataflow architectures, data items em- tween a "representative" gray-level in Ap (ei-
ployed to represent the dynamics of a dataflow ther minimum, maximum, median, or average)
system. and a "representative" gray-level in Bp (either
minimum, maximum, median, or average). See
token bus a method of sharing a bus-type closing, opening, structuring element.
communications medium that uses a token to
schedule access to the medium. When a partic- top node a synonym for the root node when
ular station has completed its use of the token, the graph represents a lattice or semi-lattice. See
it broadcasts the token on the bus, and the sta- also bottom node.
tion to which it is addressed takes control of the
medium. Also called token ring. topological map an organization of nodes
in which the similarity of any two nodes is a
token ring See token bus. function of their distance from each other on the
map. For example, with a 2-dimensional grid,
tolerance the amount of error allowable in Euclidean distance can be used as the distance
an approximation. between two nodes. Used in the self-organizing
map.
tomography the process of reconstructing an
image from projection data. topological order a numbering of the ver-
tices of a DAG such that every edge in the graph
tool space space of a 6x 1 vector representing
that goes from a vertex numbered i to a vertex
the positions and orientations of the tool or end numbered j satisfies i < j.
effector of the robot.
topology for a neural network, topology
top-down starting with a small number of
refers to the number of layers and the number of
poorly resolved items and breaking them down
nodes in each layer.
into smaller, more manageable pieces. It is a
"divide and conquer" technique.
topology preserving skeleton result of an
top-down analysis an analysis of a context- operation transforming a digital figure into a
free grammar which uses leftmost derivation. one-pixel-wide skeleton having the same "topol-
See also LL(k). Compare with bottom-up anal- ogy", in other words whose connected com-
ysis. ponents and holes correspond in a one-to-one
way with those of the figure. This is generally
top-down reasoning See backward chaining. achieved by homotopic thinning. The medial
axis transform or distance skeleton preserves the
top hat transform a transform used in math- topology of a figure (binary image) in the Eu-
ematical morphology. Let A be a structuring el- clidean case, but not in the digital case; the same
ement centered about the origin, and for every defect arises with the morphological skeleton.
pixel p, let Ap be its translate by p. The top See also thinning.
hat transform measures the extent by which in a
given gray-level image / the gray-levels of pix- topology tree tree that describes a balanced
els in Ap are higher than those in the portion decomposition of another tree, according to its
surrounding Ap. One way is to take the arith- topology.
metical difference / — (/ o A) between / and
the opening / o A of / by A\ in a dual form, one Torrance-Cook shading a shading model
takes the arithmetic difference (/ • A) - / be- that incorporates an ambient lighting compo-
tween the closing / • A of / by A and /. Another nent, a diffuse component and a specular com-
method considers a second structuring element ponent. See Lambert's law.
497
total correctness
total correctness during the proof of correct- tower configuration a PC that is designed
ness, an indication about a program or system to sit sideways, making it easier to stack more
stating if the output assertions (post conditions) peripherals inside the unit.
follow logically from input assertions (precon-
ditions) and the corresponding processing steps; towers of Hanoi given three posts (towers)
and if the program terminates as expected. See and n disks of decreasing sizes, move the disks
partial correctness. from one post to another one at a time without
putting a larger disk on a smaller one. The min-
total function a function that is defined for imum is 2n - 1 moves. The "ancient legend"
all of its domain type. was written in 1884.
total quality management a company com- traceability the property that allows the user
mitment to develop a process that achieves high to trace a features or an error along a system
quality product and customer satisfaction. It is or process. For example, it can be useful to
similar to quality assurance but it is on every trace the requirements along the development
level in the organization impacting every aspect life-cycle, the errors along the system structure,
of it, including software. the messages along the communication channel,
or the email along the network.
touch input a means for selecting a location
on the surface of the display unit using a variety tracing in software engineering, the process
of technologies that can respond to the placing of of capturing the stream of instructions, referred
a finger or other pointing device on the surface. to as the trace, for later analysis.
These are essentially data panels placed either
on the display surface or between the user and track concentric circle on which data is or-
the display surface. ganized sequentially on the disk.
tournament selection a probabilistic selec- trackball the earliest version of an input de-
tion process adopted in EP, in which the fitness vice using a roller ball, differing from the mouse
of each individual is compared with those of s in that the ball is contained in a unit that can re-
randomly chosen individuals in the population, main in a fixed position while the ball is rotated.
where s is usually referred to as the tournament It is sometimes referred to as an upside-down
size. The number of instances where the fit- mouse, but the reverse is more appropriate as
ness of the current individual is greater is then the trackball came first.
recorded as the score for the individual. This is
repeated for all parent and offspring individuals track buffer a memory buffer embedded in
and the resulting scores are arranged in descend- the disk drive. It can hold the contents of the
ing order. Those individuals corresponding to current disk track.
the top of the list are then incorporated into the
next generation. See also evolutionary program- traffic channel a channel in a communica-
ming. tion network that is used to carry the main in-
498
transaction isolation
formation or service, which is typically voice, tively. Make them as two neurons in a new
data, video, etc. Compare with control channel. child network of the updated winner.
If the winner is a non-terminal node (i.e.,
traffic management the act of controlling it has a child network), generate only one
the volume and statistical properties of network neuron, copy the training vector into it,
traffic using some combination of access restric- and put it in the child network of the up-
tions and rate control or adaptation of routing. dated winner.
traffic matrix a matrix containing the traf- 4. Repeat the above process until all the
fic between source and destination pairs. This training examples are exhausted. One
can be the traffic volume, connection set-up rate, training epoch has been completed at this
mean bandwidth, peak bandwidth, etc. point, and more than one epoch may be
required for the network of neural net-
traffic model a stochastic model for arrival works to reach an equilibrium. See self-
and service processes. generating neural network.
499
transaction level read consistency
gree, of transaction isolation in use. TheSQL92 transfer rate a measure of the number of bits
standard defines four levels of transaction iso- that can be transferred between devices in a unit
lation (read uncommitted, read committed, re- of time.
peatable read, and serializable). The ODMG2
standard uses the same transaction isolation lev- transfer time in a hierarchical memory sys-
els. tem, the time required to move a block between
two levels.
transaction level read consistency where a
transaction always reads data, as at the start of transform the process of converting data
the transaction, and does not see changes made from one form into another. Often used to sig-
by the transaction itself. nify a system that rotates the coordinate axes.
Examples of transforms include the Fourier
transaction log a record of transactions that transform and the discrete Fourier transform. A
have been processed, often used to automate re- discrete linear transform can be described as a
processing of transactions. product of the input vector with a transform ma-
trix. See also transform kernel.
transaction processing (TP) the exchange
of transactions in a client-server system to transformation rule a rule that can be ap-
achieve the same ends as would be performed plied to a query tree to result in a logically equiv-
by the equivalent single complex application. alent tree.
transaction processing monitor (TPM) for transform coding a method for source cod-
mission-critical applications, it is vital to man- ing similar to subband coding. The input sig-
age the programs that operate on the data. TPMs nal is transformed into an alternative represen-
achieve this by breaking complex applications tation, using an invertible transform (e.g., the
down into transactions. TPMs were invented Fourier transform), and the quantization is then
for applications that serve thousands of clients. performed in the transform domain. The method
A TPM can manage transaction resources on a utilizes the fact that enhanced compression can
single server or across multiple servers. then be obtained by focusing (only) on "impor-
tant" transform parameters.
transaction scope the extent of a transaction.
What is included between the start and end of a transform kernel a function that is multi-
transaction. plied with an input function, the result of which
is integrated or summed to form a transformed
transaction throughput the number of trans- output. For example, in the definition of the con-
actions that can be processed in a given time tinuous Fourier transform the kernel is e"*** and
period, often expressed as the number of trans- in the definition of the discrete Fourier transform
actions per second. the kernel is e~12«nmtN.
transfer delay See end-to-end delay. transform vector quantization the gener-
alization of scalar transform coding to vector
transfer function a function that converts coding. See transform coding.
information of one data type to information of
another data type. Operations such as rounding transform VQ See transform vector quanti-
and truncation are transfer functions from float- zation.
ing point to integer. In some cases, the trans-
fer function may not actually change represen- transient class a class whose instances are
tation, but simply be a mechanism for informing not persistent.
the compiler that the value is to be treated as a
different type. See also type cast, coercion. transient fault See intermittent fault.
500
trapped error
transient state (1) in reliability analysis, a made for it; otherwise the page is first brought
fault or error resulting from temporary environ- in after a page fault and then the TLB entry is
mental conditions. made; in either case, the TLB eventually returns
(2) in a stochastic process, a state that is not a real address. The TLB may be fully associa-
part of a recurrent chain and hence has proba- tive, set associative, or hashed.
bility zero of occurrence in steady state.
(3) in a computing system or a communica- translucent a characteristic of a material al-
tion network, a system state under non-stationary lowing light to pass through partially or dif-
load (e.g., after a load change) until a new steady fusely.
state is reached.
transmission control protocol (TCP) the
transition the evolution from a state to the basic transport-level protocol of the Internet.
next. The term is represented by an arrow be- It provides for reliable, flow-controlled, error-
tween two states in state diagrams. corrected virtual circuits.
501
traveling salesman problem
traveling salesman problem the problem of tree structure diagram See hierarchical di-
determining the optimal route through a set of agram.
cities, given the intercity travel costs.
tree structured vector quantization scheme
traversal (1) a specification of movement to reduce the search processes for finding the
along the arcs of a graph. May include reverse minimum distortion codevector using a tree struc-
movements (backtracking) along the arcs. tured codebook, where each node has m branches
(2) the act of traversing a graph. and there are p = logm Nc levels of the tree.
Abbreviated tree structured VQ.
traversal algorithm an implementation of a
graph traversal. See also tree walk, prefix traver- tree structured VQ See tree structured vec-
sal, postfix traversal. tor quantization.
tree (1) a data structure represented as a di- tree structure robot any of a set of rigid
rected graph of nodes and arcs, such that each bodies connected by joints forming a topological
node has at most one arc leading into it, and can tree.
have zero or more arcs leading from it.
See also tree node, leaf node. tree walk a traversal algorithm that speci-
(2) an abstract representation of a program, fies how to traverse a tree. See prefix traversal,
represented as a tree whose nodes correspond di- postfix traversal.
rectly to terminal symbols and nonterminal sym-
bols of the grammar used to parse the input. See trellis code a (channel) coding scheme in
also parse tree. which the relation between information symbols
and coded symbols is determined by a finite-
tree code a code produced by a coder that state machine. The current block of information
has memory. symbols and the state (in the finite-state ma-
chine) uniquely determine the block of coded
tree coding old name for convolutional cod- output symbols as well as the next state. Thus,
ing. trellis coding can be viewed as generalized block
coding for which the encoder function depends
tree editing problem the problem of trans- on the current as well as previous blocks of
forming one of two given trees into the other by non-overlapping information symbols. In the
an edit scripts of minimum cost. class of trellis codes we, for example, find con-
volutional codes, trellis-coded modulation, and
tree network limited connection of sub- continuous-phase modulation. See also convo-
scriber nodes to a central control or distribution lutional code.
unit via other subscriber nodes in the network.
trellis coded modulation a forward error
tree node (1) a node in a tree. The designa- control technique in which redundancy is intro-
tion is independent of whether or not there are duced into the source stream through an increase
any arcs leading from the node. in the number of symbol values rather than an in-
(2) a node in a tree that has the property that crease in the number of symbols. Developed by
it has one or more arcs leading from it to other G. Ungerboeck in the late 1970s, this approach
nodes, also called an internal node. Compare has found widespread use in systems with lim-
with leaf node. ited bandwidth.
tree-search algorithms for searching through trellis coding See trellis code.
a tree-structured problem based on a certain cost
function, or metric, increment associated with trellis diagram in convolutional codes and
each branch of the tree. trellis coded modulation, a graphical depiction
502
trigger
of all valid encoded symbol sequences, and the the intersection A and the algebric product • de-
basis for the Viterbi decoding algorithm. fined as
where A and B are two fuzzy sets in the universe triangulation (1) the transformation of a
of discourse X. model into a mesh of triangles to facilitate
The triangular co-norm is used as disjunc- speedy rendering or other computational geom-
tion in the approximate reasoning, and reduces etry algorithms. The initial model might be
to the classical OR, when applied to two crisp a planar graph, free-form surface, polygonal
(nonfuzzy) sets. model, point cloud data, or volumetric data.
See also approximate reasoning, fuzzy set. (2) an example of faceting. See faceting,
facet.
triangular loop a nested loop where the inner
loop limits depend on the outer loop index. trie digital tree, tree in which edges are la-
beled by symbols or strings.
triangular norm (1) in fuzzy systems, de-
noted *, a two place function from [0, 1] x [0, 1] trigger (1) the combination of circumstances
to [0, 1]. The most used triangular norms are which activates a latent fault. The circumstances
503
trilinear filtering
include selection of particular inputs together true a value that represents the "true" value
with a certain internal state of the system. in two-valued logic. Programming languages
(2) specifies a condition and an associated are, in the abstract, not constrained to a partic-
action. If the condition is satisfied, the rule is ular representation of the notion of "true" and
triggered. traditional choices have been "the constant 1",
"any nonzero value", "any odd value", "the con-
trilinear filtering a level of detail blending stant -1", or "any positive value". Compare with
technique used in MIP texture mapping. Pixels false.
are taken from multiple MIP maps and blended
to produce the final color. The purpose is to true complement in a system that uses bi-
remove the bands between adjacent pixels taken nary (base 2) data, a representation of negative
from different MIP maps. numbers as 1 's complement of the positive num-
ber. This is also called a radix complement.
trinary function a function with three argu-
true concurrency See concurrency. Con-
ments. See also constant function, unary func-
trast with apparent concurrency.
tion, binary function, N-ary function.
true data dependency the situation between
tri-state circuit a circuit element or branch two sequential instructions in a program when
that is in a high impedance state and effectively the first instruction produces a result that is used
isolated from the rest of the circuit from a current
as an input operand by the second instruction.
flow standpoint.
To obtain the desired result, the second instruc-
tion must not read the location that will hold the
tristimulus coordinates See chromaticity result until the first has written its results to the
coordinates. location. Also called a read-after-write depen-
dency and a flow dependency.
tristimulus value one value in tristimulus
color theory. Tristimulus color theory stems truncation (1) loss of information as a con-
from the hypothesis that the human eye has three sequence of the representation used by the com-
types of color receptors (cones) that have peak piler, language, or underlying computer. In the
sensitivity in the red, green, and blue visible case of floating point numbers, this usually hap-
light wavelengths, respectively. The tristimu- pens on the least significant bit of the represen-
lus color values are a set of three values X, Y, tation.
and Z which replace the red, green, and blue in- (2) loss of information caused by a need to
tensities with a weighted integral which calcu- store a value in a location that does not have the
lates a spectral energy over the range of visible capacity to store the entire value. Unlike mathe-
wavelengths of light for each value; the integrals matical truncation, this usually involves the loss
allow for colors to be represented purely addi- of high-order information, storing a modulus re-
tively, while representing colors via red, green, sult and potentially losing sign information. See
and blue intensities often requires a subtractive chopping, rounding.
interaction between the "primaries".
truncation to minus infinity loss of low-
Trojan horse a method for penetrating a sys- order information of a value such that the result
tem's security measures by launching a program is always less than or equal to the untruncated
that masquerades as a common command pro- value. Example: —2.7 becomes -3; -3.1 be-
gram, such as the login program, in order to comes —4. Compare with truncation to zero.
collect information to invade a user's account or See also rounding.
the system.
truncation to zero loss of low-order infor-
tropism an external directional influence on mation of a value such that the absolute value
the branching patterns of trees. of the result is less than or equal to the absolute
504
tutorial
value of the untruncated value. Important when and iterative serial decoding of the demodulated
negative numbers are involved. Example: -2.7 symbol sequence.
becomes -3, -3.1 becomes -3. Compare with
truncation to minus infinity. See also rounding. turbomouse an input device that consists
of a trackball and two buttons on a stationary
trust the willingness to believe messages, pedestal.
especially access control messages, without fur-
ther authentication. turbulence a chaotic system condition char-
acterized by disorder on all scales, with back-
trusted computing base (TCB) the collec- ward eddy currents and circular waves.
tion of all mechanisms in a system that enforces
security policy. The TCB boundary represents T\iring machine the simplest formal model
the security perimeter of the system. of computation consisting of a finite-state con-
trol and a semi-finite sequential tape with a read-
truth model a very detailed mathematical de- write head. Depending on the current state and
scription of a process to be controlled. The truth symbol read on the tape, the machine can change
model is also called the simulation model, since its state and move the head to the left or right.
it is used in simulation studies of the process. Unless otherwise specified, a Turing machine is
See also design model. deterministic.
TS fuzzy model See Takagi-Sugeno-Kang Turing test a test conceived by Alan Turing
fuzzy model. in 1950 designed to reveal whether a machine
demonstrated "artificial intelligence".
TSK fuzzy model See Takagi-Sugeno-Kang In essence, Turing's Test says that if a com-
fuzzy model. puter cannot be distinguished from a human (by
asking it a series of questions), then it must be
tty driver See terminal driver. concluded that the computer is "thinking". Tur-
ing imagined a man asking questions via a tele-
tty port See terminal device. type of an entity behind some closed door. The
man did not know whether the entity was another
tuple (1) an ordered set of values. Can be human or a computer answering the questions.
viewed as a row of values in the table. If a computer program could be written such
(2) a representation of an intermediate lan- that the man could not determine the identity of
guage in the compilation process in which oper- the being through questioning, then it must be
ations are represented by an ordered sequence of concluded that the computer had passed the test,
tuples, each tuple specifying the operation and and hence exhibited "artificial intelligence". To
the operands. date, no machine has passed any form of Turing
Test.
tuple relational calculus a calculus based on
the predicate calculus that uses tuple variables turnaround time the elapsed time between
that range over relations. submission of a job and the return of the com-
plete output.
turbo code the parallel concatenated convo-
lutional coding technique introduced by Berrou, tutorial a type of on-line support system that
Glavieux, and Thitimajshima in 1993. These provides a supportative and safe educational en-
codes achieve astonishing performance through vironment for learning processes or products.
parallel encoding of the source symbol sequence They usually include interactivity, and the con-
505
twenty-six connected
tent and pace are controlled, to some degree, and decoded by a single decoder. However,
by users. Tutorials have a broader pedagogical to reduce the number of pins required for ad-
scope than both documentation and help. dressing, the address may be split into two parts
that are then sent in sequence on the same lines.
twenty-six connected See voxel adjacency. Then during the row access strobe, one part is
used to select a "row" of the memory, and during
two-address computer one of a class of the column access strobe the other part is used
computers using two or less address instruc- to select a "column" of the selected "row". The
tions. "row" output may be held in a buffer and the
"column" access then applied to the contents of
two-address instruction a class of assem- the buffer.
bly language ALU instruction in which the two In a two-and-a-half dimensional organiza-
operands are located in memory by their mem- tion, the bits of each word are spread across
ory addresses. One of the two addresses is also several chips — one bit per chip in the most
used to store the result of the ALU operation. extreme case. Each chip is then equipped with
two decoders, each of which decodes part of a
two-and-a-half-D sketch a representation of split address in order to carry out a selection on
the input image which is augmented at every po- the chip.
sition by information relating to a 3D structure
and which is deemed to constitute a significant two-phase locking in database systems, a
step on the way to human image interpretation. situation where all locks are acquired by a trans-
The name arises as the basic representation is action in a growing phase, prior to release of all
still 2D, whereas it is tagged with all available locks in a shrinking phase. Two-phase locking
3D information; it is important in forming a guarantees serializability, except when worm-
bridge between early (i.e., low level) visual pro- holes exist.
cesses and high level vision. It is strongly as-
sociated with the name of its developer, the late two-port memory a memory system that has
David Marr. two access paths. One path is usually used by
the CPU and the other by I/O devices. This is
two-channel coding a coding scheme in also called dual port memory.
which a signal is decomposed into two parts:
low frequency and high frequency components. two-way interleaved in memory technology,
The low frequency component is undersampled a technique that provides faster access to mem-
and the high frequency component is coarsely ory values by interleaving memory values in two
quantized, thus saving data. It can be viewed as separate modules.
a special example of subband coding.
type the concept of type and class are in
two-channel filter bank a filter bank that has general distinguished. In most of the classi-
one high frequency band and one low frequency cal object-oriented programming languages this
band in both analysis and synthesis filters. distinction is not performed.
two-dimensional cellular automaton a cel- type cast an operation that tells a compiler
lular automaton where a cell's contents at time to treat a representation specified as one type
t are based on its own and the contents of all its as being a representation of another type. In
immediate neighbors at time t - I . some languages (such as C), the notion of type
cast may be confused with coercion and trans-
two-dimensional memory organization fer function, using the same syntax for each of
memory organization in which the arrangement these.
on a single chip reflects the logical arrangement
of memory. In the most straightforward case, type checker the part of a compiler or inter-
each address is presented at once in its entirety preter that performs type checking.
506
typing error
type checking a form of semantic analysis system in most languages is actually a semi-
in which rules not specified as part of the syntax lattice, having a designated top node which is
of the language are used to determine if the data usually a type that can represent any other type
types of the variables of the program conform to in the language. In some languages, the types
those rules. For some languages, type checking do not form a semi-lattice but references to the
can be performed at compile time, and is a form types do form a semi-lattice. If the language
of static semantics. In other languages, type does not support multiple inheritance, the semi-
checking cannot be performed until the program lattice is a tree.
executes, and is a form of execution semantics.
type-safe an operation that cannot violate
typed language a language with an associ- the type semantics of the language. Some lan-
ated (static) type system, whether or not types guages, such as C and C++, have type cast oper-
are part of the syntax. ations that allow the user to perform type-unsafe
conversions.
type equivalence a specification in a lan-
guage by which it is determined if the type of a type system a collection of type rules for a
specific value is equivalent to a specified type. typed programming language. Same as static
See name equivalence, structural equivalence, type system.
textual equivalence.
typing error an error reported by a type
type lattice a common misnomer for the hier- checker to warn against possible execution er-
archy of types in a language. The type rors.
507
uncomputable function
u
umask a value used to alter the default access
mode of an ordinary file or directory that is sub-
tracted from the default access mode to produce
a new value for creating files and directories.
0-8493-2691-5/W/$0.00+$.50
© 2001 by CRC Press LLC 509
unconditional branch
510
uniprocessor
uniform sampling the sampling of a contin- union of fuzzy sets the fuzzy analogy to set
uous signal at a constant sampling frequency. the set-theoretic union.
Let A and B be two fuzzy sets in the uni-
unimplemented instruction (1) a numeric verse of discourse X with membership functions
pattern in an instruction stream that does not PA(X) and /ia(*), x € X. The membership
correspond to any defined machine instruction. function of the union A U B9 for all x e X, is
(2) a type of trap operation executed by a
processor when an unimplemented instruction HAUB(X) = max {)M*)» V>B(*)} -
is encountered. See also fuzzy set, membership function.
uninitialized variable a variable whose union operator a logical OR operator.
value has not been explicitly assigned at the time In a crisp (non-fuzzy) system, the union of
the variable was declared. Some languages im- two sets contains elements that belong to either
plicitly initialize all variables to well-specified one or both of the sets. In fuzzy logic, the union
values at their point of declaration; other lan- of two fuzzy sets is the fuzzy set with a member-
guages will simply use whatever value was left ship function that is the larger of the two. See
in memory in the memory area now represent- union of fuzzy sets.
ing the variable. A common programming error
is to use the value of a variable before the value uniprocessor See single instruction stream,
has been established by the program. single data stream.
511
uniquely decodeable
uniquely decodeable a channel code where tant method for universal lossless source coding
the correct message sequence can always be re- is Ziv-Lempel coding.
covered uniquely from the coded sequence as
observed through the channel. Of particular in- universal synchronous/asynchronous re-
terest for multiple access channels. ceiver-transmitter (USART) a logic device
that performs the data link layer functions, such
unitary transform a transform whose in- as serializing, deserializing, parity generation
verse is equal to the complex conjugate of its and checking, error checking, and bit stuffing,
transpose. of a serial transmission protocol for either syn-
chronous or asynchronous transfer modes.
unit delay in discrete time systems, the delay
of a signal by a single sample interval, i.e., x(n— universal Ihring machine a Turing machine
1). Under the z-transform, z~lX(z). that is capable of simulating any other Turing
machine if the latter is properly encoded.
unit of work See transaction.
universe of discourse term associated with
a particular variable or groups of variables, it is
unit test part of the testing strategy that fo-
the total problem space encompassing the small-
cuses on tests to individual program compo-
est to the largest allowable non-fuzzy value that
nents.
each variable can take.
universal asynchronous receiver transmitter
Unix the common name for a family of in-
(UART) a standard interface often used in
teractive, multiuser operating systems. Often
small computer systems, to buffer and translate
capitalized as "UNIX". However, Unix is not
between the parallel word format used by the
an acronym, and therefore need not be capital-
CPU and the aynchronous serial format used by
ized unless referring to the registered trademark.
slow I/O devices. Unix is available in one version or another for
virtually any computer, ranging from desktop
universal coding coding procedure that does personal computers and workstations to the most
not require knowledge of the source statistics powerful supercomputers.
and yet is asymptotically optimal. A typical ex- Unix was originally developed on a Digital
ample is Lempel-Ziv coding. Equipment Corporation (DEC) PDP-7 in 1969
by Ken Thompson and Dennis Ritchie — em-
universal fuzzy approximator a fuzzy sys- ployees of AT&T's Bell Laboratories. UNIX is
tem approximates in a sense that it can approx- a registered trademark of AT&T's UNIX System
imate any nonlinear function to any degree of Laboratories.
accuracy on any compact set. (2) "unix" is the filename of the Unix exe-
cutable.
universal hashing a scheme that chooses
randomly from a set of harsh functions. unlock to release a semaphore or other type
of lock.
universal quantification a first order logic
operator used to quantify a variable over a finite unnamed pipe a pipe that does not have a
or infinite set. It is used to state that a formula directory entry, that is, a pipe which is accessible
is true for every value of a variable. It is usually only to its creator and users.
represented with V. See existential quantifica-
tion. unnormalized form (UNF) a relation is un-
normalized if it does not satisfy any normal
universal source coding refers to methods forms.
for source coding that do not rely on explicit
knowledge of the source statistics. One impor- unordered file See heap file.
512
update lock
unpopulated card a card with no chips. unstable equilibrium the state of a system
that can easily be moved into a chaotic or unsta-
unrepeatable read a read of an object or ble state.
data set producing different data the second or
subsequent time it is performed, as the object or unsupervised learning a training technique
data set has been updated since the first read. in statistical pattern recognition or artificial neu-
ral networks in which the training set does not
unrevealed failure See latent fault. include a predefined desired output. The learn-
ing system seeks to identify structure in the data
unsafe cast See unsafe conversion. by clustering similar input patterns.
unsafe conversion a form of type cast or unsupervised neural network neural net-
representation conversion in which the compiler works that require predetermined output to form
is told that it must treat a value of a certain type the interconnection weight matrix of a network.
(or reference to a value of that type) as if it were If no input-output pairs are known and a number
a value of a different type (or a reference to a of inputs are available, we can only memorize
value of the different type). them in an organized order. Similar inputs are
memorized in locations close to each other and
unsharp masking an edge enhancement different inputs are stored in locations far from
technique that subtracts a blurred version of an each other. The network is able to recognize an
image from the input image. See also edge en- input that has already appeared. If the input has
hancement. never appeared, it will be stored in an appro-
priate location, which is close to similar inputs
unsigned integer an integer value in which and far from different inputs. An example of
the high-order bit is treated as a numeric bit an unsupervised neural network is the Kohonen
rather than a sign bit. In most machines, 2's self organizing map, which can be implemented
complement representation is used, so the inter- using an adaptive correlator. A correlator has
pretation of the sign bit is by convention. For ex- been long used in optical processing for mea-
ample, a byte can represent a value in the range suring the similarity between two inputs.
—128... 127 as a signed value but a value in the
range 0... 255 as an unsigned value. untrapped error an execution error that does
not immediately result in a fault.
unsigned shift a form of shift operation in a
computer in which shifts towards the low-order
untyped pointer a pointer whose type is un-
bit use the constant 0-bit value to fill the new
known. In many languages, the untyped pointer
values required.
represents the top node of the type lattice.
unsolvable problem a computational prob-
lem that is not solvable. The associated function upcasting pointing to or referencing a de-
is called an uncomputable function. rived object using a reference or a pointer to a
base class. Another term for widening.
unspanned organization a file organization
in which records do not span block boundaries. update anomaly in database systems, when
an update command results in inconsistency in
unspecified in specifications of program- the data.
ming languages, conditions or results that
cannot be known, are unpredictable, are update authorization in database systems,
implementation-specific, or which indicate an permission to update a relation.
erroneous program whose results are not con-
strained by the language definition. See also update lock a lock used to avoid deadlock,
indeterminate. where the intention is to acquire an exclusive
513
update query
lock, but unlike an exclusive lock, an update the purposes of ISO/EEC 9126 they are not clas-
lock may be downgraded to a shared lock. sified as usability. Usability should address all
of the different user environments that the soft-
update query in database systems, used to ware may affect, that may include preparation
modify the values of attributes of one or more for usage and evaluation of results.
selected tuples in a relation.
USAGE a specification in the COBOL lan-
up/down counter a register that is capable of guage which determines the internal representa-
operating like a counter and can be either incre- tion of a value.
mented or decremented by applying the proper
electronic signals. usage the conditions of use of an item. A
relationship that is a dynamic dependency. The
up-level addressing a concept from pro- actuation of an association link (which itself de-
gramming languages. In languages that per- clares the architecture, not the dynamics).
mit function definitions to be declared within
the scope of existing function definitions, such USART See universal synchronous/asyn-
that parameter values and values declared in all chronous receiver-transmitter.
scopes enclosing the function definition being
made, access to the enclosing values is effected use a point in a program at which a name is
by a technique called up-level addressing. This used in a computation. Contrast with definition.
generally requires context to be maintained on
the stack, and this historically is referred to as use bit in a paging system, a bit associated
a display (from the Algol-60 implementation with a page entry in a lookup table which indi-
technology). cates that the page has been referenced since the
last time the bit was reset. The bit is reset when
upper CASE a CASE tool available to sup- it is read.
port the initial tasks of software development:
requirements, analysis, high level design. use case diagram a diagram showing the
basic use cases of a software system together
upper triangular matrix a matrix that is with the interactions that the user (expressed as
only defined at (i, j) when i > j. See also an actor) has with these use cases. Each use
lower triangular matrix, ragged matrix. case represents the functionality requested by a
single actor in order to gain some benefit.
UPS See uninterruptible power supply.
user an individual who uses the software
upsampling a system that inserts L - 1 ze- product to perform a specific function. Users
ros between the samples of an input signal to may include operators, recipients of the results
form an output signal. An L-fold upsampler fol- of the software, or developers or maintainers of
lowed by an appropriate lowpass filter produces software.
an output signal that is an interpolated form of
the input signal, at L times the sampling rate. user account consists of a login name, a pass-
Upsampling also often refers to the operation of word, a home directory, and some administrative
the upsampler and the lowpass filter together. files.
URL See uniform resource locator. user CPU that component of CPU time spent
supporting user application functions.
usability the capability of the software prod-
uct to be understood, learned, used, and attrac- user datagram protocol (UDP) a datagram-
tive to the user, when used under specified condi- level transport protocol for the Internet. There
tions. Some aspects of functionality, reliability, are no guarantees concerning order of delivery,
and efficiency will also affect usability, but for or dropped or duplicated packets.
514
utilization law
user documentation the information given user perceived quality quality that is per-
with the software/hardware system to the user. ceived by the user when the software product is
It describes in an informal way what the soft- actually used in the users' environment, based
ware/hardware does and how the user can in- on user attributes not visible to the developer.
teract with it to achieve the wanted behavior.
Often the user documentation is produced in an user satisfaction a heuristic measure of
early stage of the development process to de- whether users are happy with a bought/delivered
scribe what the software/hardware system will software system.
do.
user state a computer mode in which a user
user friendly The typical definition for user program is executing rather than a systems pro-
interface presenting a set of appealing features gram.
that allow it to be perceived by users as an easy Some computers have two modes of opera-
system to interact with. tion: the system state is used when parts of the
computer's operating system are executing and
user ID an integer that uniquely identifies a the user state is used when the computer is ex-
system user. ecuting application programs.
user interface (UI) the aspects of a computer user-visible register an alternative name for
system or program which can be seen (or heard general purpose registers, emphasizing the fact
or otherwise perceived) by the human user, and that these registers are accessible to the instruc-
the commands and mechanisms the user uses to tions in user programs. The counterpart to user-
control its operation and input data. A graphical visible registers is registers that are reserved for
user interface emphasizes the use of pictures for use by privileged instructions, particularly within
output and a pointing device such as a mouse the operating system.
for input and control, whereas a command line
interface requires the user to type textual com- using declaration when a class inherits us-
mands and input at a keyboard and produces a ing private or protected inheritance level, one or
single stream of text as output. See graphical more of the inherited members can be promoted
user interface. again to a higher level (up to its original access
level) by declaring the member in the derived
user manual a document describing all class definition with the using keyword.
the needed information for the use of a soft-
ware/hardware product, from the installation to USL acronym for UNIX System Laborato-
the advanced details. ries.
user mode in a multitasking processor, the utility a software tool designated to perform
mode in which user programs are executed. In some frequently used support function.
user mode, the program is prevented from ex-
ecuting instructions that could possibly disrupt utilization (1) in computer performance eval-
the system and also from accessing data outside uation, the fraction of the processor within a
the user's specified area. given time period spent supporting system and
user functions.
user model a stochastic model for user be- (2) a ratio representing the amount of time
havior. User models are often used to define hi- a system or component is busy divided by the
erarchical traffic models as an input to a queue- time it is available.
ing system or a simulation.
utilization law in operational analysis, the
username a sequence of characters identify- utilization law states that the utilization of a de-
ing a user to the operating system. vice is equal to the product of the mean service
515
utilization law
time between completions at that device and the UVPROM See erasable programmable read-
throughput of that device. only memory.
516
variable length code
validation of a prediction system the pro- variable length code to exploit redundancy
cess of establishing the accuracy of the predic- in statistical data, and to reduce average number
tion system by empirical means, i.e., by compar- of bits per word, luminance levels having high
0-8493-2691-5/01/$O.OOf$.50
© 2001 by CRC Press LLC 517
variable length fieid
probability are assigned short code words and variant; other languages impose no such limita-
those having low probability are assigned longer tions.
code words. This is called variable length cod-
ing or entropy coding. See also entropy coding. VBA acronym for Visual Basic for Applica-
tions.
variable length field in database systems,
situation in which not all records in the file will VBR See variable bit rate.
have the same length for this field.
VBScript a language based on Visual Basic,
variable-length instruction the fact that the which is intended to execute in a limited envi-
machine language instructions for a computer ronment. See sandbox.
have different numbers of bits with the length
dependent on the type of instruction. VDL See Vienna Definition Language.
variable resolution hierarchy an approach VDU See visual display unit.
where images corresponding to the levels of the
hierarchy vary in spatial resolution. This re-
VE See virtual environment.
sults in a pyramid structure where the base of
the pyramid represents the full resolution and
the upper levels have lower resolution. vector (1) a list of numbers, typically Carte-
sian coordinates or a direction in 2D or 3D. For
example, d, = (dx, dy, dy)T = (1,1.5,0)r.
variance the mean-squared variability of a
random variable about its mean: (2) a term often used to denote a one-dimen-
2
<r = r(X-tfp(x)dX,
sional array. Also used to represent a one-dimen-
sional slice of a larger array.
«/—oo
vectored interrupt an interrupt request
where a2 is the variance, p is the mean, and whereby the processor is directed to a pre-
p(x) is the probability density function. See determined memory location, depending on the
also covariance, correlation. source of the interrupt, by the built-in internal
hardware. In the X86 processors, the addresses
variant record a designation of a syntactic are stored in an array in memory (a mathematical
construct supported in many languages that al- vector) and indexed by the interrupt number. In
lows a program to interpret the contents of the the 8080 and Z80, the interrupt number becomes
same area of storage in two or more ways. See part of a CALL instruction with an implied ad-
also union. dress that is executed on an interrupt cycle.
variant selector within a variant record, the vector graphics a type of computer graphic.
value that determines which of the variants is The earliest computer graphics displays were
to be used for interpretation. Depending on the drawn on so-called vector displays, because the
language, this value may be assignable by the electron beam which produced the image was
programmer (thus allowing the interpretation to under software control. The beam followed a
be changed at any time), or, once established, chain of vectors (i.e., a polyline) from one point
fixed for the lifetime of the object. It may be an to another. Vector graphics are sometimes re-
explicit programmer-named value of the variant ferred to as line-drawing graphics.
record, or implicit (such as in run-time type in-
formation). Not all languages that support vari- vector image an image consisting of mathe-
ant records require a variant selector to exist. matical descriptions of the objects in the scene,
Some languages require the variant selector be e.g., equations for lines and curves. The image is
used by providing syntactic constructs that re- independent of resolution so it can be stretched,
quire its use before operating on members of the rotated, and skewed with no degradation. Vec-
518
verification
tor images are often used in CAD applications. finding the cosine of the angle between the vec-
See also bitmapped image, CAD, image. tors.
519
verification and validation (V&V)
It is also the formal proof of program correct- vertical microinstruction a field that spec-
ness. ifies one microcommand via its op code. In
(2) a formal technique to prove correctness, practice, microinstructions that typically con-
e.g., of a protocol specification. See also reach- tain three or four fields are called vertical.
ability graph.
vertical propagation a type of privilege
verification and validation (V&V) the pro- grant. A user granted privileges with the
cess of verification and validation. In some grant option with vertical propagation limited
cases, with some techniques the distinction of to N limits the length of the sequence of users
the boundary between these formal activities is awarded the grant to N.
blurred.
very large scale integration (VLSI) a tech-
Versa Module Europe bus (VME bus) a nology that allows the construction and inter-
standardized processor backplane bus system connection of large numbers (millions) of tran-
originally developed by Motorola. The bus al- sistors on a single integrated circuit.
lows multiple processors to share memory and
I/O devices. very long instruction word (VLIW) a com-
puter architecture that performs no dynamic
analysis on the instruction stream and executes
version a concrete instance of an object.
operations precisely as ordered in the instruc-
Multiple versions of one object can exist. A con-
tion stream. It gets its name from the relatively
crete configuration with concrete versions of the
longer microinstructions with respect to other
different objects belonging to this configuration.
architectures.
Also known as a release.
VGA See video graphics adapter.
vertex the points in a model at which edges
terminate, for example, the eight corners of a via minimization given a set of trees in the
cube or the three corners of a triangle. Poly- plane, each interconnecting the terminals of a
hedrons, polygonal surfaces, and triangulations net, determining a layer assignment that min-
are composed of vertices, edges, and faces. imizes the number of points (vias) at which a
layer change occurs.
vertex coloring an assignment of colors to
the vertices of a graph such that no two adjacent video (1) representation of moving images
vertices receive the same color. for storage and processing. Often used inter-
changeably with television. In particular, "video
vertex normal the direction vector pointing signal" and "television signal" are synonyms.
directly out of a polygonal/polyhedral model at a (2) a particular stored sequence of moving
given vertex. This may be defined as the average images, e.g., on a tape or within a database.
of the surface normals of the faces adjacent to
the vertex. video card a special board that interfaces the
computer monitor to the computer. Also called
vertical fragmentation (1) of a relation in a video display adapter.
distributed databases, is the subdivision of the
relation into subsets based on a set of projects. video coding compression of moving im-
The key attributes of the relation are also stored ages. Coding can be done purely on an in-
with each fragment so that the original relation traframe (within-frame) basis, using a still im-
can be recreated. age coding algorithm, or by exploiting tempo-
(2) in object-oriented databases, fragmenting ral correlations between frames (interframe cod-
the instances of a class into more than one stor- ing). In the latter case, the encoder estimates
age structure — one set for frequently accessed motion between the current frame and a previ-
objects and another set for archives. ously coded reference frame, encodes a field of
520
virtual instrument
motion vectors that describe the motion com- object, the base class is inherited using the vir-
pactly, generates a motion-compensated predic- tual key word. This key word forces the compiler
tion image and codes the difference between this to store one instance of the common base class
and the actual frame with an intraframe residue in the memory space of the derived object.
coder—typically the 8 x 8 discrete cosine trans-
form. The decoder receives the motion vectors virtual camera a set of parameters defining
and encoded residue, constructs the prediction a 2D view of a 3D model. These might include:
picture from its stored reference frame, and adds camera location, direction, or camera twist —
back the difference information to recover the defining the upwards direction in the rendered
frame. See also MPEG. image.
video compression See video coding. virtual child record type a virtual record
type that acts as a child record.
video graphics adapter (VGA) a video
adapter proposed by IBM in 1987 as an evo- virtual cut-through a method for relaying
lution of EGA. It is capable of emulating EGA, packets through an intermediate switching node
CGA, and MDA. In graphic mode, it allows to in a network similar to store-and-forward with
reach 640 x 480 pixels (wide per high) with 16 the following difference: if the desired output
colors selected from a pallet of 262144, or 320 link is free when a given packet arrives and there
x 240 with 256 colors selected from a pallet of are no other packets queued, the transmission
262144. of that packet over the next hop will begin im-
mediately, instead of waiting for the rest of the
Vienna Definition Language (VDL) a se- packet to arrive. This pipelining of the packet
mantic description language developed at the through the nodes of the network gives better
IBM Scientific Center in Vienna, Austria. performance than store-and-forward under light
load, but when the load becomes high enough for
view (1) a software representation or a doc- queues to form, the performance is equivalent to
ument about software. Examples are require- store-and-forward. See also packet switching,
ments and specification documents, hierarchy store-and-forward.
charts, flowcharts, petri nets, test data, etc. Each
view is classified according to a particular view virtual DMA DMA in which virtual ad-
type: non-procedural, e.g., requirements doc- dresses are translated into real addresses during
uments; pseudo-procedural, e.g., software ar- the I/O operation.
chitecture documents; procedural, e.g., source
code, data definition; analysis views which may virtual environment an artificial environ-
accompany any other view. ment maintained by a computer which a user
(2) in databases, a single relation derived may interact with or view.
from other views or relations. Views are not
explicitly stored in the database. virtual function in the object-oriented para-
digm when a base class demands the implemen-
virtual address (1) an address that refers to tation of one member function, this function is
a location in virtual memory. a virtual function. Moreover, a function whose
(2) the address generated by the processor implementation is redefined by the derived class
in a paging (virtual memory) system. Compare is a virtual function. The polymorphism ex-
with real address. ploitation is obtained by virtual function dec-
laration; the declaration specifies the function
virtual base class in the C++ language, mul- name and interface of the member function for
tiple inheritance is allowed, and because of it a all derived classes.
base class can be inherited indirectly more than
once. In order to avoid the existence of two virtual instrument an instrument created
instances of the same base class in the derived through computer control of a collection of in-
521
virtually addressed cache
strument resources with analysis and display of ing structures, efficient management of main-
the data collected. memory, and long-term storage.
virtually addressed cache a cache memory virtual memory interrupt interrupt that oc-
in which the placement of data is determined by curs when an attempt is made to access an item
virtual addresses rather than physical addresses. of virtual memory that is not loaded into main
This scheme has the advantage of decreasing memory.
memory access times by avoiding virtual ad-
dress translation for most accesses. The disad- virtual method a feature of an object-
vantage is that data stored in the cache may have oriented language by which a method that is
different virtual addresses in different processes invoked by a superclass will actually execute
(aliasing). the appropriate method in a subclass that has
defined it. In some object-oriented languages,
virtual machine (1) a process on a multi- all methods are implicitly virtual methods; in
tasking computer that behaves as if it were a others (such as C++) the virtual methods must
stand-alone computer and not part of a larger be explicitly indicated by the programmer. See
system. vtable.
(2) an abstraction hiding the physical proces-
sor and its memory with one or more layers of virtual page number in a paged virtual mem-
software. ory system, this is the part of the memory ad-
dress that points to the page that is accessed,
(3) a model of a computer instruction set that
while the rest of the address points to a particu-
is typically implemented by an interpreter. Ex-
lar part of that page.
amples of virtual machines include p-Code and
the Java Virtual Machine.
virtual parent child relationship (VPCR)
a relationship between two record types, one of
virtual memory main memory as seen by which is a virtual record type. These are used to
the processor, i.e., as defined by the processor- model M:N relationships.
generated addresses, in contrast with real mem-
ory, which is the memory actually installed or virtual parent record type a virtual record
that is immediately addressable. type that acts as a parent record.
The virtual memory corresponds to the sec-
ondary storage, and data is automatically trans- virtual path a concept used to describe the
ferred to and from real memory as needed. In unidirectional transport of virtual channels that
paged virtual memory, secondary memory is di- are associated by a common identifier value.
vided into fixed-size pages that are automati-
cally moved to and from page frames of real virtual reality (VR) a simulation of a vir-
memory; the division is not logical and is usu- tual environment which according to some must
ally invisible to the programmer. In segmen- have an "immersive" quality encouraging the
tation, the divisions (known as segments) are feeling of being present in the environment.
logical and of variable-sized units that are much Technology used with virtual reality includes
larger than pages. Segments are generally much stereo image helmets and 360° screens, but may
larger than pages: 16K to 64K bytes vs. O.SK to be as simple as a standard monitor display.
4K bytes. Many machines combine both paging
and segmentation. virtual reality modeling language (VRML)
Since secondary memory is much larger than a 3D model description format suited to transfer
main memory, virtual memory presents the pro- on the WWW.
grammer with the view of a main memory that
appears to be larger than it actually is. Vir- virtual record a record that contains no data
tual memory also facilitates automatic transfer values. It contains only a logical pointer to a
of data, protection, accommodation of grow- physical record.
522
visual programming environment (VPE)
virtual register one of a bank of registers mine which objects occlude others in order that
used as general purpose registers to hold the the scene looks correct, and time wastage may
results of speculative instruction execution un- be prevented by not drawing shapes that will be
til instruction completion. Virtual registers are overdrawn. Techniques include: culling back-
used to prevent conflicts between instructions facing polygons, Z-buffering, and Warnock's al-
that would normally use the same registers. See gorithm.
also speculative execution.
visit ratio the number of visits a customer
virtual sensor a sensor used as a basis for makes to a device each time it enters the system.
implementing everyday human behavior such
as visually directed locomotion, handling ob- Visual Basic a language developed by Mi-
jects and responding to sounds and utterances. crosoft, loosely based on the syntax of the BA-
Virtual humans should be equipped with visual, SIC language, but containing so many exten-
tactile, and auditory sensors. sions that the resemblance of the current lan-
guage to the primitive BASIC language is almost
virtual split the process of dividing a hard undetectable. Contains significant features that
disk into more than one logical DOS drive. support the Microsoft Windows Graphical User
Interface, hence the name.
virtual time See simulation time.
Visual Basic for Applications a dialect of
virtual waiting time amount of unfinished Visual Basic designed as an extension language
work at a certain instant of time. This is equal to for applications.
the waiting time which an imaginary arrival at
the same regarded instant of time would expe- visual display unit (VDU) a common means
rience. In certain queueing systems otherwise of input/output to/from a computer. Consists of
hardly analytically tractable (like n*D/D/l), the a CRT and a keyboard.
virtual waiting time can be used as a system state
variable. visual interface a computer user interface
based on visual/graphical components.
virus self-replicating program that is trans-
mitted via email, newsgroups, disks of uncertain visual language a language based on vi-
origin, and other means, that deliberately cause sual/graphical tokens and on a visual syntax de-
harm to a system's files. fined in terms of spatial relationships among vi-
sual tokens.
visibility level of accessibility or privilege
assigned to an entity/object/variable in the code. visual notation a notation based on a visual
formalism, typically based on graphic symbols.
visibility map a planar subdivision that en-
codes the visibility information. Two points p visual perception the perception of a scene
and q are visible if the straight line segment ~p7q as observed by the human visual system; it may
does not intersect any other object. A horizontal differ considerably from the actual intensity im-
(or vertical) visibility map of a planar straight- age because of the non-linear response of the
line graph is a partition of the plane into regions human visual system to light stimuli.
by drawing a horizontal (or vertical) straight line
through each vertex p until it intersects an edge visual programming environment (VPE)
e of the graph or extends to infinity. The edge e software that allows the use of visual expres-
is said to be horizontally (or vertically) visible sions (such as graphics, drawings, animation, or
from p. icons) in the process of programming. These
visual expressions may be used as graphical
visible surface determination during ren- interfaces for textual programming languages.
dering of 3D scenes, it is necessary to deter- They may be used to form the syntax of new
523
visual programming language (VPL)
visual programming languages leading to new trical signals that can be used to cause the system
paradigms such as programming by demonstra- to carry out these commands or accept the data.
tion, or they may be used in graphical presenta- Various types of algorithms and stored templates
tions of the behavior or structure of a program. are used to achieve this recognition.
VLIW See very long instruction word. volatile device a memory or storage device
that loses its storage capability when power is
VLSI See very large scale integration. removed.
VME bus See Versa Module Europe bus. volatile fault See intermittent fault.
vocabulary in defining a formal grammar, volatile memory memory that loses its con-
the union of nonterminal symbols and terminal tents when the power supply is removed. Ex-
symbols. amples include most types of RAM.
voice means for enabling a computer or data volatile storage See volatile memory.
processing system to recognize spoken com-
mands and input data and convert them into elec- voltage See potential difference.
524
VR
volume rendering the visualization of 3D item. If the majority of sites grant the lock, then
volume data, e.g., data sets such as MRI scans the transaction may access the database item.
consisting of a volume of density samples or
voxels. voxel the 3D analog of a pixel; abbreviation
of volumetric picture element. Mathematically
volumetric rendering refers to techniques it is a point in 3D space having integer coordi-
that model objects as three-dimensional vol- nates; concretely, it can also be interpreted as a
umes of material, instead of being defined by cube of unit size centered about that point. See
surfaces. pixel.
von Neumann architecture a stored pro- voxel adjacency one of three types of adja-
gram computer design in which data and in- cency relations defined on voxels:
structions are stored in the same memory de-
vice and accessed and executed serially. See 1. 6-adjacency: Two voxels are 6-adjacent
also Princeton architecture, single instruction iff they differ by 1 in one coordinate, the
stream, other two coordinates being equal; equiv-
single data stream. alently, the two unit cubes centered about
these voxels have one face in common.
von Neumann bottleneck in a von Neumann
architecture, the fundamental performance lim- 2. 18-adjacency: Two voxels are 18-
itation imposed by the fact that accessing of in- adjacent iff they differ by 1 in one or
structions and data from main memory must oc- two coordinates, the remaining coordi-
cur in a serial fashion. nates being equal; equivalently, the two
unit cubes centered about these voxels
Von Neumann, John (1903-1957) Born: have one face or one edge in common.
Budapest, Hungary.
Von Neumann is best know for his role in 3. 26-adjacency: Two voxels are 26-
the development of the theory of stored pro- adjacent iff they differ by 1 in one, two,
gram flexible computers. He is honored by the or three coordinates, the remaining co-
reference to Von Neumann machines as a theo- ordinates being equal; equivalently, the
retical class of computers. Von Neumann also two unit cubes centered about these vox-
invented the idea of game theory. As a math- els have one face, one edge, or one vertex
ematician Von Neumann published significant in common.
work on logic, the theory of rings, operators, In these definitions, the numbers 6, 18,
and set theory. His work, The Mathematical and 26 refer to the number of voxels that
Foundations of Quantum Mechanics, was sig- are adjacent to a given voxel. See pixel
nificant in the mathematical justification of that adjacency, voxel.
field. Von Neumann was a brilliant mathemati-
cian and physicist whose theoretical contribu-
tions are fundamental to modern physics and VPCR See virtual parent child relationship.
electrical engineering. He was the youngest
member of the Institute of Advanced Studies at VPE See visual programming environment.
Princeton, and did important work on the Man-
hattan Project. VPL See visual programming language.
von Neumann rounding See jamming. VQ See vector quantization, vector quantizer.
voting protocol any distributed concurrency VQ encoding See vector quantization encod-
control technique that does not use a distinguished ing.
copy; with voting protocols transactions send a
lock request to all sites containing a copy of the VR See virtual reality.
525
VRML
VRML See virtual reality modeling Ian- table of function pointers referenced by a pointer
guage. from each object in the class and is used to
dispatch the virtual method calls to the correct
viable a name applied to the virtual method method in a subclass needed to support an over-
table used in the implementation of some object- ride of the virtual method by the subclass,
oriented languages. A virtual method table is a
526
Warren abstract machine (WAM)
w
in distinction to user time, as measured by an op-
erating system, the time the system was actually
busy with the work of that particular application.
waiting state in a dataflow architecture when warm start (1) reassumption, without loss,
the function cannot be executed since not all in- of some processes of the system from the point
put lines contain a token. of detected fault.
waiting time the time between the arrival of a (2) the restart of a computer operating system
request in a queueing system and the beginning without going through the power-on (cold) boot
of service for this request. In most cases, the process.
time a request spends in a queueing system is
the sum of its waiting time and its service time. Warnock's algorithm a spatial partitioning
technique for depth sorting a list of polygons
wait state a bus cycle during which a CPU so that they may be rendered correctly. The al-
waits for a response from a memory or input- gorithm subdivides the screen rectangle until it
output device. may be painted entirely in the color of the fore-
most polygon or the background color.
wait time the time a process spends waiting
in the ready state before its first transition to the
warping the manipulation of 2D images by
running state.
arbitrary geometric (i.e., position) transforma-
tions of the pixels of some or all of an image.
walk a path in which edges may be repeated.
Some simple types of warping are stretching,
Wallace tree multiplier a high-speed paral- scaling, rotating, skewing, shearing, or perspec-
lel multiplier that consists of levels of carry-save tive transform (perspective projection). This
adders arranged in the form of a tree with a carry- may be used to draw texture maps. Many sim-
propagate adder at the root. The operands are ple transformations can be done simultaneously
fed in at the top (leaves) of the tree. Partial car- if positions and directions are represented in ho-
ries and partial sums corresponding to various mogeneous coordinates.
partial products then flow down the tree and are
assimilated at the root to yield the final product. Warren abstract machine (WAM) an inter-
mediate (low-level) language that is often used
wall-clock time total time taken by an appli- as an object language for compiling PROLOG
cation, including any delays due to the operating programs. Its objective is to allow the compila-
system or other processes and activities. This is tion of efficient PROLOG code.
04493-2691-5/01/$0.00+$.50
©2001 by CRC Press LLC 527
watchdog processor
watchdog processor a processor that ob- tem/360 machines which were to give the com-
serves some process and signals an alert if a pany a dominant position in computing.
certain event happens or fails to happen.
Watson, Thomas J., Sr. (1874-1956) Born:
watchdog timer a simple timer circuitry Cambell, New York.
which keeps track of proper system function- Watson is best known as the president of IBM
ing on the basis of time analysis. If the timer (International Business Machines). While Wat-
is not reset before it expires a fault is signaled, son was not a technical person, his position as
e.g., with an interrupt. head of IBM put him in a position of supporting
the development of a number of devices, both
watercourse a line on a surface f(x,y) electronic and mechanical, leading to the devel-
which represents a watershed of the inverted opment of the modern computer industry.
surface —/(#, y). The line of steepest descent
from a saddle point to a minimum is a water- wavefront array processor similar to a sys-
course. Watercourses meet watersheds at saddle tolic processor except that there is no external
points. clock.
waterfall life-cycle a life-cycle model dating wavelet a basis function that is obtained by
back many decades in which phases were iden- translating and dilating a mother wavelet; it has
tified (analysis, design, code, etc.) such that such properties as smoothness, time-frequency
these phases occurred sequentially with well- localization, orthogonality, and/or symmetry.
defined transitions. These change-over points
between phases permitted easy project manage- wavelet coding coding a signal by coding
ment, evaluation of progress, and so forth. Later the coefficients of the wavelet transform of the
modifications permitted some backtracking, but signal. The discrete wavelet transform is often
this was usually limited to between contiguous used in image compression.
phases. It is highly appropriate for software de-
velopments in known domains when the current wavelet packet a family of scaling functions
project, its requirements, environment, etc., are and wavelets by translation and dilation of a
almost identical to past projects so that the risk mother wavelet and a scaling function follow-
factor (of "surprises") is very low. ing a binary tree structure.
528
well-formed formula (WFF)
can provide sequential coherency if certain addi- weighted Euclidean distance for two real
tional instructions are executed by any program valued vectors x = (x\, *2,..., xn) and y =
running on the system. (y\, )>2, •. • , yn) is defined as
529
well-formed transaction
and "3" (there exists). All atomic formulas are white box reuse a style of reuse based on
WFF's, and if <f> and ^ are well-formed formu- class inheritance. A subclass reuses the inter-
las, then so are the conjunction (</> A ^)» the face and implementation of its parent class, but
disjunction (# v ^), the negation -«0, and the it may have access.
quantified formulas VX<f>, 3X</>, where "X" is a
variable symbol. white box testing testing the system by con-
centrating on the internal algorithmic correct-
well-formed transaction a transaction where ness inside the subroutine or object class.
each read operation is preceded by a shared lock
instruction, and each update preceded by an ex- whitening filter a filter that whitens noise,
clusive lock instruction. i.e., one which brings noise whose power spec-
trum is not white into this condition, e.g., by
WFM See workflow management. means of a frequency dependent filter. Noise
whitening is a vital precursor to matched filter-
W-grammar a context-sensitive grammar ing.
style created by Aad Van Wijngaarden [48,49],
which is a grammar consisting of two context- whitespace non-printing characters includ-
free grammars. The first level grammar creates ing the space and tab characters.
model production rules; the second grammar
generates the language. The language can then WHT See Walsh-Hadamard transform.
generate sentences. The two grammars are fi-
nite; the resulting set of productions is poten- widening pointing to or referencing a derived
tially infinite. See also metanotion, metapro- object using a reference or a pointer to a base
duction rules, hypernotion, hyper rules. class. Another term for upcasting.
Whetstone the speed of a processor as mea- widget window gadget. A component of the
sured by the Whetstone Benchmark. interface that is used to represent, contain, and
manipulate objects. Examples are icons, push
Whetstone benchmark one of several buttons, check boxes, text fields, etc.
well-known synthetic benchmark programs, de-
signed to measure the execution speed of a vari- Widrow-Hoff learning rule a gradient de-
ety of floating point instructions, on scalar and scent learning rule for calculating the weight
vector data, but also on some integer code. vector w for a linear discriminant which mini-
A benchmark test program for scientific com- mizes the squared error objective function. The
puters originally written Whetstone was the first vector w is modified as
major synthetic benchmark, designed in the
1960s in the small town of Whetstone, England. w(n + 1) = w(ri) + ct(ri) (d — wT(n)x\ x ,
whilejdo a form of loop in which a predicate where x is an input vector, d is the desired out-
is evaluated, and if it evaluates to "true", causes put, and w(ri) is the weight vector at iteration
the loop body to be executed, and repeats this n.
process until the predicate becomes "false". If
the predicate is initially "false", the loop body Wiener, Norbert (1894-1964) mathema-
will not be executed at all. See also dojwhile, tician whose contributions include: Brownian
do|until. motion, stochastic processes, generalized func-
tions, harmonic analysis, control theory, and
while-loop a loop construct characterized by optimal filtering. Established the field of cy-
a control predicate evaluated before each itera- bernetics, author of "Cybernetics: or Control
tion of the loop. See also while|do. Compare and Communication in the Animal and the Ma-
with do-loop. chine".
530
Wizard-of-Oz paradigm
wildcard a symbol that matches any char- resent different operations: in particular, they
acter, or in some cases any sequence of char- will be suitable for different filtering or shape
acters. Although most often used in the con- analysis tasks. See also median filter, thinning.
text of specifying file names in command lines
typed to operating system shells, it is also used window manager the software layer of
in some languages to designate pattern charac- a window-based operating system devoted to
ters in string-matching patterns in programming managing the windowing mechanisms.
languages that support such constructs.
window operation an image processing op-
wild failure See catastrophic failure. eration in which the new value assigned to a
given pixel depends on all the pixels within a
Williams tube memory a memory device window centered at that pixel location.
based on electric charges being stored on the
screen of a cathode ray tube. Now obsolete. window system system software that pro-
vides a virtual model of a physical terminal to
Winchester disk a type of magnetic disk for the application programmer.
data storage. Its characteristic property is that
the disk and the read-write head are placed in winner-take-all network a network in which
a hermetically sealed box. This allows higher learning is competitive in some sense; for each
recording density as the read-write head can be input a particular neuron is declared the "win-
moved closer to the disk surface. See also disk ner" and allowed to adjust its weights. After
head. learning, for any given input, only one neuron
turns on.
window factor of the text that is aligned with
the pattern. wired OR a circuit that performs an OR op-
eration by the interconnection of gate outputs
windowed convolution a mathematical op- without using an explicit gate device. An open
eration where a mask of numerical weights de- collector bus performs a wired OR function on
fined over some window is translated across a active-low signals.
digital image pixel by pixel, and at each pixel
the arithmetic sum of products between the mask wireless local area network (WLAN) a
weights and the corresponding image pixels in computer network that allows the transfer of data
the translated window is taken. without wired connections.
windowing the process of opening a win- witness (1) a structure providing an easily
dow. In signal processing, it is common to open verified bound on the optimal value of an opti-
only a certain restricted portion of the available mization problem. Typically used in the analy-
data for processing at any one time; such a por- sis of an approximation algorithm to prove the
tion is called a window or sometimes a mask performance guarantee.
or neighborhood. For instance, in FIR filter de- (2) a mismatch of two symbols of string y
sign, a technique known as windowing is used at a distance of d is a "witness" to the fact that
for truncation in order to design an FIR filter. no subject y could occur twice at a distance of
The design of window becomes crucial in the exactly d positions (equivalently, that d cannot
design. be a period of y).
In image processing, it is a common practice
that a square window of (for example) 3 x 3 Wizard-of-Oz paradigm a procedure for
pixels is opened centered at a pixel under con- collecting speech data to be used for training
sideration. In this window operation, the gray a conversational system in which a human wiz-
level of the pixel is replaced by a function of its ard aids the system in answering the subjects'
original gray level and the gray levels of other queries. The wizard may simply enter user
pixels in the window. Different functions rep- queries verbatim to the system, eliminating the
531
WLAN
recognition errors, or may play a more active work depth model a model of parallel com-
role by extracting appropriate information from putation in which one keeps track of the total
the database and formulating canned responses. work and depth of a computation without wor-
As the system becomes more fully developed it rying about how it maps onto a machine.
can play an ever-increasing role in the data col-
lection process, eventually standing alone in a work-efficient a parallel algorithm is work-
wizardless mode. efficient as asymptotically (as the problem size
grows) it requires at most a constant factor more
WLAN See wireless local area network. work than the best known sequential algorithm
(or the optimal work).
WMSE See weighted mean squared error.
workflow multiple tasks / steps / activities, of
wobble in computer arithmetic, the maxi- which there are two types: simple, representing
mum relative error corresponding to 1/2 ulp. indivisible activities, and compound, represent-
ing those which can be decomposed into sub-
word (1) a unit of information in a com- activities. An entire workflow can be regarded
puter. This term is interpreted based upon cul- as a large compound task. The workflow de-
tural usage, and may represent 8,16, or 32 bits fines the relationships among the activities in a
of information, depending on the tradition of the project, from start to finish. Activities are re-
computer and language. Many machines sup- lated by different types of trigger relation. Ac-
port word lengths other than these two common tivities may be triggered by external events or
values. Some machines support only one word by other activities. Also the movement of doc-
length. The word length is frequently directly uments around an organization for purposes in-
reflected in a programming language as a spe- cluding sign-off, evaluation, performing activi-
cific data type. See also byte, halfword, long- ties in a process and co-writing.
word, quadword.
(2) with respect to a text editor, any se- workflow management (WFM) workflow
quence of alphanumeric characters terminated management is a technology that supports the
by whitespace, a punctuation mark, or other reengineering and automation of business and
non-alphanumeric character; any string of ad- information processes. It involves:
jacent punctuation marks or non-alphanumeric
characters is also treated as a word. 1. defining workflows, i.e., those aspects of
process that are relevant to control and
word parallel processing of multiple words coordinate the execution of its tasks, and
in the same clock cycle. 2. providing for fast (re)design and
(re)implementation of the processes as
work the total number of operations taken by business/information needs change.
a computation.
work bench a collection of software tools working set the collection of pages, w(t, 7),
that are available to the software developers. referenced by a process during the time interval
(t — r, t). These pages are most likely to be
work breakdown structure (WBS) the set resident at any given point of program execution.
of work tasks required to build the software; de-
fined as part of the process model. working space the portion of main memory
that is assigned to a computer program for tem-
work conserving a system in which the porary storage of data.
server is only idle when there is no request wait-
ing. Polling systems with non-zero switchover workload characterization the process of
times and systems with a dormant server are gen- identifying workload components, or customer
erally not work conserving. classes, that are composed of transactions or
532
write lock
jobs that have similar characteristics. See clus- main role of the wrist is to change the orientation
tering (2). of the hand (or end-effector).
work-preserving a translation of an al- write ahead logging where a log record for
gorithm from one model to another is work- an update is written to disk prior to the update
preserving if the work is the same in both mod- itself being written.
els, to within a constant factor.
write allocate part of a write policy that stip-
World Wide Web (www) a network service ulates that if a copy of data being updated is
that allows users to share multimedia informa- not found in one level of the memory hierarchy,
tion. space for a copy of the updated data will be al-
located in that level. Most frequently used in
conjunction with a write-back policy.
WORM See write once read many.
write-back See copy-back.
wormhole when a transaction completes af-
ter a second transaction, that depends on the re-
write-back cache See copy-back.
sult of the first transaction (the wormhole trans-
action). The presence of a wormhole precludes
write broadcast a protocol for maintain-
serialization.
ing cache coherence in multiprocessor systems.
Each time a shared block in one cache is up-
worst-case cost the cost of an algorithm in dated, the modification is broadcast to all other
the most pessimistic input possibility. caches. Also referred to as write update.
wraparound a phenomenon in signal pro- write buffer a buffer that stores memory
cessing that occurs in the discrete case when write requests from a CPU. The write requests
signals are not properly manipulated. For in- in the buffer are then served by the memory sys-
stance, in circular convolution, if the length of tem as soon as possible. Reduces the number of
signals is not properly chosen, i.e., there are not processor wait cycles due to long latency write
sufficient zeros appended at the end of the sig- operations.
nals, the so-called wraparound error will take
place. That is, the contributions from different write instruction a processor instruction that
periods will overlap. stores information into memory from a proces-
sor register or a higher level cache.
wrapper class a class having poor function-
alities of its own. This kind of class is used to write invalidate a protocol for maintain-
mask a non-object-oriented implementation, to ing cache coherence in multiprocessor systems.
hide software components provided by a third- Each time a shared block in one cache is up-
party, to encapsulate objects with an interface dated, a message is sent that invalidates (re-
that is not compatible. moves) copies of the same block in other cache
memories. This is a more common alternative
wrist for a manipulator refers to the joints than write broadcast protocols.
in the kinematic linkage between the arm and
hand (or end-effector). Usually a wrist allows write lock a database synchronization mech-
an orienting of the manipulator. Therefore the anism. If a transaction T holds a write lock on
533
write once read many (WORM)
a datum X, then no other transaction can obtain write through a write policy that stipulates
any lock on x. that when a copy of data is updated at one level
of a memory hierarchy, the same data are also
write once read many (WORM) used to updated in the next outer level. Write through is
refer to memory devices that allow data to be usually only used in low level caches. Its advan-
written once after device fabrication, and to be tages are that it is fast and simple to implement,
read any number of times. A typical example is and that it always guarantees that the next level
PROM. of the memory hierarchy has a valid copy of all
data. Its main disadvantage is that it generates
write permission grants or denies the asso- much data traffic to the next level.
ciated class of users the right to modify a file.
write-through cache when a location in the
write phase The third and last phase in an cache memory is changed the corresponding lo-
optimistic concurrency control protocol, where cation in main memory is also changed.
the transaction updates the database.
write update See write broadcast.
write policy determines when copies of data
are updated in a memory hierarchy. The two WWW See World Wide Web.
most common write policies are write through
and write back (copy back).
534
XYZ color space
X
XENIX a Unix version produced and dis-
tributed explicitly for personal computers; orig-
inally developed by Microsoft and released in
1986 and currently distributed by Santa Cruz
Operation (SCO) and Interactive Corporation.
0-8493-269 l-5/01/$O.OOf $ 50 __
© 2001 by CRC Press LLC 535
YUV color palette
Y
Y2K acronym for the year 2000 problem.
See millennium problem.
0-8493-2691-5/01/$0.00+$ 50
© 2001 by CRC Press LLC 537
zero-sum game
z
zero divide See divide-by-zero.
Z-buffer a method for solving the visible zero insertion force (ZIP) a type of chip
(or hidden) surface problem using two aligned socket which does not require special tools
pixel buffers or images. The first buffer stores for insertion or removal. A special lock-
the current color of the pixel and the second ing/unlocking lever is incorporated into the
buffer stores the distance from the viewer to the socket package. Many newer motherboards ac-
surface. When rendering a point a on a scene cept the CPU.
surface, if the distance from the observer to a
is greater than that of a previous point b that zero order hold (ZOH) a procedure that
projects to the same image pixel, then point a samples a signal x(t) at a given sampling in-
can be ignored (as it cannot be seen). If the dis- stant and holds that value until the succeeding
tance to a is less than the stored distance to b, sampling instant.
then distance and color of a replace die color
and distance buffer entry ofb. zero padding technique where a discrete fi-
A Z-buffer is often efficiently implemented nite length signal is padded by adding some
as a hardware buffer with entries aligned with number of zeros at the end of the signal. The
pixels. Unfortunately, these Z-buffers suffer a discrete Fourier transform of a zero padded sig-
lot from aliasing effects and A-buffers are much nal has more frequency samples or components
better at dealing with visibility problems at sub- than that of a nonzero padded signal, although
pixel accuracy. Also called depth buffer. the frequency resolution is not increased. Zero
padding is also sometimes used with the discrete
Z-buffering a technique for speeding up Fourier transform to perform a convolution be-
depth sorting while rendering. As each prim- tween two signals.
itive in the frustrum is drawn, the distance from
the viewpoint is recorded in the Z-buffer or zero-sum game one of a wide class of noneo-
depth buffer. If a pixel has already been drawn operative two-person games in which the sum of
with a closer Z value the new pixel value is not the cost functions of the decision makers is iden-
recorded. See visible surface determination. tically zero. In the zero-sum games cooperation
between players is impossible because the gain
zero-address computer a class of computer of one player is a loss of the other one. Thus the
based on zero-address instructions. Stack-based game is characterized by only one cost function
calculators are zero-address computers and can which is minimized by the first player and maxi-
be programmed using postfix notation. mized by the second one. To the zero-sum game
one could also transform a constant-sum game
zero-address instruction a class of assembly in which the sum of the cost functions is con-
language ALU instruction in which the operands stant. The solution in the zero-sum games has
are kept on a first-in-first out stack in the CPU, a form of saddle-point equilibrium and roughly
and thus require no explicit addresses. speaking it exists for problems in which max
and min operations on the cost function com-
zero-address machine a machine in which mute. In zero-sum games without equilibrium
the operands for an instruction are implicit in in pure strategies it is possible to find a saddle
the nature of the instruction. A representative point in mixed strategies if the game is played
zero-address machine is one in which all opera- many times in the same conditions. The result-
tions are performed on a stack. See zero-address ing outcomes are average gains or losses of the
computer. players.
ZIP See zero insertion force. domain are coded. For its counterpart, refer to
threshold coding.
zip a file format and a set of data compression
algorithms used to store one or more files in a zonal method a technique used in conjunc-
single file. Originally devised by Phil Katz and tion with the Hadamard matrix for selecting the
placed in the public domain. compressed transform vector where one simply
fixes the set of components to be kept Compare
Zipflan distribution a distribution of prob- with threshold method.
abilities of occurrence which follow Zipf's law.
zone recording a technique that allows the
Zipf's law the probability of occurrence of number of sectors per track on a magnetic disk to
words or other items starts high and tapers off ex- vary with the radius of the track. The tracks are
ponentially. Thus, a few occur very often while divided into several zones, such that the number
many others occur rarely. See also Zipfian dis- of sectors per track is determined by the maxi-
tribution. mum possible bit density on the innermost track
in each zone.
Ziv-Lempel coding See LZ77, LZ78, and
Lempel-Ziv-Welch coding. zooming viewing an image at different sizes.
Zooming in creates an enlarged view of a portion
ZOH See zero order hold. of the scene in the image frame. Zooming out
does the reverse.
zombie a process whose data structures still
remain in the operating system, but which can- zoom pyramid a data structure which stores
not be accessed. an image at multiple sizes/resolutions. The zoom
pyramid for a 640 x 320 image would include
zonal coding a coding scheme in transform versions with sizes 240 x 160,160 x 80, 80 x 40,
coding in which only those transform coeffi- etc. Zooming in to the image quickly is there-
cients located in a specified zone in the transform fore possible.
540
REFERENCES
The following are the cited references for the definitions found in this dictionary.
[1] Banks, J., Handbook of Simulation, John Wiley & Sons, New York, 1998.
[2] Barfield, W. and Furness, T.A., Eds., Virtual Environments and Advanced Interface Design,
Oxford University Press, New York, 1995.
[3] Boff, K.R. and Lincoln, J.E., Eds., Engineering Data Compendium: Human Perception and
Performance, (3 volumes). Harry G. Armstrong Aerospace Medical Research Laboratory,
Wright-Patterson AFB, OH, 1988.
[4] Burdea, G. and Coiffet, P., Virtual Reality Technology, Wiley-Interscience, New York, 1993.
[5] Chen, W. -K., Ed., The Circuits and Filters Handbook, CRC Press, Boca Raton, FL, 1995.
[6] Cleaveland, J.C. and Uzgalis, R.C., Grammars for Programming Languages, Elsevier, 1977.
[7] Dorf, R.C., Ed., The Electrical Engineering Handbook, CRC Press, Boca Raton, FL, 1997.
[8] Craig, J.J., Introduction to Robotics: Mechanics and Control, Addison-Wesley, Reading, MA,
1986.
[9] Diner, D.B. and Fender, D.H., Human Engineering in Stereoscopic Viewing Devices, Plenum
Press, New York, 1990.
[10] Dougherty, E.R. and Laplante, P.A., Introduction to Real-Time Image Processing, SPIE
Press/IEEE Press, January 1995.
[11] Draft proposed ANS FORTRAN X3J3/76, in SIGPLAN Notices (11,3), March, 1976.
[12] Durlach, N.I. and Mavor, A.S., Eds., Virtual Reality: Scientific and Technical Challenges,
National Academy Press, Washington, DC, 1995.
[13] Durand, F., http://www-imagis.imag.fr/Membres/Fredo.Durand/Book/ index.html:\\ Com-
puter graphics bookmarks.
[14] Enslow, H., Multiprocessor organization, Computing Surveys, 9(1), 103-129,1977.
[15] Foley, J.D., et al., Computer Graphics: Principles and Practice, 2nd ed. in C, Addison-Wesley,
Reading, MA, 1996.
[16] http://www.acm.org/tog/GraphicsGems/rGraphics Gems series, Academic Press Professional,
London/Boston.
[17] Greenwood, D.T., Principle of Dynamics, Prentice-Hall, Englewood Cliffs, NJ, 1965.
[18] Hennessy, L. and Patterson, D.A., Computer Architecture: A Quantitative Approach, 2nd ed.,
Kaufmann, 1996.
[ 19] iDREAM™ Software L.L.C., http://www.idreamsoftware.com/html/3dresource/3ddict.html:
Online dictionary.
[20] IEEE Standard Dictionary of Electrical Engineering, 6th ed., 1996.
[21] Jang, R, http://www.scs.ryerson.ca/^h2jang/gfx_c.html: Some definitions and code samples.
[22] Jouppi, N.P., The nonuniform distribution of instruction-level and machine parallelism and its
effect on performance, IEEE Transactions on Computers, 38(12), 1645-1658, Dec. 1989.
[23] Katevenis, G.H., Reduced Instruction Set Computer Architectures for VLSI, MIT Press, Cam-
bridge, MA, 1985.
[24] Kumamoto, D., htpp://www.iluminati.com/~dnk/graphics.html: Graphics software, hardware
and discussion compendium.
[25] Laplante, P.A., Ed., Comprehensive Dictionary of Electrical Engineering, CRC Press, Boca
Raton, FL, 1998.
[26] Laplante, P.A., Real-Time Systems Design and Analysis: An Engineer's Handbook, 2nd ed.,
IEEE Press/IEEE CS Press, Piscataway, NJ, 1997.
[27] Laplante, PA. and Stoyenko, A.D., Eds., Real-Time Image Processing: Theory, Techniques,
and Applications, IEEE Press, 1996.
[28] Laplante, PA., Easy PC Maintenance and Repair, 2nd ed., Windcrest/McGraw-Hill, Blue
Ridge Summit, PA, 1995.
[29] Laplante, PA., Fractal Mania, Windcrest/McGraw-Hill, Blue Ridge Summit, PA, 1993.
[30] Latham, R., The Dictionary of Computer Graphics and Virtual Reality, Springer-Verlag, 1995.
[31] Levine, W.S., Ed., The Control Handbook, CRC Press, Boca Raton, FL, 1995.
[32] Lucas, P., et al., Method and Notation for the Formal Definition of Programming Languages,
Technical Report 25.087, IBM, Vienna Laboratory.
[33] Myers, J., Advances in Computer Architecture, 2nd ed., John Wiley & Sons, New York, 1982.
[34] Netmeg Internet, http://www.netmeg.net/faq/computers/graphics/: A collection of graphics
FAQs.
[35] Nof, S.Y., Ed., Handbook of Industrial Robotics, John Wiley & Sons, New York, 1999.
[36] Norman, D.A. and Draper, S.W., User-Centered System Design: New Perspectives on Human-
Computer Interaction, Lawrence Erlbaum Associates, Hillsdale, NJ, 1986.
[37] Omondi, A.R., Computer Arithmetic Systems, Prentice-Hall, Englewood Cliffs, NJ, 1994.
[38] Patterson, A. and Ditzel, D.R., The case for the RISC, Computer Architecture News, 8(6),
25-33,1980.
[39] Patterson, A. and Sequin, C.H., A VLSI RISC, IEEE Computer, 15(9), 8-21,1982.
[40] Radin, The 801 Minicomputer, IBM Journal of Research and Development, 21(3), 237-246,
1983.
[41] Reddy, M., http://www.dcs.ed.ac.uk/^mxr/gfxyindex-hi.html: Graphics file formats and FAQs.
[42] Russ, J.C., Ed., The Image Processing Handbook, 2nd ed., CRC Press, Boca Raton, FL, 1994.
[43] Satava, R.M., Ed., Cybersurgery: Advanced Technologies for Surgical Practice, Wiley-Liss,
New York, 1998.
[44] Shaw, M. and Garlan, D., Software Architecture Perspectives on an Emerging Discipline,
Prentice-Hall, Englewood Cliffs, NJ, 1996.
542
[45] Sheridan, T.B., Telerobotics, Automation, and Human Supervisory Control, MIT Press, Cam-
bridge, MA, 1992.
[46] South, D.W., The Computer and Information Science and Technology Abbreviations and
Acronyms Dictionary, CRC Press, Boca Raton, FL, 1994.
[47] Tabak, RISC Systems and Applications, Research Studies Press and Wiley, 1996.
[48] Tucker, A.B., Ed., The Computer Science and Engineering Handbook, CRC Press, Boca Raton,
FL, 1996.
[49] Van Wijngaarden, A., et al., Report on the Algorithmic Language Algol-68, Technical Report
101, Mathemastiche Centrum, Amsterdam.
[50] Van Wijngaarden, A., et al., Revised Report on the Algorithmic Language Algol-68, Acta
Informatica, 5(1), 236.
[51] Waite, W. and Goos, G., Compiler Construction, Springer-Verlag, 1984.
[52] Whittaker, J.C., Ed., The Electronics Handbook, CRC Press, Boca Raton, FL, 1996.
[53] Yoshikawa, T., Foundations of Robotics: Analysis and Control, MIT Press, Cambridge, MA,
1990.
543