Distributed Real-Time Systems
Course Materials
Fall 2009.


The following book will be used as the pattern text book for the architecture pattern track of the course.

The general theory track of the course, will in addition to this book, use a number of

selected research articles and supplementary information  from different sources.


Pattern-Oriented Software Architecture:

Patterns for Concurrent and Networked Objects


Douglas C. Schmidt
Michael Stal
Hans Rohnert and
Frank Buschmann


Publisher: Wiley & Sons, 2000

ISBN 0-471-60695-2, 633 pages.

Web Page: www.posa.uci.edu/




Designing application and middleware software to run in concurrent and networked environments is a significant challenge facing software developers. This document presents an overview of the contents in the book Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects (POSA2) that address this challenge. The patterns in POSA2 form the basis of a pattern language that addresses issues associated with concurrency and networking. The book presents 17 interrelated patterns: Wrapper Facade, Acceptor-Connector, Extension Interface, Interceptor, Component Configurator, Reactor, Proactor, Asynchronous Completion Token, Scoped Locking, Strategized Locking, Thread-Safe Interface, Double-Checked Locking Optimization, Active Object, Monitor Object, Leader/Followers, Half-Sync/Half-Async, and Thread-Specific Storage. This material represents a range of patterns from ranging idioms to architecture designs. The patterns cover core elements of building concurrent and networked systems: service access and configuration, event handling, synchronization, and concurrency. All patterns present extensive examples and the pattern known uses are presented in various programming languages, including C++, C, and Java.

The book can be used to tackle specific software development problems or read from cover to cover to provide a fundamental understanding of the best practices for constructing concurrent and networked applications and middleware.


 Selected research articles and supplementary information:


Distributed Real-Time Systems:


“Middleware Challenges Ahead”, Kurt Geihs, Goethe University, published in IEEE Computer, June 2001, p.24-31.


“What Object Oriented Distributed Programming does not have to be, and what it may be”, Rachid Guerraoui, Swiss Federal Institute of Technology (11 pages).


“The Information Bus – An Architecture for Extensible Distributed Systems”, Brian Oki, Manfred Pfluegl, Alex Siegel, and Dale Skeen, Tekniekron Software Systems, Inc., published 1993, ACM (11 pages).


“The Real-Time Publisher/Subscriber Inter-Process Communication Model for Distributed Real-Time Systems: Design and Implementation”, R. Rajkumar, M. Gagliardi and L. Sha, Software Engineering Institute, Carnegie Mellon University (10 pages).


The Many Faces of PublishSubscribe”, P.Th. Eugster, P. Felber, R. Guerraoui and A.-M.Kermarrec, Swiss Federal Institute of Technology, Bell Laboratories and Microsoft Research, Technical report, EPFL, Lausanne, Switzerland, 2001, (24 pages).


Software Components for Real Time”, David B. Stewart, Embedded System Programming, Dec. 2000 (21 pages).


Designing of Dynamically Reconfigurable Real-Time Software Using Port-Based Objects”, David B. Stewart, Richard A: Volpe and Pradeep K Khosla, IEEE Transaction on Software Engineering, Vol. 23. no. 12. Dec. 1997. (18 pages).


Building the Foundation for Medical Device Plug-and-Play Interoperability”, Richard Schrenker, Todd Cooper, appeared in Medical Electronics Manufacturing, April 2001, (12 pages). This article is an introduction to the IEEE1073 standard for medical device communication.


IEEE1073 Communicating Systems Example”. An annex to “ISO/IEEE 11073-00000 Helth Informatics – Point-of-care medical device communication – Framework and overview”.


“Sensible Software Testing, Sean Beatty, Embedded System Programming, august 2000, (16 pages)

An introduction to SW test of embedded real-time systems.


Real-Time Communication:

"Using Intelligent Ethernet Switches to enhance Data Packet Delivery Speed in Ethernet/IP Networks.pdf", Kenneth Coley

Cisco Systems. Presented at the ODVA CIP Networks Conference & 10th Annual Meeting November 16-18, 2004 (9 pages).


"Standards-Based Real Time Ethernet now off-the-shelf.pdf". Klaus Zwerina, Hirschmann Automation & Control (5 pages).


”IEEE 1588 – Precise Time Synchronization as the Basis for Real Time Applications in Automation”. Dirk S. Mohl, Hirschmann Electronics.

”Invocation of Real-Time Objects in a CAN Bus-System” , Jörg Kaiser, M. A. Livani, University of Ulm (1998) (11 pages).


”Implementing the Real-Time Publisher/Subscriber Model on the Controller Area Network (CAN)” , Jörg Kaiser, University of Ulm og M. Mock, GMD – German National Research Center for Information Technology, 1999. (9 pages).


"Time Triggered Communication on CAN (Time Triggerede CAN - TTCAN)", Thomas Führer et.al, Robert Bosch Gmbh (7 pages).


TimeTriggeredProtocol: TTP/C”, Ross Bannatyne, Embedded Systems Programming, March 1999 p 76-86. (7 pages).

A short overview article presenting the time triggered protocol TTP/C for reliable Hard Real-Time Systems.


"Time Triggered Real Time Computing", Hermann Kopetz, IFAC World Congress Barcelona, July 2002 (12 pages).

The paper introduces the basic principles of a time-triggered real-time computing system for safety-critical applications. 


FlexRay_Requirements Specification”, FlexRay consortium paper, April 2002. The document specifies a communication protocol and system for reliable automotive applications (52 pages).


Frameworks for Distributed Systems:


”An Introduction to DDS and Data-Centric Communications”, Gerardo Pardo-Castellote, Bert Farabaugh, Rick Warren , RTI Real-Time Innovations, august 2005.


“An Architectural Overview of the ACE Framework”, Douglas C. Schmidt, Department of Computer Science, Washington University, St. Louis, 1998 (8 pages)


Applying a Pattern Language to Develop Extensible ORB Middleware”, Douglas C. Schmidt and Chris Cleeland. Appeard as a chapter in the book ”Design Patterns in Communications”, (Linda Rising ed.), 2000 and in an abridged version in IEEE Communication Magazine, Special Issue on Patterns, April 1999, (20 pages).


“JAWS: A Framework for High-performanceWeb Servers, James C. Hu, Douglas C. Schmidt, Department of Computer Science, Washington University, St. Louis. The paper has been accepted for inclusion in a book covering framework programming techniques. (21 pages).


“The Object-Oriented Design and Performance of JAWS – a high-performance Web Server Optimized for High-speed Networks”, James C. Hu, Irfan Pyarali, Douglas C. Schmidt, Department of Computer Science, Washington University, St. Louis, Missouri, appeared in the Parallel and Distributed Computing Practice Journal special issue on Distributed Object-Oriented Systems, edited by Maria Cobb, 1999. (14 pages).


"The Design and Performance of a Real-Time CORBA Event Service", Timothy H. Harrison, David L. Levine and Douglas C. Schmidt, 1998. Appeared in the Proceedings of the OOPSLA97 Conference, Atlanta, Georgia, October 1997. (19 pages).