Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Architectural design : conception and specification of interactive systems
Vissers C., Pires L., Quartel D., van Sinderen M., Springer International Publishing, New York, NY, 2016. 388 pp. Type: Book (978-3-319432-97-7)
Date Reviewed: Jun 23 2017

Software architecture emerged as a subfield of software engineering in the 1990s with its focus on the study of concepts, techniques, and methods related to design that have a strong influence on the qualities of a system, such as its extensibility, performance, reliability, security, testability, and usability. Architectural design decisions that address these systemic qualities are considered independently of those that address its functionality. Given two different functionally equivalent implementations of a system, one may be superior over the other due to its superior performance, usability, and so on. What makes this possible is the difference in the architecture of one implementation over the other. Hence, while functionality can live inside multiple different architectures, not all architectures may be desirable since they may preclude certain desirable qualities.

The authors introduce design concepts and methodology for designing architectures of interactive systems. The book starts, in chapter 1, with the characterization of architectural design as a top-down recursive decomposition process where each level of decomposition adds increasing levels of detail. This decomposition is a creative process that must yield a design that not only satisfies the functional requirements of a system, but does so reliably, with ease of use and enough capacity to perform these functions, and is produced within specified time and cost constraints. Chapter 2 defines modeling concepts that underlie the design methodology described in the book. A design language is introduced for creating architectural models that are precise, parsimonious, unambiguous, and easy to understand. Even though unified modeling language could have been used, the authors present arguments for why the language is unsuitable for this purpose.

In chapters 3 through 6, the authors illustrate the design concepts and the modeling language notation through examples. An architecture is considered as a formal specification that includes an entity model that represents a system as a collection of entities and their interaction points, a behavior model that represents the functionality of the system as a collection of services and their interactions, and an assignment relation that defines a mapping relation from the behavior to the entity model. As stated in the book, “each behavior in the behavior model is assigned to one entity in the entity model, and interactions are assigned to interaction points.” Each level of abstraction or increasing level of detail in the architecture is modeled this way. A causality relation defines how the occurrence of an interaction depends on the occurrence or nonoccurrence of other interactions. Methods are introduced to model complex interactions or behaviors as a composition of smaller sub-behaviors while preserving their correctness.

Chapter 7 describes an interactive system as achieving its functional objective by allowing end-to-end communication among a large number of (possibly geographically spread) users in a distributed system. In addition to the notion of a service, this characterization of an interactive system gives rise to additional concepts such as protocol, abstract interface, real interface, and protocol layering. While the service concept is used to represent the external perspective of a given system, the protocol concept is an internal perspective used to precisely define how the interacting parts of a system contribute to the delivery of an external service. Chapters 8 through 11 describe methods for designing services and protocols, and chapter 12 discusses a reference model for implementing interactive systems.

Upon the completion of this book, readers will have a systematic way of modeling complex interactive systems as a collection of related services and protocols. An appendix is also provided with a set of exercises and solutions that can be used to test one’s understanding and mastery of the concepts. The book is a great resource for those interested in architectural design, although it is limited to those systems where services, protocols, and interfaces play an important role. The formalism of the methodology introduced in this book makes it a difficult read, and the specificity of its notation can be a detriment to its wider acceptance.

Reviewer:  Raghvinder Sangwan Review #: CR145375 (1709-0578)
Bookmark and Share
  Featured Reviewer  
 
Software Architectures (D.2.11 )
 
 
Interactive Systems (D.4.7 ... )
 
Would you recommend this review?
yes
no
Other reviews under "Software Architectures": Date
Software architecture in practice
Bass L., Clements P., Kazman R., Addison-Wesley Longman Publishing Co., Inc., Boston, MA, 1998. Type: Book (9780201199307)
Sep 1 1999
CORBA design patterns
Mowbray T., Malveau R., John Wiley & Sons, Inc., New York, NY, 1997. Type: Book (9780471158820)
Sep 1 1998
Developing business systems with CORBA
Sadiq W., Cummins F., Cambridge University Press, New York, NY, 1998. Type: Book (9780521646505)
Feb 1 1999
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy