© 2005

A Practical Theory of Reactive Systems

Incremental Modeling of Dynamic Behaviors


Table of contents

  1. Front Matter
    Pages I-XXI
  2. Prologue

  3. Fundamentals

  4. Building a Practical Theory

  5. Distributed and Real-Time Systems

    1. Pages 305-351
    2. Pages 353-383
  6. Epilogue

    1. Pages 387-396
  7. Back Matter
    Pages 397-420

About this book


A man may imagine he understands something, but still not understand anything in the way that he ought to. (Paul of Tarsus, 1 Corinthians 8:2) Calling this a ‘practical theory’ may require some explanation. Theory and practice are often thought of as two di?erent worlds, governed bydi?erentideals,principles, andlaws.DavidLorgeParnas, forinstance,who hascontributedmuchtoourtheoreticalunderstandingofsoftwareengineering and also to sound use of theory in the practice of it, likes to point out that ‘theoretically’ is synonymous to ‘not really’. In applied mathematics the goal is to discover useful connections between these two worlds. My thesis is that in software engineering this two-world view is inadequate, and a more intimate interplay is required between theory and practice. That is, both theoretical and practical components should be integrated into a practical theory. It should beclearfrom theabovethattheintended readership of this book is not theoreticians. They would probably have di?culties in appreciating a book on theory where the presentation does not proceed in a logical sequence from basic de?nitions to theorems and mathematical proofs, followed by - plication examples. In fact, all this would not constitute what I understand by a practical theory in this context.


Aspect-oriented Specification Aspect-oriented programming Incremental Modeling Reactive Systems Temporal Logic of Actions complexity logic modeling

Authors and affiliations

  1. 1.Tampere University of TechnologyTampereFinland

About the authors

Reino Kurki-Suonio has a PhD in mathematics from the University of Helsinki. He entered the field of computing in 1960. In 1965 he moved from industry to the University of Tampere to start the first computer science department in Finland. In 1980 he was invited to develop education in information technology at Tampere University of Technology, where he currently serves as professor emeritus at the Institute of Software Systems. During his career he has held visiting positions at Carnegie Mellon and Stanford Universities, and has served as the Chair of IFIP Technical Committee on Software, Theory and Practice.

Bibliographic information

  • Book Title A Practical Theory of Reactive Systems
  • Book Subtitle Incremental Modeling of Dynamic Behaviors
  • Authors R. Kurki-Suonio
  • Series Title Texts in Theoretical Computer Science An EATCS Series
  • DOI
  • Copyright Information Springer-Verlag Berlin Heidelberg 2005
  • Publisher Name Springer, Berlin, Heidelberg
  • eBook Packages Computer Science Computer Science (R0)
  • Hardcover ISBN 978-3-540-23342-8
  • Softcover ISBN 978-3-642-06237-7
  • eBook ISBN 978-3-540-27348-6
  • Edition Number 1
  • Number of Pages XXI, 420
  • Number of Illustrations 0 b/w illustrations, 0 illustrations in colour
  • Topics Theory of Computation
    Logics and Meanings of Programs
    Software Engineering
  • Buy this book on publisher's site
Industry Sectors
IT & Software
Consumer Packaged Goods
Finance, Business & Banking


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)