Lecture | Title | Date | Time | Room |
---|---|---|---|---|
1 | Concurrency, Processes and Threads, LTS and FSP | 8h15-12h | B3-104 | |
2 | Lecture 1 continued, Concurrent Execution | 8h15-12h | B3-104 | |
3 | Shared Objects and Mutual Exclusion, Monitors | 8h15-12h | B3-104 | |
4 | C in a Nutshell, Pointers, and Basic Data Structures | 8h15-12h | B3-104 | |
5 | Monitors continued, Deadlock | 8h15-12h | B3-104 | |
6 | Deadlock continued, Safety and Liveness Properties | 8h15-12h | B3-104 | |
7 | Safety and Liveness Properties
continued, Model Based Design |
8h15-12h | B3-104 | |
8 | Message Passing, Complements | 8h15-12h | B3-104 | |
9 | UML Statecharts | 10h15-12h | NOVI Auditorium | |
10 | Introduction to Processes in Unix | 8h15-12h | NOVI Auditorium | |
11 | Code Optimization | 8h15-12h | NOVI Auditorium | |
12 | Signals & Pipes | 8h15-12h | Kroghstraede 3, 1.104 | |
13 | Inter-Process Communication | 8h15-12h | NOVI Auditorium | |
14 | POSIX Threads | 8h15-12h | NOVI Auditorium | |
15 | CORBA/ORBit2 | 3/5/05 | 8h15-12h | NOVI Auditorium |
I have been informed that the book has arrived at the bookstore. Those who don't have it can grab it there.
Abstract: introduction to the course, concurrency, concurrent programs, LTS and FSP. Processes and threads, modeling processes, and threads in Java.
Reading: chapters 1 and 2.
Exercises: exercises 1, exercises 2.
Abstract: processes and threads, modeling processes, and threads in Java; modeling concurrency, more on LTS and FSP.
Reading: chapters 2 and 3.
Exercises: finish exercises 2, exercises 3.
Solutions: exercise 2.1 (I-Meeting, II-Job, III-Game, IV-Move, V-Double, VI-Fourtick, VI-Person), 2.2, 2.3, 2.4, 2.5, 2.6 (bonus).
Abstract: discussion of solutions (2.x), how threads (Java implementation) interact to communicate and cooperate, using shared objects and mutual exclusion, start on monitors.
Reading: chapters 4 and 5.
Exercises: finish exercises 3, exercises 4.
Solutions: exercises 3.1, 3.2, 3.3, 3.4, 3.5 (bonus), 3.6, 4.2, 4.3.
Abstract: reminder on C, memory pointers, and basic data structures such as arrays, linked lists, queues, stacks, and trees.
Reading: Pointers and Memory.
Material: slides 6.
Exercises: finish exercises 4, basic exercises on C, practice exercises on C.
Solutions: basic and practice solutions.
Abstract: discussion of solutions (3.x, 4.x), finish monitors, and deadlocks.
Reading: chapters 5 and 6.
Exercises: exercises 5, exercises 7, car template needed for the "rush hour" exercise.
Abstract: safety and liveness properties. Safety properties assert that something bad never happens and liveness properties that something good eventually happens. We will see examples of such properties and how to analyse them.
Reading: chapters 6 and 7.
Exercises: finish exercises 7, exercises 8.
Solutions: rush hour.
Abstract: introduction to designing with models.
Reading: chapters 7 and 8.
Exercises: finish exercises 8, exercises 9.
Abstract: introduction to asynchronous and synchronous message passing, modeled in the tool, implemented in Java. We will cover briefly the important materials of the remaining chapters.
Reading: chapters 9, 10, 11, and 12, appendices.
Material: slides 10, slides 11.
Exercises: finish exercises 9, exercises 10.
Abstract: Different models to represent software systems and concurrency aiming at defining UML Statecharts.
Exercises: Exercises.
Abstract: Basic operations on processes in a Unix environment.
Exercises: Exercises.
Abstract: Methods to optimize code, benchmarking by using profiling tools (gprof), data-structure optimizations.
Exercises: Exercises.
Abstract: Handling signals and (un)named pipes in Unix.
Exercises: Exercises.
Abstract: Message queues, semaphores and memory sharing. Maybe also a short introduction to network sockets.
Exercises: Exercises.
Abstract: Definition, creation, synchronization of Pthreads.
Material: slides.
Exercises: Exercises.
Abstract: Programming distributed applications with ORBit2 (an Open Source CORBA implementation).
Material: Slides [sxi] [pdf]. Examples' Source Code [tgz].
Exercises: exercises.