Erlang Systems
[Up | Erlang Systems]

Glossary

A

API
Application Programming Interface. The interface towards an application. Usually this is a set of functions available, but can also be a set of messages sent to or from an application.
ASN.1
Abstract Syntax Notation One - an ITU-T and ISO standard notation for describing data formats used in communication protocols.
ASN.1 Compiler
The Erlang/OTP ASN.1 Compiler translates an ASN.1 module into a corresponding Erlang module with encode and decode functions.
Agent
An entity that terminates a management protocol in the Network Element.
Application
A collection of resources which is required to offer a specific service.
Application Monitor
A graphical node and application process tree viewer. See also appmon.
Application callback module
A module which is called when the application is started, and when it has stopped. Every application has one application callback module.
Application controller
A process which coordinates all operations on applications.
Application master
The application master is a process that monitors the application. It is provided by the Erlang run-time system. Every application has an application master process.
Application resource file
Specifies the resources required by the application and how the application should be started. Every application has one application resource file, called AppName.app.
Appmon
Application name for the Application Monitor within Erlang/OTP. A graphical node and process viewer.
Arity
Denotes the number of arguments to a function.
Atom
An atom is a constant. Atoms always starts with a lower case letter (a-z) and are terminated by a non-alphanumeric character - otherwise they must be quoted (enclosed in ' '). An atom is a data type in Erlang, used to enhance the legibility of programs.
Atomicity
Atomicity refers to the "all or nothing" property. If a transaction succeeds (i.e. commits), then all its effects on the data is captured in the database. If the transaction does not succeed (i.e. aborts), then none of its effect on the data is captured in the database. In other words, the transaction processing algorithm guarantees that the database will not reflect a partitial effect of a transaction.
Attach
The debugger may attach to a process. When attached, the debugger may show process details, such as message queues and variable bindings.

B

BIF
Built-In Functions which perform operations that are impossible or inefficient to program in Erlang itself. Are defined in the module Erlang in the application kernel
Behaviour
A "pattern of design" which can be used to build applications and processes in an applications.
Binary
A data type in Erlang which is used to store an area of untyped memory. Binaries are used for efficiently handling large quantities of untyped data.
Boolean
A common data type in programming and specification languages. The value can be either true or false.
Boot file
A binary file with extension .boot which is read during start of an Erlang node. See SASL User's Guide for more info.
Break point
By setting a break point using the debugger, the user specifies a position in the source code of a module where execution is to be suspended and control transferred to the debugger.

C

CA
See Certification Authority.
CA certificate
A certificate containing a CA's public key. Network entities use this public key to verify certificates signed with the CA's private key.
CORBA
See Common Object RequestBroker Architecture.
CSR
See Certificate Signing Request.
Callback function
A callback function is a function exported from a callback module, that a generic behaviour calls to perform a specific task.
Callback module
A callback module is a module that implements the specific parts of a generic behaviour. The generic behaviour specifies which callback functions must be exported from the module.
Certificate
A file used for authenticating network entities under the SSL protocol. A certificate contains information about its owner (called the subject) and issuer, plus the owner's public key and a signature made by a CA. Network entities verify these signatures using CA certificates.
Certificate Signing Request (CSR)
An unsigned certificate for submission to a Certification Authority, which signs it with its private key. Once the CSR is signed, it becomes a certificate.
Certification Authority (CA)
A trusted third party whose purpose is to sign certificates for network entities it has authenticated using secure means. Other network entities can check the signature to verify that a CA has authenticated the bearer of a certificate.
Child
A supervised process. See also permanent, transient, temporary child.
Cipher
A system of encryption.
ClearCase
A configuration management system from Rational Software Corporation.
Client-server model
A model where there is a server, which manages some resource, and a number of clients which send requests to the server to access the resource. The client-server model is one of the basic programming techniques for coordinating the activities of several parallel processes.
Coast
Module name for the coverage analyser tool, located in the Tools application.
Common Object Request Broker Architecture (CORBA)
A specification of an architecture for a distributed object system
Common Object Request Broker Architecture (CORBA)
A specification of an architecture for a distributed object system
Compiler
A compiler is a translator. A common type of compilers are those who takes source code for a programming language and translates it into code that is executable on a specific platform. E.g. the Erlang compiler translates Erlang source code to an intermediary code that is executable by the Erlang Run Time System.
Consistency
Consistency refers to the requirement that, given a consistent initial database state, the state of the database after the successful execution of a transaction is also consistent; that is, a transaction transforms the database from a consistent state to another consistent state. Database consistency may be defined as a set of rules or constraints. If the execution of a transaction causes the consistency constraints to be violated, the transaction is not accepted (and thus aborted) by the system.
Cookie
A magic cookie is a secret atom assigned to each Erlang node. The Erlang nodes in a distributed system must know each others cookies in order to authorize each other for communication
Coverage Analyser
A tool which provides a set of functions for coverage analysis of Erlang programs, i.e observing how many times each line or function are executed. See also coast.
Coverage analysis
The task of determining which lines, or how many lines of code, has actually been executed. Useful for determining the completeness of test suites.
Cross reference tool
A tool which helps the designer to find undefined functions and to identify dependencies between modules and functions. There are two cross reference tools within Erlang/OTP: xref and exref.

D

DBMS
See Database Management System.
DNS
See Domain Name System.
DTD
Document Type Definition as defined in SGML.
Data type
The data types in Erlang are numbers, atoms, tuples, lists, pids, funs, records, ports, references and binaries. The values of Erlang data types can be stored in variables.
Database Management System (DBMS)
A database is a collection of data and a DBMS is a system which manages the database. Applications accesses the database through the database management system.
Debugger
An Erlang/OTP tool which provides mechanisms which makes it possible to see what happens during the execution of code in specified modules, or when processes crash.
Dets
A module within the stdlib application, which provides a term storage, and which is used as the underlying file storage mechanism by the Mnesia DBMS.
Dirty operations
Functions which manipulate data in a DBMS, without using transactions.
Distributed application
An application which runs on one of several nodes. May be restarted on another node. (See local application.)
Docbuilder
The documentation system used in Erlang/OTP.
Domain Name System (DNS)
DNS is a service that map names to internet addresses
Durability
If a transaction succeeds, then its effect on the data is persistently captured, and will survive subsequent system failures resulting in loss of data in volatile memory. Durability is usually enforced by first writing modified data to some non-volatile memory (usually disc), before a transaction is allowed to commit. If there is a system failure, the state of the non-volatile memory must be recovered to reflect the effect of all and only committed transactions.

E

ERTS
See Erlang Run Time System.
ETS
Erlang Term Storage tables.
EVA
See Event and Alarm handling application
Emacs
A widely used text editor which allows customization of its behaviour. An Erlang mode for Emacs is included in the Erlang deliverables.
Emacs for Erlang
A tool which provides a major mode for editing Erlang source files in Emacs.
Encapsulation
Data can be encapsulated into another data element.
Eprof
A module in the tools application. See Profiler.
Erl
The command which starts an Erlang run-time system.
Erl_interface library
A thread safe library with C-functions which makes it possible to write a C-program which appears as one of the nodes in a system of distributed Erlang nodes.
Erlang
Erlang is a functional programming language intended for designing large industrial soft real time systems.
Erlang Run Time System
A fundamental part of Erlang/OTP which contains the Erlang Virtual Machine, the kernel and stdlib applications. The Erlang Run Time System is a mandatory part which all other Erlang applications are dependent upon.
Erlang Virtual Machine
The virtual machine, which makes Erlang/OTP work together with a specific OS/HW platform. The Erlang Virtual Machine is available on several different platforms. The Erlang Virtual Machine is the glue which makes it possible to run an Erlang application on any platform without change.
Erlang emulator
Another word for Erlang Virtual Machine.
Event and Alarm handling application (EVA)
An application that consists of Fault Management functionality, such as sending and logging of events and alarms.
Event handler
A module exporting functions which can process events sent to an event manager process. The event handler is a behaviour of type gen_event.
Event manager
A process to which events of a certain category is sent. gen_event handler can be installed in the event manager.
Exit signal
A signal which is sent from a terminating process to the processes and ports it is linked to. An EXIT signal has the following format: {'EXIT', Exiting_Process_Id, Reason}.
Exref
An tool which helps the designer to find undefined functions and to identify dependencies between modules and functions. Will be replaced by the newer xref.

F

FSM
Finite State Machine.
Foo
Algebraic place holder.
Fun
A data type, introduced in Erlang 4.4, which represent functional objects.
Function
Erlang programs are written entirely in terms of modules with functions. A function can have arguments and does always return a result. A function can be exported which makes it available for calls from other modules. Non exported functions can only be called internally within the module.

G

GS
See Graphics System.
GS Contributions
Unsupported user supplied tools which are included with the Erlang/OTP software release.
GUI
Graphical User Interface
Gateway
A server which acts as an intermediary for some other server. Unlike a proxy, a gateway receives requests as if it were the origin server for the requested resource; the requesting client may not be aware that it is communicating with a gateway.
Gen_event
A behaviour used for programming event handling mechanisms, such as alarm handlers, error loggers, and plug-and-play handlers.
Gen_fsm
A behaviour used for programming finite state machines.
Gen_server
A behaviour used for programming client-server processes.
Global Glossary Database
A glossary database used to list common acronymns and defintions etc.
Graphics System
A library module which provides a graphics interface for Erlang.
Grid
A multi-column object which is used to display tables. (Graphics System.)

H

HTML
Hypertext Markup Language.
HTTP
Hypertext Transfer Protocol.
HTTPS
The Hypertext Transport Protocol, Secure, the standard SSL communication mechanism of the World Wide Web.
Home Directory
The position of a user account in the file system. The Home Directory is automatically passed to the Erlang run-time system at startup. On Unix the contents of the environment variable "HOME" is passed. Om Win32 the concatenation of the environment variables "HOMEDRIVE" and "HOMEPATH" is passed, or if these variables are not set, the value returned by the Win32 API function "GetWindowsDirectory" is passed.
Host name
The name of a machine on a network, e.g. erlang.ericsson.se.

I

IDL
See Interface Description Language.
INETS
The Internet Services application
Indexing
Fast lookup using an (usually enumerated) key.
Initial call
The first call to an interpreted function (when using the Interpreter).
Instrumentation function
A function used to implement a Managed Object, i.e. give access to the real resources behind an MO.
Interface Description Language (IDL)
The interface specification language created by OMG.
Interface Description Language (IDL)
The interface specification language created by OMG.
Interpreter
An application which provides mechanisms which make it possible to see what happens during the execution of code in specified (interpreted) modules, or when processes crash.
Isolation
A transaction executes as if no other concurrent transactions are executing, and thus its execution results are equivalent to those obtained by executing database transactions serially. A system which maintains transaction isolation is also said to be enforcing serializability.

K

Kernel
An application which contains file servers, code servers and other code necessary for the Erlang run-time system.
Key
A file containing the value that must be fed into an algorithm in order to encrypt or decrypt a message.
Key pair
A set of two keys used in public key cryptography. One is the public key used to encrypt data, and the other is the private key necessary to decrypt the same data.

L

List
Terms separated by commas and enclosed in square brackets [ ] are called lists. A list is a data type in Erlang, used for storing a variable number of terms. It is dynamically sized. The first element of the list is referred to as the head of the list, and the remainer of the list as the tail.
List box
A list of labels with optional scroll bars attached. (Graphics System.)
List comprehension
A language construct in Erlang which are analogous to set comprehensions in Zermelo-Frankel set theory. Analogous to the setof and findall predicates in Prolog.
Local application
An application which runs on one node and which are always started at the local node only. (See distributed application.)

M

MIB
See Management Information Base.
MIME
Multi-purpose Internet Mail Extensions.
MO
Managed Object; The abstract management information defined in a MIB.
MO
See Managed Object.
Managed Object (MO)
The abstract management information defined in a MIB.
Management Information Base (MIB)
An abstract definition of the management information available through a management interface in a system.
Manager
An entity that terminates a management protocol in the Network Management Station.
Master Agent
The SNMP agent system consists of one Master Agent which terminates the SNMP protocol
Matching
See pattern matching.
Message queue
The queue of not yet received messages that are in the mailbox of a process.
Mnemosyne
Mnemosyne is the query language of Mnesia. Queries in Mnesia use first order predicate logic (like Prolog), but in a syntax which is suitable for Erlang. The "query list comprehensions" used in Mnesia are taken from the functional languages community. The advantage over embedded SQL, for example, is that the constructs integrate smoothly with the Erlang language.
Mnesia
Mnesia is a distributed Database Management System, appropriate for telecommunications applications and other applications with need of continuous operation and soft real-time properties.
Module
Module is the unit for compilation and for loading in Erlang. A Module contains a module declaration, export declarations and code representing the functions in the module.

N

NCSA
The National Center for Supercomputing Applications.
NE
See Network Element.
NE
Network Element; In OTP, the Network Element is the entire distributed OTP system, meaning that the distributed OTP system is managed as one entity.
NMS
Network Management Station; The place where the operator manages the network.
NMS
See Network Management Station.
NROFF
A text formatting language for line printer quality output devices that runs on the UNIX operating system.
Network Element
In OTP, the Network Element is the entire distributed OTP system, meaning that the distributed OTP system is managed as one entity.
Network Management Station (NMS)
The place where the operator manages the network.
Node
An executing Erlang run-time system which can communicate with other Erlang run-time systems.
Node name
A node name is an atom constructed as the concatenation of a name supplied by the user, an "@" character, and the name of the host where the node is executing.
Notation
How things are written.
Notification
Information of an event.
Number
A data type in Erlang. Are subdivided into integers, for storing natural numbers, or floats, for storing real numbers.

O

OMG
Object Managment Group.
OTP
Open Telecom Platform
Object Managment Group (OMG)
A standardisation group for all specifications in the area of CORBA.
Os_mon
An application which monitors the behaviour of the underlying operating system

P

Parser generator
A tool for making compilers which takes a grammar description as input and generates a complete program (a parser) which recognizes input which complies with the grammar. YECC is a parser generator included in the Erlang/OTP.
Pass phrase
The word or phrase which authenticates the user who is authorized to use private key file. The pass phrase prevents unauthorized users from starting, restarting, or reconfiguring the server.
Pattern matching
A basic mechanism in Erlang for assigning values to variables and for controlling the flow of a program.
Permanent child
A supervised process which always is restarted when it dies.
Pid
Process Identifier. A data type in Erlang for storing process references. The process identity of the process displayed in the line.
Pman
Module and application name for the Process Trace Tool.
Point
A unit used to indicate the size of a typeface. Equal to 1/72 inches.
Pointer
A pointer tells where data is stored. Memory pointers are not used in Erlang.
Port
A data type in Erlang. Ports provide the basic mechanism for communication with the external world.
Port controller
An Erlang process which controls a port program. A port has exactly one port controller.
Port program
A program that runs as an external program in the operating system and which the Erlang run-time system can start and communicate with by means of the Erlang port mechanism.
PostScript
A language describing a fully laid-out page in terms of fonts, lines, grey scales, and so on, in a way that is interpretable by a printer. The language was developed by Adobe Systems.
Pretty-printed
Nicely formatted code or data, e.g. C or Erlang, with indents and tabs etc.
Primitive
The basic elements in a programming language.
Private key
The secret key in a pair, used to decrypt incoming messages and sign outgoing ones.
Process
A process is a self-contained separate unit of execution which exists concurrently with other processes in the system. The BIF "spawn/3" creates and starts the execution of a new process.
Process Manager
Obsolete name for the Process Trace Tool.
Process Trace Tool
A tool which gives an overview of the processes in the Erlang run-time system. See also Pman.
Process dictionary
Each process has an associated dictionary which provides the process with simple destructive storage capabilities.
Profiler
Another name for eprof, a tool used to profile a system in order to find out how much time is spent in various segments of a program.
Program
Routines which can be executed by a computer.
Proxy
An intermediary program which acts as both a server and a client for the purpose of making requests on behalf of other clients.
Public key
The publicly available key in a key pair, used to encrypt messages bound for its owner and to decrypt signatures made by its owner.

Q

Query
Queries are used for accessing the data in a Database Management System. The query specify a maybe complicated relation that should hold for all of the selected data. This could involve several tables as well as conditions like for instance less then and greater then.
Query language
A language which is specially designed to express database queries. Examples of query languages are Mnemosyne and SQL.

R

RFC
A "Request for Comments" used as a proposed standard by IETF.
Receive
A primitive for message processing in Erlang, receives a message from a process.
Record
A data structure intended for storing a fixed number of related Erlang terms, it is similar to a "struct" in C or a "record" in Pascal.
Recursion
A function is recursive if it calls itself until the result desired is attained. Recursion is the heart of functional programming.
Reference
A data type in Erlang for storing system unique references.
Release handler
A SASL process which handles software upgrade.
Release upgrade script
A script with instructions to the release handler of how the release should be installed in the system.
Remote Proceedure Call
A technique for evaluating a function transparently on a remote node.
Resource
The actual resource to be managed. A resource is represented by a Managed Object. Each resource is mapped to one or several resources.
Resources
The actual resources to be managed. A resource is represented by a Managed Object. Each resource is mapped to one or several resources.

S

SASL
See System Architecture Support Libraries.
SDL
Specification and Description Language. A ITU-T standard specification language which is used to specify the behaviour of switching systems.
SNMP
Simple Network Management Protocol.
SNMPEA
See Simple Network Management Protocol Extensible Agent.
SSL
See Secure Sockets Layer.
SSLTOP
The path to your SSL directory, a subdirectory of ServerRoot.
SSLeay
An SSL library developed by Eric Yong (eay@mincom.oz.au).
Schema
The schema contains the definitions and whereabouts for all tables. In Mnesia it is realized as a special table named "schema".
Schema functions
The functions which are available for managing schemas.
Secure Sockets Layer (SSL)
A protocol created by Netscape Communications Corporation for authentication and encryption over TCP/IP networks, including Web.
Send
A primitive for message processing in Erlang, sends a message to a process.
Shell
The shell is an interactive front-end to an Erlang node where Erlang expressions can be evaluated.
Shell prompt
The text or symbol shown on the screen when the shell is ready to receive commands.
Signature
An encrypted text block that validates a certificate or other file. A Certification Authority (CA) creates a signature by generating a hash of the public key embedded in a certificate, then encrypting the hash with its own private key. Only the CA's public key can decrypt the signature, verifying that the CA has authenticated the network entity that owns the certificate.
Simple Network Management Protocol Extensible Agent (SNMPEA).
An Erlang/OTP application that includes a bilingual extensible SNMP agent.
Single assignment
Means that once a variable has been assigned a value, the value can never be changed. Erlang is a single assignment language.
Single step
Single stepping is a function provided by the debugger. By single stepping the developer may use the debugger to follow the execution of a process and see what actually happens at each function call.
Slave
Not in control, can never take over by himself.
Spawn
A primitive for multiprocessing in Erlang, that starts a parallel computation (called a process). The creation of a new process
Start script
A start script is a file with .script extension which is the source when a boot file is created. See SASL User's Guide for more info.
Stdlib
An application within Erlang/OTP which contains modules for manipulating lists, strings, files, etc.
Sticky directory
A directory containing Erlang object code that is part of the runtime system.
Sticky lock
A lock which lingers at a node after the transaction which first acquired the lock has terminated. Once a process has obtained a sticky lock on a node, subsequent locks acquired by processes on the same node, can be set without need of involving remote nodes.
String
The ASCII or ISO-8859-1 representation of the list of characters occurring within quotation marks in Erlang code.
Subagent
The SNMP agent system consists of one Master Agent (See Master Agent) and zero or more Subagents which can be used to distribute the SNMP agent system on several nodes.
Supervision tree
A hierarcial tree of processes used to program fault tolerant systems.
Supervisor
A behaviour to stucture fault tolerant computations, and program supervision trees with.
Supervisor bridge
A behaviour used to connect a process, or subsystem, to a supervisor tree.
System Architecture Support Libraries (SASL)
An Erlang/OTP application which contains services for error logging, release handling and report browsing.
System configuration file
A file which specifies configuration parameters for the applications in the system.

T

Table Visualizer
A tool which enables the user to examine ETS and Mnesia tables.
Table lock
Table locks are locks which are set on whole tables. They may either be read locks or write locks.
Temporary child
A supervised process which is never restarted when it dies.
Term
The super type of all Erlang types.
Toolbar
A tool that provides an simplistic interface to the other various Erlang/OTP tools
Tools
An application within Erlang/OTP which contains the tools which are not applications themselves.
Transaction
Transactions groups a set of database accesses into an atomic unit. All transactions has the ACID (atomicity, concistency, isolation and durability) properties.
Transient child
A supervised process which is restarted if it dies non-normally.
Trigger
The Interpreter. A break point that is reached by a process triggers if it is active, and the execution of the process is stopped.
Tty
tty is a simple command line interface program where keystrokes are collected and interpreted. Originally meant teletypewriter equipment. Now it usually means the user console/terminal/shell window.
Tuple
A tuple is a data type in Erlang. Tuples are used as place holders for complex data structures. Tuples may contain anything of any size, and are written as sequences of terms separated by commas, and enclosed in curly brackets { }.

V

Variable
An alias for a memory position, in which a value can be put. Erlang variables always start with an upper case letter.

W

Workers
The lower nodes in a supervision tree. These are the processes that actually performs some real work, e.g. servers.

X

Xref
A tool which helps the designer to find undefined functions and to identify dependencies between modules and functions.

Y

YECC
A LALR-1 parser generator included in Erlang/OTP. It is written in Erlang and generates a parser as an Erlang module.


Copyright © 1991-97 Ericsson Telecom AB