A Process Algebraic Approach to Software Architecture Design

  • Alessandro Aldini
  • Marco Bernardo
  • Flavio Corradini

Table of contents

  1. Front Matter
    Pages i-xv
  2. Process Calculi and Behavioral Equivalences

    1. Front Matter
      Pages 1-2
    2. Alessandro Aldini, Flavio Corradini, Marco Bernardo
      Pages 3-39
    3. Alessandro Aldini, Flavio Corradini, Marco Bernardo
      Pages 41-73
    4. Alessandro Aldini, Flavio Corradini, Marco Bernardo
      Pages 75-124
  3. Process Algebra for Software Architecture

    1. Front Matter
      Pages 125-126
    2. Alessandro Aldini, Flavio Corradini, Marco Bernardo
      Pages 127-167
    3. Alessandro Aldini, Flavio Corradini, Marco Bernardo
      Pages 169-201
    4. Alessandro Aldini, Flavio Corradini, Marco Bernardo
      Pages 203-238
    5. Alessandro Aldini, Flavio Corradini, Marco Bernardo
      Pages 239-289
  4. Back Matter
    Pages 291-304

About this book

Introduction

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 the bisimulation, testing, and trace approaches to the definition of behavioral equivalences for nondeterministic, deterministically timed, and stochastically timed processes.

Part two gives guidelines for a principled transformation of 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 find A Process Algebraic Approach to Software Architecture Design a useful addition to their bookshelf.

Keywords

Component-Oriented Modelling Performance and Dependability Process Algebra Software Design and Verification design modeling security software architecture verification

Authors and affiliations

  • Alessandro Aldini
    • 1
  • Marco Bernardo
    • 2
  • Flavio Corradini
    • 3
  1. 1.Ist. Scienze e Tecnologie, dell'InformazioneUniversità UrbinoUrbinoItaly
  2. 2.Ist. Scienze e TecnologieUniversità di UrbinoUrbinoItaly
  3. 3.Dipto. Matematica e InformaticaUniversità CamerinoCamerinoItaly

Bibliographic information

  • DOI https://doi.org/10.1007/978-1-84800-223-4
  • Copyright Information Springer-Verlag London Limited 2010
  • Publisher Name Springer, London
  • eBook Packages Computer Science
  • Print ISBN 978-1-84800-222-7
  • Online ISBN 978-1-84800-223-4
  • About this book