Preface to the Third Edition

The UML is an evolving standard. This has, of course, both pros and cons. One of the cons is that it keeps changing, but I believe this is more than offset by the primary pro—that the standard continues to improve. Since the second edition of Real-Time UML, some important changes to the UML have taken place.

The most important of these is the UML 2.0. At the time of this writing (summer 2003), the UML 2.0 specification has been “voted to adopt.” This means that the UML 2.0 has been accepted by the Object Management Group and, pending a couple of more votes, is ready to begin the finalization process to make it into a released standard. This finalization process may take a year or more but hopefully a bit less. The UML 2.0 is an incremental improvement to the UML 1.x standards, improving the clarity of the UML for capturing architectures and improving its scalability. Because the UML 2.0 still must undergo the finalization process to remove defects and make it more consistent, the released standard may differ somewhat from what is described in this book. Nevertheless, I believe such differences will be small and relatively insignificant.

The other improvement for the real-time community at least, is the adoption of the UML Profile for Schedulability, Performance, and Time (the so-called Real-Time Profile [RPT]). This profile uses the standard lightweight extension mechanisms of UML 1.x to provide a standard set of tags for capturing schedulability and performance constraints of systems. Although the profile doesn't add any new capabilities to the UML, it does provide a standard way of capturing the timeliness quality of services aspects so that tools can exchange models and understand the timeliness constraints when they do so. This means that schedulability and performance analysis tools can read UML models (compliant with the profile) and then perform mathematical analysis of these models.

The UML continues to gain momentum in the world of real-time and embedded systems, particularly complex ones. For this reason, I have included a Special Topics chapter at the end that shows how to represent C4ISR (Command, Control, Communications, Computers, Intelligence and Reconnaissance) architectures with the UML. C4ISR systems are among the most complex software systems on the planet but the C4ISR standard was released about the same time as the original UML standard, so they have not been previously discussed together.

Audience

The book is oriented toward the practicing professional software developer and the computer science major, in the junior or senior year. This book could also serve as an undergraduate or graduate level text, but the focus is on practical development rather than a theoretical introduction. Very few equations will be found in this book, but more theoretical and mathematical approaches are referenced where appropriate. The book assumes a reasonable proficiency in at least one programming language and at least a cursory exposure to the fundamental concepts of both object orientation and real-time systems.

Goals

The goals for the second edition remain goals for this edition as well. This book is still meant to be an easy-to-read introduction to the UML and how to apply its notation and semantics to the development of real-time and embedded systems. At the time of this writing, it is one of a few books on the UML and real-time systems. I am also the author of two others: Doing Hard Time: Developing Real-Time Systems using UML, Objects, Frameworks, and Patterns (Addison-Wesley, 1999) and Real-Time Design Patterns: Robust Scalable Architecture for Real-Time Systems (Addison-Wesley, 2002). Doing Hard Time is a more in-depth look at the fundamentals and vagaries of real-time systems, with emphasis on analysis of object schedulability, the use of behavioral patterns in the construction of statechart models, and how to use real-time frameworks effectively. Doing Hard Time is a deeper exploration of real-time systems that happens to use the UML to express these concepts. My other book, Real-Time Design Patterns: Robust Scalable Architecture for Real-Time Systems is a book about architecture and the application of design patterns to the development of architecture using the Five Views of architecture defined in the ROPES process: Subsystem and Component View, Concurrency and Resource View, Distribution View, Safety and Reliability View, and the Deployment View. This book is more specialized than Doing Hard Time, focusing almost exclusively on software and systems architectures. In contrast, Real-Time UML is primarily an introduction to the UML and its use in capturing the requirements, structure, and behavior of real-time systems.

In addition to these original goals for the first and second editions, the third edition adds two more: (1) bring the book in conformance with the recent changes in the UML standard (especially the soon-to-be-released UML 2.0 and the UML Profile for Schedulability, Performance, and Time), and (2) enhance the book's effectiveness based on feedback from the first two editions.

Interested readers visit the I-Logix Web site, www.ilogix.com. There you will find a number of papers on related topics, written by myself and others, as well as the UML specifications, tool descriptions, and links to relevant sites. I also moderate a Yahoo group (www.groups.yahoo.com/RTUML) for discussions and papers relevant to the UML and its application to real-time and embedded systems.

Bruce Powel Douglass, Ph.D.Summer 2003

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
52.14.240.178