OOPSLA 2001 Workshop

Marriott Hotel, Tampa Bay, Florida/USA, October 14th

Towards Patterns and Pattern Languages for OO Distributed Real-time and Embedded Systems


Agenda with downloadable presentations

Next steps

Topics for workshop discussion

Call For Papers - OOPSLA 2001




Over the past several years there has been a dramatic increase in the demand for distributed real-time and embedded (DRE) systems. Demand is increasing not just in market of aerospace applications, but also in commercial markets, such as telecommunication, automotive, and process automation. In these markets, project-specific, proprietary embedded hardware is largely being replaced with commodity-off-the-shelf (COTS) integrated circuitry. Traditionally, this hardware has been controlled using custom/proprietary software to satisfy the system quality of service (QoS) constraints, such as latency, jitter, and timing deadlines.
As the software for these systems becomes increasingly complex, however, better software development technologies are needed to ensure end-to-end system QoS properties and to control lifecycle costs. Object-oriented (OO) technologies, which have long been useful in complex non-real-time systems, are increasingly being considered for use in DRE systems. Thus, along with the trend of replacing proprietary hardware with new hardware and software, there is a trend towards applying OO technologies for DRE systems to replace legacy technologies, such as the C programming language and proprietary communication protocols, that are tedious, error-prone, and costly to develop, validate, and maintain.
Some of the examples where OO technologies have been applied to DRE systems include the latest specifications for Real-time Java [RTJ][DRTJ][IBM2001], Real-time UML [Doug1998], and Real-time CORBA [OMG2000]. Implementations of Real-time CORBA have been used successfully q in a variety of commercial and military DRE systems. However, despite the hype has appeared the commercial software industry and trade press, it's surprisingly hard to find solid technical material on the real strengths and weaknesses of OO technologies for DRE systems. As a result, these technologies have been ``sold'' more than they have been examined empirically. Therefore, researchers and practitioners interested in these technologies have had few opportunities to evaluate the promise and the challenges that OO DRE principles, methods, and tools provide.
Many problems that must be solved in DRE systems occur in every project, and many of solutions are re-developed repeatedly. The forces to those problems are often similar, particularly now that many systems are developed using OO technologies. In this context, discovering and applying *patterns* to document proven solutions to these re-occuring problems has become essential. Patterns derived from conventional software designs are often not appropriate for DRE systems, however, since special constraints exist on memory usage, performance, and predictability of the solutions. It is the intent of this workshop to help fill this gap.
Based on our collective experience building many OO DRE systems, we recognized that our solutions had many commonalities, such as architectures that applied:
The idea of documenting best practices as patterns is not new, others [EmbeddedSystems] have also found the need for documenting them in designing OO real-time systems [Doug1999]. What makes this workshop unique, however, is the fact that it aims to leverage the confluence of recent advances in the distributed systems [POSA2], embedded and real-time [Liu2000][Sun2001], OO, and patterns communities [NoWe2000][POSA]. Unfortunately, existing communities focus very often only on one or two of these areas, e.g.
With this workshop we plan to bring together researchers and practitioners from all those areas to come up with a common understanding about software designs that are proved to work in the field of OO DRE systems. The form in which we want to document that experience is the form of a pattern language, which are typically written with two different motivations:
Much of the existing work on pattern languages has focused on the former motivation. We think that the latter is at least as important as the former. We therefore plan to document the best practices of OO DRE systems development as a pattern language.


In this workshop we will bring together researchers and practitioners to lay the groundwork for a common understanding about software
designs that are proven to work in the domain of OO DRE systems.  The goal of this workshop is to identify and document common patterns
among architectures of OO DRE systems. The patterns, interwoven as they are, will be used as the basis for our long-term goal: the
creation of a pattern language for OO DRE systems.

Submission Requirements

Anyone interested in participating in the workshop should submit a position paper by August 17, 2001. Participants should be familiar with the development of OO DRE systems, especially with the constraints and forces prevailing in such systems.  In addition, they should have a basic understanding of architecture and design patterns in the context of OO DRE systems.
Participants must submit a position paper of around 4 pages that's presented in one of the following formats (in the order of preference):
Submissions should be sent electronically as either PDF, PS or MS Word document to the following e-mail address:
In case you have any questions regarding the workshop, send e-mail to that address as well.
For the workshop we expect the participants to prepare a 10-15 minute presentation about the content of their position paper. Position papers will be selected by the organizers based on relevance and quality of the position paper.


On the day of the workshop we expect that the participants present their position papers in the morning. In the afternoon we will discuss about how the individual patterns and pattern languages can be combined to a pattern language documenting best practices in OO DRE system design.
A short introduction into the topic of object-oriented real-time systems is given by Dr. Douglas C. Schmidt, whose pioneering work on patterns and frameworks for OO DRE middleware has been applied in hundreds of production DRE systems worldwide.
The outcome, the pattern language, is expected to be refined in futher workshops at conferences such as Pattern Language of Programs (PLoP), European Pattern Language of Programs (EuroPLoP) and Conference on Object Oriented Technologies and Systems (COOTS).
The outcome, the pattern language, is expected to be refined in futher workshops, especially in writer's workshops at conferences such as PLoP, and EuroPLoP.


Michael Kircher is currently working as a researcher in the Corporate Research of Siemens AG in Munich, Germany. His main fields of interest are distributed and real-time object computing, software architectures, design patterns, and eXtreme programming. He is also an active member of the Centre for Distributed Object Computing at Washington University in Saint Louis, which was formerly lead by Dr. Douglas Schmidt and now by Dr. David Levine. He holds a Masters degree in Computer Science from University of Stuttgart.
Prashant Jain is currently working as a researcher in the Corporate Research division of Siemens AG in Delhi, India. He holds a Masters degree in Computer Science from Washington University in St. Louis, U.S.A. His professional experience includes working as a software engineer for companies like Fujitsu Network Communications, Inc., and Kodak Health Imaging Systems, Inc. He has also been actively involved in the Centre for Distributed Object Computing formerly headed by Dr. Douglas Schmidt at Washington University.
Dr. Douglas Schmidt is an Associate Professor in the Electrical and Computer Engineering department at the University of California, Irvine. He is currently serving as a Program Manager at the DARPA Information Technology Office (ITO), where he is leading the national effort on distributed real-time and embedded middleware research. His research focuses on patterns, optimization principles, and empirical analyses of object-oriented techniques that facilitate the development of high-performance, real-time distributed object computing middleware on parallel processing platforms running over high-speed networks and embedded system interconnects.
Angelo Corsaro is currently pursuing his PhD in Computer Science in the Distributed Computing Lab. at the Department of Computer Science of the Washingtonat University, St. Louis. His main interest are related to scheduling problematics in realtime distributed systems, distributed computing, formal methods, design patterns, and soft-computing.


[Doug1998] B. P. Douglass, Real-Time UML: Developing Efficient Objects for Embedded Systems, Addison-Wesley, 1998
[Doug1999] B. P. Douglass, Doing Hard Time: Developing Real-Time Systems with UML, Objects, Frameworks and Patterns, Addison-Wesley, 1999
[DRTJ] Distributed Real-Time Java Specification, http://pitfall.mitre.org/
[EmbeddedSystems] Embedded Systems Conferences, http://www.esconline.com, 2000
[IBM2001] IBM, Real-Time Java implementation J9 (currently partially implements the [RTJ]), http://www.embedded.oti.com/, 2001
[JCRTJ] J-Consortium, Real Time Java Specification, http://ww.j-consortium.com/, 2000
[KJP2000] M. Kircher, P. Jain, Kirthika Parameswaran, The Jini Pattern Language Workshop, OOPSLA 2000, Minneapolis, October, 2000, http://posa3.org/workshops/AdHocNetworking
[Liu2000] J. W. Liu, Real-Time Systems, Prentice Hall, 2000
[NoWe2000] J. Noble, and C. Weir, Small Memory Software, Addison-Wesley, 2000
[OMG2000] Object Management Group, Real Time-CORBA specification, 2000
[POSA] F. Buschmann, R. Meunier, H. Rohnert, P. Sommerland and M. Stal, Pattern-Oriented Software Architecture--A System of Patterns,John Wiley and Sons, 1996
[POSA2] D. C. Schmidt, M. Stal, H. Rohnert, and F. Buschmann, Pattern-Oriented Software Architecture--Patterns for Concurrent and Distributed Objects, John Wiley and Sons, 2000
[RTJ] Realtime for Java Expert Group, RT-Java specification, http://www.rtj.org/, http://java.sun.com/aboutJava/communityprocess/first/jsr001/
[Schm2001] D. C. Schmidt, The ACE ORB, http://www.cs.wustl.edu/~schmidt/TAO.html
[Sun2001] Sun Microsystems, Scalable Real-Time Computing in the Solaris (TM) Operating Environment, http://www.sun.com/software/white-papers/wp-realtime, 2001