Erlang Systems
[Up | Erlang Systems]



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.
Abstract Syntax Notation One - an ITU-T and ISO standard notation for describing data formats used in communication protocols.
ASN.1 Compiler
The Erlang ASN.1 Compiler translates an ASN.1 module into a corresponding Erlang module with encode and decode functions.
An entity that terminates a management protocol in the Network Element.
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 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
Application name for the Application Monitor within Erlang System/OTP. A graphical node and process viewer.
Denotes the number of arguments to a function.
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 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.
The debugger may attach to a process. When attached, the debugger may show process details, such as message queues and variable bindings.


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
A "pattern of design" which can be used to build applications and processes in an applications.
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.
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 Interface Generator
See Interface Generator.
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.
See Common Object RequestBroker Architecture.
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.
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.
A supervised process. See also permanent, transient, temporary child.
A system of encryption.
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.
Common Object Request Broker Architecture (CORBA)
A specification of an architecture for a distributed object system
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 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.
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
Module name for the Coverage Analyser tool within Erlang System/OTP. The module cover is located in the Tools application.
Coverage Analyser
An Erlang Design 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 cover.
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 System/OTP: The Graphical Cross Reference Tool and the library module exref.


See Database Management System.
See Domain Name System.
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.
An Erlang Design Tool which provides mechanisms which makes it possible to see what happens during the execution of code in specified modules, or when processes crash.
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.)
The documentation system used in Erlang System/OTP.
Domain Name System (DNS)
DNS is a service that map names to internet addresses
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.


See Erlang Run Time System.
Erlang Term Storage tables.
See Event and Alarm handling application
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
An Erlang Design Tool which provides a major mode for editing Erlang source files in Emacs.
Data can be encapsulated into another data element.
A module in the tools application. See Profiler.
The command which starts an Erlang 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 is a functional programming language intended for designing large industrial soft real time systems.
Erlang Run Time System
The fundamental part of Erlang System/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 the Erlang System/OTP work together with a specific OS/HW platform. The Erlang Virtual Machine is available on several different platforms such as Ix86/Win 95, Ix86/Win NT, Sparc/Solaris 2.5 and more. 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 Erlang 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}.
An Erlang Design Tool which helps the designer to find undefined functions and to identify dependencies between modules and functions.


Finite State Machine.
Algebraic place holder.
A data type, introduced in Erlang 4.4, which represent functional objects.
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.


See Graphics System.
GS Contributions
Unsupported user supplied tools which are included with the Erlang software release.
Graphical User Interface
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.
A behaviour used for programming event handling mechanisms, such as alarm handlers, error loggers, and plug-and-play handlers.
A behaviour used for programming finite state machines.
A behaviour used for programming client-server processes.
Global Glossary Database
A glossary database used to list common acronymns and defintions etc.
Graphical Cross Reference Tool
An Erlang Design Tool which helps the designer to find undefined functions and to identify dependencies between modules and functions.
Graphics System
A library module which provides a graphics interface for Erlang.
A multi-column object which is used to display tables. (Graphics System.)


Hypertext Markup Language.
Hypertext Transfer Protocol.
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 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.


See Interface Description Language.
See Interface Generator.
The Erlang Internet Services application
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.
Interface Generator
An application within Erlang System/OTP which makes it easier to communicate between Erlang and C/C++ programs.
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.
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.


An application within Erlang System/OTP which contains file servers, code servers and other code necessary to run the Erlang System/OTP itself.
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.


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.)


See Management Information Base.
Multi-purpose Internet Mail Extensions.
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.
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
See pattern matching.
Message queue
The queue of not yet received messages that are in the mailbox of a process.
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 is a distributed Database Management System, appropriate for telecommunications applications and other Erlang applications with need of continuous operation and soft real-time properties.
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.


The National Center for Supercomputing Applications.
See Network Element.
See Network Management Station.
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.
An executing Erlang system which can communicate with other Erlang 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.
How things are written.
Information of an event.
A data type in Erlang. Are subdivided into integers, for storing natural numbers, or floats, for storing real numbers.


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


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 System/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.
Process Identifier. A data type in Erlang for storing process references. The process identity of the process displayed in the line.
Module and application name for the Process Trace Tool.
A unit used to indicate the size of a typeface. Equal to 1/72 inches.
A pointer tells where data is stored. Memory pointers are not used in Erlang.
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 system can start and communicate with by means of the Erlang port mechanism.
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.
Nicely formatted code or data, e.g. C or Erlang, with indents and tabs etc.
The basic elements in a programming language.
Private key
The secret key in a pair, used to decrypt incoming messages and sign outgoing ones.
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 system. See also Pman.
Process dictionary
Each process has an associated dictionary which provides the process with simple destructive storage capabilities.
Another name for eprof, an Erlang Design Tool, used to profile a system in order to find out how much time is spent in various segments of a program.
Routines which can be executed by a computer.
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.


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.


A "Request for Comments" used as a proposed standard by IETF.
A primitive for message processing in Erlang, receives a message from a process.
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.
A function is recursive if it calls itself until the result desired is attained. Recursion is the heart of functional programming.
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.
The actual resource to be managed. A resource is represented by a Managed Object. Each resource is mapped to one or several resources.


See System Architecture Support Libraries.
Specification and Description Language. A ITU-T standard specification language which is used to specify the behaviour of switching systems.
Simple Network Management Protocol.
See Simple Network Management Protocol Extensible Agent.
See Secure Sockets Layer.
The path to your SSL directory, a subdirectory of ServerRoot.
An SSL library developed by Eric Yong (
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.
A primitive for message processing in Erlang, sends a message to a process.
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.
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 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.
Not in control, can never take over by himself.
An application within Erlang System/OTP. Sockets provide interfaces to communication protocols.
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.
An application within Erlang System/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.
The ASCII or ISO-8859-1 representation of the list of characters occurring within quotation marks in Erlang code.
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.
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 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.


Table Visualizer
An Erlang Design 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.
The super type of all erlang types.
An Erlang Design Tool that provides an simplistic interface to the other various Erlang Design Tools
An application within Erlang System/OTP which contains the tools Toolbar, Emacs for Erlang, Process Trace Tool, Coverage Analyser, Profiler, cross reference tools and Xerl, which are not applications themselves.
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.
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 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.
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 { }.


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


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


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

Copyright © 1991-97 Ericsson Telecom AB