VVZ API is not affiliated with ETH Zurich. Data might be outdated or incorrect. Please view the official ETHZ Vorlesungsverzeichnis for binding information.

251-0268-00L 5 Credits
You're viewing possible stale or outdated data. Please check the latest semester for more up-to-date information.

Concurrent Object-Oriented Programming

VVZ CR n/a

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
  • Tue 14:15-16:00 (RZ F 21)
2 h weekly
exercise Concurrent Object-Oriented Programming
  • Tue 13:15-14:00 (RZ F 21)
1 h weekly

Offered In