Prof. Edward A. Lee
(UC Berkeley)
"Can Concurrent Software Ever Be Quality Software?"
(Vortrag im Rahmen
der "Distinguished Lecture Series 07/08"
des Max Planck Instituts für Software-Systeme)
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
| Zeit:
| Freitag, 9. November 2007, 14:00 Uhr
|
| Ort:
| TU Kaiserslautern, Gebäude 57, Raum 208/210 (Rotunde)
|
| Hinweis:
| Der Vortrag wird live an die Universität des Saarlandes
MPI-Gebäude E1.4 Raum 007 übertragen.
|
| Feedback |
|
Email an den Verantwortlichen dieser Seite (sakdapol@informatik.uni-kl.de)
|