Open Telecom Platform

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Erlang logo.png
Developer(s) Ericsson
Initial release 1998
Stable release
19.1 / September 21, 2016 (2016-09-21)
Written in Erlang
Operating system Cross-platform
Platform Cross-platform
Type Programming Framework (middleware, libraries, tools, database)

Apache License 2.0 (since OTP 18.0)

Erlang Public License 1.1 (earlier releases)

OTP is a collection of useful middleware, libraries, and tools written in Erlang programming language. It is an integral part of the open source distribution of Erlang. The name OTP was originally an acronym for Open Telecom Platform, which was a branding attempt before Ericsson released Erlang/OTP as open source. However neither Erlang nor OTP is specific to telecom applications.[1][2]

The OTP distribution is supported and maintained by the OTP product unit at Ericsson, who released Erlang/OTP as open source in the late 90s, to ensure its independence from a single vendor and to increase awareness of the language.

It contains:


Early days[edit]

Originally named Open System, it was started by Ericsson in late 1995 as a prototype system that aimed to select from a range of appropriate programming technologies and system components, including computers, languages, databases and management systems, to support a remote access system being developed at Ericsson.[3] In the same year, following the collapse of another gigantic C++-based project, Open System was ordered to provide support when it restarted from scratch using Erlang.[4] The result was the highly successful AXD301 system, a new ATM switch, announced in 1998. Open System system was later named Open Telecom Platform (OTP) when the first prototype was delivered in May 1996. OTP has also become a specific product unit within Ericsson since then, providing management, support and further development.

The early OTP system components in 1998:[5]

  • Distributed application management
  • SASL - error logging, release handling
  • OS resource monitoring
  • EVA - protocol independent event/alarm handling
  • Mnesia - real-time active data replication
  • SNMP - operations and maintenance interface
  • INETS - simple HTTP support

A key subsystem in OTP is the System Architecture Support Libraries (SASL), which gave a framework for writing applications. The early version of SASL provided:[6]

  • Start-up scripts
  • An application concept
  • Behaviours (design patterns)
  • Error handling
  • Debugging
  • High-level software upgrade in runtime without shutdown

The behaviours provide programmers with yet higher abstractions for efficient program design. The early version included:[7]

  • Supervision
  • Servers
  • Event handling
  • Finite State Machines

OTP applications[edit]

As of OTP 18.2, the following applications are included in the Erlang/OTP distribution:[8]

  • asn1
  • common_test
  • compiler
  • cosEvent
  • cosEventDomain
  • cosFileTransfer
  • cosNotification
  • cosProperty
  • cosTime
  • cosTransactions
  • crypto
  • debugger
  • dialyzer
  • diameter
  • edoc
  • eldap
  • erl_docgen
  • erl_interface
  • erts
  • et
  • eunit
  • gs
  • hipe
  • ic
  • inets

See also[edit]