Erlang - An Open Source Language for Robust Distributed Applications

  1. Erlang - An Open Source Language for Robust Distributed Applications
  2. Introduction
  3. Functional
  4. Concurrent
  5. Distributed
  6. Language Features
  7. Advantages
  8. Disadvantages
  9. Open Source
  10. Major Library Components
    Mnesia
    fast, distributed, real-time database for Erlang
    Inets
    package of Internet tools, including full HTTP server
    Orber
    a CORBA v2.0 object request broker (ORB)
    SNMP
    extensible SNMP v1/v2 agent and MIB (ASN.1) compiler
  11. A Trivial Example
        -module(bankserver).
        -export([start/1]).
        start(Sum) ->
            register(bank,self()),
            account(Sum).
        account(Sum) ->
            receive
              {Pid, Ref, Amount} ->
                NewSum = Sum+Amount,
                Pid ! {Ref,NewSum},
                account(NewSum);
              stop -> nil
            end.
    
  12. A Trivial Example cont.
        % spawn a bank account process with initial Sum 1000
        Bank_pid = spawn(BankNode,bankserver,start,[1000]),
        ...
        Ref = make_ref(),
        Bank_pid ! {self(),Ref,17},
        receive
            {Ref,New_balance} ->
                ...
        end,
    
  13. A Slightly More Serious Example
  14. Erlang Applications - Mobility Server
  15. Erlang Applications - AXD301 ATM Switch
  16. Application Experiences
  17. And Where do I come In?
  18. Conclusion

Lawrie.Brown@adfa.edu.au / 24-Aug-99