This book presents a practical theory of reactive systems. 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.
R. Kurki-Suonio
Aspect-oriented Specification Aspect-oriented programming Incremental Modeling Reactive Systems Temporal Logic of Actions complexity logic modeling
From the reviews:
"Kurki-Suinio’s book aims at developing a practical theory for the development of distributed reactive systems. … The approach presented in the book is the result of many years of research. The design method developed by the author has been successfully used for the construction of many distributed parallel systems. … Potential audience of this book is definitely found among software engineers … . The book is also useful for researchers working in the mentioned area." (Klaus Schneider, The Computer Journal, 2007)
"This book deals with reactive systems by first explaining a simple condition action effect language, which is similar to the language Unity or the one used in I/O automata. … The book is usable as an extensive introduction for those who acquire the skill to use and extend it elsewhere. Of course as such it also usable for those who want to know what is going on in the field of concurrency from a TLA perspective." (Jan Friso Groote, Zentralblatt MATH, Vol. 1070, 2005)
"It is rare to find a book that answers the questions of software engineers who are working with dynamic systems … where formalisms of actions and behaviors are often answered by abstract theories of artificial intelligence. … . Overall, this is a well-written book, which takes a practical software engineering approach, rather than a philosophical artificial intelligence (AI) one. The book will make a good complementary reading for courses on intelligent agents, showing a practical route for translating theory into software specifications." (Aladdin Ayesh, Computing Reviews, April, 2006)