VVZ API is not affiliated with ETH Zurich. Data might be outdated or incorrect. Please view the official ETHZ Vorlesungsverzeichnis for binding information.
Concurrent Object-Oriented Programming
Last Updated: 2026-02-05 14:57:21
Objective
This course explores the application of object-oriented concepts to the programming of concurrent applications. It reviews a variety of approaches but particularly concentrates on the Eiffel SCOOP model and on .NET mechanisms of application domains and remoting. It covers applications to multithreading, distribution, Web services and real-time, as well as formal reasoning about concurrent systems.
Content
Overview - Concurrent and parallel programming - Distributed programming - Client-server programming - Internet, Web Services - Specific issues of embedded and real-time concurrency Approaches to concurrent programming - Notion of process, thread and application domain - Message passing versus variable sharing - Data consistency issues - Enforcing synchronization: semaphores, monitors, barriers, etc. - Java and .NET multithreading Formal models of concurrency - Computation versus observation - Interesting properties of concurrent programs - Concurrent calculi: CSP and Ada, CCS, the Pi-calculus, ... Concurrency and Object-Orientation - Language issues - Processes versus objects - Synchronizing objects The SCOOP model - Processors; handling an object - Synchronous and asynchronous feature calls - Design by Contract in a concurrent context - Separate objects and entities - Accessing separate objects; validity rules - Synchronization: waiting, reserving, preconditions as wait conditions, Wait by Necessity - Avoiding deadlock: The Business Card principle - Interrupting a reservation: duels and priorities - Mapping the processors to physical resources - Examples and applications Extensions and open problems - Real-time and embedded extensions - Timing contracts - Proofs of SCOOP programs
General Information
- Language
- English
- Frequency
- Yearly recurring
Examination
- Type
- session examination
- Mode
- oral 30 minutes
Course Components
| Type | Title | Time & Place | Hours |
|---|---|---|---|
| lecture | Concurrent Object-Oriented Programming |
|
2 h weekly |
| exercise | Concurrent Object-Oriented Programming |
|
1 h weekly |