SHIM: A Scheduling-Independent Concurrent Language for Embedded Systems

Speaker: Stephen A. Edwards , Columbia University
Date: March 16 2007
Time: 11:00AM to 12:00PM
Location: 34-401A (Grier Room A)
Host: Arvind, CSAIL-MIT
Contact: Sally Lee, 3-6837, sally@csail.mit.edu
Relevant URL: Concurrent programming languages should be a good fit for embedded
systems because they match the intrinsic parallelism of their
architectures and environments. Unfortunately, typical concurrent
programming formalisms are prone to races and nondeterminism, despite
the presence of mechanisms such as monitors.
We propose an alternative for describing such systems. Our SHIM
(software/hardware integration medium) language, which uses Kahn
networks with rendezvous communication at its heart, provides
scheduling-independent concurrency in an asynchronous setting. It is
a C-like imperative language extended with concurrency, inter-process
communication, and exceptions.
We illustrate our programming model with examples including buffers
and recursive pipelines. By construction, they are race-free. By
providing a powerful, deterministic formalism for expressing systems,
designing systems and verifying their correctness will become easier.
Stephen A. Edwards received the B.S. degree in Electrical Engineering
from the California Institute of Technology in 1992, and the M.S. and
Ph.D degrees, also in Electrical Engineering, from the University of
California, Berkeley in 1994 and 1997 respectively. He is currently
an associate professor in the Computer Science Department of Columbia
University in New York, which he joined in 2001 after a three-year
stint with Synopsys, Inc., in Mountain View, California. His research
interests include embedded system design, domain-specific languages,
and compilers.
See other events that are part of
See other events happening in March 2007