MPI-INF Logo
Campus Event Calendar

Event Entry

What and Who

Title: Can Concurrent Software Ever Be Quality Software?

Edward A. Lee
UC Berkeley
SWS Distinguished Lecture Series


Edward A. Lee is the Robert S. Pepper Distinguished Professor and
Chair of the Electrical Engineering and Computer Sciences (EECS)
department at U.C. Berkeley. His research interests center on
design, modeling, and simulation of embedded, real-time
computational systems. He is a director of Chess, the Berkeley
Center for Hybrid and Embedded Software Systems, and is the director
of the Berkeley Ptolemy project. He is co-author of five books and
numerous papers. He has led the development of several influential
open-source software packages, including Ptolemy, Ptolemy II,
HyVisual, and VisualSense. His bachelors degree (B.S.) is from Yale
University (1979), his masters (S.M.) from MIT (1981), and his Ph.D.
from U. C. Berkeley (1986). From 1979 to 1982 he was a member of
technical staff at Bell Telephone Laboratories in Holmdel, New
Jersey, in the Advanced Data Communications Laboratory. He is a
co-founder of BDTI, Inc., where he is currently a Senior Technical
Advisor, and has consulted for a number of other companies. He is a
Fellow of the IEEE, was an NSF Presidential Young Investigator, and
won the 1997 Frederick Emmons Terman Award for Engineering
Education.


AG 1, AG 2, AG 3, AG 4, AG 5, SWS, RG1, RG2  
Expert Audience
English

Date, Time and Location

Friday, 9 November 2007
14:00
60 Minutes
G26
rotunda bldg. 57
Kaiserslautern

Abstract



The most widely used concurrent software techniques, which are based on
threads, monitors (or approximations to monitors), and semaphores, yield
incomprehensible and untestable software. Bugs due to race conditions, timing
unpredictability, and potential deadlocks can go undetected for a very long
time. Unexpected interactions between even loosely coupled software components
can destabilize systems. Yet increased parallelism in general-purpose computing
(particularly multicore systems), multi-threaded languages such as Java and C#,
increased networking in embedded computing, and a growing diversity of attached
hardware requiring specialized device drivers mean that a much greater fraction
of software is concurrent. Software designers are poorly equipped for this.
They use threads because syntactically, threads change almost nothing. They
only later discover that semantically, threads change everything. By then it is
too late. Yet there is no shortage of theory; there is a mature community with
sound, well-developed techniques that the mainstream largely ignores. How can
we change that? In this talk, I will make a case that composition languages,
which describe program structure only, can be coupled with concurrent models of
computation and conventional imperative languages to form a powerful troika.
Such heterogeneous combinations of languages do have a chance for acceptance,
and in certain niche situations, have already achieved a measure of acceptance

Contact

Brigitta Hansen
0681 - 9325200
--email hidden
passcode not visible
logged in users only

Brigitta Hansen, 11/06/2007 10:37 -- Created document.