Monday, April 28, 2008

Course on Real Time Systems - EE5903

Real Time Systems (RTS) are the systems that must respond to changes in environment within a specific interval of time. The course on RTS was an interesting but rather heavy, with a relatively large project, covering several topics and reading research papers. Some concepts I find one of most difficult in computer science like synchronization and mutual exclusion were a part of it.

The following major topics were covered:
  • Process Management, Synchronization, Concurrency (handout from Operating System Principles by Bic and Shaw)
  • Distributed RTS, Deadlock Management, Distributed Deadlocks (papers on HARTS, Token Passing for mutual exclusion)
  • RTS scheduling (paper on Rate Monotonic Scheduling by Lui and Layland), RT Operating System Kernel (paper on Spring Architecture)
  • RTS system development diagramming - DARTS, UML statechart (paper on Software Design by Gomaa)
We did a distributed game design and development project. In design phase, we reviewed several architectures for LAN based game development (see the report here). We then designed a flexible client-server load architecture. We implemented a prototype for this architecture in the second part of the project (see the report here).

Some ideas for future work:
  • Development of a flexible-load distributed game by continuing the work done in project.
  • Multithreading the Box2D library - this is an open source physics library we used in our project.

No comments:

Post a Comment