Preliminaries.- Operational Semantics of IMP.- Induction and Recursion.- Partial Orders and Fixpoints.- Denotational Semantics of IMP.- Operational Semantics of HOFL.- Domain Theory.- HOFL Denotational Semantics.- Equivalence Between HOFL Denotational and Operational Semantics.- Calculus for Communicating Systems (CCS).- Temporal Logic and mu-Calculus.- Pi-Calculus.- Measure Theory and Markov Chains.- Markov Chains with Actions and Non-determinism.- Performance Evaluation Process Algebra (PEPA).
Roberto Bruni is an associate professor in the Dept. of Computer Science of the University of Pisa. His research interests include concurrency, operational semantics, Petri nets, Java programming, business process modelling, software composition, and fog computing, and he teaches related courses to computer science and business informatics graduate and undergraduate students. He has served the community with committee membership of conferences such as FACS, Coordination, CONCUR and WRLA. He was previously an international fellow of the SRI International Computer Science Laboratory, and a visiting scholar of the University of Illinois at Urbana-Champaign.
Ugo Montanari is an emeritus professor in the Dept. of Computer Science of the University of Pisa. He has published over 400 refereed articles or papers in theoretical computer science and artificial intelligence. His current research interests are the semantics of concurrency, process description languages, constraint programming, graph transformation systems, coordination models, algebraic and categorical models of concurrency, models and languages for open distributed systems, network-aware programming, service-oriented computing, and collective autonomic systems. He has served as a board member for key international scientific journals such as Fundamenta Informaticae, Theoretical Computer Science, Computer Science Review, Artificial Intelligence, the IEEE Transactions on Software Engineering, Logic Programming, Science of Computer Programming, Theory and Practice of Logic Programming, and New Generation Computing, and he has served the community as a chair or committee member, PC or steering, of major related conferences such as CONCUR, WRLA, CP, CALCO, CMCS, ICGT, and TGC. He was Vice-Director of the IMT School for Advanced Studies, Lucca. He is member of the Academia Europaea.
This book presents in their basic form the most important models of computation, their basic programming paradigms, and their mathematical descriptions, both concrete and abstract. Each model is accompanied by relevant formal techniques for reasoning on it and for proving some properties. After preliminary chapters that introduce the notions of structure and meaning, semantic methods, inference rules, and logic programming, the authors arrange their chapters into parts on IMP, a simple imperative language; HOFL, a higher-order functional language; concurrent, nondeterministic and interactive models; and probabilistic/stochastic models.
The authors have class-tested the book content over many years, and it will be valuable for graduate and advanced undergraduate students of theoretical computer science and distributed systems, and for researchers in this domain. Each chapter of the book concludes with a list of exercises addressing the key techniques introduced, solutions to selected exercises are offered at the end of the book.