Access the full text.

Sign up today, get DeepDyve free for 14 days.

/lp/springer-e-books/a-process-algebraic-approach-to-software-architecture-design-BsWH0m97ZW

- Publisher
- Springer London
- Copyright
- Copyright � Springer Basel AG
- DOI
- 10.1007/978-1-84800-223-4
- Publisher site
- See Book on Publisher Site

Inthe?eldofformalmethodsincomputerscience,concurrencytheoryisreceivinga constantlyincreasinginterest.Thisisespeciallytrueforprocessalgebra.Althoughit had been originally conceived as a means for reasoning about the semantics of c- current programs, process algebraic formalisms like CCS, CSP, ACP, ?-calculus, and their extensions (see, e.g., (154,119,112,22,155,181,30)) were soon used also for comprehendingfunctionaland nonfunctionalaspects of the behaviorof com- nicating concurrent systems. The scienti?c impact of process calculi and behavioral equivalences at the base of process algebra is witnessed not only by a very rich literature. It is in fact worth mentioningthe standardizationprocedurethat led to the developmentof the process algebraic language LOTOS (49), as well as the implementation of several modeling and analysis tools based on process algebra, like CWB (70) and CADP (93), some of which have been used in industrial case studies. Furthermore, process calculi and behavioral equivalencesare by now adopted in university-levelcourses to teach the foundations of concurrent programming as well as the model-driven design of concurrent, distributed, and mobile systems. Nevertheless, after 30 years since its introduction, process algebra is rarely adopted in the practice of software development. On the one hand, its technica- ties often obfuscate the way in which systems are modeled. As an example, if a process term comprises numerous occurrences of the parallel composition operator, it is hard to understand the communicationscheme among the varioussubterms. On the other hand, process algebra is perceived as being dif?cult to learn and use by practitioners, as it is not close enough to the way they think of software systems.; This book presents a new paradigm that allows modeling and analysis of software applications at an early stage of the design process. It covers foundational aspects before introducing guidelines and methodologies to exemplify case studies. ; Inthe?eldofformalmethodsincomputerscience,concurrencytheoryisreceivinga constantlyincreasinginterest.Thisisespeciallytrueforprocessalgebra.Althoughit had been originally conceived as a means for reasoning about the semantics of c- current programs, process algebraic formalisms like CCS, CSP, ACP, ?-calculus, and their extensions (see, e.g., (154,119,112,22,155,181,30)) were soon used also for comprehendingfunctionaland nonfunctionalaspects of the behaviorof com- nicating concurrent systems. The scienti?c impact of process calculi and behavioral equivalences at the base of process algebra is witnessed not only by a very rich literature. It is in fact worth mentioningthe standardizationprocedurethat led to the developmentof the process algebraic language LOTOS (49), as well as the implementation of several modeling and analysis tools based on process algebra, like CWB (70) and CADP (93), some of which have been used in industrial case studies. Furthermore, process calculi and behavioral equivalencesare by now adopted in university-levelcourses to teach the foundations of concurrent programming as well as the model-driven design of concurrent, distributed, and mobile systems. Nevertheless, after 30 years since its introduction, process algebra is rarely adopted in the practice of software development. On the one hand, its technica- ties often obfuscate the way in which systems are modeled. As an example, if a process term comprises numerous occurrences of the parallel composition operator, it is hard to understand the communicationscheme among the varioussubterms. On the other hand, process algebra is perceived as being dif?cult to learn and use by practitioners, as it is not close enough to the way they think of software systems.; Part I: Process Calculi and Behavioral Equivalences Process Algebra Deterministically Timed Process Algebra Stochastically Timed Process Algebra Part II: Process Algebra for Software Architecture Component-Oriented Modeling Component-Oriented Functional Verification Component-Oriented Performance Evaluation Trading Dependability and Performance References Index; 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. ; Presents a new paradigm that allows modelling and analysis of software applications at an early stage of the design process Covers foundational aspects before introducing guidelines and methodologies to exemplify case studies, thus facilitating practical applications ; GB

**Published: ** Mar 14, 2010

Loading...

Read and print from thousands of top scholarly journals.

System error. Please try again!

Already have an account? Log in

Bookmark this article. You can see your Bookmarks on your DeepDyve Library.

To save an article, **log in** first, or **sign up** for a DeepDyve account if you don’t already have one.

Copy and paste the desired citation format or use the link below to download a file formatted for EndNote

Access the full text.

Sign up today, get DeepDyve free for 14 days.

All DeepDyve websites use cookies to improve your online experience. They were placed on your computer when you launched this website. You can change your cookie settings through your browser.