×

A process algebraic approach to software architecture design. (English) Zbl 1255.68004

London: Springer (ISBN 978-1-84800-222-7/hbk). xv, 304 p. (2010).
Publisher’s description: Concurrency theory, software architecture, system modeling and verification, and dependability and performance evaluation may seem unrelated disciplines, but in reality they are deeply intertwined and should be part of an integrated view in order to successfully manage the increasing complexity of software systems today.
This book introduces a process algebraic approach to software architecture design. Process algebra, originally conceived for reasoning about the semantics of concurrent programs, provides a foundational basis for the modeling and verification of functional and nonfunctional aspects of communicating concurrent systems. This can be exploited at the software architecture level of design to improve the formality of design documents and make possible the analysis of system properties at the early design stages.
The first part of the book offers an overview of the concepts and results of process algebra theory providing background material on the syntax and semantics for process calculi as well as on bisimulation, testing, and trace approaches to the definition of behavioral equivalences for nondeterministic, deterministically timed, and stochastically timed processes.
Part 2 gives guidelines for a principled transformation of a process algebra into an architectural description language, before demonstrating how to use process algebraic techniques to address the detection of architecture-level mismatches, performance-driven selection among alternative designs, and the achievement of a tradeoff between dependability features and performance indices.
Graduate students and software professionals, will findthis book a useful addition to their bookshelf.

MSC:

68-02 Research exposition (monographs, survey articles) pertaining to computer science
68Q85 Models and methods for concurrent and distributed computing (process algebras, bisimulation, transition nets, etc.)
68N99 Theory of software

Software:

CADP; ArchJava; Casper; Rapide
PDFBibTeX XMLCite