From: Joe Armstrong
Subject: Functional Programming Comes of Age
Date: 
Message-ID: <3ic6fq$1d0@euas20.eua.ericsson.se>
Functional Programming Comes of Age [1]
===================================

Ericsson announces 3 new products programmed in Erlang [2].

Why are we telling you this?
============================

In this and other newsgroups we have followed the function/imperative
programming language debate with amusement. It has been claimed that
functional programming languages, languages with garbage collection or
dynamically typed cannot be used to build "real" industrial strength
real-time systems.

The time has come to put the record straight.

For the last few years Ericsson has been performing active product
development in Erlang. For those of you don't know Erlang is a single
assignment, dynamically typed, concurrent functional programming
language with a real-time garbage collector [see below for more
details].

(For those who don't know of Ericsson, we are a multinational
manufacturer of telecommunications switching equipment. We have about
75000 employees active in more than 100 countries. Revenue in 1994 was
110 Billion USD.)

For commercial reasons we have not posted any information about these
products or about the product developments. Ericsson has now formally
announced these products and lifted various restrictions on our
reporting technical details of these product - so now we can tell you
what's *really* happening here.

Without going into all the details, we can summarise the main
conclusions:

        o Erlang has been used for large-scale product development
        o Erlang is suitable for programming very large "soft"
          real-time systems
        o Erlang has a real-time garbage collector and this is used
          in the products shipped by Ericsson. This entirely solves
          space leakage and fragmentation problems
        o Erlang is sufficiently fast for building commercial real-time
          systems.
        o Erlang has been used by large programmer groups (> 30 programmers)
          to build very large programs (> 300,000 lines of Erlang)
        o Erlang programs are typically 7 times shorter than C++
        o The number of errors in delivered Erlang code is very small
        o Erlang systems are extremely robust. The error handling
          mechanisms in the language allow one to program highly
          robust systems.

Details of each of these points will published at a later date.

The Products
============

Ericsson has announced three products written in Erlang. They are:

Mobility Server -
        A product which allows advanced business services which can be
        tailored according to customer needs. This was written for a
        Sparc/CPU40 with VxWorks + Erlang

Iso Ethernet -
        A product which allows real-time communications, such as
        videoconferencing, to be carried along existing Ethernet wiring 
        this was written for a PC with OS/2 + Erlang

NETSIM -
        A network simulator. This was written for a Sparc
        workstation + Erlang.

The Mobility Server and Iso Ethernet products are part of
'Consono' which is a new family of Ericsson products aimed at business
users.

The Ericsson Press Release
==========================

[[ this just covers the Mobility server and Iso Ethernet. The
press release has been heavily trimmed to save space]]

Date: Thu, 09 Feb 1995 14:07:00 +0100
Subject: Consono

>ERICSSON LAUNCHES CONSONO -
A NEW FAMILY OF BUSINESS COMMUNICATIONS SOLUTIONS
INCLUDING SUPPORT FOR MULTIMEDIA AND MOBILE COMMUNICATIONS

Ericsson has launched a new family of voice, data and multimedia
communications systems for private networks, under the brand
'Consono'. Consono brings together Ericsson's existing PBX and data
networking solutions, and adds new and enhanced capabilities in a
number of areas, including multimedia communications, mobile
communications, business cordless communications, call centre systems
and network management.

The central pillar of the Consono offering is a new version of
Ericsson's MD110 digital PBX system. MD110 is already one of the
world's best-selling large PBXs, with more than 8.5 million lines
installed or on order in over 60 countries.

The new Consono MD110 PBX features a modular architecture, with
separate modules looking after the basic switching applications, and
modules for more advanced services which can be tailored according to
customer needs. This architecture is a further development of the
modularity already existing in MD110, which has made the system
especially popular with organizations that want to run a unified
communications network spanning several different sites.

... omitted ...

New support for multimedia applications

Another new feature of Consono is support for multimedia
communications, including personal conferencing (i.e. applications for
data and video conferencing) via desktop PCs. 'Consono Networked
Interpersonal Multimedia' is based on the Consono MD110 PBX and
includes ProShare, Intel's ISDN-based personal conferencing package,
and isochronous Ethernet, an evolution of Ethernet, the world's most
popular LAN technology.

Together with National Semiconductor, Ericsson has developed products
based on iso-Ethernet which allow real-time communications, such as
videoconferencing, to be carried along existing Ethernet wiring.

iso-Ethernet is completely compatible with existing 10Base-T Ethernet
installations: Ethernet and iso-Ethernet users can share the same LAN
segment; and it is also compatible with public network services such
as ISDN. Dedicated communications channels from 64 kbit/s to 6 Mbit/s
can be provided to the desktop on demand, as easily as making a
telephone call.

.... omitted ...

Roll-out of Consono

Ericsson's Consono systems will be  rolled out during the first
half of 1995, in all the markets where Ericsson is currently active in
the private networking field (some 60 countries).

.... omitted ...

Consono applications, including the Mobility Server, multimedia and
advanced call centre applications, as well as the new network
management systems, will be shown in public for the first time at the
CeBIT exhibition in Hannover, in March 1995.

Consono is a registered trademark of Ericsson Business Networks AB
ProShare is a registered trademark of Intel Corporation.

Ericsson's 75,000 employees are active in more than 100 countries.
Their combined expertise in switching, radio and networking makes
Ericsson a world leader in telecommunications.

.... omitted ...

[ end of press release ]

NETSim
======

Netsim is a network simulator sold by Ericsson/Hewlit packard. NETSim
simulates the operations and maintenance behavior of AXE Network
Elements (AXE is a very large switching system product). NETSim
simulates commands, printouts, alarms and files transfers. NETSim
supports the Message Transfer Protocol (MTP) and communicates through
a X.25 protocol.

About Erlang
============

References

[1]     "Functional Programming Comes of Age"
        Dick Pountain
        BYTE August 1994  

[2]     "Concurrent Programming in Erlang",
        J. Armstrong, M. Williams & R. Virding,
        Prentice Hall, 1993.
        ISBN 13-285792-8.

        Classification:

Concurrent functional programming language for large industrial
real-time systems. Dynamically typed. Pattern matching syntax.
Recursion equations. Explicit concurrency, asynchronous message
passing. Relatively free from side effects. Transparent cross-platform
distribution. Primitives for detecting run-time errors. Real-time GC.
Modules. Dynamic code replacement (change code in running real-time
system, without stopping system). Foreign language interface.

Availability: Free version (subject to non-commercial license) with no
support available to schools and universities. Commercial versions
with support are available from Ericsson Infocom, Erlang Systems
Division (·······@erlang.ericsson.se).

Info: ······@erix.ericsson.se

FTP Info: euagate.eua.ericsson.se:/pub/eua/erlang/info

HTTP Info: http://www-cslab.ericsson.se:5000