DocumentCode :
654315
Title :
The Erlang approach to concurrent system development
Author :
Lutz, Michael J.
Author_Institution :
Software Eng. Dept., Rochester Inst. of Technol., Rochester, NY, USA
fYear :
2013
fDate :
23-26 Oct. 2013
Firstpage :
12
Lastpage :
13
Abstract :
The prevalence of multi-core processors means application developers can no longer ignore concurrency and its attendant problems of data races, deadlock, safety, and liveness. Imperative languages such as Java and C, based on shared, mutable state, have added locks, semaphores and condition variables to address these problems; unfortunately, these locking approaches are notoriously error-prone. Functional ("single assignment") languages with immutable state have been promoted as tools to mitigate these problems. In particular, Erlang, a functional language with roots in Prolog, has been used by Erickson, Ltd., to develop robust, concurrent, fault-tolerant, communications switches (31ms downtime per year). This workshop will introduce Erlang to educators interested in the language per se as well as those focusing on concurrent system development. The goal is to encourage the use of both imperative and functional languages in teaching about concurrency. Participants will install the Erlang system on their notebooks so as to engage in activities along with the organizer. Both sequential and concurrent systems - small but complete - will be developed in conjunction with the presentations. Time is allocated at the end of the workshop to discuss the pedagogical issues involved in adopting Erlang or similar technology.
Keywords :
computer aided instruction; computer science education; concurrency control; functional languages; teaching; C languages; Erlang approach; Erlang system; Java languages; Prolog; concurrency teaching; concurrent system development; condition variables; functional languages; imperative languages; locks; multicore processors; semaphores; single assignment languages; Computers; Concurrent computing; Conferences; Education; Java; Software; Software engineering; concurrent and distributed systems; functional vs. imperative languages; software engineering education;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Frontiers in Education Conference, 2013 IEEE
Conference_Location :
Oklahoma City, OK
ISSN :
0190-5848
Type :
conf
DOI :
10.1109/FIE.2013.6684776
Filename :
6684776
Link To Document :
بازگشت