This book presents a 'practical theory' of reactive systems, with formal foundations in Temporal Logic of Actions. The theory supports incremental development of operational, object-oriented models in steps that preserve already established properties. Models are given in an action-oriented language, and their modularity relates to aspects in aspect-oriented programming. The emphasis is on theoretical understanding of reactive behaviors, and on using 'horizontal' modularity to manage their complexity. Special chapters are devoted to the applicability of the theory to distributed and real-time systems. Incremental specification is illustrated in the book by a number of examples of varying size and complexity.