Hard real-time systems are very predictable, but not sufficiently flexible to adapt to dynamic situations. They are built under pessimistic assumptions to cope with worst-case scenarios, so they often waste resources. Soft real-time systems are built to reduce resource consumption, tolerate overloads and adapt to system changes. They are also more suited to novel applications of real-time technology, such as multimedia systems, monitoring apparatuses, telecommunication networks, mobile robotics, virtual reality, and interactive computer games. This unique monograph provides concrete methods for building flexible, predictable soft real-time systems, in order to optimize resources and reduce costs. It is an invaluable reference for developers, as well as researchers and students in Computer Science.