• Home
  • Search
  • Functional approaches to teaching concurrency
  • https://doi.org/10.1109/fie.2013.6684861Copy DOI Icon

Functional approaches to teaching concurrency

  • Oct 1, 2013
  • Michael J Lutz
Show More
  • Abstract
  • Literature Map
  • References
  • Similar Papers
Abstract

Traditional approaches to addressing issues of concurrency rely on mechanisms added to standard imperative languages such as Java, such as “synchronized” methods and blocks, combined with a “wait/notify” mechanism used to block and awaken processes when a shared resource is not in an acceptable state. The problem with this approach, however, is that mutable state is potentially accessible via many paths, and each such path must be analyzed for possible race conditions, deadlocks, and safety violations.The root cause of many concurrency problems is attributable to shared, mutable state. In light of this, two approaches to mitigating concurrency problems are immutable variables and state isolation within distinct concurrent actors. Erlang, a language developed at Ericsson for distributed, fault-tolerant switches, is a language supporting both approaches. This paper reports on an experiment to include Erlang as part of an existing course on concurrent systems design. This version of the course is currently underway, and the Erlang material is being introduced as this is written. Results from the approach will be ready well before the conference, and should serve as an inspiration (or warning) to others considering such a change.

Similar Papers
  • Research Article
  • Citations35

A collaborative navigation system for concurrent mold design

  • Jan 01, 2009
  • The International Journal of Advanced Manufacturing Technology
  • Wen-Ren Jong +3
  • Conference Article
  • Citations7

Concurrent system design with box structures

  • Sep 20, 1989
  • S.A Becker +1
  • Book Chapter
  • Citations124

The Orc Programming Language

  • Jan 01, 2009
  • David Kitchin +3
  • Research Article
  • Citations19

Thermal management and concurrent system design of a wearable multicomputer

  • Jun 01, 1997
  • IEEE Transactions on Components, Packaging, and Manufacturing Technology: Part A
  • C.H Amon +3
  • PDF
  • Research Article
  • Citations4

Towards a Categorical Framework for Verifying Design and Implementation of Concurrent Systems

  • Jan 01, 2018
  • Journal of Computer and Communications
  • Ming Zhu +1
  • Research Article
  • Citations14

The I/O-Complexity of Ordered Binary-Decision Diagram Manipulation

  • Jan 29, 1996
  • BRICS Report Series
  • Lars Arge
  • Book Chapter
  • Citations4

A Non-interleaving Denotational Semantics of Value Passing CCS with Action Refinement

  • Aug 01, 2007
  • Guang Zheng +3
  • Book Chapter
  • Citations162

Types for Safe Locking

  • Jan 01, 1999
  • Cormac Flanagan +1
  • Research Article
  • Citations3

Using Failures and Category Theory to Verify Process Communications between Design and Implementation of Concurrent Systems

  • Jan 01, 2016
  • Procedia Computer Science
  • Ming Zhu +3
  • Conference Article
  • Citations1

Information management system for space science mission concurrent design

  • Nov 01, 2013
  • Li Deng +3
  • Conference Article
  • Citations8

Asynchronous Wait-Free Runtime Verification and Enforcement of Linearizability

  • Jun 16, 2023
  • Armando Castañeda +1
  • Research Article

Formalization of petri nets with clocks

  • Sep 06, 2005
  • Journal of Computational Methods in Sciences and Engineering
  • R Uzal +4
  • Research Article
  • Citations8

Architecture-directed refinement

  • Apr 01, 1994
  • IEEE Transactions on Software Engineering
  • G.-C Roman +1
  • Conference Article

Analysis of an Asynchronously Generated Race Condition

  • Nov 01, 2016
  • Proceedings - International Symposium for Testing and Failure Analysis
  • Clifford Howard +2
  • Conference Article
  • Citations5

A scheme for dynamic detection of concurrent execution of object-oriented software

  • Nov 17, 2003
  • Huo Yan Chen +2
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.