Resources (legacy) Updated on 01 October 2017 at 5:12 pm


This is my list of recommended resources pertinent to real-time – or, more generally, time-critical – computing systems. It differs from the numerous other lists of real-time resources found on the web and elsewhere in several important ways.

  • It is not confined to the small niche of traditional static, periodic, device-level ” hard”real-time computing. Instead, it
  • encompasses the whole space of time-critical and time constraint driven systems at every level in an enterprise
  • specifically emphasizes large, complex, dynamic, distributed, time-critical systems
  • that are essential to many enterprises, especially in my application domain of military surveillance and combat platform management, battle management, and C2
  • but that are not understood and addressed by most real-time and other (e.g., scheduling theory) researchers
  • It includes some useful resources about the complex, dynamic, distributed, time-critical characteristics of those applications and enterprises
  • It seeks to contribute added value by providing my personal perspective on the resources – for example, it includes a list of relevant books (currently only books I recommend) with my brief annotations
  • It tries to minimize duplicating the resources found on other web sites, instead providing links to the best of those other web sites
  • You can subscribe to the RSS feed (what’s that?) for this page using the feed link above.

Recommended Books Relevant to Real-Time Computing Systems

This is a list of books I recommend that are related in important (but perhaps not always initially obvious) ways to real-time computing systems in the general sense of managing resources to acceptably satisfy completion time and other constraints with acceptable predictability — at all levels of an enterprise “from sensor to CEO” or “from sensor to commander” in my DoD world. Traditional static, periodic, device-level real-time computing involves only a narrow subset of this topic.

The books currently on this list are among (i.e., do not yet include all) those that I’ve had time to formulate a positive opinion about. As for those books not on this list, I may not even know about some of them, or I may not yet have copies of some of them, or I may not yet have had time to formulate an opinion on some of them, or my opinion on some of them may not be positive, or I have not gotten around to adding them to this list (feel free to ask me which category any particular absent book falls in, although I don’t promise to always answer, especially in writing).

Each book listing includes (or eventually will include) my brief annotation, which is intended only to give some feeling for why I recommend it, not to constitute a summary or review of the book. Sometimes I also use the annotation as an opportunity to add related observations.

Although this list is about only books, often papers or technical reports are more useful resources – but since there are so many of those that I like, I doubt that I could ever have time to create a list for more than a few of them. My current compromise is to provide only a few papers that serve as references in my book commentaries.

Alberts, D. S. and T. J. Czerwinski (Eds.). Complexity, Global Politics, and National Security, National Defense University, June 1997.
This is the Proceedings of a conference on the application of complexity theory to the policy and strategic dimensions of national defense and international affairs. One would hardly imagine that there needed to be arguments that warfare and politics are nonlinear dynamic systems (Clausewitz’s “Fog of war” is almost a household phrase), especially since complexity theory has been successfully applied to so many other endeavors and enterprises. But only recently has complexity theory become a mainstream and indeed official tool in the policy and strategic domains of the national security arena. One chapter of this book focuses on the implications of complexity theory on military command and control: Command and (Out of) Control: The Military Implications of Complexity Theory, by John Schmitt. I quote his closing paragraph: “Complexity encourages us to consider war in different terms which in turn point to a different approach to the command and control of military action. It will be an approach that does not expect or pursue certainty or precise control but is able to function despite uncertainty and disorder. If there is a single unifying thread to this discussion, it is the importance of adaptation, both for success on the battlefield and for institutional survival. In any environment characterized by unpredictability, uncertainty, fluid dynamics, and rapid change, the system that can adapt best and most quickly will be the system that prevails. Complexity suggests that the single most important quality of effective command and control for the coming uncertain future will be adaptability.” It is obvious that warfare — particularly command and control, battle management, and surveillance and combat platform management –  entail many mission-critical activities in circumstances requiring acceptable satisfaction of conflicting timeliness and other constraints with acceptable predictability, despite dynamic uncertainties. But adaptability is not a property of almost all traditional real-time computing concepts and techniques, because they are limited to simple static subsystems. Hence they are often necessary at the device level, but never sufficient at the levels above. Adaptive time-critical supra-device resource management concepts and techniques seem unlikely to emerge from the traditional real-time research and practitioner communities, which appear to be largely oblivious to system-level needs. This web site is intended to help rectify that.
Baptiste, P., C. Le Pape, and W. Nuijten, Constraint-Based Scheduling: Applying Constraint Programming to Scheduling Problems, 2001, Kluwer Academic, ISBN 0-7923-7408-8. The book’s web page on the publisher’s site.
It seems natural (to me, at least) to think of scheduling as a constraint satisfaction problem — as opposed to thinking of it as an objective function optimization (or even schedule decision) problem — especially in the realistic cases where there are multiple resource and other constraints or multiple optimization criteria. Multicriteria scheduling is exceptionally difficult as an optimization problem; see T’Kindt et al. In recent years, people (especially Europeans) have increasingly been seeking the best of both worlds by recasting scheduling problems in the framework of constraint based programming (most commonly shop scheduling problems, the subset of which that have timeliness-based objective functions can be relevant to time-critical computing systems). This book is the newest one, and the only one still in print, on the topic of constraint-based scheduling. (Fox published a pioneering one in 1988, based on his Ph.D. thesis: Constraint-Directed Search: A Case Study of Job-Shop Scheduling, Morgan Kaufmann, ASIN 0934613567.) All of the authors were or still are associated with ILOG, a French company that appears to be the leading vendor of commercial constraint-based scheduling (and other optimization) tools and services. Unfortunately, both the book and ILOG’s current products are limited to deterministic scheduling (see the note in my Brucker annotation about the use of the term “deterministic.”) However, the book is an excellent comprehensive and readable source of quite current information on that topic. Stochastic constraint-based scheduling is still too nascent to be the subject of a book as of this date.
Briand, L., and D. Roy, Meeting Deadlines in Hard Real-Time Systems: The Rate Monotonic Approach, IEEE Computer Society, 1999, ISBN 0-818-67406-7. has 28 sample pages, including the table of contents and index.
This is the best book for learning one particular kind of real-time analysis — rate-monotonic analysis (RMA). RMA techniques are realistic and effective for certain highly stylized, static, situations (fewer than some of its most ardent proponents claim); if yours is one for which it is, you need this book. For a more detailed (but less current and now out of print) treatment, see Klein et al. (A Practitioner’s Handbook for Real-Time Analysis, Kluwer, 1993, ISBN 0-7923-9361-9).
Brucker, P., Scheduling Algorithms, 3rd edition, September 2002, Springer Verlag, ISBN 3-540-41510-6. Table of contents on the publisher’s web site.
This is the most contemporary and thorough book currently available on deterministic scheduling theory; for example, it includes more material on computational complexity issues than do older scheduling books. I recommend reading Pinedo‘s textbook (at least the deterministic part) as an introduction before reading this more focused book. Note that deterministic scheduling theory is much broader than the technically correct use (as opposed to all the popular incorrect uses) of the term “deterministic” in real-time computing. For example, deterministic scheduling theory is widely applied in cases where the time constraints are in terms of lateness and the optimality criteria involve minimization of an objective function; while in real-time computing, “deterministic” is employed solely and more simply in terms of always meeting all hard deadlines.
Burns, A. and A. Wellings, Real-Time Systems and Programming Languages: Ada 95, Real-Time Java, and Real-Time POSIX, 3rd edition, 2003, Addison Wesley Longman, ISBN 0-201-72988-1. Good web site by the authors includes lecture slides and errata. 28 sample pages including the table of contents and index at
This 3rd edition of the authors’ deservedly very popular textbook is a major update that includes the Real-Time Specification for Java (RTSJ) as one of the core real-time languages. (See Dibble for more detail about the RTSJ.) It also improves its coverage of scheduling, including some material about the Earliest Deadline First (EDF) discipline in the context of real-time computing systems (for a great deal more information about EDF, read some scheduling theory books and papers, starting with Pinedo). Although the book is centered around real-time programming languages, it is a valuable textbook about a number of key real-time programming topics, and should be on everyone’s short list.
Cheng, A.M.K., Real-Time Systems: Scheduling, Analysis, and Verification, Wiley Interscience, 2002, ISBN 0-471-18406-3.’s page about this book has 49 sample pages, including the table of contents and index.
There are many scholarly papers, and several books (mostly compendia of papers) in the area of formal analysis and verification of real-time systems. This book provides an accessible, self-contained, more unified treatment of the various approaches to that topic. It also serves as a good reference by having an extensive bibliography. Everyone interested in real-time computing — even (or especially) if born without the theory gene –  can benefit from this excellent book.
Chretienne, P., E.G. Coffman, Jr., J.K. Lenstra, and Z. Liu (Eds.), Scheduling Theory and its Applications, John Wiley and Sons, 1995, ISBN 0-471-94059-3. Book web page on the publisher’s web site.
This is an excellent collection of survey, tutorial, and research papers from a 1992 summer school on scheduling theory. It is one of the few that addresses both the classical deterministic and queuing models, and it also reflects the relatively recent influences of computer science (computational complexity) on scheduling theory. Pineto‘s textbook (see below) makes a good prerequisite for this more advanced one.
D’Agostini, G., Bayesian Reasoning in Data Analysis – A Critical Introduction, World Scientific Publishing, 2003, ISBN 981-238-356-5. Book web page on the publisher’s web site; detailed outline on the author’s web site.
The Bayesian interpretation of probability (in short, that probability measures degrees of subjective belief and that statistical inference is an extension of decision theory) is very useful in reasoning about predictability of timeliness in dynamic real-time systems (some day I’ll get around to adding an introduction to that on this web site). You can get somewhat of a feeling for that from D’Agostini’s lucid examples of erroneous physics resulting from inappropriate interpretations of probability mathematics on his web site – e.g., Bayesian Reasoning in High Energy Physics – Principles and Applications. Recently he has written this very readable introduction to the topic.
Dempster, M.A.H., J.K. Lenstra, and A.H.G. Rinnooy Kan (Eds.), Deterministic and Stochastic Scheduling, D. Reidel, 1982, ISBN 90-277-1397-9.
This collection of papers from a NATO ASI course remains in my opinion the single best advanced survey of both classical deterministic and stochastic scheduling theory. While the book stops at 1981, the material is foundational and thus durable. Its perspective is that of operations research and shop scheduling rather than of computer scheduling theory — but much of it is relevant to time-critical computer systems (particularly above the device level). A similar but less comprehensive book is Computer and Job-Shop Scheduling Theory, edited by Coffman (John Wiley and Sons, 1976), also out of print. A more recent compilation of papers which partially updates Dempster et al. is Chretienne et al. Pineto is the best pre-requisite to Dempster et al.
Dibble, P., Real-Time Java Platform Programming, Prentice Hall PTR, 2002, ISBN 0-1302-8261-8.
Written by a member of the Real-Time Specification for Java’s core team, this book explains the features of the RTSJ. Thus, it elaborates on the specification per se (Bollella et al., The Real-Time Specification for Java, Addison Wesley, 2000, ISBN 0-201-70323-8) — which, like any specification, is not easy reading, and which, in the absence of Dibble’s book, would be on my list (although it is now somewhat out of date with respect to more recent improvements in the RTSJ). Burns and Welling provide a broader, more comparative, but necessarily less detailed, look at the RTSJ. There remains a need for an RTSJ Rationale book analogous to the Ada 95 Rationale (edited by Barnes, Springer Verlag, 1997, ISBN 3-540-63143-7); Bollella and Gosling have spoken of eventually writing such a rationale. Dibble — a master practitioner of traditional real-time computing — undergoes, as he told me himself, an enlightening evolution in his perception of some aspects of real-time during the process of his writing this book; I wonder if and how it might have been different from the beginning given his perspective at the end. I may find out, since he is preparing a second edition of this book.
Earman, J., A Primer on Determinism, D. Reidel, 1986, ISBN 90-277-2240-4.
“Determinism” is almost inevitably — and incorrectly — used in definitions or characterizations of real-time computing. Of course there are numerous books that address determinism in the context of philosophy (e.g., epistemology and ontology, free will, etc.), but this textbook describes, in an accessible introductory way, Earman’s viewpoint on determinism in the specific context of the philosophy of science — how he believes determinism works and does not work in modern physics. Earman deals with randomness and chaos, free will, quantum indeterminism, and the relationship between determinism and Turing’s effective computability (but Ruelle provides better coverage of chaos specifically). (See my observations about predictability for some of my perspective on determinism in the context of time-critical computer systems.)
French, S., Sequencing and Scheduling, Ellis Horwood, 1982, ISBN 0-85312-299-7/0-85312-364-0, and Halsted Press, ISBN 0-470-27229-5.
In my opinion, French’s has been the best of the textbooks I’d seen on the mathematics of deterministic shop scheduling, and it remains one of most readable. The runner up in both respects to French had been Introduction to Sequencing and Scheduling by Baker (John Wiley, 1974). Another worthwhile book (but not really a textbook) is the classic Theory of Scheduling by Conway et al. (Addison-Wesley, 1976). All of those books are out of print. Now there is only Brucker‘s book on deterministic scheduling, and it is much more up to date. But Pineto‘s wonderful textbook provides an accessible introduction to stochastic as well as deterministic scheduling.
Gallmeister, B.O., POSIX .4: Programming for the Real World, O’Reilly, 1995, June 1998 printing, ISBN 1-56592-074-0. Book’s (excellent) page on the publisher’s web site.
This is the first book, and the most readable published information source, about what the POSIX 1004.1b (nee’ 1003.4) real-time extensions are and how to use them. There needs to be a revised edition to reflect more recent developments in the real-time extensions — e.g., the services originally specified in amendments 1003.1d, 1003.1g, 1003.1j, and 1003.1q, and now included in 1003.1-2001. The POSIX real-time market may currently be stagnant (outside DoD at least), while real-time LINUX seems to be getting more attention. The Real-Time LINUX field has a problem of its own — the schism between layered (or master/slave) approaches, exemplified by RTAI, and native approaches, exemplified by RTLINUX and so-called resource kernel’s such as Rajkumar’s.
Gillies, Donald, Philosophical Theories of Probability. Routledge, 2000, ISBN 0-415-18275-1. Book’s page on publisher’s web site.
Most of us who took an undergraduate (or perhaps even a graduate) course in statistics and/or probability usually are surprised if and when we later discover that we were taught something about the mathematics of probability but little if anything about the wide divergence of interpretations of the mathematics, and the suitability of these interpretations for various applications. Although interpretation of the mathematics is regarded as being in the field of the philosophy of science, it cannot be ignored on that basis by users of the mathematics. Failure to employ an interpretation of probability that is appropriate to one’s application can easily result in erroneous conclusions. D’Agostini provides numerous lucid examples of erroneous physics resulting from inappropriate interpretations of probability mathematics, on his web site – e.g., Bayesian Reasoning in High Energy Physics – Principles and Applications. Similarly, not all interpretations of probability are equally useful in reasoning about the predictability of timeliness of real-time computing systems – especially dynamic ones. This is one of my three favorite books that provide an introductory survey of most of the prominent theories of probability. Halpern’s Reasoning about Uncertainty is the best textbook on the subject of reasoning about uncertainty, and not only with probability theory. My other two favorites are more probability-focused monographs: this book by Gillies; and von Plato’s Creating Modern Probability : Its Mathematics, Physics and Philosophy in Historical Perspective (Cambridge University Press, 1994).
Halang, W.A., and A.D. Stoyenko, Real Time Computing. Springer-Verlag, 1994, ISBN 0-387-57558.
This unique collection of papers from a NATO ASI course is encyclopedic and eclectic in the breadth of its coverage of real-time computing topics. Despite the somewhat uneven quality and depth of the papers, and its 1994 publication date, its breadth alone nonetheless qualifies it in my opinion as one of the best survey books written about real-time computing (but it is now out of print).
Halpern, J.Y., Reasoning about Uncertainty, MIT Press, Revised 2005, ISBN 0-262-58259-7. Book’s page on the publisher’s web site. Browse the book on
This is a textbook, not a monograph. It is written in a lucid, elaborated style, and is unique in being both the most comprehensive and accessible introduction to the field, and an authoritative reference. It includes numerous examples and exercises. Halpern writes from the perspective of his own unified theory, plausibility measures, while explaining the panoply of theories for reasoning about uncertainty. The enthusiastic endorsements on the back cover are from the most distinguished researchers in the field.
Heitmeyer, C. and D. Mandrioli (Eds.), Formal Methods for Real-Time Computing, John Wiley & Sons, 1996, ISBN 0-471-95835-2. The authors have an excellent web page for the book that includes abstracts for each of the contributed chapters.
This collection of separately written chapters is a survey of formal methods theory and practice in real-time computing. It is more contemporary and comprehensive than van Tilborg and Koob’s collection of work they sponsored (Foundations of Real-Time Computing: Formal Specifications and Methods, Kluwer 1991) and Joseph’s NATO ASI Proceedings (Formal Techniques in Real-Time and Fault Tolerant Systems, Springer Verlag 1988). Unfortunately all three of these books are now out of print. While there are many books on formal methods in computer science, there were none in print that focus on real-time (which probably tells us something) until Cheng‘s new and excellent one.
Kahneman, D., P. Slovic, and A. Tversky (Eds.), Judgment Under Uncertainty, Cambridge University Press, 1982, ISBN 0-521-28414-7. Book’s page on the publisher’s web site.
This superior collection of cognitive psychology papers reveals the innate human weaknesses in reasoning probabilistically in the presence of uncertainties, especially about unlikely events — I list some of these weaknesses here. These weaknesses plague our everyday lives, but more importantly (here) they are manifest in how people establish and express requirements for most computer systems (outside the hard real-time computing niche) and how they evaluate them  Awareness and understanding of this cognitive factor is essential (but all too often absent) for designers and users of mission-critical and safety-critical computing systems, especially real-time ones, to minimize the distortions of reality that it inevitably introduces. A follow-up (not a replacement) book is Decision Making by Bell, Raiffa, and Tversky (Cambridge Univ. Press, 1988). Numerous books of varying quality on this topic of ubiquitous errors of human judgment and decision making can be found on This topic, and the related one of how people irrationally judge risks and hazards, comes up occasionally in the RISKS newsgroup — for example, Volume 17 number 71, 72, and 73. Kahneman received the 2002 Nobel prize in economics for his work on this topic (Tversky had died).
Klir, J., and M. Wierman, Uncertainty-Based Information, 2nd Ed., Physica-Verlag, 1989, ISBN 3-7908-1242-0. Book’s page at the publisher’s web site. Look in this book at
To appear…Â
Northcutt, J., Mechanisms for Reliable Distributed Real-Time Operating Systems: The Alpha Kernel, Academic Press, May 1987, ASIN 0125216904. Book’s page at
This is the (now out of print) book version of Northcutt’s Ph.D. thesis at Carnegie Mellon University. It is noteworthy as the only book-length integrated documentation of the philosophy, architecture, and implementation details of the Alpha real-time distributed operating system kernel created by my Archons research group in CMU’s Computer Science Department. We wrote numerous technical reports on individual aspects of Alpha, and a number of conference and journal papers — some of which are available on my Referenced Documents page, and others are available by request from me. Alpha was literally unique in the annals of distributed real-time OS research for the concepts it pioneered, and was even unusual in its implementation directly on the bare hardware of each multiprocessor node of the LAN (instead of the usual academic practice of layering a research OS on a UNIX or modifying a UNIX). The keystone concepts and techniques which débuted in Alpha have not languished in academic obscurity as have so many other good research results — instead, they have continued to advance beyond Alpha and this book, to this very day. For example: KSR and Concurrent Computer implemented a Version 2 of Alpha (but didn’t survive long enough to productize it); the time/utility function model as defined on this web site is more completely and correctly developed; publications of academic research on time/utility functions are rapidly increasing (see Our Documents); versions of distributed threads called “migrating threads” were at the heart of several research OS microkernels; the Open Group’s (ne’e Open Software Foundation’s) MK7.3A operating system incorporated more sophisticated versions of Alpha’s distributed threads and scheduling framework (as did IBM’s unreleased Workplace OS for PowerPC, and DEC’s unreleased Libra ORB and OS); the Distributed Real-Time Specification for Java and OMG’s Real-Time CORBA 2/Dynamic Scheduling standard include versions of distributed threads. [References and links to all these will appear on this page as I get the time.]
Pinedo, M., Scheduling: Theory, Algorithms, and Systems, 2nd edition, Prentice Hall, 2002, ISBN 0-130-28138-7. The table of contents on Prentice Hall’s web site. Book’s page at
The first edition of this was the first textbook on both deterministic and stochastic scheduling theory to be published in over a decade. It covers applications as well as theory. So if you can have only one scheduling theory book on your shelf, it should be this one. Pinedo’s book can be supplemented with the Chretienne et al.‘s collection of research papers on both deterministic and stochastic scheduling theory.
Powell, D. (Ed.), Delta-4: A Generic Architecture for Dependable Computing, Springer-Verlag, 1991, ISBN 3-540-54985-4/0-387-54985-4. Book’s page on the publisher’s web site. Book’s page at
Only rarely is there an opportunity to design and build the hardware and software of a complete real-time distributed computer system from the ground up, and even rarer are those whose results are publicly and so thoroughly documented. Esprit provided such an opportunity on a large scale, and there are many interesting lessons to be learned from that project.
Rembold, U., B.O.em Nnaji, and A. Storr, Computer Integrated Manufacturing and Engineering, Addison-Wesley, 1993, ISBN 0-201-56541-2. Book’s page at
This is the best single book I’ve found on computer integrated manufacturing. A helpful adjunct is the ISA’s A Reference Model for Computer Integrated Manufacturing, edited by Williams. Industrial automation (IA), both discrete manufacturing and continuous process control, are among the most important applications of real-time computing. One reason which is little-understood by most real-time researchers and practitioners alike is that IA (along with certain military and aerospace applications) is the primary context for advancing the state of the real-time control and computing arts beyond the classical first-order unit level. Enterprise integration has recently become very fashionable (in the military as well as the IA contexts), but in the IA field (at least) this integration tends to stop at the semi-permeable membrane between the process/production levels below and the business levels above. Hence, time-critical resource management issues almost never are addressed across that boundary, resulting in unfortunate behavioral anomalies in the enterprise. The leading visionary on time-critical closed loop control of enterprises “from sensor to CEO” — taking a cybernetics (system science) approach — is Jay Bayne, whose web site is Although his application domain focus has, until recently, been IA, his perspectives apply equally well to military and other application domains.
Ruelle, D., Chance and Chaos, Princeton University Press, 1991, ISBN 0-691-08574-9. Book”s page at the publisher’s website. Look in this book at
This succinct book by a mathematical physicist presents chance and chaos with the best balance of readability and technical accuracy that I’ve seen (Gleick’s better known one exhibits misunderstandings and errors which might be expected from a populist writer). If you then want to pursue this topic further, I recommend you next read Randomness and Undecidability in Physics by Svozil (World Scientific Press, 1993). The many books in the general field of chaos have a variety of different goals and perspectives (for example, often fractal images are the focus). These two books emphasize randomness, and consequently are more useful for readers interested in applicability to real-time computing.
Schum, D., The Evidential Foundations of Probabilistic Reasoning, Northwestern University Press, 1994, ISBN 0-8101-1821-1. Book’s page on the publisher’s web site. Look in this book at
Real-time systems are designed and implemented — implicitly more than explicitly, unfortunately — largely based on beliefs and evidence about the expected behavior of the application. Static (hard) real-time systems are often mistakenly based on over-simplified flawed beliefs and evidence. Dynamic real-time systems have various degrees of uncertainty in their environments and thus their behaviors. Thus, reasoning about them, especially their timeliness, is more difficult than for static ones — e.g., using probabilistic formalisms, such as covered in Halpern’s book. Schum provides an examination and theory of evidence that is used when reasoning — for our purposes, in the context of both static and dynamic real-time systems. From the book’s back cover: “No matter how irrefutable it may seem, evidence is often a matter of interpretation. Incomplete, inconclusive, imprecise, or vague, it is nonetheless the basis of myriad everyday conclusions and decisions. In this authoritative work, David A. Schum develops a general theory of evidence as it is understood and applied across a broad range of disciplines and practical undertakings. Synthesizing insights from law, philosophy and logic, probability, semiotics, artificial intelligence, psychology, and history, Schum provides a detailed examination of the various properties and uses of evidence and the evaluative skills evidence requires. Along with the evidential subtleties of probabilistic reasoning, Schum also explores the processes by which evidence is generated or discovered and looks at the intellectual and practical underpinnings of probabilistic reasoning. It is a useful resourse for students, researchers, and practitioners of every discipline concerned with evidence and its inferential use.” Â
T’Kindt, V., and J.-C. Billout, Multicriteria Scheduling, Springer Verlag, 2002, ISBN 3-540-43617-0. Book’s page on the publisher’s web site. Look inside this book at
Scheduling theory has historically been focused primarily on optimizing for a single objective — e.g., minimizing the number of missed deadlines or mean tardiness — with few exceptions such as also satisfying precedence constraints. But often (perhaps usually) there are multiple objectives to be optimized simultaneously, and in these cases the already sparsely populated space of solved scheduling problems becomes almost vacant. In contrast, there is a large body of theory and practice on multicriteria decision making. This book is the only one I know of that gathers together the basic concepts of both scheduling theory and multicriteria optimization, and then seeks to synthesize them into a new multicriteria scheduling theory.