[an error occurred while processing this directive]

Concurrency Seminar

Bertrand Meyer and Patrick Eugster, Summer semester 2005


Announcements Description Schedule Literature Contacts



22 April 2005:

  • Send a choice of 3 papers that you would would like to present:
    To: patrick.eugster"at"inf.ethz.ch
    Subject: Concurrency Seminar Choice of Articles
    Content: the 3 papers that would interest you the most to present in the seminar, numbered 1 to 3, by order of preference (1 the highest).
    You will only present one paper, we ask for three because we will need to solve possible conflicts in choices.
    The date of each presentation will be negociated with the seminar organizers.
    This date will mostly depend on the presented paper.

22 April 2005:

  • Register to the seminar: Please send an email
    To: concur-seminar"at"se.inf.ethz.ch
    Subject: Concurrency Seminar Participant
    • Your name
    • Preferred email address
    • Status: Diplom student (what semester), Ph.D. student, other
    • Taking the course for credit or not


Title and Code

Concurrency Seminar
Course code: 251-0270-00


The seminar will provide an overview of current research topics in concurrent and distributed programming, with particular emphasis on object-oriented methods. During the semester, each person attending the seminar will make a presentation on one topic of his or her choice (among a set of proposed ones).


There is no formal prerequisite, but we recommend to follow the companion course "Concurrent Object Oriented Programming (see below).


  • Concurrent and distributed programming models and languages
  • Formal models of concurrency
  • Distributed algorithms
  • Middleware and components, mobility of code
  • Static analysis and deadlock avoidance in concurrent programs
  • Design methods and notations for distributed software
  • Fault tolerance and replication
  • Security for distributed software
  • Object-orientation issues: inheritance, typing, distributed garbage collection

The literature for presentations covering those topics is given below.

Companion Course

Concurrent Object Oriented Programming, 251-0268-00 , Tuesdays 13.00 - 16.00 IFW C 42.


  • Tuesdays 16.00 - 17.00, IFW C 42.

Office hours: by appointment, RZ-J3.

  Temptative program

Tuesday 26 April

Klaus Havelund, Kestrel Technology, CA, USA on Monitoring programs with Eagle.


Eagle is a very powerful logic for expressing behavioral properties about systems that evolve over time. Specifically, the logic can be used to monitor the execution of computer programs. Eagle is an extension of propositional logic with three temporal kernel operators, with recursion, and with parameterization over
formulas in the logic as well as over data values. Formula parameterization allows the user to define new temporal combinators. Data parameterization allows to define properties relating data values from different points in time. A wide range of different notations can be defined on top of Eagle using these mechanisms, such as  future and past time linear temporal logic, extended regular expressions, real-time logics, interval logics, forms of quantified temporal logics, and so on.  Eagle is implemented as a Java library and can for example be used to monitor Java programs.  Monitoring is done on a state-by-state basis, without storing the execution trace. We will describe the Eagle logic via some examples and the implementation will be discussed. Finally, it will be discussed where this work is heading.

Tuesday 31 May Giovanni Azua [Slides]

T. Cohen and J. Gil: AspectJ2EE = AOP + J2EE — Towards an Aspect Based Programmable and Estensible Middleware Framework, ECOOP 2004.

Tuesday 7 June

Bela Ban, JBoss Inc., on JGroups - a reliable messaging library.


The talk will give an overview of the API and the architecture of JGroups (www.jgroups.org), a tool for reliable point-to-point and multipoint communication. JGroups uses a protocol stack to partition functionality into small units, which can be used to create custom stacks. The focus will be on the protocol stack and the various properties of the protocols to provide QoS, such as transports, discovery, lossless transmission, ordering, group membership and failure detection.

Tuesday 14 June Martin Baettig [Slides]

B. Nielsen and G. Agha: Towards Reusable Real-Time Objects. Annals of Software Engineering: Special Volume on Real-Time Software Engineering, vol. 7, pp 257-282, 1999.

Andreas Wuest [Slides]

Girkar, M. Polychronopoulos, C.D.: Automatic extraction of functional parallelism from ordinary programs. IEEE Transactions on Parallel and Distributed Systems, Volume 3,  Issue 2,  March 1992, pp. 166 - 178.

Tuesday 21 June Manuel Krucker [Slides]

C. Zhang, H.-A. Jacobsen: Resolving feature convolution in middleware systems, OOPSLA 20004.

Kaspar Rohrer [Slides]

S. Qadeer and D. Wu. KISS: Keep it simple and sequential. Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation, 2004.

 Literature for presentations

The following articles will serve as a basis for technical presentations in the seminar. The goal of each presentation is to describe the main contributions achieved in one article, and to place them back in context. To do so, each student will be assigned a tutor that will help him or her during the reading process.

You may need Acrobat Reader or GSview (on windows only, Ghostview works fine on Unix-like systems).

Formal models, static analysis, and foundations:

Concurrent and distributed objects:

Middleware, components, web services, and peer-to-peer systems:




  • Send all email relative to this seminar to concur-seminar (at...) se.inf.ethz.ch. It will reach the professors and assistants that are in charge of it. Do not use their personal addresses or your message may be missed.
  • Contact person for the seminar: Patrick Eugster (Office: RZ-J3)