Tuesday, November 5, 2002
In these domains, project-specific, proprietary embedded hardware is largely being replaced with commercial-off-the-shelf (COTS) integrated circuitry. Traditionally, embedded hardware has been controlled using custom software to satisfy 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 enforce end-to-end system QoS properties and to control lifecycle costs. Object-oriented (OO) technologies, which have long been useful in complex software systems, are increasingly being applied to DRE systems. Thus, along with the trend of replacing proprietary hardware with COTS hardware, there is a trend towards applying OO technologies for DRE systems to replace legacy technologies, such as the C programming language and proprietary communication service and 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 [OMG2001]. Implementations of Real-time CORBA have been used successfully in a variety of commercial and military DRE systems. Hoewever, despite the hype that has appeared in the commercial software industry and trade press, it's 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. Researchers and practitioners interested in these technologies have therefore 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 the solutions are re-developed repeatedly. The forces to those problems are often similar, particularly since many systems are developed using OO technologies. In this context, it becomes essential to discover and apply *patterns* to document proven solutions to these re-occuring problems, and *pattern languages* to address diverse and possibly competing design forces and achieve integrated capabilities such as real-time and fault-tolerant behavior.
Based on our collective experience building OO DRE systems over many years, we recognized that our solutions to the problems in DRE systems had many commonalities, such as architectures that applied:
1) To document a set of related, interwoven patterns, or
2) To document best practices of one distinct domain.
Existing work on pattern languages has focused largely on the first motivation. We feel that the second motivation is also important and therefore plan to document the best practices of OO DRE systems development as a pattern language.
Participants must submit a position paper of around 4 pages describing an important pattern or pattern languagein a DRE application domain, such as telecom, aerospace, process automation, or vehtronics.
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.
Michael Kircher is currently working as Senior Software Engineer
at Siemens AG Corporate Technology in Munich, Germany. His main
fields of interest include distributed object computing, software
architectures, design patterns, Extreme Programming, and management
of knowledge workers in innovative environments.
Prashant Jain is currently working as a Member of Consulting Staff at Manystreams, Inc. in Delhi, India. He holds a Masters degree in Computer Science from Washington University in St. Louis, U.S.A. His main fields of interest include distributed systems, design patterns and eXtreme programming. His professional experience includes working as a software engineer for companies including Siemens AG, 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. 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.
Aniruddha (Andy) Gokhale did his Bachelors of Engineering (BE, Computer Engineering) from Pune University, India in 1989; Masters of Science (MS, Computer Science) from Arizona State University, Tempe, AZ in 1992; and Doctor of Science (D.Sc, Computer Science) from Washington University, St, Louis, MO in 1998. He was with Bell Laboratories, Lucent Technologies in Murray Hill and Holmdel, NJ since 1998. In Jan 2002, he started working as a Research Scientist at ISIS, Vanderbilt University. He continues to collaborate with researchers at Bell Labs on network QoS management and Web services. His research areas include real-time and fault tolerant CORBA middleware, and quality of service and provisioning issues in computer networks.
[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
[GLS2001] Christopher D. Gill, David L. Levine, and Douglas C. Schmidt, The Design and Performance of a Real-Time CORBA Scheduling Service, Real-Time Systems, The International Journal of Time-Critical Computing Systems, special issue on Real-Time Middleware, Wei Zhao, ed., Kluwer Academic Publishers, 2001, March, 20(2).
[Hillside2002] http://hillside.net/patterns/writing/writingpatterns.htm, 2002
[IBM2001] IBM, Real-Time Java implementation J9, 2001
[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, and K. Parameswaran, The Jini Pattern Language Workshop, OOPSLA 2000, Minneapolis, October, 2000, http://posa3.org/workshops/AdHocNetworking
[KJSC2001] M. Kircher, P. Jain, D. Schmidt, and A. Corsaro, Workshop - Towards Patterns and Pattern Languages for OO Distributed Real-time and Embedded Systems, OOPSLA 2001, Tampa Bay, Florida, USA, October 14-18, 2001, http://posa3.org/workshops/RealTimePatterns
[Lea99] Doug Lea, Concurrent Java: Design Principles and Patterns, Second Edition, Addison-Wesley, 1999.
[Liu2000] J. W. Liu, Real-Time Systems, Prentice Hall, 2000
[NoWe2000] J. Noble, and C. Weir, Small Memory Software, Addison-Wesley, 2000
[OMG2001] Object Management Group, CORBA 2.5 specification, 2001
[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