This book assumes familiarity with threads (in a language such as Ada, C#, or Java) and introduces the entity-life modeling (ELM) design approach for certain kinds of multithreaded software. ELM focuses on «reactive systems,» which continuously interact with the problem environment. These «reactive systems» include embedded systems, as well as such interactive systems as cruise controllers and automated teller machines. Part I covers two fundamentals: program-language thread support and state...