Fredrick Langston
Erlang is a general-purpose programming language with built-in support for concurrency, distribution and fault tolerance. OTP (Open Telecom Platform) is aimed at providing time-saving and flexible development for robust, adaptable telecom systems. It consists of an Erlang runtime system, a number of ready-to-use components mainly written in Erlang, and a set of design principles for Erlang programs. Since Erlang and OTP are closely interconnected the term Erlang/OTP is normally used instead of OTP.
The language was named after the Danish Mathematician, Agner Krarup. But it was developed by Ericsson Computer Sciences Laboratory to build software for its own telecommunication products. Erlang has many features associated with the operating system memory management, processes, networking etc. Erlang uses a virtual machine and supports multithreading so it is similar to java. Erlang main advantages is speed and reduces maintenance.
The Erlang runtime system (ERTS) is made up of an emulator running on top of the host operating system, a kernel providing low-level services such as distribution and I/O handling, and a standard library containing a large number of re-usable modules.
The OTP design principles provides the user with a way to structure the system based on a concept called application. An OTP application is a way to package a system component and is either a set of library modules or a supervision tree. A supervision tree is a hierarchical tree of processes used to program fault-tolerant systems. The processes are easiest implemented using behavior modules which are formalizations of design patterns. The standard library includes behavior modules for supervisors, servers, state machines and generic event handlers.
Erlang/OTP runs on a number of different UNIX systems. The installation is performed in a similar way for all of them. The system is delivered as a single compressed tar file, and the installation requires approximately 50 MB of file system space, including the printed documentation in machine readable format. This can, if desired, be removed when the installation is completed.
As UNIX supports virtual memory, no strict minimum of physical memory is required, but as with all applications, shortage of physical memory will have negative effects on performance. The amount of virtual memory used by the Erlang runtime system is mostly dependent on the amount of code loaded, and the number and complexity of Erlang processes running. Eight to ten MB is not unusual for a fairly complex system. To browse the on-line HTML documentation, Netscape 3.0 or equivalent browser is needed.
When installed, the entire system, except for a small start-up script, resides in a single directory tree. The location of this directory tree can be chosen arbitrarily by the installer, and it does not need to be in the user's PATH. The only requirements are that the file system where it is placed has enough free space, and that the users who run Erlang/OTP have read access to it. In the example below, the directory tree is assumed to be located at /usr/local/erlang, which is here called the top-level directory.
It is assumed that you have got a compressed tape archive file (tar file), the name of which is
If the top-level directory does not already exist, create it:
mkdir /usr/local/erlang
Change the current directory to the top level directory:
cd /usr/local/erlang
Create the installation directory in the current directory. A suitable name is
mkdir /usr/local/erlang/otp_LXA11928_sunos5_R2A
Change to the installation directory, e.g.
cd otp_LXA11928_sunos5_R2A
The compressed tar file is assumed to reside in the directory
zcat
Read the README file in the installation directory for last minute updates, before proceeding.