Lund University
 

Concurrent and Real-Time Programming

Lectures

Exercises & Labs

Project

Software

Exams

 

 

EDA040: Concurrent and Real-Time Programming - HT1 + HT2 2008

ImageConcurrent and Real-Time Programming

Welcome to the home page for EDA040 @cs.lth.se, presenting the version of the course as given the present or past fall semester (study periods HT1+HT2).  

NEW The results of the 2009-08-26 exam will be published during the first study week of the fall semester.

Web pages are being moved to http://cs.lth.se/eda040 - still under contruction.

WIKI: On http://torvalds.cs.lth.se/moin/EDA040 you have a wiki page where you can input your (signed or anonymous) comments. We will also forward all questions to the wiki where everyone can read the answers. There is also the Project Wiki.

Concerning programming language, we use Java. Good knowledge of both object oriented programming and the Java language is assumed. Extra Java material will be provided for students without prior Java knowledge. 

Course information/plan

The course plan  is handed out during the first lecture. This course is a so called project course since a significant part of it consists of a project. The final part of the project  is to document and present the system you have developed.

The course plan (including corrections compared to the handed out version) is availabe as html and as pdf.

A schedule for booth study periods 2008 is available here.

Course material

Apart from the course plan, the following material will be handed out during study period HT1:

  • Chapters 1-3 of "Real-Time Programming - A Java-based Approach".

  • Exercises for six exercise sessions and three laboratory sessions.
  • R. Henriksson, Resource Allocation Graphs,
  • J. L. Peterson, A. Silberschatz, Operating System Concepts, Second Ed, 7 pages.
  • A. Silberschatz & al, Applied Operating System Concepts.
  • G. C. Buttazzo, Hard Real-Time Computing Systems - predictable scheduling and applications: Chapter 7, 14 pages.
  • K. E. Årzen, Real-Time Control Systems (FRT031): Chapter 8
  • Lecture slides.

During lecture 8,  the project description will be provided.

On demand (for students without Java experience): Teach Yourself Java in 21 Minutes"

Project information is given during the furst lecture of study period 3. All together the material costs 100SEK.

Reading instructions

For each week it is important to keep up with the content:
Week Read and understand Additonal comments OK
1 Browsing: Chapter 1 and beginning of Chapter 3, including Sections 3.1 and 3.2 Thread basics and semaphore methods. What methods represent system calls?
2 Thoroughly: Same as week 1. Also read Chapter 2. Section 2.7-2.9 can be saved for week 4. Week 1 content is the most important part for lab 1.
3 Section 3.3 Knowing "volatile" is not part of the course.
4 Section 3.4. Excerpt from "OS concepts" and "Applied OS concepts" (7.5.3-7.6). Resource allocation graphs. This completes the concurrency part of the course.
5 Excerpt from "Hard real-time computing systems".
Excerpt from "Real-time systems".
Keyword: Real time; how to meet deadlines!
6 Excerpt from "Hard real-time computing systems". .
7 Slides and demo during lecture. .
Print this page and check the box when the work of that week is finished.

Suggested further reading

The course basically is an introduction to several technical areas, each with its specific books. Depending on interest, the following books are suggested as further reading:
  • Applicable scheduling theroy: G. C. Buttazzo, "Hard Real-Time Computing Systems - predictable scheduling and applications", Kluwer.
  • Concurrent and parallel programming, including historical notes: Gregory R. Andrews, "Foundations of Multithreaded, Parallel, and Distributed Programming", Addison Wesley.
  • Languages and related techniques for concurrent programming and real-time systems: Alan Burns and Andy Wellings, "Real-Time Systems and Programming Languages", Addison Wesley.
  • Concurrency and implementations for operating systems: Silberschatz, Galvin, and Gagne, "Operating System Concepts with Java", Wiley.

Lab sessions

The course includes three lab assignments which are done at scheduled lab sessions during the first academic period. The lab assignments are mandatory and their deadlines are stricts in that you are required to make them in order to pass the course. In case you run into problems with a deadline for an assignment you need to make an agreement in advance with the course leader.

Seats at the lab sessions must be booked in advance at the web based booking system. You are expected to work in pairs during the laboratory exercises but you sign up individually, just make sure you and your preferred partner is booked to the same group.

  gra
Last update:
Thursday, 27-Aug-2009 13:03:50 CEST
© Institutionen för Datavetenskap 2007. Contact: Roger Henriksson
spacer