This book provides an in-depth analysis of the requirements for designing and implementing real-time embedded systems and discusses how these requirements are met by current languages and operating systems. The comparative advantages of Ada 95, Real-Time Java and Real-Time POSIX are discussed in full. No other book on real-time programming languages (or concurrent programming languages) covers this range of topics. The latest trends in real-time systems are discussed. The emergence of Java as a real-time language through the Real-Time Java extensions has resulted in the treatment of Java as one of the core languages covered in the book. The additional real-time facilities in POSIX are explored as well as the proposed extensions to CORBA to address real-time issues.