Seminar: A lightweight introduction to concurrent systems
Post date: 17-Apr-2012 12:43:04
A lightweight introduction to concurrent systems
April 28th 2012 - 9.00-13.00
Aula Magna Matematica, Palazzo delle Scienze - Cagliari
University of Leicester (UK)
Abstract. Designing and implementing a concurrent system or application requires great care and remains one of the challenging tasks of software architects and programmers. Also, to make the scenario even worst, errors in concurrent systems are hard to find and sometimes arise in very unexpected ways. For instance, consider the following quote from Eckel's book 'Thinking in Java':
"Some examples were developed on a dual-processor Win2K machine which would immediately show collisions. However, the same example run on single-processor machines might run for extended periods without demonstrating a collision — this is the kind of scary behavior that makes multithreading difficult."
So why the heck one should bother to design and implement such applications?
The reason is that concurrency is becoming a pervasive feature of modern systems and applications which are more and more distributed and communication-centred.
In these lectures we'll consider basic concepts about concurrency and learn how to use them in the specification of concurrent systems. The course will cover the following topics:
- analysis of primitives for concurrent systems (...informally)
- abstractions for concurrent systems
- basic process algebras
- automata-based models of concurrency
- notions of equivalences for concurrent systems
This seminar has been funded by the Autonomous Region of Sardinia through the Visiting Professor Program 2011.
The slides of the talk available here.