V Nehru on Erlang Applications Carl

Document Sample
V Nehru on Erlang Applications Carl Powered By Docstoc
					1   CS 326: Functional Programming
Erlang – A survey of the language &
             applications




  Paper by: Joe Armstrong, Computer Science Laboratory, Ericsson Telecom Labs

  2        PRESENTATION BY: Vishal Nehru                     CS 326: Functional Programming
Contents of this Presentation:

       Introduction to Erlang


       Understanding the essence of Erlang


       Industrial Uses of Erlang


       Conclusion




3                                   CS 326: Functional Programming
    Introduction to Erlang




4                 CS 326: Functional Programming
What is Erlang?

     • A Functional Programming Language
     • Designed by Ericsson Computer Science
       Laboratory (ERicssonLANGuage)
     • First used in 1987, was too slow initially for
       large scale use.
     • 1994: First International Erlang Conference
       in Stockholm. Held annually since.



5                                  CS 326: Functional Programming
     Introduction to Erlang


     Understanding the essence of Erlang


     Industrial Uses of Erlang


     Conclusion




6                                 CS 326: Functional Programming
    The Essence of Erlang




7                CS 326: Functional Programming
Salient features of Erlang:
    • Control Systems Design
     - Designed for programming real- time control systems, such as
     telephone exchanges or ATM machines.
    • Real time
     - Faster response times for its applications.
    • Very Large Programs
     - Control systems may have millions of lines of code.
    • Non-stop Systems
     - Erlang abstract machine allows program code to be changed in a
     running system.
     - Debugging/upgrades occur without stopping the system.


8                                                    CS 326: Functional Programming
More features of Erlang:
    • Portability
     - Can be run on many different operating systems
    • Concurrency
     - Big strength, best applications use concurrency extensively.
     - Most processes are lightweight – hence millions of spawned processes
     are handled well.
    • Portability
     - Can be run on many different operating systems
    • Inter-Process Communication
     - The Erlang abstract machine supports communication between the
     lightweight processes.


9                                                CS 326: Functional Programming
Even more features of Erlang:

     • Garbage Collection
       - As a real time system, bounded-time garbage techniques are critical.
     • Incremental Code Loading
       - Users can control how code is loaded (all at boot time, only as needed etc - lazy loading?)
     • Robustness
       - Fault tolerant systems can be structured through 3 independent error-detection mechanisms
       - Processes even on different processors can monitor each other to ensure greater robustness.
     • Timing
       - Erlang provides mechanisms for allowing processes to timeout while waiting for events.
     • External Interfaces
       - Supports a port mechanism, similar to networking layers
       - Processes can communicate with the ‘outside world’ – OS and other processes, even those
       written in other languages.



10                                                             CS 326: Functional Programming
     Let us examine Erlang syntax and

            programming style




11                      CS 326: Functional Programming
      Introduction to Erlang


      Understanding the essence of Erlang


      Industrial Uses of Erlang


      Conclusion




12                                 CS 326: Functional Programming
Industrial Uses of Erlang (1)


      NetSim:

      - Network Simulator, simulates the maintenance
      and operations behavior of a telephone
      exchange.
      - In use currently in over 20 countries.




13                              CS 326: Functional Programming
Industrial Uses of Erlang (2)
      Mobility Server:

      - Intelligent call control system, written almost
      entirely in Erlang.
      - Principal attraction: introduction of personal
      number services for all mobile users.
      - 486 Erlang Modules, 230000 lines of Erlang
      code.
      - Was written by 35 programmers, all of whom
      had NO previous experience with Erlang.


14                                 CS 326: Functional Programming
Industrial Uses of Erlang (3)

      Distributed Resource Controller:

      - Written in distributed Erlang
      - Runs on low cost hardware.
      - Uses dedicated scripting language
      - Able to control audio devices, human
      operators, database systems and other
      multimedia resources.
      - The whole project took only 11000 man hours
      and nine programmers.


15                              CS 326: Functional Programming
      Introduction to Erlang


      Understanding the essence of Erlang


      Industrial Uses of Erlang


      Conclusion




16                                 CS 326: Functional Programming
     Conclusion




17           CS 326: Functional Programming
Conclusion: highlights of Erlang
                         TIME TO MARKET:
                         Use of Erlang instead of a
                         comparable language, in an
                         appropriate application, can greatly
                         reduce the “time-to-market”.




                                     ERLANG’S
                                      FORTE




     PERFORMANCE:                                 REAL TIME GARBAGE COLLECTION:
     For larger programs, Erlang                  In built garbage collection system in
     does much better than C,                     Erlang reduces memory management
     especially in                                headaches associated with seemingly
     telecommunications related                   faster languages that do not provide
     applications.                                real-time garbage collection.


18                                                      CS 326: Functional Programming
      Introduction to Erlang


      Understanding the essence of Erlang


      Industrial Uses of Erlang


      Conclusion


                           END



19                                 CS 326: Functional Programming
         Credits and Acknowledgements:

          Joe Armstrong, “Erlang – A survey of the
           language and its industrial applications”,
           Ericsson Labs 1996


          www.erlang.org , “Getting Started With Erlang”

          www.erlanger.de


          Picture credits:
           www.st.se/erlangquestionaire/erlang.htm


20                                     CS 326: Functional Programming
     Thank you for listening. Any questions?




21                         CS 326: Functional Programming

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:4
posted:7/22/2011
language:English
pages:21