This book sets out to show embedded software engineers how to model their designs using diagrams in an effective, clear and useful way. A key aspect in all of this is the sensible application of a set of diagrams defined within the Unified Modelling Language (UML) standard. It is aimed at those designing - or who intend to design - software for real-time embedded systems (RTESs). The content of this book falls into two quite distinct categories. The first, covered by chapters 1 to 3, is a 'selling' mission, to try to make you understand why it really is a good idea to use modelling methods in your designs. The next set of chapters is organized on a model-by-model basis. The diagrams described are those that we have found to be especially useful in the development of RTESs. This isn't limited to just the syntax and semantic aspects (such information is widely available) but also tries to show how and why such diagrams are used. Rounding things off is chapter 9, 'Practical diagramming issues'. This is especially important as it provides practical guidance on using UML diagrams for the design and development of real-time systems. The author: Jim Cooling has had many years experience in the area of real-time embedded systems, including electronic, software and system design, project management, consultancy, education and course development. He has published extensively on the subject, his books covering many aspects of embedded-systems work such as real-time interfacing, programming, software design and software engineering. Currently he is a partner in Lindentree Associates (which he formed in 1998), providing consultancy and training for real-time embedded systems.