ALMA Software Glossary
2000-September-20
This glossary defines
those terms (single words or phrases) concerning Software Engineering,
Telescope Control and Interferometry.
The meaning of each term is explained, focusing on its usage in the
context of documentation. Entries are arranged alphabetically.
Abbreviations
and Acronyms
Many documents employ abbreviations and acronyms to
refer concisely to an item, after it has been introduced. The following list is
aimed to help the reader in recalling the extended meaning of each short
expression.
|
ABM |
“Antenna Bus Master” A real-time computer located
at the antenna that is responsible for the control and monitor of all
hardware devices at the antenna.
There is an identical copy of this computer at every antenna, each
running identical software. |
|
ACC |
“Array Control Computer” The computer located at
the central control area and responsible for coordinating all instrument
activities. It is an ordinary Unix
workstation. |
|
ACE |
“Adaptive
Communication Environment” An open-source, object-oriented (OO), C++
framework that implements core design patterns for concurrent communication
software across a range of OS platforms. (http://www.cs.wustl.edu/~schmidt/ACE.html) |
|
ACK |
“Acknowledge ” The bit in transmitted CAN frames that is set by a successful receiver of
the frame. |
|
ACS |
“ALMA Common Software” ACS is the kernel software
located between the application (on top) and other commercial and shared
software over the operating systems.
It supplies certain services such as messaging, logging, error and
alarm handling, configuration database, etc. |
|
ACU |
“Antenna Control Unit” The system provided by the
antenna manufacturer through which the antenna is monitored and controlled. The ACU primary access is through a CAN
bus. |
|
AIPS++ |
“Astronomical
Information Processing System” AIPS++ supplies post-processing software for
calibration, editing, image formation, image enhancement, and analysis of
images and other data streams. A
consortium of radio observatories developed the system with about 40 people
contributing to the first release in 1999. (http://aips2.nrao.edu/docs/aips++.html) |
|
ALMA |
“Atacama Large
Millimeter Array” A connected interferometer telescope array expected
to consist of 64 millimeter-wave antennas each 12-meters in diameter. (http://www.alma.nrao.edu) |
|
AMS |
“Antenna Mount System” The software system that
controls the movement of the antenna elevation and azimuth axes. The AMS receives commands from the
high-level control system and implements them by directly interacting the
ACU. |
|
ANKA |
ANKA (Angström Quelle Karlsruhe) is a synchrotron
radiation source being constructed in southwestern Germany. It will be controlled using software from
the KGB project. (http://www.fzk.de/anka/english/welcome.html) |
|
API |
“Application Programming Interface” |
|
ARTM |
“Array Real Time Machine” A real-time computer
located at the central control area and responsible for the control and
monitor of certain hardware (LO reference generation, fiber optic control,
etc.) located only at the array center. Its function may be combined with ACC or CCC. |
|
ATM |
“Asynchronous Transfer Mode”
ATM is a cell relay technology
designed for high-speed transfer of data, voice and video across networks. It
supports data transfer rates from 1.544 Mbps to 622 Mbps. Through LAN Emulation (LANE), ATM works
with existing Ethernet and token ring networks. |
|
AU |
“Astronomical Unit” The
average distance from the Earth to the Sun, i.e. 149,597,870 kilometers. |
|
AUI |
“Attachment Unit Interface” A
15-pin connector used with an Ethernet interface. |
|
AZ |
Azimuth, the horizontal angle measured clockwise (as viewed from above)
from an arbitrary reference direction in the horizon coordinate system. For ALMA the reference point (zero
azimuth) is defined as due north. |
|
CAN |
“Controller Area Network” A
serial multi-drop bus originally developed by Bosch for automotive
applications. In ALMA it is used to
connect the ABM to most hardware devices located at the antenna. It will also be used with the correlator and
in other places. |
|
CASE |
“Computer Aided Software Engineering” |
|
CCC |
“Correlator Control Computer” A real-time computer
located at the central control area and responsible for the control and
monitor of the correlator. |
|
CCD |
“Charge Coupled
Device” In ALMA this is the digital camera located on the antenna and used
for optical imaging. It is a data
producer, and is also known as the Video Camera. |
|
CDP |
“Central Data Processor” A high performance
computer (Beowulf?) to process the data from the ALMA correlator in
quasi-realtime. It is located at the
central control area and is controlled by the CCC. |
|
CDR |
“Critical
Design Review” Sometimes called the “Final Design Review”. |
|
COCOS |
A commercial distributed system being developed by
KGB to control devices at a petrol station, e.g. credit card readers, tank
gauges, and point-of-sale applications.
It will run on a number of LAN connected PCs using the PharLap RTOS or
WinNT OS. It is a generalization and
evolution of the ANKA system. |
|
CORBA |
“Common Object Request Broker Architecture” CORBA
is an emerging open distributed object computing infrastructure being
standardized by OMG. CORBA automates
many common network programming tasks such as object registration, location,
and activation; request de-multiplexing; framing and error-handling;
parameter marshalling and de-marshalling; and operation dispatching. |
|
CPU |
“Central Processing Unit” |
|
DBMS |
“Data Base Management System” |
|
EL |
Elevation, the vertical angle measured upward from the horizon in the
horizon coordinate system. |
|
ESO |
“European Southern Observatory” ESO and other
agencies are building ALMA. (http://www.eso.org) |
|
FITS |
“Flexible Image Transport Format” FITS is the data
format most commonly used within the astronomy community. FITS is primarily
designed to store scientific data sets consisting of multidimensional arrays
(1-D spectra, 2-D images or 3-D data cubes) and 2-dimensional tables
containing rows and columns of data. (http://fits.gsfc.nasa.gov/) |
|
FPDP |
“Front Panel Data Port” A high-speed 32-bit
parallel synchronous interface whereby VME boards are interconnected using
ribbon cables routed across the front panels. It is the VITA-17 standard. |
|
FPGA |
Field Programmable Gate Array |
|
GPS |
"Global Positioning System" GPS is a
satellite-based radio navigation system developed and operated by the U.S.
Department of Defense (DOD). Important to ALMA is that the system permits
users to determine the time with high precision and accuracy. |
|
GUI |
“Graphical User Interface” |
|
HW |
Hardware |
|
ICD |
“Interface
Control Document” A document specifying a software or hardware
interface. |
|
IDL |
“Interface Definition Language” IDL is part of the
CORBA standard and permits interfaces to objects to be defined independent of
an object’s implementation. IDL is
used as input to an IDL compiler that produces source code that can be
compiled and linked with an object implementation and its clients. |
|
IF |
"Intermediate Frequency" |
|
IIOP |
“Internet Inter-ORB Protocol” IIOP is part of the
CORBA standard and is an object-oriented protocol that makes it possible for
distributed programs written in different programming languages to
communicate over the Internet. |
|
IRAM |
"Institut de RadioAstronomie Millimétrique" (French) IRAM and
other agencies are building ALMA. (http://iram.fr/) |
|
ISO |
International Organization for Standardization ISO
is a voluntary, non-treaty organization founded in 1946, responsible for
creating international standards in many areas, including computers and
communications. Its members are the
national standards organizations of 89 countries, including the American
National Standards Institute. The term "ISO" is not actually an
acronym; rather it is a pun on the Greek prefix "iso-", meaning
"same". |
|
KGB |
“Kontrol Gruppe für Beschleuniger” (German) The KGB project
is working to provide software used to control remote hardware over a
network. It part of the Jozef Stefan Institute in Ljubljana, Slovenia. The
first application of the system is ANKA. (http://kgb.ijs.si/KGB/) |
|
LAN |
“Local Area Network” A network which is
geographically limited, typically to a 1 km radius. Ethernet and FDDI are
examples of standard LANs. |
|
LO |
"Local Oscillator" |
|
LST |
|
|
LTA |
Long Term Accumulator |
|
M&C |
“Monitor and
Control” |
|
MPG |
Max-Planck-Gesellschaft (German)
Max-Planck-Society (http://www.mpg.de) |
|
MPIfR |
Max-Planck-Institut fuer
Radioastronomie
(German) Max-Planck-Institute for Radio Astronomy (http://www.mpifr-bonn.mpg.de) |
|
N/A |
“Not Applicable” |
|
NRAO |
“National Radio
Astronomy Observatory” NRAO and other agencies are building ALMA. (http://www.nrao.edu/) |
|
OCL |
“Object Constraint
Language” A modeling language that is part of the UML. It is used to specify all kinds of
constraints, pre- and post-conditions, guards, etc. over the objects in the
different models. (http://www-4.ibm.com/software/ad/standards/ocl.html) |
|
OMG |
“Object Management
Group” The OMG was founded as a consortium in 1989 to promote the
adoption of standards for managing distributed objects. It is the developer of the CORBA
standard. (http://www.omg.org/) |
|
OO |
“Object Oriented”
Object-oriented programming (OOP) refers to a type of programming that
combines data structures with functions to create re-usable objects. |
|
ORB |
“Object Request
Broker” The ORB is the part of the CORBA specification that manages the
interaction between clients and servers.
The specification defines the architecture of interfaces and services
that must be provided by the ORB. |
|
OS |
“Operating System” |
|
OSI |
“Open Systems
Interconnection” The 7-layer ISO standard for how messages are transmitted
between two points in a network. |
|
OTF |
“On-The-Fly” An observing mode where the antenna
motion follows a specified Pattern without stopping. At the same time the antenna actual and
commanded positions are recorded. The
position data are later used in the calibration of the science data. |
|
OVRO |
“Owens Valley Radio
Observatory” (http://www.ovro.caltech.edu/) |
|
PDR |
“Preliminary
Design Review” A design review that occurs before the CDR. |
|
PPC |
“PowerPC” A range of processors developed by an alliance
of Apple, IBM and Motorola. For ALMA
it is the processor embedded on a SBC. |
|
RDBMS |
“Relational Data
Base Management System” |
|
RF |
"Radio Frequency" |
|
RFP |
“Request for
Proposal” |
|
RPC |
“Remote Procedure
Call” A protocol used by a program to request a service from a program
located in another computer in a network.
RPC uses the client/server model. |
|
RT |
“Real-Time” |
|
RTR |
“Remote
Transmission Request” A type of
CAN frame requesting transmission of a particular frame. |
|
SBC |
“Single Board Computer” A complete computer system
on a single board. For ALMA this
generally means a computer board mounted in a VME chassis. |
|
SI |
“Système International d'unités” (French) The international system of units of
measurement. |
|
SLALIB |
SLALIB is a software
library used by writers of positional-astronomy applications. (http://star-www.rl.ac.uk/star/docs/sun67.htx/sun67.html) |
|
SNMP |
“Simple Network
Management Protocol” A protocol governing network management and the
monitoring of network devices and their functions. It is generally used with
TCP/IP networks. |
|
SRS |
“Software
Requirements Specification” |
|
SSLO |
"Signed Sum of
Local Oscillators” The effective total LO frequency. For the sum a negative sign indicates a
reversal of the signal spectrum that occurs when the mixer output is from the
lower sideband. |
|
SW |
Software |
|
TAI |
“International
Atomic Time” TAI is a laboratory timescale.
Though TAI shares the same second as UTC, UTC noticeably separates the
two timescales in epoch because of the build-up of leap seconds. At the time
of this writing UTC lags about half a minute behind TAI. |
|
TAO |
The ACE ORB (http://www.cs.wustl.edu/~schmidt/TAO.html) |
|
TBC |
“To Be Confirmed” |
|
TBD |
“To Be
Determined” |
|
TCL |
“Tool Command
Language” An interpreted script language developed by Dr. John Ousterhout at
the University of California, Berkeley, and now developed and maintained by
Scriptics (http://www.scriptics.com/resource/) |
|
TPOINT |
Telescope Pointing
Analysis System An interactive modeling tool that analyses pointing
observations to discover and measure telescope mechanical misalignments and
flexures. (http://www.tpsoft.demon.co.uk) |
|
UML |
“Unified Modeling
Language” The UML is a language for specifying, constructing, visualizing,
and documenting the artifacts of a software-intensive system. |
|
URI |
“Uniform Resource
Identifier” The generic set of all names/addresses that are short strings
that refer to resources. (http://www.w3.org/addressing) |
|
URL |
“Uniform Resource
Locator” The set of URI schemes that has explicit instructions on how to
access the resource, typically a web page, on the internet. (http://www.w3.org/addressing) |
|
UTC |
“Universal Time
Coordinated” UTC is the basis of civil timekeeping. Most time zones differ
from UTC by an integer number of hours, though a few differ by n+0.5 hours.
The UTC second is the same as the TAI second. In the long term, UTC keeps in
step with the Sun. It does so even though the Earth's rotation is slightly
variable by occasionally introducing a leap second. |
|
UV |
Visibilities |
|
VLT |
“Very Large
Telescope” (http://www.eso.org/projects/vlt/) |
|
VME |
“Versa Module
Europa” VME is a computer backplane bus system which makes use of the
Eurocard standard. It is defined by the IEEE 1014-1987 standard. |
|
WAN |
“Wide Area Network”
A data communications network usually constructed with serial lines,
extending over distances greater than one kilometer. |
|
WS |
Workstation |
|
XML |
“eXtensible Markup
Language” (http://www.w3.org/XML/) |
From observing program
to correlator dump:
·
An observing program is a set of observing sessions,
·
an observing session is a set of
time-contiguous schedule blocks,
·
an schedule block is an un-interruptible
set of scans,
·
a scan is a set of observations,
·
an observation is a set of integrations,
·
and, an integration is a set of dumps.
|
actor |
Actors are used when writing use cases. Actors are a role of an entity external to the system, and can be humans, machines, or devices. Actors are divided into primary and secondary. A primary actor is one having a goal requiring the assistance of the system, while a secondary actor is one from which the system needs assistance to satisfy its goal. (see The Unified Modeling Language Reference Manual, Rumbaugh, Jacobson, and Booch, p.144) |
|
alarm |
Alarms are asynchronous anomalous conditions discovered by the system. |
|
array |
The entire set of
all ALMA antennas. |
|
attribute |
Attributes are changeable data associated with a device property. Attributes are
writable and readable. Examples are
values used to determine whether a new property value is valid (normally done
with limits). Attributes are set to
their default value upon Enable Device. |
|
boresight |
The
actual orientation of the axis of symmetry of the main reflector with respect
to established local coordinates (zenith direction and nominal azimuth zero). |
|
CAN ID |
The
CAN message identification. A 29 bit identifier transmitted at the start of a
CAN frame which also determines the frame’s priority |
|
characteristic |
Characteristics are non-changeable (static) data associated
with a device property. Characteristics differ from attributes in that they read-only and
rarely change (are compiled in).
Examples of characteristics are the property’s default values, print
format and human-readable descriptions. |
|
command |
An expression that can be input to a computer system or a software module to initiate an action or affect the execution of a function. |
|
control point |
The smallest atomic quantity
used when setting a hardware value. Control points are writable and
readable; the read returns the last value written. Control points are implemented as properties. An example
control point would be used to set a voltage using a Digital to Analog
Converter (DAC). |
|
data set |
All data belonging to a particular observation block including UV data, astronomical information (sources, coordinates, frequencies, etc.), raw observing and reduction scripts, system data, logs, warnings, environmental data, etc. |
|
delay tracking |
The continuous adjustment of the instrumental delay to match the geometric delay as a source is tracked. |
|
delay tracking center |
The direction on the
sky for which the total delay to each antenna is a constant. When the compensating
delay is implemented after a down Conversion (the
usual case in radio interferometers) a fringe results that is a function of
the down conversion local oscillator frequency. By changing the phase of this
local oscillator (with the fringe rotator), the fringes may be reduced in
frequency or stopped, as desired by the correlation system. Any errors in the
total delay due to transmission or compensating delay imprecision result in a
phase shift to the visibilities that is a function of IF frequency. |
|
device |
A device generally corresponds to the
model of a physical device, for example, a receiver. It is a software concept used for control,
and is a collection of properties.
Devices are implemented as distributed
objects. |
|
distributed object |
System components with which other components need to interact. In particular, the control system uses distributed objects to represent devices. Distributed objects are the smallest directly addressable entities in the system, and are generally composed of properties. |
|
dump |
The acquisition of data from the correlator corresponding to a dump time (see below). |
|
dump time |
The smallest interval of time for which a set of correlated data can be accumulated and output from the correlator. |
|
engineer |
A person who uses scientific knowledge to solve practical problems. For ALMA an engineer's principle assignment will be to build and maintain the hardware. |
|
error |
Errors occur as the result of command failure, for example, when a property is set. Usually they are a response to writing an inappropriate value or a hardware problem, but they can be any error condition that can be reported in the return of an operation. |
|
fringe rotator |
A mechanism to introduce a time-varying phase shift into the local oscillator signal to reduce the frequency of the oscillations of the correlator output. Fringe rotation allows the correlator output (whose amplitude is proportional to visibility amplitude) to be sampled at a lower rate. The fringe rotation is chosen so the fringe frequency for a point source located at the fringe stopping center would be reduced to zero (or very nearly zero). Usually the fringe-stopping center and the delay-tracking center coincide; both then are called the visibility phase tracking center. |
|
function |
A defined objective or characteristic action of a system or component. |
|
functional requirement |
A requirement that specifies a function that a system or component must be able to perform. |
|
functional specification |
A document that specifies the functions that a system or component must perform. |
|
integration |
A set of dumps, all identical in configuration (except for the antenna motion and some others), that is accumulated and forms the basic recorded unit. |
|
interactive command |
An interactive command can be used to specify table parameters for the next observation, start the next observation, cancel the current observation, etc. |
|
mode |
A condition in which a system, subsystem, or component may exist. Normally it comprises a set of possible states. |
|
module |
A relatively large subdivision of the implementation items in a software package. In most cases a software package corresponds to a single software module, but complex software packages can be split across more software modules. A software module is handled as a single configuration control unit and follows a standardized directory structure. Software modules correspond to components in UML terminology. |
|
monitor point |
The smallest atomic quantity
read from hardware. Monitor points are always
read-only. The read produces the
actual value of a hardware measurement. Monitor points are implemented as properties. An example monitor point
would return the reading from a module’s temperature probe. |
|
observation |
A set of integrations while the antennas complete an elemental pattern across the source, and possibly while frequency switching, nutator switching, etc. |
|
observation block |
Obsolescent synonym for schedule block |
|
observation table |
The hierarchical set of parameters that define the current observation. |
|
observer |
The person who prepared, or is otherwise responsible for an approved observing program. The observer is usually an astronomer. |
|
observing program |
A set of observing sessions to fulfil a formalized astronomy proposal with a particular scientific goal. A synonym for observing project. |
|
observing script |
The procedural representation of an observing session. It may contain loops and conditional tests
using environmental parameters, pipeline results, and current scheduling
status. |
|
observing session |
A time-contiguous set of schedule blocks in the same observing program. Note that sessions are defined post facto, as the scheduler only schedules schedule blocks. |
|
observing tool |
A GUI tool used by astronomers to prepare observations, usually from a template. The observing tool will produce an observing script, or may be used to directly control the instrument. |
|
operational mode |
The mode of a system, subsystem, or component that is installed in its intended environment. |
|
operational requirement |
A requirement that is applicable to a system or component that is installed in its intended environment. |
|
operational state |
The state of a system, subsystem, or component that is installed in its intended environment. |
|
operator |
The person in immediate control of the array. The operator is not usually an astronomer. |
|
package |
A major subdivision of a software project that collects a set of associated functions that are designed, developed, and tested together and independently from other packages. Software packages can be recursively defined as containing other software packages. |
|
pattern |
An antenna movement that is
superimposed on (added to) the tracking of the target. Example patterns are a simple offset, a
raster, and a spiral. A pattern is
composed of one or more “strokes”. |
|
phase tracking |
An adjustment of the LO phase needed because delay tracking is done at the IF and not RF frequency. |
|
phase tracking center |
Usually the fringe stopping and the delay tracking centers coincide. When this is the case, both are referred to as the visibility phase tracking center, sometimes called the phase referencing center. |
|
process |
A program in execution. It consists of the executable program, the program's data and stack, its program counter, stack pointer and other registers, any support data stored in the database, and all the other information needed to run the program. |
|
property |
Properties are the
smallest atomic quantities within a distributed
object. Properties include real
control and monitor points, and they are also virtual (software) variables
with features similar to real control and monitor points. |
|
regression test |
A test performed on a modified program to instill confidence that changes are correct and have not adversely affected unchanged portions of the program. |
|
scan |
A set of observations with a common goal, for example, a pointing scan, a focus scan, or atmospheric amplitude calibrations scan. |
|
schedule
block |
An un-interruptible scheduling unit, which may consist of a set of scans and logic to control their execution. The scans must be scheduled contiguously. |
|
scheduler
queue |
The prioritized list of observation blocks produced by the dynamic scheduler. |
|
serialized object |
|
|
software device driver |
A collection of subroutines and data that constitutes the software interface to an I/O device. |
|
software life cycle |
The period of time that begins when a software product is conceived and ends when the software is no longer used. The software life cycle typically includes concept, requirements, design, implementation, test, installation and checkout, operation and maintenance, and, sometimes, retirement. These phases may overlap or be performed iteratively. |
|
state |
The value assumed at a given instant by the variable used by the control software to represent the condition of a system, subsystem, or component. Normally it is a finer specification within a given mode. |
|
status |
The set of values of all the parameters (state, numeric read-outs, flags...) that define the condition of a system, subsystem, or component. |
|
stereotype |
A UML term for "a new kind of model element defined within the model based on an existing kind of model element". Stereotypes may extend the semantics but not the structure of pre-existing meta-model classes. |
|
stroke |
Patterns are composed
of a series of separate strokes. For example, when a raster pattern is
being performed a stroke is generally a single line in the raster. |
|
subarray |
A group of ALMA antennas. More explanation is needed here, as this is one of the most abused terms in radio astronomy. |
|
subsystem |
A secondary or subordinate system within a larger system. It usually refers to a physical device or a group of physical devices equipped with the control electronics and low level software. |
|
system |
A collection of components organized to accomplish a specific function or a set of functions. When no further characterized, it is generally used to refer to the whole of a complex piece of equipment made up by heterogeneous parts. |
|
target |
The central position being
tracked by the antenna’s receiver beam.
Normally this is a celestial object, but it can be anything able to be
specified to the AMS. |
|
timing event |
Most
ALMA computers and other hardware will receive a precise timing reference
signal consisting of a periodic pulse with a period of 48 millisecond. The leading edge of each pulse marks a timing event. |
|
turn |
One
turn of an antenna axis, or 360 degrees. |
|
use case |
A specific way of using the system by performing some part of the functionality. Each use case constitutes a complete course of action initiated by an actor, and it specifies the interaction that takes place between an actor and the system. The collected use cases specify all the existing ways of using the system. |