Modeling and implementing dynamical systems is a central problem in artificialintelligence, robotics, software agents, simulation, decision and control theory, and many otherdisciplines. In recent years, a new approach to representing such systems, grounded in mathematicallogic, has been developed within the AI knowledge-representation community. Thisbook presents a comprehensive treatment of these ideas, basing its theoretical and implementationfoundations on the situation calculus, a dialect of first-order logic. Within this framework, itdevelops many features of dynamical systems modeling, including time, processes, concurrency,exogenous events, reactivity, sensing and knowledge, probabilistic uncertainty, and decision theory.It also describes and implements a new family of high-level programming languages suitable forwriting control programs for dynamical systems. Finally, it includes situation calculusspecifications for a wide range of examples drawn from cognitive robotics, planning, simulation,databases, and decision theory, together with all the implementation code for these examples. Thiscode is available on the book's Web site.