Erlang 5.1/OTP R8B


This document describes the major new features and changes that will be introduced in the next Erlang/OTP version R8B which will be released the 17:th of October 2001.

The major focus in the development of this version has been:

·        Improved characteristics for huge systems and systems with high demands regarding soft real time characteristics.  The work here is mainly concentrated on multithreaded I/O, memory handling and improvements in disk and ram based tables and Mnesia.

·        Introduce the important new application Megaco/H.248 as part of OTP.

·        Introduction of  a permuted index in the html version of the documentation as well as a reduction of levels of html pages for each application.

Below follows a brief description of the most significant changes in each application.

Appmon, graphical view of applications and processes

Asn1, compiler and runtime functions for ASN.1

For more details, see Release Notes.

Comet, the COM client for Erlang

Various improvements and some new example. One example shows how to access various data sources with ActiveX Data Objects (ADO). For more details see the Release Notes.


CosEvent, (a CORBA service)

This version is a completely new version of the cosEvent application; older versions were not compliant with the OMG specification. The "look and feel" has been changed to be more uniform with the other COS-services.

cosFileTransfer NEW (a CORBA service)

An Erlang implementation of the OMG CORBA FileTransfer service.

Note: The OMG CosFileTransfer specification have not been finalized yet. Hence, the API may be changed in the future.

CosNotification (a CORBA service)

Minor changes, see Release Notes.

cosProperty NEW (a CORBA service)

An Erlang implementation of the OMG CORBA Property service.

CosTime (a CORBA service)

Minor changes, see Release Notes.

CosTransactions (a CORBA service)

Minor changes, see Release Notes.

Crypto, MD5, SHA and CBC-DES encryption/decryption

No changes since R7B01.


Internal changes.

Erlang emulator (ERTS)

Erl_Interface, a C library for integration of Erlang and C programs

A lot of improvements, the library "ei" now can be used without support from the old library "erl_interface". The "ei" library is reentrant and makes it possible to have i.e. multiple ei-nodes on VxWorks (which means multiple ic generated nodes too). The old “erl_interface” API is still there but only for backward compatibility reasons. The “Erl_interface” API and lib is now obsolete and should not be used in new development.

EVA, event and alarm handling

No changes since R7B01.

GS, the Graphics System

Other minor internal changes, see GS Release Notes.

IC, the IDL compiler and runtime functions

Inets, HTTP server and FTP client.

Minor changes, see Release Notes.

Jinterface, a library for integration of Erlang and Java programs

No changes since R7B01.

Kernel, mandatory basic applications

Megaco, a Megaco/H.248 protocol stack NEW

A framework for building applications on top of the Megaco/H.248 protocol.
Megaco/H.248 is a protocol for control of elements in a physically decomposed multimedia gateway, enabling separation of call control from media conversion. A Media Gateway Controller (MGC) controls one or more Media Gateways (MG).

The semantics of the protocol has jointly been defined by two standardization bodies:



This application has been removed.

Mnemosyne, database queries

No changes since R7B01.

Mnesia, a DBMS

Already in R7 (Mnesia-3.10)

The implementation for tables with property disc_copies is significantly improved and does not use dets anymore. This will improve over all system performance.

R8 (Mnesia-4.X and later)

The improvements in dets will yield an improvement on the disc_only_copies storage type.

select/[23] is implemented which should decrease the need to use Mnemosyne and match_object. By use of select the search performance is improved. The data returned from a search with select can be taylored by the user. See ERTS User's Guide for syntax of match expressions.

Synced transactions have been implemented, these kind of transactions do not increase the performance but have a better behaviour from a system perspective. A node B cannot be overloaded by running fast transactions on node A and you cannot overload disk_log as you can with the normal mnesia:transaction/[123] call.

Old dependencies, workarounds and support for old Erlang/OTP release will be removed.

Mnesia_Session, interface to Mnesia

Minor internal changes, see Mnesia_Session Release Notes.

ODBC, interface to SQL databases

The application has been rewritten. The main change is that allocation and deallocation om memory is now handled by the application.

ODBC also need handlers for communication with the database. These handlers are now allocated by application.

New interface functions have been added which replace the old ones. The old interface functions are retained for backwards compatibility but may be removed in the future. For more information, see the ODBC Reference Manual.

Orber, the Erlang ORB

The overhead for Inter-ORB communication has been reduced significantly compared with the first R7B version (3.1.8). As a part of this work the memory usage has also been reduced.

OS_Mon, monitoring of disk-usage and OS resources

Parsetools, a parser generator

No changes since R7B01.

Pman, graphical tool for inspection and tracing of processes

Minor internal changes, see Pman Release Notes.

Runtime_Tools, trace functionality etc.

Tracing is generally improved and bugfixed, see the dbg and erlang manual sections

SASL, release handling, upgrade etc.

SNMP, Simple Network Management Protocol

Minor changes, see Release Notes.

SSL, Secure Socket Layer

Minor changes, see Release Notes.

STDLIB, mandatory library functions



Improved performance, especially when using multithreaded I/O.

Toolbar, graphical launcer

Minor internal changes, see Toolbar Release Notes.

Tools, various useful development tools

·         Coast was much too slow and inefficient, especially for large modules. Also, it was discovered that Coast in some cases returned erroneous values.

Consequently, Coast has been discontinued and is replaced with a new tool Cover with similar interface and functionality. Refer to the Tools User's Guide and Reference Manual for more information about Cover. (*** POTENTIAL INCOMPATIBILITY ***)
Added a web based user interface to Cover.

Other minor changes, see Tools Release Notes.

TV, grapical viewer for ets and mnesia tables

Minor internal changes, see TV Release Notes.

WebTool NEW

A framework for web based tools.