Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS 326: Functional Programming 1. 2 Erlang – A survey of the language & applications Paper by: Joe Armstrong, Computer Science Laboratory, Ericsson Telecom.

Similar presentations


Presentation on theme: "CS 326: Functional Programming 1. 2 Erlang – A survey of the language & applications Paper by: Joe Armstrong, Computer Science Laboratory, Ericsson Telecom."— Presentation transcript:

1 CS 326: Functional Programming 1

2 2 Erlang – A survey of the language & applications Paper by: Joe Armstrong, Computer Science Laboratory, Ericsson Telecom Labs PRESENTATION BY: Vishal Nehru

3 CS 326: Functional Programming 3 Contents of this Presentation: Introduction to Erlang Understanding the essence of Erlang Industrial Uses of Erlang Conclusion

4 CS 326: Functional Programming 4 Introduction to Erlang

5 CS 326: Functional Programming 5 What is Erlang? A Functional Programming Language Designed by Ericsson Computer Science Laboratory (ER icsson LANG uage ) First used in 1987, was too slow initially for large scale use. 1994: First International Erlang Conference in Stockholm. Held annually since.

6 CS 326: Functional Programming 6 Introduction to Erlang Understanding the essence of Erlang Industrial Uses of Erlang Conclusion

7 CS 326: Functional Programming 7 The Essence of Erlang

8 CS 326: Functional Programming 8 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.

9 CS 326: Functional Programming 9 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.

10 CS 326: Functional Programming 10 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.

11 CS 326: Functional Programming 11 Let us examine Erlang syntax and programming style

12 CS 326: Functional Programming 12 Introduction to Erlang Understanding the essence of Erlang Industrial Uses of Erlang Conclusion

13 CS 326: Functional Programming 13 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.

14 CS 326: Functional Programming 14 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.

15 CS 326: Functional Programming 15 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.

16 CS 326: Functional Programming 16 Introduction to Erlang Understanding the essence of Erlang Industrial Uses of Erlang Conclusion

17 CS 326: Functional Programming 17 Conclusion

18 CS 326: Functional Programming 18 Conclusion: highlights of Erlang ERLANG’S FORTE TIME TO MARKET: Use of Erlang instead of a comparable language, in an appropriate application, can greatly reduce the “time-to-market”. PERFORMANCE: For larger programs, Erlang does much better than C, especially in telecommunications related applications. REAL TIME GARBAGE COLLECTION: In built garbage collection system in Erlang reduces memory management headaches associated with seemingly faster languages that do not provide real-time garbage collection.

19 CS 326: Functional Programming 19 Introduction to Erlang Understanding the essence of Erlang Industrial Uses of Erlang Conclusion END

20 CS 326: Functional Programming 20 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

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


Download ppt "CS 326: Functional Programming 1. 2 Erlang – A survey of the language & applications Paper by: Joe Armstrong, Computer Science Laboratory, Ericsson Telecom."

Similar presentations


Ads by Google