This book is meant to be a fusion of a number of subject domains almost
universally left disjoint--real-time concepts such as timeliness and
performance, object modeling, a rapid development process, and system safety.
This unified approach allows the developer to follow simple and
well-understood process steps culminating with the delivery of correct and
timely embedded solutions.

There are very few books on using objects in real-time systems and even
fewer that use the latest in object modeling languages--the UML. Virtually all
object-oriented books focus primarily on business or data base application
domains and do not mention real-time aspects at all. On the other hand, texts
on real-time systems have largely ignored object-oriented methods. For the
most part, such books fall into two primary camps: those that bypass
methodological considerations altogether and focus solely on "bare
metal" programming and those that are highly theoretical with little
advice for actually implementing workable systems. Doing Hard Time is meant to
bridge for these technologies, presenting the development of deployable
real-time systems using the object semantics and notation of the UML. It does
so in a tool-independent manner, even though it does use a particular tool to
demonstrate the examples. Audience

The book is oriented towards the practicing professional software developer
and the computer science major, in the junior year or higher. The book could
serve as an undergraduate or graduate level text, but the focus is on
practical development rather than a theoretical introduction. A few equations
are to 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.