Part 4 Architecture as Decisions

Parts 2 and 3 presented principles and methods for analyzing and synthesizing architecture. Because of the complexity inherent in architecture, many of the steps involved in analysis and synthesis are difficult to conduct exhaustively. For example, we considered only seven concepts for the Hybrid Car in Chapter 12, and we did not exhaustively search the space of concept ­fragment combinations. Although some aspects of these tasks can be reduced to computation, great care must be taken when distilling the outputs of computational models to yield recommendations. With these thoughts in mind, in Part 4 we embark on architectural decision support, where we will investigate how methods and tools can support, but not replace, the role of the architect.

Part 4 will introduce computational methods and tools that can be useful to the system ­architect. These are taken from the fields of decision analysis, global optimization, and data mining.

Our intentions are twofold. On the one hand, methods and tools can augment the architect’s analysis, helping to reduce ambiguity, employ structured creativity, and manage complexity. However, the second purpose of Part 4 is to create mental models for the reader (such as the tradespace mental model). It has been our experience that some of the constructs and modes of reasoning presented in this part are useful for supporting architectural decisions, even without actually building analytic models.

Part 4 is organized as follows. In Chapter 14, we illustrate the system-architecting process as a decision-making process. We provide an overview of decision support, with an eye to restricting the field of view to the correct subset of decisions. In theory, every stroke of the painter’s brush is a decision, but not all decisions are architectural decisions. We illustrate these ideas with a simple case study of the Apollo mission-mode decision, to demonstrate the power of these methods and tools.

In Chapter 15 we examine how to synthesize information from an architecture tradespace—that is, the result of evaluating a set of architectures. We discuss how to combine tools such as Pareto analysis, design of experiments, and sensitivity analysis to gain a better understanding of the main architectural tradeoffs, sensitivities, and couplings between decisions. In particular, we explore how to structure a complex architectural tradespace around a hierarchy of decisions. We will argue that developing the hierarchy of decisions is a key lever on managing complexity, and that knowing which decisions have the greatest impact is at least as important as finding the model’s prediction of the best architecture.

In Chapter 16, we show how to encode architectural decisions in a model that can be used by a computer to automatically generate and explore a tradespace. We start by introducing the idea of system architecting problems and the canonical types of decisions that the architect makes. Based on this study, we propose six patterns of architectural decisions, and we introduce their corresponding formulation as optimization problems. We look at the mathematical structure of these problems and discuss similarities to, and differences from, classical optimization problems (knapsack problem, traveling salesman problem). A single class of tools—heuristic optimization algorithms—is introduced as an approach to solving architectural problems computationally.

The appendices describe additional tools that can be used to support the main functions of decision support (representing, simulating, structuring, and viewing). In particular, we discuss in the appendices how to automatically enumerate and evaluate architectures using rule-based systems, and how to structure the tradespace using clustering algorithms.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.119.136.84