What is it about?
Communicating StateCharts is a new model for concurrency designed to help students learn about concurrency. Concurrency includes both multiple computers working together to solve a problem, and multiple processes coordinating their actions on one computer. A multi-player game is one such example, if players are allowed to log in to separate computers.
Featured Image
Photo by Desola Lanre-Ologun on Unsplash
Why is it important?
Today, parallel computing and distributed computing are the norm for real-world computing, but understanding the theory of concurrency which underlies them is difficult to learn.
Perspectives
This work, which is the master's thesis of Sheida Emdadi, takes a principled approach to teaching concurrency. Although this is only briefly summarized in this tool demo, in her thesis, Sheida carefully explains the principles she has borrowed from the software design community, why they are relevant to the design of a framework for concurrency, and how the tool she implements adheres to those principles. I am very hopeful that this principled approach to designing an educational tool will pay off in greater understanding and ease of use. This approach wouldn't have been possible without the software engineering expertise of my collaborator, and Sheida's co-supervisor, Spencer Smith.
Associate Professor Christopher Kumar Anand
McMaster University
Read the Original
This page is a summary of: Communicating StateCharts (CSC), June 2025, ACM (Association for Computing Machinery),
DOI: 10.1145/3724389.3731259.
You can read the full text:
Contributors
The following have contributed to this page







