Welcome to Citizendium - the Citizens' Compendium!

See something needing your input? Click here to Join us in providing quality, expert-guided information to the public for free!

Wednesday, November 14: November 2012 Monthly Donor Day. - Donate here - Monthly Donor Honor Roll

Erlang's original domain

From Citizendium, the Citizens' Compendium

Jump to: navigation, search
This article is developing and not approved.
Main Article
Talk
Related Articles  [?]
Bibliography  [?]
External Links  [?]
 
This is a draft article, under development and not meant to be cited; you can help to improve it. These unapproved articles are subject to a disclaimer.
For more information, see: Erlang programming language.

The original domain for Erlang was circuit switching systems in the Public Switched Telephone Network. The nature of the original domain is presented here since it describes the kind of problems that Erlang is well suited for.

Däcker's 10 requirements

In Bjarne Dacker's licentiate thesis [1] a list of the 10 key requirements for programming telephone circuit switches.

  1. Handling of a very large number of concurrent activities
  2. Actions to be performed at a certain point in time or within a certain time
  3. Systems distributed over several computers
  4. Interaction with hardware
  5. Very large software systems
  6. Complex functionality such as feature interaction
  7. Continuous operation for many years
  8. Software maintenance (reconfiguration et cetera) without stopping the system
  9. Stringent quality and reliability requirements
  10. Fault tolerance both to hardware failures and software errors

Erlang was specifically designed to make it easier to implement telecoms switching systems, but the requirements are also true for a number of other domains such as web servers[2], instant messaging[3] and enterprise messaging[4].

In Joe Armstrong's dissertation [5] there is an elaboration of the rationale for these requirements in section 2.2.

References

  1. http://www.erlang.se/publications/bjarnelic.pdf Bjarne Däcker's licentiate thesis
  2. http://yaws.hyber.org/ The Yaws web server written in Erlang
  3. http://www.ejabberd.im/ Instant messaging server ejabbered is written in Erlang
  4. http://www.rabbitmq.com/ The AMQP implementation RabbitMQ is written in Erlang.
  5. Armstrong Dissertation
Views
Personal tools