Systems Engineering Systems Architecture

© All Rights Reserved

Als PDF, TXT **herunterladen** oder online auf Scribd lesen

5 Aufrufe

Systems Engineering Systems Architecture

© All Rights Reserved

Als PDF, TXT **herunterladen** oder online auf Scribd lesen

- Family Stress
- Introduction to Discrete Mathematics
- psychology of language and thought _ noam chomsky
- BC0039-Discrete Mathematics-Model Question Paper
- under tommorrow urban planning using architectural tectonics.pdf
- Mathematic Foundations of Computer Science
- Large Scale Systems - Jamshidi
- Additive Model of Reliability of Biometric Systems with Exponential Distribution of Failure Probability
- Concept Measure Supported Aesthetics Ontology Construction for Videos
- ERP-3
- Summative Assessment -Essay 1 Strategic
- Valenzo_H
- System Analysis
- Unit 1 Slides
- Different Types of Relations
- SD Main Basic Equation
- Generation of Forms
- ME
- Family Business (FB) planning in Zimbabwe: a perspective of the Flea Market traders in Masvingo Urban
- Kravchenko N Article

Sie sind auf Seite 1von 21

Daniel Selva,1 , Bruce Cameron,2 and Ed Crawley3

2 Engineering Systems Division, Massachusetts Institute of Technology, Cambridge, MA

3 Aeronautics and Astronautics, Cambridge, MA

Received 23 October 2016; Accepted 12 November 2016, after one or more revisions

Published online in Wiley Online Library (wileyonlinelibrary.com).

DOI 10.1002/sys.21370

ABSTRACT

This paper proposes a set of six canonical classes of architectural decisions derived from the tasks

described in the system architecture body of knowledge and from real system architecture problems.

These patterns can be useful in modeling architectural decisions in a wide range of complex engineering

systems. They lead to intelligible problem formulations with simple constraint structures and facilitate the

extraction of relevant architectural features for the application of data mining and knowledge discovery

techniques. For each pattern, we provide a description, a few examples of its application, and briefly

discuss quantitative and qualitative insights and heuristics. A few important theoretical properties of the

corresponding set of patterns are discussed, such as completeness, degradedness, and computational

complexity, as well as some practical guidance to be taken into account when applying them to real-life

architecture problems. These patterns are intended to be a useful tool for researchers, practitioners, and

educators alike by facilitating instruction and communication among system architects and with researchers

from other fields such as combinatorics, computer science and operations research; and fostering reuse

of domain-independent knowledge necessary to develop architecture decision support tools (and thus

development time and cost reductions for such tools). C 2016 Wiley Periodicals, Inc. Syst Eng 00: 120,

2016

1. INTRODUCTION to make decisions about the main system concept, the main

entities of function and form, and their relationships. We refer

1.1. Background and Literature Review to these decisions as architectural decisions.

Since system architecture is fundamentally a decision-

Crawley, Cameron, and Selva [2015: 110] provide the follow- making activity, much of the research in system architecture

ing definition for system architecture: The embodiment of has been around different methods of decision support. In par-

concept, the allocation of function to elements of form, and ticular, system architecture decision support can be broadly

definition of relationships among the elements and with the classified in three categories: (a) Descriptive decision sup-

surrounding context. The role of the system architect is thus port, with architecture frameworks and applications of model-

based systems engineering; (b) Prescriptive qualitative deci-

Author to whom all correspondence should be addressed (e-mail: sion support, primarily represented by architecture heuristics

ds925@cornell.edu). and patterns; (c) Prescriptive quantitative decision support,

such as in computation with design structure matrices (DSMs)

Systems Engineering Vol. 00, No. 00, 2016 or tradespace exploration and optimization.

C 2016 Wiley Periodicals, Inc.

1

2 SELVA, CAMERON, AND CRAWLEY

1.1.1. Descriptive Decision Support foster reuse of knowledge and thus can reduce the time it takes

Perhaps, the majority of work in system architecture to design a system. The first use of patterns in architecting

today is devoted to the development and application of is attributed to Christopher Alexander in the domain of civil

system modeling methods and tools to represent, describe, architecture. Alexanders book A Pattern Language: Towns,

document, or communicate system architecture. The model- Buildings, Construction contains a list of 253 patterns to de-

based paradigm is replacing document-centric practices to sign anything from houses and building to towns [Alexander,

document system architectures; SysML [Weilkiens, 2006], 1977]. Each pattern contains a description of the problem,

OPM [Dori, 2002], and FFBD and IDEF0 for functional conflict or situation, as well as a proposed solution. For ex-

architecture are among the most widely used tools [National ample, Pattern 159 Light on each side of two rooms states

Institute of Standards and Technology, Computer Systems that When they have a choice, people will always gravitate

Laboratory, 1993]. to those rooms which have light on two sides, and leave the

A major development in the history of system architecture rooms which are only lit from one side unused and empty.

was the introduction of architecture frameworks. Essentially, Hence, the pattern suggests to locate each room so that it has

a framework is a collection of views and viewpoints. A view is outdoor space outside it on at least two sides, and then place

a model, diagram, table, picture, or document that describes windows in these outdoor walls so that natural light falls into

one or a few aspects of the system that are of relevance to every room from more than one direction. While the pattern-

one or more stakeholders, such as functional decomposition, based approach to civil architecture was heavily criticized

concept of operations, or interfaces between the system com- within the community, its impact has been undeniable in other

ponents. A viewpoint is the template and set of guidelines to domains, especially in software architecture [Gamma et al.,

construct a view. While different frameworks have different 1994].

goals, the purpose of frameworks is generally to improve The patterns presented in this paper intend to provide sim-

the architecture process by providing a common language ilar high-level qualitative, prescriptive, experience-based de-

to facilitate communication across teams and codifying an cision support to system architects, focusing on the process

institutionalizing best practices [Maier and Rechtin, 2000: of modeling architectural decisions and formulating decision

222]. problems about the system architecture. Note that this does

While architecture frameworks are complex (e.g., DODAF not consist in simply removing the need for a creative and

2.02 consists of 53 viewpoints) and systems modeling lan- expert system architect and reducing the architecture process

guages are expressive, they focus on describing a system to a mechanistic selection and application of patterns; instead,

with a predetermined design and architecture, and there is these patterns are meant to support the architect and help him

still little emphasis on the modeling of architectural and or her make better decisions.

design decisions. The patterns presented in this paper and

in particular their use in different graphical models can be

seen as a formal way of defining architectural alternatives in 1.1.3. Prescriptive Quantitative Decision Support

model-based systems architecture that is more expressive than Much of the prescriptive quantitative work in system archi-

what exists today (e.g., SysML variants [Weilkiens, 2006:, tecture has been around DSMs, introduced by Steward in the

128130]). 1960s [Steward, 1981] and widely adopted both in industry

and academia due to their simplicity and modeling power

[Eppinger and Browning, 2012]. DSMs are matrices that

1.1.2. Prescriptive Qualitative Decision Support represent pairwise relationships between one or two sets of

The foundational work that initiated the discipline of sys- entities in a system, such as the structural relationships be-

tems architecture is widely attributed to Rechtin [1991] and tween the components of a system, or the mapping of sys-

Rechtin and Maier [2000] later, who coined the term systems tem functions to components. While they can be used for

architecting. This early work emphasized architecting as an purely descriptive purposes, DSMs are interesting because

art, rather than a science, and focused on the use of heuristics, their symbolic nature yields itself to computation. For in-

that is, rules of thumb containing simple principles or ideas stance, clustering and sequencing algorithms can be applied

that are meant to guide the architect in different phases of to DSMs in order to help system architects find good system

the architecture process (e.g., In partitioning, choose the decompositions or good sequences of activities [Kalligeros,

elements so that they are as independent as possible, that De Weck, and De Neufville, 2006]. Of note, the use of binary

is, elements with low external complexity and high internal matrices to represent and analyze the structure of systems

cohesion[Maier and Rechtin, 2000: 180]). was studied in depth by Warfield, Hill, Klir, Hall, Harary,

A related concept that is often used in the architecture of and Friedman among others during the efforts in the 1960s

some specific types of systems is that of patterns. A pattern and 1970s to develop a general theory of systems [Harary,

in design can be defined as the description of a conflict or Norman, and Cartwright, 1965; Klir, 1969; Warfield, 1976,

situation that appears often in the design of a specific kind of Hall, 1989]. Their work represents the foundations of much

system, such as buildings or software systems, together with of modern systems engineering theory, including precursors

a prescriptive portion of how to solve that conflict. This is the to DSMs, decision networks, and activity diagrams.

definition that we adopt here. The value of patterns in design Another approach to quantitative decision support is based

is twofold: first, they facilitate communication between de- on the literature of decision analysis. Methods such as the

signers, since they can, for example, describe complex trade- Pugh matrix [Pugh, 1991], the analytic hierarchy process

offs succinctly by simply citing a known pattern; second, they [Saaty, 1990], and decision trees and networks [Howard and

PATTERNS IN SYSTEM ARCHITECTURE DECISIONS 3

Matheson, 2005] are applicable to architectural decision mak- Table I. Decisions and Sets of Alternatives for the Apollo

ing, despite some well-known criticisms related to their rigor Program as Formulated by Simmons [2008: 101]

[Hazelrigg, 2010] or the obvious problem of scalability to

large decision spaces. Optimization-based approaches are Decision Set of Alternatives

also common, in which the architecture problem is modeled Earth orbit rendezvous (EOR) {yes, no}

through a set of variables (the architectural decisions) and Earth launch (EL) {orbit, direct}

a set of objectives (metrics that are proxies of stakeholder Lunar orbit rendezvous (LOR) {yes, no}

needs), and the goal is to find the combination of archi- Moon arrival (MA) {orbit, direct}

tectural variables that maximizes values to stakeholders (or Moon departure (MD) {orbit, direct}

at least an architecture that satisfices them [Simon, 1972]). Crew module crew (CMC) {2, 3}

Other essential tools used for conducting architectural trades, Lunar module crew (LMC) {0, 1, 2, 3}

such as sensitivity analysis and design of experiments, were Service module fuel (SMF) {cryogenic, storable}

mostly adapted from the related fields of engineering design Lunar module fuel (LMF) {cryogenic, storable, N/A}

[Hazelrigg, 1998; Papalambros and Wilde, 2000] and mul-

tidisciplinary design optimization (MDO) [Sobieszczanski-

Sobieski, 1995].

Relatively little work has been devoted to developing de-

antisymmetric, and transitive. A set with a partial order rela-

cision support tools that are applicable to any domain (e.g.,

tion is called a poset. For example, the real numbers and the

automotive, aerospace), and especially tailored to the needs

operator less than or equal to define a poset. A total order

of system architects as opposed to lower-level design tasks.

relation is a partial order relation in which either (a, b) R

Dagli has a body of work on executable systems architect-

or (b, a) R hold. Any permutation of a set of elements

ing using SysML and Petri nets [Wang and Dagli, 2011].

defines a total order relation. An equivalence relation is a re-

Simmons developed the architecture decision graph (ADG)

lation that is reflexive, symmetric, and transitive. Informally,

in which the architectural decisions, alternatives, constraints,

an equivalence relation describes elements that are similar

and metrics are all represented in a single graph to show

(equivalent) according to some criterion. Elements that are

their logical relationships. Simmons and Koo developed a

equivalent are said to belong to the same equivalence class,

methodology to not only represent but also enumerate and

and thus an equivalence relation partitions a set of elements

evaluate architectures [Simmons, 2008], using a modeling

into equivalence classes. For example, given the set of nat-

language based on OPM developed by Koo, Crawley, and

ural numbers up to 10, a possible equivalence relation may

Magee [2005].

separate odd numbers from even numbers (i.e., in a sense, this

Architecture space exploration and optimization tools are

relation states that all even numbers are equivalent and all odd

complex software packages and it takes substantial resources

numbers are equivalent, which can be seen as a description of

to develop and maintain them. The patterns presented in this

modulo-2 arithmetic.) Any partition of a set of elements (a

paper are meant to improve system architecture by facilitat-

grouping of its elements into mutually exclusive and collec-

ing knowledge reuse, accelerating problem formulation, and

tively exhaustive subsets) defines an equivalence relation. See

reducing the costs of developing and maintaining architecture

Harary et al. [1965] for an excellent introduction to the theory

space exploration and optimization tools.

of directed graphs to study systems structure.

The following basic terms from discrete mathematics are Modeling of architectural decisions has so far embraced

used in the remainder of the paper: Given two sets A and the traditional approach for formulating a problem used

B, the Cartesian product of A and B is defined as A B = in decision analysis and design of experiments, in which

{(a, b) a A, b B}. A binary relation from A to B is any an architecture a is represented as a set of decisions X =

subset of the Cartesian product: R A B. For example, {x1 , x2 , , xn }, and each decision xi has a discrete and usu-

if A = [a1 , a2 ] and B = [b1 , b2 , b3 ], then the following are ally small set of m i alternatives Oi . The architecture space is

valid binary relations: R = {(a1 , b1 ), (a1 , b2 ), (a2 , b3 )}, R = thus simply defined by the Cartesian product of all the sets of

{(a2 , b3 )}, R = {}, R = A B. N-ary relations are exten- alternatives.

sions of binary relations to N > 2, that is, subsets of the [ ] { }

Cartesian product A1 A2 A N . A binary relation on a a = x1 , x2 , , xn xi Oi = oi1 , , oim i i = [1, n]

single set A is a binary relation from A to itself: R A A.

For example, the edges in a directed graph define a relation = O1 O2 On , where Oi O j

over the set of its vertices. A relation over a set A is said to { }

= (a, b) a Oi , b O j . (1)

be reflexive if every element of the set belongs to it, that is,

(a, a) R a A. It is said to be symmetric if (a, b) R

(b, a) R and antisymmetric if (a, b) R, (b, a) R a = For example, consider the Apollo Project case study used

b. It is said to be transitive if (a, b) R, (b, c) R (a, c) by Simmons to illustrate his methodology. His formulation

R. Two special kinds of relations on a set are of particular consists of n = 9 decisions, with a number of alternatives per

interest. A partial order relation is a relation that is reflexive, decision ranging from 2 to 4, as shown in Table I.

4 SELVA, CAMERON, AND CRAWLEY

One architecture in this case is obtained by choosing one al- vehicles in the architecture. For example, if there are two

ternative for each decision, and thus the full architecture space vehicles, then each function (e.g., a core propulsive maneu-

can be obtained by a full factorial enumeration algorithm, ver) has two or three alternatives: it can either be assigned

such as a set of nested for loops, one for each decision, or a to vehicle 1, to vehicle 2, or (perhaps) to both vehicles.

mixed-radix generation algorithm [Knuth, 2011a]. However, It cannot be assigned to any subset of vehicles containing

some combinations of alternatives are invalid. Indeed, the first vehicles 3 and 4, which are absent from the architecture.

five decisions are coupled and concern what Simmons calls Hence, a classical decision formulation would result in many

the mission mode of the architecture. For instance, one cannot dynamic constraints to eliminate the illogical casesagain,

launch direct to the Moon (EL =direct) and at the same time constraints that are an artifact of the problem formulation and

perform an Earth orbit rendezvous (EOR =yes). This com- could hinder both computational performance and knowledge

bination is logically impossible and thus must be eliminated discovery. Second, the set of alternatives for a function grows

from the architecture space by means of constraints. There are exponentially with the number of vehicles, which may also

two other constraints of the same kind, which together elim- lead to computational and knowledge discovery difficulties.

inate 17 out of the 32 architecture fragments determined by Summarizing, current models used to formulate architec-

the Cartesian product of the five sets of alternatives. Note that tural decisions are based on explicit enumeration of the Carte-

such constraints have nothing to do with the actual problem, sian product of the sets of alternatives for each decision.

they are just an artifact of the formulation (there are 15, and While this works well for some types of architectural deci-

not 32 possible different mission modes). In fact, if we change sions, it leads to limitations in both computational efficiency

the formulation to one that has a single mission mode decision and knowledge discovery when applied to other important

with 15 alternatives, the need for these constraints disappears. architectural decisions (e.g., system decomposition and func-

Thus, how do we choose between the two formulations? On tional allocation). Therefore, the following research question

the one hand, constraints generally add computational com- is raised:

plexity to the optimization problem, since they can be seen

as dips in the objective space that may undermine a local

hill climbing process by the algorithm. Eliminating them will Research Question: Is there a small set of mathematical mod-

likely lead to better search performance. On the other hand, els that combined can be used to formulate a wide range of

having a single decision for all the mission modes means that system architecture problems in a way that is understandable,

any information related to the sensitivity or coupling of the computationally efficient, and leads to discovery of architec-

mission mode decisions is hidden. Thus, the architect may tural insight?

actually obtain more insight by using the formulation with

more decisions.

While this example based on the mission-mode decision 2. Approach

of the Apollo project illustrates a possible trade-off in the

choice of formulation between computational efficiency and We attempt to find one such set of mathematical models for

knowledge discovery, the decisions in the Apollo program the research question by adopting a twofold approach: (a)

can actually be easily modeled with a formulation based on top-down, from the tasks of the system architect found in

Eq. 1. Indeed, this approach works well for some types of current systems architecture literature; and (b) bottom-up,

architectural decisions, such as in specialization and charac- based on generalization from a set of real-life specific system

terization of the functions and components of the system (e.g., architecture problems.

the type of propellant used for each stage of each vehicle

in the system). However, it fails to adequately capture the

structure of other important classes of architectural decisions,

in particular decisions related to system decomposition and 2.1. Top-Down Approach from the Tasks

functional allocationtwo tasks that are at the core of system of the System Architect

architecture. The definition of system architecture provided in Section 1

Consider, for example, the problem of architecting the contains the essence of the main tasks of the system architect:

U.S. human space exploration program, tackled by Rudat defining the main elements of form and function and their

[2012]. A simplified functional analysis reveals that the main relationships, with emphasis on the allocation of function

functions to be performed by the system are related to the to form. Many other definitions of system architecture ex-

transportation of humans and cargo (essentially, performing ist: Ulrich and Eppinger define it as The arrangement of

a series of propulsive maneuvers to travel between planetary the functional elements into physical blocks [Ulrich and

bodies and conduct ascent and landing operations) and to Eppinger, 1995: 165]; finally, the ISO/IEC 42010 standard

habitation. One of the most important decisions to make in describes it as The set of fundamental concepts or properties

the system is the number of vehicles that it will have (sys- of the system and its environment, embodied in its elements,

tem decomposition), and what functions each vehicle will do relationships, and the principles of its design and evolution

(mapping of function to form). [International Organization Of Standardization, 2011]. While

A formulation based on Eq. 1 could consist of a decision for these definitions are clearly different, they all highlight a

the number of vehicles (e.g., one, two, three, or four vehicles) few tasks of system architecture, namely, the arrangement of

plus one decision for each function that allocates it to one the system into subsystems and components, the mapping of

or more vehicles. This raises two difficulties. First, the set functions to these components, and the definition of interfaces

of alternatives for each function depends on the number of between the components.

PATTERNS IN SYSTEM ARCHITECTURE DECISIONS 5

A more detailed list of the tasks of the system architect can has already been established, such as when deciding how

be found in all major textbooks in systems architecture (e.g., to connect multiple fields with pipelines in a gas extraction

Crawley et al. [2015], Maier and Rechtin [2000], Rechtin system, or how to connect systems in a system-of-systems.

[1991], Dickerson and Mavris [2009], and Buede [2009]) This formulation appears in much of the early work in systems

and includes: (a) defining and prioritizing system goals; (b) science and engineering [Warfield and Hill, 1972; Warfield,

allocating goals to solution-neutral functions; (c) specializing 1976; Warfield, 1978, 1973] and has been considered by some

solution-neutral functions into solution-specific functions and authors to be the primary formulation for system design prob-

decomposing functions into internal functions; (d) defining lems [Chapman, Rozenblit, and Bahill, 2001]. Mathemati-

functional flows and connectivity between functions; (e) map- cally, the fifth task consists in finding the optimal subset of

ping or allocating function to form; (f) aggregating entities of edges of a fully connected graph.

form (components) into subsystems; (g) characterizing (i.e., The sixth task concerns the selection of the system goals.

defining the attributes of) entities of form; (h) defining inter- Mathematically, the sixth task consists in finding the optimal

faces and connectivity between systems and subsystems; and subset among a set of entities.

(i) planning system deployment and operations. Finally, the seventh task consists in planning system de-

We now focus on the aspects of these tasks that benefit ployment and operations. Mathematically, this task may con-

from being formulated as decision-making problems. Some sist in finding the optimal ordering of a sequence of tasks.

of the previous tasks are mathematically very similar, such In summary, in addition to the original formulation from

as allocation of goals to functions and function to form. If Equation 1, the following mathematical formulations emerge

we combine mathematically akin tasks, we end up with seven from the deductive analysis: choosing among all partitions of

different tasks as shown in Table II. Note that the numbers of a set of elements, among all binary relations between two sets

these tasks do not necessarily imply a sequence. of entities, among all possible orderings of a set of entities,

The first task consists in the decomposition (or aggrega- among all possible ways of connecting a set of entities, and

tion) of entities of form and function. Guidelines or heuristics among all subsets of a set of entities.

to perform this task have been described in numerous works,

such as Parnas [1972], Suh [1998], Maier and Rechtin [2000:

273274], Buede [2009: 218220], and Crawley et al. [2015: 2.2. Bottom-Up Approach from Examples

297302]. Mathematically, this first task consists in finding of Real-Life Architecture Problems

an optimal partitioning of a set of entities.

The second task consists in mapping or allocating entities In the bottom-up approach, we list several specific exam-

of one set (e.g., functions) to entities of another set (e.g., ples of real-life architectural decision problems and try to

components). Note that the two tasks may not be independent, generalize the patterns that arise from them. We considered

since function-to-form mapping may inform system decom- six different examples. These systems were chosen based on

position. The analysis of function-to-form mapping from the actual architecture studies conducted by the authors over the

point of view of functions and relations in set theory is the years. It takes substantial time and access to information and

preferred approach in most of the literature [Holtta-Otto and other resources to study the architecture of systems of this

Weck, 2007; Buede, 2009: 257259]. Mathematically, this level of complexity. The description of these systems below is

task consists in defining an optimal binary relation between succinct for the sake of brevity, but interested readers can find

two sets of entities. more details about these systems and their decision formu-

The third and fourth tasks concern the specialization and lations in our publications [Dominguez-Garcia et al., 2007;

characterization of the main entities of function and form. Golkar et al., 2009; Selva, Cameron, and Crawley, 2014a;

Here, the terms specialization and characterization are used Sanchez-Net et al., 2015; Patel et al., 2016].

in the sense of OPMs structural relationships [Dori, 2002],

also described in Crawley et al. [2015: 48]. Specialization

refers to the concretization of a general entity into a more

specific one, and typically, we will be concerned with the 2.2.1. NEOSS: Architecting the Nations Earth Observing

transition from solution-neutral to solution-specific entities of Satellite Systems

function and form. For example, one solution-neutral func- The major architectural decisions in Earth observing satellite

tion of a weather satellite may be to take measurements of systems are the selection of the instruments and the assign-

atmospheric humidity. A specialization of this function is to ment of instruments into spacecraft and orbits [Selva et al.,

measure variations in the spectral radiance in specific portions 2014a]. For example, Envisat is a single-satellite mission in

of the infrared spectrum. Characterization refers to defining a sun-synchronous orbit at 800 km carrying 10 instruments

the value of an attribute of an entity of function or form. including a synthetic aperture radar, a scatterometer, and mul-

For example, two different characterizations of the humidity tiple microwave and infrared imagers. Another important con-

sounding function can be obtained by measuring in different sideration is the sequence in which the different spacecraft are

parts of the spectrum, such as infrared versus millimeter wave. launched, since, for example, gaps in long data records must

Mathematically, these two decisions are well suited for the be avoided, and budget levels must be maintained.

formulation of Equation 1.

The fifth task concerns the definition of interfaces between

components, once these have been selected and defined. The 2.2.2. NASA GN&C Family of Systems

connectivity task emphasizes the definition of topology in An important consideration when designing a family of Guid-

a system whose main decomposition of function and form ance, Navigation and Control (GN&C) systems for NASA to

6 SELVA, CAMERON, AND CRAWLEY

Table II. Tasks of the System Architect That Are Amenable to Formulation as Decision-Making Problems

Task Consists of

1. Decomposing/Aggregating Form Choosing a system decomposition, that is, clustering elements of form

2. Mapping Function to Form Assigning elements of function to elements of form, or goals to functions

3. Specializing Form and Function Choosing one among several alternatives for a certain element of form or

function (e.g., going from solution-neutral to solution-specific)

4. Characterizing Form and Function Choosing one among several alternatives for the attributes of an element of

form or function

5. Connecting Form and Function Defining system topology and interfaces

6. Selecting Goals and Functions Defining scope by choosing among a set of candidate goals or functions

7. Planning system deployment and operations Defining the sequence in which technologies will be infused into the project,

system components will be deployed, or major operations will be conducted

be used in a wide range of missions from class A man-rated as choosing among all partitions of a set of elements (instru-

missions to class C robotic spacecraft is achieving the dif- ments), or choosing among all binary relations between two

ferent required levels of reliability. Reliability can be traded sets of entities (instruments and orbits); the mission schedul-

against mass and cost by choosing the number and type of the ing problem is essentially choosing among all possible order-

sensors, computers and actuators, as well as the patterns of ings of a set of entities (missions); the decision of connecting

connectivity between them [Dominguez-Garcia et al., 2007]. fields and reservoirs in the oil and gas network is modeled

as choosing among all possible ways of connecting a set

of entities; finally, the instrument selection problem can be

2.2.3. Communication Systems modeled choosing among all subsets of a set of entities.

In the case of communication systems, some key architec- One could argue that this small set of systems is not repre-

tural decisions concern the selection of protocols and network sentative of any and every system out there. For example, all

functionalities to implement, the allocation of such func- these systems can be described as either complex networked

tions to system components, the number, type and location systems or systems of systems. In other words, these are

of assets (e.g., ground stations, satellites, balloons, and air- systems for which major decisions are easy to interpret as

craft), and the selection of frequency bands and technologies graphs. For many other systems (e.g., cars or other vehicles),

(e.g., radiofrequency vs. optical communications) [Sanchez- the use of graphs to describe decisions may be less natural

Net et al., 2015]. or useful. However, in our experience, those are probably

systems for which most of the architecture (system decom-

position, mapping of function to form) is quite fixed (e.g., the

2.2.4. Energy Systems internal combustion engine car), and most of the remaining

An important architectural decision of an energy system is the decisions concern the characterization or specialization of

types of renewable and conventional energies that are used. function and form, which can be easily formulated using the

Given certain projections of demand and characteristics of simple combining pattern.

different sources of energy, including efficiency, nonrecurring

and recurring cost, and reliability, choosing a portfolio will

drive key decisions such as whether to build new infrastruc- 2.3. Review of Classical Combinatorial

ture requiring large capital expenditures. Other important de- Optimization Problems

cisions are related to the degree of intelligence of the power

distribution networks [Patel et al., 2016]. Appendix contains a list of problems adapted from Gandi-

bleuxs classification of combinatorial optimization prob-

lems according to their combinatorial structure [Ehrgott and

2.2.5. Resource Exploration Systems Gandibleux, 2000]. These problems were mostly used to

The architecture of a resource exploration system such as an check the completeness of our set of patterns and to make the

oil platform can be modeled as a set of fields and reservoirs connection between names and concepts in the patterns and

connected in an oil and gas network. The number, type, and the literature in combinatorial optimization.

location of the facilities as well as their pattern of connectivity

are the key decisions in this case [Golkar et al., 2009].

When abstracted out of their domain-specific context, we 3. PATTERNS IN ARCHITECTURAL DECISIONS

observe that the decisions involved in these problems can be

modeled using the formulations identified in the top-down The previous section has described the approach used to iden-

approach: the original formulation in Equation 1 is useful, tify a set of mathematical models sought in the research ques-

for example, in the selection of frequency bands in commu- tion. This section proceeds to describe these formulations. A

nication systems or type of facility in resource exploration pattern-based approach is used: each model is introduced as a

systems; the instrument packaging decision can be modeled different pattern that appears when formulating architectural

PATTERNS IN SYSTEM ARCHITECTURE DECISIONS 7

Pattern Description

Combining There is a set of decisions where each decision has its own discrete set of options, and an architecture fragment is

defined by choosing exactly one option from each decision.

Downselecting There is a set of candidate entities and an architecture fragment is defined by choosing a subset of it.

Assigning There are two different sets of entities, and an architecture fragment is defined by assigning each entity from one

set to a subset of entities from the other set.

Partitioning There is a set of entities and an architecture fragment is defined by a partition of the set into subsets that are

mutually exclusive and collectively exhaustive.

Permuting There is a set of entities and an architecture fragment is defined by an ordering or permutation of the set.

Connecting There is a set of entities that can be seen as nodes in a graph and an architecture fragment is defined by a set of

edges in the graph.

describing the six patterns: for each pattern, we provide a

description and one or more examples. We then discuss some

theoretical aspects of the set of patterns, particularly the

completeness and degradedness of the mapping between real

problems and patterns, and their computational complexity.

Finally, some aspects related to using the patterns in practice

are discussed, such as how to model the architecture of a

complex system as a graph of interconnected decisions, each

of which belongs to one of the patterns. A particular example

concerning the architecture of the aforementioned NEOSS

system is fleshed out in detail throughout the rest of the paper.

Figure 1. Two different architecture fragments in an assigning pat-

Table III introduces the six patterns of architectural decisions. tern with M = 3 and N = 5.

Each pattern defines a different formulation of decisions that

can be exploited to gain insight about the system architecture,

and also to solve the problem more efficiently by using more 3.1.2. The Assigning Pattern

appropriate tools. The term architecture fragment is used Description: The assigning pattern has to do with assignments

to refer to the outcome of making one or more decisions to or allocations between two predefined sets of entities, hence-

define a part of the system architecture. forth called for simplicity the left set and the right set. We say

that the entities in the left set are assigned to the entities in the

right set. In the most general formulation, each entity in the

left set can be assigned to any subset of entities from the right

3.1.1. The Combining Pattern

set, including the empty set and the universal set. Given two

Description: Given a set of n decisions X = {x1 , x2 , , sets of entities L = {L 1 , , L M } and R = {R1 , , R N }, an

xn }, where each decision xi has its own discrete set of m i architecture or architecture fragment defined by an assigning

options xi Oi = {oi1 , , oim i }, an architecture or archi- pattern can be represented by an M N binary matrix A

tecture fragment a in the combining pattern is given by an where:

n-tuple, that is, the combination of exactly one option from {

each decision: 1, L i connected toR j

Ai j = . (3)

[ ] 0, otherwise

a = x1 , x2 , , xn xi Oi i = [1, n] . (2)

The pattern is pictorially illustrated using bipartite graphs

Therefore, the Cartesian product of the sets Oi contains and binary matrices in Figure 1. Note that this formulation

all the possible architectures in this pattern. This is the for- includes any binary relation from L to R, that is, any subset of

mulation used in design of experiments [Montgomery, 2010], L R. Variations of this formulation may include constraints

decision trees, morphological analysis [Zwicky, 1969], and on the minimum and maximum number of connections per

Simmons ADGs [Simmons, 2008]. entity of each set. Some cases are of particular interest.

Example: The Apollo example presented in Section 1 is a For example, functions are relations in which each element

good example of the combining pattern, in which the archi- of L is assigned to exactly one element of R (i.e., not all

tecture is represented by a set of nine decisions, each with its relations are functions). In one-to-one or injective functions,

own set options. each element of R is assigned to at most one element from

8 SELVA, CAMERON, AND CRAWLEY

one is a restricted growth string, that is, an array of integers

[x1 , x2 , , x N ] where xi = j means that element i is assigned

to subset j and subset indices are assigned as needed. For

example, in Figure 2, the first element is assigned to subset

1 and thus a1 (1) = 1. New subsets are created for the second

and third elements as they are all in different subsets (labeled

as 2 and 3). The fourth element is assigned to subset 3. Ele-

ments 57 are all assigned to a new subset labeled as 4, and

finally element 8 belongs to subset 1. The constraints x1 =

1, xk [1, max x j + 1]k are used to ensure that subsets are

j<k

labeled uniquely, in ascending order as they are created by

the assignment. Otherwise, as pointed out by Muhlenbein

[1989], each real partition would have N ! possible encodings,

Figure 2. Two different architecture fragments in a partitioning pat- which violates the principle of minimum redundancy of good

tern with eight elements. In the array representation, a(i) = j means representations [Radcliffe, 1991].

that element i is assigned to subset j. Subset labels are assigned as A covering pattern can be defined as a derived case of

needed. the partitioning pattern in which the nonoverlap constraint is

relaxed. Thus, in the covering pattern, an entity can be as-

signed to more than one subset. This formulation is frequently

L; in onto or surjective functions, each element of R is used in DSM partitioning algorithms [Browning, 2001].

assigned to at least one element from L; finally, functions Example: The instrument-to-spacecraft assignment deci-

that are both injective and surjective are called one-to-one sion from the NEOSS example used to illustrate the assigning

correspondences or bijective functions. pattern can also be used as an example of the partitioning

Example: Consider the architecture of the aforementioned pattern if a set of orbits is not available a priori. In this case,

Earth observing system in which six candidate instruments there is a set of six candidate instruments, and an architec-

(sounder, radiometer, imager, radar, lidar, and GPS receiver) ture fragment is given by a partition of the six instruments

and three orbits (geostationary, sun-synchronous, and polar) into nonoverlapping subsets. For instance, two alternative

have been selected. The mapping of instruments to orbits is an architecture fragments for this problem are {{lidar}, {radar,

important architectural decision, since it defines the number radiometer}, {imager, sounder, gps}} and {{lidar}, {radar},

and size of spacecraft, which drives most of the systems {radiometer, gps}, {imager, sounder}}. Note that there is

functionality, cost, and performance [Selva et al., 2014b]. In exactly one copy of each instrument in the architecture, and

this particular case, there are no restrictions imposed on the that no orbit is defined for each of the resulting spacecraft

relations between instruments and orbits, and thus the total these orbits would be chosen based on the characteristics of

number of architectures is simply given by 218 = 262, 144. each payload.

This includes architectures that fly multiple copies of some

instruments, and zero copies of other instruments; in fact, it

includes the architecture where no instruments are assigned

to any orbit, that is, the do-nothing alternative. 3.1.4. The Downselecting Pattern

Description: The downselecting pattern is motivated by the

tasks of the system architect that require choosing a subset

of among a set of candidate entities. Typically, this pattern

3.1.3. The Partitioning Pattern arises in situations in which each entity adds some value

Description: The partitioning pattern arises when there is a and costs some resources and there are limited resources, so

set of entities that need to be grouped into nonoverlapping that choosing all entities is not possible. The downselecting

subsets. Given a set of entities E = {e1 , e2 , , e N }, an pattern is similar to the well-known 01 knapsack problem

architecture fragment in the partitioning pattern is given by in operations research [Sahni, 1975]. Given a set of enti-

a partition P of the set U, that is, any division of E into ties E = {E 1 , br k , E N }, an architecture fragment in the

a number of nonoverlapping subsets P = {S1 , S2 , , Sm }, downselecting pattern is given by an N 1 binary array A

where Si U, Si {} i, 1 m N, and the subsets are where:

mutually exclusive and exhaustive. In other words, P is a valid {

1, E i selected

architecture if: Ai = . (4)

0, otherwise

1. The union of all subsets in P is equal to U: m S = E.

i=1 i

2. The intersection of all elements in P is empty: m When the downselecting pattern arises in system architec-

i=1 ture, it is usually linked to defining the scope of the system, in

Si = .

the sense of a deliberate trade-off of capabilities of the system

The partitioning pattern is related to equivalence relations, against cost/risk in the presence of nonlinear mappings of

since the blocks or subsets of a partition can be identified capabilities to stakeholder utility and capabilities to cost. For

with equivalence classes. The pattern is illustrated in Figure 2. example, a downselecting pattern can be used to describe

Architecture fragments in the partitioning pattern can be rep- the problem of choosing among a set of conflicting system

PATTERNS IN SYSTEM ARCHITECTURE DECISIONS 9

such as edge cover or max flow problems.

Example: The connecting pattern appears naturally in net-

worked systems where resources such as data, water, oil, or

energy are transported throughout the network. In these cases,

the connecting pattern has to do with the topology of the

network, which is an important architectural decision in net-

works (e.g., star vs. meshed networks). For example, consider

the problem of architecting the water distribution network of

a small city. The city is divided in several areas of different

characteristics and needs (e.g., population, presence of natural

resources, and water needs). Assuming that a number of water

generation or treatment plants are already present in different

points in the city, the decision of how to connect those plants

is an instance of the connecting pattern.

Figure 3. Illustration of the connecting pattern.

goals, or among a set of candidate assets with overlapping 3.1.6. The Permuting Pattern

capabilities. Description: The permuting pattern appears when the archi-

Example: Continuing with NEOSS example, choosing tectural decision consists in defining a one-to-one mapping

among a set of candidate instruments, without regard for of a set of entities to a set of positions (of equal size). More

the spacecraft or orbits in which they will be allocated, formally, given a set of entities E = {E 1 , , E N }, an archi-

is an instance of the downselecting pattern. For example, tecture fragment in the permuting pattern is given:

if we choose from a set of eight candidate instruments { }

{radiometer, altimeter, imager, sounder, lidar, GPS receiver, O = x1 , x2 , , x N xi [1; N ] i, xi x j i, j [1; N ]

synthetic aperture radar (SAR), spectrometer}, two different i j. (6)

architecture fragments from a downselecting pattern would be

A1 = {radiometer, altimeter, GPS} = [1, 1, 0, 0, 0, 1, 0, 0],

A2 = {imager, sounder, SAR, spectrometer} = The Permuting Pattern can thus be seen as a bijection of E

[0, 0, 1, 1, 0, 0, 1, 1]. onto itself. An architecture fragment in the Permuting Pattern

can be represented by an array of integers, with two possi-

ble interpretations: element-based, or position-based. In the

element-based representation, the value of entry i indicates

3.1.5. The Connecting Pattern the index of the element in in the ith position, whereas in the

Description: The Connecting Pattern emphasizes the connec- position-based representation, the value of entry i indicates

tivity between a predetermined set of entities. Given a set the position of the ith element. For example, the sequence

of entities, seen as the vertices of a graph, an architecture {element 2, element 4, element 1, element 3} can be repre-

fragment in the connecting pattern is given by a set of edges sented by the array O = [2, 4, 1, 3] (element-based representa-

connecting those vertices. Hence, the pattern can be visu- tion), or by the array O = [3, 1, 4, 2] (position-based represen-

alized as adding edges to an empty graph, or equivalently, tation). Figure 4 shows two different architecture fragments

choosing a subset of edges from a fully connected graph. for the permuting pattern.

More formally, given a set of entities E = {E 1 , , E N }, an The permuting pattern is related to the concept of DSM

architecture or architecture fragment defined by a connecting sequencing in functional or process architecture [Browning

pattern is given by an N N binary square matrix A where: and Eppinger, 2002], in which the entities to be sorted are

functions or operations in a process. It is also related to two

{ classical combinatorial optimization problems: the traveling

1, E i connected to E j

Ai j = . (5) salesman problem [Dantzig and Fulkerson, 1954] and the job

0, otherwise

scheduling problem [Manne, 1960].

Therefore, the architecture fragment is represented by a In addition to its important role in functional architecture,

binary square matrix, namely, the adjacency matrix of the the permuting pattern can also support the physical archi-

graph. Note that the matrix is only symmetric if the graph tecture process (i.e., the process of describing the hierarchy

is directed. Figure 3 shows two different architecture frag- and connectivity of physical components in the system), for

ments in a generic instance of the connecting pattern with six instance, when dealing with the high-level geometrical posi-

entities. tioning or arrangement of a set of components. Such consid-

The connecting pattern is closely related to the defini- erations may in some cases be an important driver of cost and

tion of system interfaces using DSM [Eppinger and Brown- performance, and therefore worthy of considering early, at

ing, 2012], and to the definition of system connectivity in the architecture level as opposed to the detailed design level.

Wymores classical textbook [Wymore, 1993: 111]. It is Example: In 2009, NASA canceled the constellation

also close to the formulation of general design problems by space exploration program due primarily to budgetary

Chapman et al. [2001]. Furthermore, the connecting pattern is restrictions. To replace constellation, a committee of

10 SELVA, CAMERON, AND CRAWLEY

future work section.

3.2.2. Degradedness

In addition to completeness, a reasonable question to ask is

that of degradedness, that is, whether or not the mapping

between real problems and patterns is one-to-one. As we have

already mentioned, this is not the case, since a given problem

can often be expressed using several patterns. In fact, we

proceed to prove that a problem instance of any pattern can

be reduced into an instance of any other pattern.

Some of these relationships are intuitive. For example, a

downselecting problem can be seen as a combining problem

where all decisions are binary. An assigning problem can

be seen as a set of downselecting problems, one for each

element of the left set. The same is true for a connecting

Figure 4. Illustration of the permuting pattern (element-based rep-

problem, which can be seen as a downselecting problem, with

resentation is used in the arrays).

one binary decision per edge. The permuting and partitioning

patterns can both be seen as special cases of the assigning

pattern in which additional constraints are added. In fact, it

experts led by Norm Augustine proposed several alternative is relatively easy to see how all patterns can be reduced into

strategies, including one known as the flexible path. In instances of the combining problem and the downselecting

the flexible path architecture, an important decision is the problem.

sequence of destinations (e.g., the moon surface, an asteroid, Other relationships are less intuitive. For example, it is hard

and the Lagrange points) on the way to Mars. In the NEOSS to see a priori how a partitioning problem can be reduced

example, choosing the launch sequence for the missions is to a permuting problem. One possible formal proof consists

an instance of the permuting pattern. in proving that all patterns can be reduced into a downse-

lecting problem, which is simple, and then proving that the

downselecting problem can be reduced to all patterns, which

3.2. Theoretical Aspects of the Patterns is slightly harder. To see the latter, consider the following:

We have already seen that a downselecting problem is an

3.2.1. Completeness instance of a combining problem with all binary variables.

As in any other classification scheme, the question of com- Similarly, a downselecting problem is an instance of a con-

pleteness arises: can any system architecture problem be ex- necting problem with one edge per element, and an instance of

pressed using the six patterns provided? If this question is an assigning problem with two elements in the right set. The

approached literally from the perspective of pure theoretical two hard cases are partitioning and permuting. We use results

possibility, then the answer is yes, since, for example, any from combinatorics to achieve this result. A biobjective (e.g.,

architectural decision problem can be formulated as an integer cost-performance) downselecting problem can be reduced to

decision problem using the combining pattern. Perhaps, it is a number of single-objective downselecting problems where

less intuitive to see that any decision problem can also be the goal is to maximize performance at a given cost. Such

seen as an instance of a connecting pattern in which there problem can be reduced to the problem of deciding whether

is a bipartite graph with two types of nodes (decisions and given a set of weights, some subset of them adds up to a

options) and a subset of the possible edges must be selected. certain integer number C exactly. A basic result from com-

In fact, we prove in the next section that one can reduce prob- binatorics is that this can be reduced to a set partitioning

lem instances from one pattern to any of the other patterns, decision problem, in which one must decide whether a set

which implies that any of the six patterns would satisfy the of weights can be partitioned into two sets of equal sum

completeness property. [Karp, 1972]. Finally, the set partition decision problem can

However, a less theoretical but arguably more useful com- be readily reduced to a partitioning problem (q.e.d.). One can

pleteness question would be whether there exist problems for show that a downselecting problem can be reduced into a

which none of the patterns is appropriate. This must take into permuting problem by a similar reduction path through the

account attributes such as how natural or how difficult it is to knapsack problem and the traveling salesman problem.

formulate the problem using this set of patterns. Part of these

attributes may be expressed in objective terms. For example,

the number of domain-independent constraints that need to 3.2.3. Computational Complexity

be added to a pattern in order to capture the mathematical In the analysis of the computational complexity of problems,

structure of the problem can be used to measure how nat- problems are classified according to the time and/or space that

ural the formulation is. A scientific approach to answering it would take the best algorithm to find a solution assuming

this question would require conducting experiments involving a certain model of computation (e.g., deterministic Turing

real system architects formulating real architecting problems, machine, nondeterministic Turing machine). It turns out that

PATTERNS IN SYSTEM ARCHITECTURE DECISIONS 11

most classical combinatorial optimization problems are in a partitioning pattern is more appropriate, where functions

Non-deterministic Polynomial time (NP), which means that are simply grouped into any number of subsets that will later

a solution can be found in polynomial time in a hypothet- become the entities of form. In tasks 3 and 4, if a discrete and

ical nondeterministic Turing machinein other words, no small set of options is available for each entity of function

polynomial time algorithm is known on a real machine. If a or form to be specialized or characterized, then the most

problem H is such that all problems in NP can be reduced closely related pattern is the combining pattern. Both tasks are

to H in polynomial time, then H is said to be NP-hard. If a also assigned to the downselecting pattern, to recognize that

problem is both in NP and NP-hard, then it is said to be NP- both the specialization and characterization processes may

complete. Most of the combinatorial optimization problems include choosing a subset among a set of candidate functions

mentioned in this paper are actually NP-complete. This was or attributes (e.g., the frequencies at which a measurement

proved by Karp using a hierarchy of reductions between the is taken). Task 5, connecting form and function, is primarily

different problems down to satisfiability [Karp, 1972; Hart- linked to the connecting pattern when it has to do with defin-

manis, 1982]. ing the connectivity of a set of entities, which can be modeled

Since these classical problems can be reduced to instances as the edges of a graph. The permuting pattern is selected

of the patterns, it follows that by reduction the patterns are as a secondary option, since the connecting task may also

also NP-complete. More precisely: the set partitioning prob- involve deciding the arrangement of components, that is, an

lem can be reduced to a problem of the partitioning pattern assignment of components to positions that is well modeled

where there are is a single metric with no interactions between by the permuting pattern. Task 6, selecting goals, is assigned

subsets; the traveling salesman problem can be reduced to a to the downselecting pattern, since it is assumed that goals

permuting problem with a single metric without interactions; are chosen from a set of initial possibly conflicting goals.

the generalized assignment problem can be reduced to an The assigning pattern is selected as a secondary choice to

assigning problem; the 0/1 knapsack problem can be reduced cover the case where goals are prioritized and classified into

to a downselecting problem with a single metric and no in- three or more classes as in Kano analysis [Kano et al., 1984]

teractions; the min edge cover problem can be reduced to a (e.g., must have, should have, and could have). Finally, task 7,

connecting problem with a single element; the integer pro- planning of system deployment and operations, is most natu-

gramming problem can be reduced to a combining problem rally formulated as an instance of the permuting pattern, and

with linear metrics and constraints. Since all these classical the partitioning pattern is chosen to acknowledge that some

problems are known to be NP-complete, it follows that all operations should be performed in parallel, that is, clustered.

patterns are NP-complete. Reading Table IV by columns instead of by rows sug-

gests that while the combining pattern is the one used by

most decision support frameworks in systems architecture,

3.3. Using the Patterns in Practice it may not be the most natural formulation for most key

architecting tasks, such as mapping function to form, find-

3.3.1. Mapping of Patterns to the Tasks of the System ing a system decomposition, or defining interfaces between

Architect components.

Some of the relationships between the six patterns and the

tasks of the systems architect have already been highlighted.

For example, it is very apparent that task 1 decomposing form 3.3.2. Mapping of Patterns to Combinatorial Optimization

and function is most closely related to the partitioning pattern. Problems

Table IV is a domain mapping matrix (DMM) providing a Table V provides a mapping between the patterns presented

more exhaustive account of this mapping between system in this paper and classical optimization problems.

architecture tasks and patterns: 1 indicates the primary as- Given Table V, one could be tempted to conclude that

signment and 2 indicates a secondary assignment. Table the formulation of these classical optimization problems is

IV shows how the patterns can be used by practitioners and identical to that of the corresponding patterns. However, when

students as a means to support their efforts to create mathe- the complete formulation is considered, including a value

matical formulations of real-life architecture problems. function and constraints if appropriate, important differences

As stated, the system decomposition task is mostly related appear that need to be resolved before mixed-integer pro-

to the partitioning pattern, since decomposition/aggregation gramming techniques can be used. These differences concern

can be seen as grouping entities into an undetermined number especially two aspects: the number of metrics (single vs. mul-

of nonoverlapping subsets. The use of the connecting pattern tiobjective) and the additivity (sum or multiplicative) assump-

for studying decomposition may also be appropriate when tions in the objective functions. Indeed, most formulations

using DSM decomposition techniques, but it is less natural. of classical combinatorial optimization problems are single-

Task 2, mapping of function to form, usually implies that a objective, whereas most realistic system architecture prob-

set of functions is available. A set of entities of form may lems have two or more metrics. For example, in the classical

or may not be initially available. When it is available, or at set partitioning problem, the goal is to minimize the cost of a

least the number of entities of form has been decided, then partition, given by the sum of the costs of its subsets. In real-

the task is most naturally related to the assigning pattern, life architecture problems, having at least two metrics, such as

where the left set contains the functions and the right set performance and cost, may be very important to understand

contains the entities of form. When a predetermined set of the trade-offs behind the decision. One may partially alleviate

entities of form is not available, then a formulation based on this problem by combining the metrics using, for example, a

12 SELVA, CAMERON, AND CRAWLEY

Table IV. DMM Illustrating the Mapping between Architecture Tasks and Patterns

1. Decomposing form and function 1 2

2. Mapping function to form 1 2

3. Specializing form and function 1 2

4. Characterizing form and function 1 2

5. Connecting form and function 2 1

6. Selecting goals 1 2

7. Planning deployment and operations 2 1

Table V. DMM Mapping Classical Combinatorial Optimization Problems to the Most Similar Architecture Tasks

Integer programming X

0/1 Knapsack X

Generalized assignment X

Weapon-target assignment X

Set partitioning X

Integer partitioning X

Job scheduling X

Traveling salesman X

Min edge cover X

Spanning tree X

this solution relies on strong a priori assumptions about the Real-life architecture problems will often need to be decom-

preferences of the decision makers [Ehrgott and Gandibleux, posed into a hierarchy of decisions before any of the patterns

2000]. can be used. This is apparent from the fact that the system

Furthermore, traditional formulations of combinatorial op- architecture process consists of several tasks, which require

timization problems of interest to the operations research more than one pattern to be formulated. Furthermore, there

community have strong assumptions of additivity of the value might be dependencies between the decisions at different

function to make them tractable. For example, the classical levels, so that the set of alternatives available for a decision at

0/1 knapsack problem assumes that each item has two known a certain level depends on the alternative chosen for a parent

values, a benefit and a cost, and that the value and cost of decision.

a subset of items are the sum of the values and costs of the In the NEOSS example, the architecture is modeled by

items. This additivity is exploited as the Bellman condition three sets of decisions: (1) instrument selection (an instance

and an efficient dynamic programming formulation is used to of the downselecting pattern), (2) instrument to spacecraft

solve them. The value functions and constraints that are typi- assignment (an instance of the partitioning pattern), and (3)

cally used in system architecture do not satisfy this additivity mission scheduling (an instance of the permuting pattern).

property, due, for example, to the presence of redundancies In this case, the instrument to spacecraft assignment decision

in capabilities across assets or diminishing marginal utility must logically occur after the instrument selection decision,

curves, and performance synergies and interferences between because we need to know how many instruments there are

components. Going back to the Earth-observing example, if to allocate before we can actually encode the instrument

we already have an instrument providing measurements of to spacecraft assignment decision as a partitioning decision.

atmospheric temperature, the utility of adding another instru- Similarly, the mission scheduling decision can only be made

ment that also provides temperature measurements is lower after the instruments have been assigned to spacecraft to cre-

due to this redundancy. ate missions.

It is important to note that many tricks exist in the oper- Another example concerns a family of GN&C systems for

ations research community to accommodate for certain non- the NASA Constellation Program. In this case, the archi-

linearities and constraints. However, their application usually tecture is modeled by a number of sensors, computers, and

requires an expert in operations research, which is not always actuators chosen from a catalog of components and connected

available in system architecture teams. Furthermore, these in any possible topology that respects the overall flow of data

tricks do not cover the general case of a black box value from sensors to computers to actuators. This can be modeled

function. as a number of combining decisions and assigning decisions.

PATTERNS IN SYSTEM ARCHITECTURE DECISIONS 13

First, the number of components (number of sensors, com- using the linear congruential method to generate random

puter, and actuators) are chosen (combining). Once the num- sequences of integers assigning the elements to the bins.

ber of components has been chosen, the combining decisions Common architectural features: We define architectural

concerning the types of components can be made. Finally, the features as an extension of the idea of architectural vari-

two Assignment decisions modeling the connections between ables that includes any combination of variables using

sensors and computers and computers and actuators can be logical or arithmetic operators. For example, in the par-

made. titioning pattern, whether or not two particular elements

i and j are in the same subset (i.e., xi == x j ) is an

architectural feature. Such architectural features can be

4. KNOWLEDGE REUSE FOR FAST PROBLEM used to define constraints or as feature set to train a data

FORMULATION mining algorithm.

Distance functions: Distance functions are used by many

The patterns presented in this paper are valuable to practi- statistical algorithms that need to assess the similarity

tioners because they facilitate quantitative decision support in between two architectures. The Manhattan norm is usu-

several ways. First, they help system architects find adequate ally an appropriate distance for the patterns based on bi-

formulations for their architecture problems by reducing the nary decisions, but other specialized distances are more

complexity and ambiguity of the formulation problem into appropriate for partitioning and permuting decisions.

the much better defined problem of defining hierarchy of Local search and evolutionary operators: Finally, it is

decisions and choosing the pattern for each decision. Second, possible to reuse pattern-specific knowledge related to

it facilitates communication between system architects and the operators used in local search and evolutionary opti-

other stakeholders by establishing a common vocabulary mization frameworks. For example, while the traditional

that is accessible to all of them. Third, and perhaps most single-point crossover operator might be a perfectly ad-

importantly, it fosters the reuse of domain-independent, equate choice for many binary decisions, it is a poor

pattern-specific knowledge from project to project. For choice in most partitioning and permuting problems.

instance, code implementing different evolutionary operators

or local search techniques in partitioning or assigning spaces, Note that this paper is not meant to be a library of such

or knowledge concerning distance functions that work better pattern-specific knowledge, and therefore Table VI is abso-

in each pattern are examples of knowledge that is domain- lutely not complete. Its purpose is rather to show the amount

independent to a certain extent and specific to a pattern, and of knowledge that such library would help architects reuse

thus can be reused from project to project. from problem to problem.

Table VI identifies a few categories of knowledge that can Finally, Table VI provides solutions that can be applied to

be reused and some specific examples for all patterns. The individual canonical decisions. As stated earlier, the applica-

categories from Table VI are the following: tion of this knowledge to a real problem given by independent

decisions is straightforward, but as the dependencies becomes

Counting all alternatives: All patterns have known ana- more complex, this knowledge recombination can become

lytical formulas to count all the alternatives represented challenging. For instance, counting how many architectures

by the pattern. For example, a partitioning decision with there are in the NEOSS example requires carefully taking

N elements defines Bell(N ) alternatives, where Bell() into account the dependencies between decisions: for six in-

indicates Bell numbers. This knowledge is important struments, and using a partitioning pattern without predefined

because counting the size of an architecture space allows ( )

6 6 n

the system architecture analyst to estimate the total time orbits, there are n=0 k=0 S(n, k)k! = 9366 unique

n

that it would take to evaluate the entire architecture space

and thus decide if full factorial enumeration is possible architectures, which is much smaller number than 26

or if he/she must resort to partial exploration of the space. Bell(6) 6! which would result in the case of independent

Generating all alternatives: Many combinatorial algo- decisions.

rithms exist to generate all alternatives represented by a

decision. For example, the 2 M N alternatives defined by

an assigning decision of sizes M and N can be enumer- 5. QUALITATIVE DECISION SUPPORT:

ated by simply counting in binary from 0 to 2 M N 1 ARCHITECTURAL INSIGHT THROUGH

keeping a constant length of M N bits, and reshaping the PATTERN-SPECIFIC HEURISTICS

resulting arrays into M N matrices.

Generating random alternatives: Generating all alter- Alexanders concept of patterns intended to provide qualita-

natives is sometimes not possible if the space is too tive decision support to practitioners confronting recurring

large. In this and other cases, generating a random sam- problems in civil architecture. This is done in a context-

ple of alternatives is useful. Many algorithms exist for specific environment such as designing buildings or software.

enumerating random n-tuples, partitions, and permuta- In system architecture, many domain-independent heuristics

tions. Many rely on pseudorandom number generation and tactics have been proposed related to the tasks of the

techniques such as the linear congruential method. For architect mentioned in Section 2 (e.g., Maier and Rechtin

example, a random sample of partitioning architectures [2000]). Can the same thing be done for the patterns presented

can be generated by sampling the number of subsets in in this paper? For instance, given an architect confronted with

the partitions from an exponential distribution and then an assigning decision, is there a set of heuristics, tactics,

14

n

{ }

n

N (N 1)

n + mN

Counting all mi 2N 2M N Bn = N! 2 k

i=1 k=0 k

alternatives

{ } k ( )

n 1 k

= (1)k j j k = 1 if directed

k k! j=0 j k = 2 if undirected

SELVA, CAMERON, AND CRAWLEY

m = 1 if self-connections

allowed

m = 0 otherwise

Generating all Mixed-radix Binary-radix Binary-radix Restricted growth strings [Knuth, Lexicographic tree Binary-radix generation

alternatives generation generation generation 2011a: 415440] expansion [Knuth,

[Knuth, 2011a: 2011a: 319]

282]

Generating random Linear congruential Linear congruential Linear congruential Urn model [Stam, 1983] Random walk from Linear congruential

alternatives method [Knuth, method [Knuth, method [Knuth, initial permutation method [Knuth,

2011b: 10] 2011b: 10] 2011b: 10] 2011b: 10]

Architectural features Propositional logic Binary schemata Specific Specific elements are together, o-schemata [Goldberg Binary schemata

element-bin separate, alone and Lingle, 1988]

matches, specific #bins specific elements by Presence of hubs

empty bins, max the beginning/end, Trees

#elems per bin or before, after or

between other

elements

Distance function Manhattan norm Manhattan norm Manhattan norm Transfer distance Kendall-tau distance Manhattan norm

Lexicographic [Denud-Belgacem, 2008]

distance

Local Search and Single-point Single-point Single-point 2-exchange, Cycle exchange Swap, Interchange, Single-point crossover

evolutionary crossover crossover crossover Reverse

operators Cycle crossover Partially matched

crossover

PATTERNS IN SYSTEM ARCHITECTURE DECISIONS 15

the decision independently of whether the task is related to

assigning instruments to orbits, or functions to components?

We argue that in all but the simplest pattern (combining), this

is possible, and furthermore, it leads naturally to the discus-

sion of architecture styles. Some of this insight is discussed

below.

Figure 5. Channelized versus fully cross-strapped architecture

The downselecting pattern is about finding subsets of styles in the assigning pattern.

elements that work well together compared to others, as

determined by the net effect of the interactions between the

elements in the subset. Due to these interactions, among that can be much cheaper. Adding connections may improve

other things, the value of a subset of elements is not equal system properties such as data throughput or reliability, but it

to the sum of the values of the elements. We designate these usually requires an investment of complexity and cost.

interactions as synergies when: (a) new emerging capabilities While mapping instruments to orbit and connecting sensors

arise from the interaction between the elements in the subset to computers are fundamentally different problems, we see

and none of the original elements had those capabilities; or (b) that they are decisions with similar features. In both cases,

no new capabilities emerge, but the performance with which if we enforce that each element from the left set must be

the subset can perform a certain capability improves by virtue assigned to at least one element of the right set (an additional

of the interaction. We designate these interactions as interfer- constraint that is not present in the most general formulation

ences when the performance of some of the capabilities of the of the pattern), we can define two extreme architectures at

elements is degraded by the presence of the other elements in the boundaries of the architectural tradespace: (1) a chan-

the subset. Finally, there is sometimes redundancy in the capa- nelized architecture where each left element is matched

bilities of elements in a subset. Consider the aforementioned to exactly one right element; (2) a fully cross-strapped

NEOSS decision of selecting from a set of remote sensing architecture where every left element is connected to every

instruments. The radar altimeter and microwave radiometer right elements [Dominguez-Garcia et al., 2007]. We will

instruments are highly synergistic elements, because the refer to these extremes as architecture styles, the channelized

accuracy of the altimetry measurement obtained from the style versus the fully cross-strapped style (see Figure5).

radar improves in the presence of the radiometer due to a We argue that the channelized versus cross-strapped trade-

lower error due to the atmosphere. Conversely, the synthetic off applies to both function to form mapping, and connectivity

aperture radar and the lidar have negative interactions, of form and function. In the case of mapping function to

because they both require large amounts of power and have form, the channelized architecture corresponds to a perfect

very different orbit requirements. Furthermore, there might satisfaction of Suhs independence axiom [Suh, 1998], since

be some redundancy between the radar altimeter and the lidar, each function is performed by one element of form, and each

since both can be used to do topographic measurements. element of form performs only one function. In the case of

The piece of prescriptive advice is thus that when connecting components, the trade-off is basically one be-

confronted with a problem matching the downselecting tween throughput and reliability versus cost. The fully cross-

pattern, the architect must consider the net effect of the strapped style of architectures may lead to more complex,

interactions (synergies, interferences) between the candidate and thus most costly architectures than the channelized style

elements as well as the redundancy in their capabilities. due to a higher number of connections, but at the same time,

Generally speaking, good architectures in the downselecting it may lead to more reliable architectures due to increased

pattern are those that lead to high synergy, low interference, redundancy. Note, however, that this increase in redundancy

and low redundancy. may be diminished by the presence of common-cause failures,

since strong coupling between entities may allow for failures

5.2. Assigning Pattern to propagate through the system.

Therefore, the prescriptive advice for the architect is to

Given two sets of entities, the assigning pattern is concerned study the relative cost of adding connections between el-

with mapping elements from one set to elements of the other ements compared to the cost of the elements themselves,

set, and it is fundamentally about deciding how connected or and weigh that against the potential increases in reliabil-

sparse we want this mapping to be. In the NEOSS example, ity, which should consider common-cause failures and the

the connections are logical rather than physical and represent cost/reliability utility functions of the decision maker.

instrument-orbit assignments. Assigning an instrument to an

orbit means adding a connection to the architecture. In this

example, connections (i.e., instruments in orbit) can thus be 5.3. Partitioning Pattern

costly. On the other hand, in the GN&C example, connections

between sensors and computers (and computers to actuators) The partitioning pattern is concerned with grouping a set

are cables (and the corresponding software and interfaces) of entities into nonoverlapping and collectively exhaustive

16 SELVA, CAMERON, AND CRAWLEY

partitioning pattern.

centralization we want in our architecture. Hence, we define

two new architecture styles: centralized (or monolithic) and

decentralized (or distributed) architectures. In monolithic

architectures, all elements are grouped in a central large

bin, whereas in fully distributed architectures, all elements

are assigned to smaller dedicated bins (see Figure 6).

Interactions between elements, namely, the synergies and

interferences introduced in the context of the downselecting

pattern, play a key role in the partitioning pattern. In the Figure 7. Set of six elements connected according to different ar-

NEOSS example, if the radar altimeter and the radiometer chitecture styles in the connecting pattern.

are put on different spacecraft and on different orbits in the

partitioning problem, it will very hard to obtain the benefits

of their synergistic interaction. Indeed, the instruments need that needs to be replicated on every bin of the partition, and

to be either on the same spacecraft, or close enough to allow the relative cost of this common functionality compared to

for cross-registration. Similarly, electromagnetic interference the cost penalty due to interferences; (c) the willingness to

will only occur if two instruments are on the same spacecraft pay of the decision maker to improve programmatic aspects

or close enough. such as reducing development risk, shortening development

Thus, partitioning decisions will usually have an impact on time, maintaining a flat expense profile over time, robustness

cost and performance. More generally, this trade-off is also to component failures, and ease to introduce evolution.

related to system properties such as evolvability, robustness,

and flexibility. The monolithic or centralized style leads to

architectures with very few (but complex) components, which 5.4. Connecting Pattern

may take longer to develop and may be costlier. It minimizes

redundancy if there is common functionality needed by all The connecting pattern is related to defining the connectivity

elements in the bin, thereby decreasing total cost, but for the between the nodes of a network. Therefore, we borrow the

same reason, it may decrease reliability and robustness due classical network architectures as architecture styles for the

to the presence of single points of failure, and may lower connecting pattern, namely, bus/star architecture, ring archi-

performance of individual elements due to competition for tecture, mesh architecture, and tree architecture. These styles

resources (e.g., power) in the bins. It captures the positive are illustrated in Figure 7.

interactions between components, which can increase the per- In both bus and star architectures, also known as Hub-and-

formance, but also the negative interactions, which may actu- Spoke architectures, there is a central element (the hub or the

ally increase cost. On the other hand, a distributed approach bus) to which all elements in the network are connected. In

leads to more elements and thus lower cost per element, but the case of bus architectures, the bus is not a real node in the

potentially higher total cost. It may lead to increased reliabil- sense that it does not perform any functions other than relay-

ity and robustness, and increased performance due to tailored ing data, whereas the hub in star architectures performs all

design of each bin to its single element. Synergies may be node functions such as generating or absorbing traffic flows

lost, which can decrease performance, but interferences are in the network. In ring architectures, every node is connected

also avoided, which may actually reduce cost. to exactly two nodes in such a way that the traffic in the

Therefore, the prescriptive piece of advice for architects network flows in a single closed circuitthe ring. In mesh

facing partitioning decisions is to look at: (a) the relative architectures, all nodes perform relaying functions and nodes

effects of synergies and interferences between elements on are connected in arbitrary complex patterns. Finally, in tree

system performance and cost; (b) the amount of functionality architectures, there is a hierarchy of nodes such that each node

PATTERNS IN SYSTEM ARCHITECTURE DECISIONS 17

is only connected to nodes in levels immediately above or of the largest element have been incurred at the speed given

below its own level in the hierarchy. by the budget. Moreover, in the presence of uncertainty, and

The choice between these styles depends strongly on the if information is gained along the time axis, the incremental

cost of connections and is mostly related to trade-offs be- approach is also preferable from the perspective of flexibil-

tween cost, latency, reliability, robustness, and scalability. ity or evolvability, since delaying the deployment of large

For example, bus/star architectures are usually affordable and system elements gives the architects the option to change

scalable but they have a single point of failure in the bus/hub. the system architecture to adapt to changes in the system or

Ring architectures have good latency, but are unreliable and the environment. In summary, the choice between greedy and

not very scalable. Meshed architectures are good for latency, incremental solutions in the permuting pattern has to do with

reliability, and robustness but are more costly. Finally, tree the relative discount rates of cost and benefit, the decision

architectures are very scalable and maintainable, but they are makers utility functions for cost and benefit as well as their

poor in terms of robustness. willingness to pay for life cycle properties such as flexibility

or evolvability.

The permuting pattern is about defining an ordering of a 6. DISCUSSION AND CONCLUSION

set of entities, that is, a one-to-one mapping of a set of N

entities onto a set of integer numbers from 1 to N. These 6.1. Intellectual Contributions

numbers can usually be interpreted as lying on a continuous

axis such as time, space, or others, so they often have ab- This paper has introduced six patterns that appear in the

solute meanings in addition to relative meanings. Moreover, structure of architectural decisions: combining, downselect-

these entities have some cost and benefit attached to them ing, assigning, partitioning, permuting, and connecting. Each

that depend on their absolute and relative positions in the pattern consists of a descriptive and a prescriptive part. The

sequence. In particular, it is often the case that cost/benefit de- descriptive provides a model and formulation of the situation

crease/increase monotonically (e.g., through a discount rate) they represent, plus one or more examples. The prescriptive

with the relative or absolute position in the sequence. Further- part is twofold: it provides quantitative decision support in the

more, the cost and benefit of some entities may depend on form of knowledge (algorithms) that can be used to develop

whether or not they are before/after or between other entities architecture tradespace exploration tools, and qualitative de-

(interactions). Finally, a budget is sometimes defined in the cision support in the form of heuristics and rules of thumb that

form of a constraint dictating the maximum cost that can be the system architect must consider when facing a decision of

spent per unit of the continuous axis (time or space). The a given pattern.

permuting pattern is thus fundamentally about maximizing In addition to that, some theoretical and practical aspects

the total discounted benefit and minimizing total discounted of the patterns are discussed. From the theoretical stand-

cost, while balancing the budget. Given this view of the pat- point, it has been shown that all patterns lead to NP-complete

tern, we can define three extreme strategies as styles for the problems, and that one can transform a problem formulated

permuting pattern: in the greedy style, high benefit/high cost in a given pattern to any other pattern. From the practical

items are all put at the beginning of the sequence, whereas standpoint, the mapping between the patterns and the tasks

in the incremental style, high benefit/high cost items are all commonly considered to be the responsibility of the system

put at the end of the sequence. These styles are illustrated in architect is discussed.

Figure 8.

Generally speaking, the greedy style aims to obtain undis-

counted benefits at the price of paying undiscounted costs, 6.2. Impact

whereas the thrifty style aims at delaying/discounting costs at

the price of discounting benefits. The incremental approach is We argue that the introduction of these patterns has strong

more desirable from the perspective of time to value since, impacts in the research, practice, and education of system

in the greedy approach, no value is delivered until all costs architecture. In particular, this work:

18 SELVA, CAMERON, AND CRAWLEY

May help researchers by bridging the gap between cies between decisions. Furthermore, if new algorithms are to

mostly disconnected bodies of research in system ar- be developed for each of the patterns, it is necessary to have a

chitecture (descriptive, prescriptive and qualitative, and means for comparing the performance of the new algorithms

prescriptive and quantitative). with respect to the existing ones over a wide range of prob-

May help practitioners by providing a methodology lems that are relevant to system architecture. This suggests

that simplifies the formulation process from an open- the development of a set of benchmarking problems that span

ended creative process to a well-defined configuration the six patterns introduced in this paper and have different

problem, in which there are a finite number of types degrees of complexity as well as different features in their

of decisions that can be connected in a graph. Further- tradespaces. Indeed, existing sets of benchmarking problems

more, it fosters the reuse of pattern-specific, domain- in multiobjective optimization or combinatorial optimization

independent knowledge that may lead to saving time may not be appropriate since they are too different from real-

and resources in the formulation of system architecture life architecture problems. The main challenge is perhaps the

problems and development of the corresponding tools. development of value functions to use in these benchmarking

May help students by connecting quantitative aspects problems. One possible research direction for this is to use

with qualitative aspects thus expanding their zone of the VASSAR method for developing value functions and gen-

proximal development [Vygotsky, 1978,]. Indeed, one of erate different value functions by simply generating arbitrary

the challenges in the education of systems architecture sets of stakeholder requirements, component capabilities, and

is that the body of knowledge in the field contains both emergence rules [Selva and Crawley, 2013].

high-level qualitative concepts that are hard to absorb

by students with little professional experience (e.g., the

principles and heuristics), and lower lever quantitative Appendix: CLASSICAL COMBINATORIAL

concepts that are hard to absorb by more experienced

OPTIMIZATION PROBLEMS

professionals that have not been in contact with math-

ematical tools for years (e.g., combinatorics, optimiza- We present a list of some classical combinatorial optimiza-

tion, and statistics). These patterns can be an anchor for tion problems that are relevant for systems architecture. For

both types of students to better grasp the concepts that each problem, a reference is provided. Many of these prob-

are harder for them to learn. lems have several hundred years, and were first introduced

in mathematical contests or challenges of the time (e.g., Sir

6.3. Limitations and Future Work Hamiltons icosian game introducing the traveling salesman

problem in the early 1800s). Thus, the reference provided is

Some of the limitations of this work are related to the chal- always representative of the foundational work on methods

lenge of defining a set of patterns as the canonical patterns in to solve the problem, but not necessarily the first time the

architectural decisions. These limitations have already been problem was introduced.

discussed in the body of the paper, such as the nonuniqueness Assignment problem and variants [Ross and Soland,

of the set of patterns, or the nonunicity of the mapping of real- 1975]: In the original assignment problem, there are a number

life architectural decision to patterns. of agents and a number of tasks, and each agent has a different

In the application of the patterns as descriptive decision cost to realize each task. The goal of the problem is to assign

support, one of the major current limitations lies on the ability each task to exactly one agent, in such a way that all tasks are

to model architectural decisions in model-based environments performed, and the total cost is minimized. In a generalized

such as SysML. While SysML variant modeling provides the version of the assignment problem, agents can perform more

opportunity to identify some of the components of a system than one task, and they have a given budget that cannot be

architecture as decisions, the formulations allowed by SysML exceeded. Furthermore, when performing a task, each agent

variants are extremely restricted, especially in the type of de- produces a certain profit, and the goal of the problem is thus

cisions (combining decisions only). This could be remedied, to maximize profit subject to not exceeding any agent budget.

for example, through the development a new SysML stereo- However, each task must be assigned to exactly one agent. In

type for a decision with which block definition diagrams and the weapon-target assignment problem [Ahuja et al., 2007],

activity diagrams can be defined. Such view of the system the latter condition is relaxed, so that a task (target) can be

could then be incorporated into an architecture framework assigned to any number of weapons (agents) including all or

as a decision space viewpoint, which is of interest to some none.

stakeholders. Traveling salesman problem and variants [Dantzig and

In the application of the patterns as quantitative prescriptive Fulkerson, 1954]: In the traveling salesman problem, there is

decision support, the development of a library containing a list of cities and a matrix containing their pairwise distances.

reusable pattern-specific knowledge (e.g., algorithms to enu- The goal of the problem is to find the shortest path that passes

merate and count architecture fragments from the different through each city exactly once and returns to the city of origin.

patterns, efficient operators to do local search on different The vehicle routing problem is a generalization where there

patterns) is left for future work. One of the major challenges is is a fleet of vehicles and a set of customer locations to deliver.

in the combination of pattern-specific knowledge in arbitrary Knapsack problem and variants [Drexl, 1988]: In the

problems. While this combination is trivial in the case of inde- original knapsack problem, there is a list of items, each with

pendent decisions, and it is relatively simple in some cases, it a certain value and a certain weight. The goal of the problem

could become difficult for problems with complex dependen- is to determine the optimal number of items of each type to

PATTERNS IN SYSTEM ARCHITECTURE DECISIONS 19

cost. In the 0/1 version of the same problem, the number of

each item can only take the values {0,1}. In the multiple knap- R.K. Ahuja, A. Kumar, K.C. Jha, and J.B. Orlin, Exact and heuristic

sack problem, there are multiple knapsacks, and the subsets algorithms for the weapon-target assignment problem, Oper Res

of items chosen for each knapsack must be disjoint. 55(6) (2007), 11361146.

Set partitioning and set covering problems [Garfinkel C. Alexander, A pattern language: Towns, buildings, construction,

and Nemhauser, 1969]: In the original set covering problem, Oxford University Press, New York, NY, 1977.

there is a list of elements referred to as the universe, and T.R. Browning, Applying the design structure matrix to system de-

a number of predetermined sets of elements, whose union composition and integration problems: A review and new direc-

is the universe. The goal of the set covering problem is to tions, IEEE Trans Eng Manage 48(3) (2001), 292306.

identify the minimum number of these predetermined subsets T. Browning and S. Eppinger, Modeling impacts of process archi-

for which the union is still the universe. The set partitioning tecture on cost and schedule risk in product development, IEEE

problem is a constrained version of the set covering problem Trans Eng Manage 49(4) (2002), 428442.

where the selected subsets need to be disjoint or mutually D.M. Buede, The engineering design of systems: Models and meth-

exclusive. In other words, each element can only appear in ods, Wiley, Hoboken, NJ, 2009.

one set in the set partitioning problem, while it may appear in W.L. Chapman, J. Rozenblit, and A.T. Bahill, System design is an

more than one set in the set covering problem. NP-complete problem, Syst Eng 4(3) (2001), 222229.

Job-shop scheduling and variants [Manne, 1960]: In the E. Crawley, B. Cameron, and D. Selva, Systems architecture: Strat-

simplest version of the job-shop scheduling problem, there is egy and product development for complex systems, Prentice Hall,

a list of jobs that needs to be assigned to a set of available Hoboken, NJ, 2015.

resources (e.g., machines). Each job has a certain duration on G. Dantzig and R. Fulkerson, Solution of a large-scale traveling-

each machine. The goal of the problem is to find the sequence salesman problem, J Oper Res Soc 2(4) (1954), 393410.

of assignments of jobs to machines that minimizes the com- L. Denud-Belgacem, Transfer distance between partitions, Adv

bined duration of the tasks. Variations of the problem include, Data Anal Classif 2 (2008), 279294.

for example, constraints between tasks (e.g., a task needs to C. Dickerson and D.N. Mavris, Architecture and principles of sys-

occur before another task), costs for running the machines, or tems engineering, Auerbach Publications, Boca Raton, FL, 2009.

constraints between machines (e.g., two machines cannot be A. Dominguez-Garcia, G. Hanuschak, S. Hall, and E. Crawley, A

running simultaneously). comparison of GN&C architectural approaches for robotic and

Shortest path problem [Dreyfus, 1969]: In a shortest path human-rated spacecraft, Proceedings of the AIAA Guidance,

problem, there is a graph defined by a list of nodes and a list of Navigation, and Control Conference and Exhibit, 2007, pp. 20

edges, and each edge has a distance associated to it. The goal 23.

of the problem is to find the path between two given nodes D. Dori, Object-process methodology: A holistic paradigm,

that minimizes the total distance. Springer, Berlin, Heidelberg, 2002.

Max flow problem and variants [Edmonds, 1972]: In the A. Drexl, A simulated annealing approach to the multiconstraint

original formulation of the max flow problem, there is a graph zero-one knapsack problem, Computing 40(1) (1988), 18.

with a single source node, a single sink node, and a number S.E. Dreyfus, An appraisal of some shortest-path algorithms, Oper

of other nodes. Edges connecting those nodes are capacitated, Res 17(3) (1969), 395412.

and the goal is to find a feasible path from the source to the J. Edmonds, Theoretical improvements in algorithmic efficiency for

sink that minimizes cost. In the most generic formulation of a network flow problems, Computing 19(2) (1972), 248264.

network flow problem, there is a graph defined by a list of M. Ehrgott and X. Gandibleux, A survey and annotated bibliography

nodes and a list of edges. Nodes can be sources or sinks. of multiobjective combinatorial optimization, OR Spectr 22(4)

Sources have a positive flow (supply), while sinks have a (2000), 425460.

negative flow (demand). Each edge has a capacity associated S.D. Eppinger and T.R. Browning, Design structure matrix methods

to it, so that the flow through that edge cannot exceed that and applications, The MIT Press, Cambridge, MA, 2012.

capacity. Each edge also has a cost associated with it. The R.S. Garfinkel and G.L. Nemhauser, The set-partitioning problem:

goal of the network flow problem is to transport all the flow Set covering with equality constraints, Oper Res 17(5) (1969),

from the supply nodes to the demand nodes at minimum cost. 848856.

Minimum spanning tree [Graham, 1985]: In the mini- E. Gamma, R. Helm, R. Johnson, and J. Vlissides, Design patterns:

mum spanning tree problem, there is a graph defined by a list Elements of reusable object-oriented software, Addison-Wesley

of nodes and a list of edges. Each edge has a cost associated Professional, 1994.

with it. A spanning tree is defined as a subset of the edges that D.E. Goldberg and R. Lingle Jr., Alleles, loci and the traveling sales-

form a tree that contains all nodes. The goal of the problem is man problem, Proceedings of the 1st International Conference on

to find the spanning tree of minimum cost. Genetic Algorithms and Their Applications, 1988, pp. 154159.

Maximum satisfiability (MAX-SAT) problem [Hansen A.A. Golkar, R. Keller, B. Robinson, O.L. de Weck, and E.F. Craw-

and Jaumard, 1990]: In the maximum satisfiability problem, ley, A methodology for system architecting of offshore oil pro-

there is a set of Boolean variables, and a list of logical clauses duction systems, Proceedings of the International Design Struc-

that use that set of variables. The goal of the problem is to find ture Matrix Conference (DSM09), Greenville, South Carolina,

the assignment to that set of Boolean variables that maximizes USA, 2009, pp. 343356.

the number of clauses that are satisfied. R. Graham, On the history of the minimum spanning tree problem,

Ann Hist Comput 7(1) (1985), 4357.

20 SELVA, CAMERON, AND CRAWLEY

A.D. Hall, Metasystems methodology: A new synthesis and unifica- R. Patel, W. Paleari, and D. Selva, Architecture study of an energy

tion, Pergamon, New York, NY, 1989. microgrid, Proceedings of the IEEE Systems of Systems Confer-

P. Hansen and B. Jaumard, Algorithms for the maximum satisfiabil- ence (SoSE), 2016, pp. 18.

ity problem, Computing 303 (1990), 279303. S. Pugh, Total design: Integrated methods for successful product en-

F. Harary, R.Z. Norman, and D. Cartwright, Structural models: An gineering, Addison Wesley Publishing Company, Workingham,

introduction to the theory of directed graphs, John Wiley & Sons 1991.

Inc, New York, NY, 1965. N.J. Radcliffe, Equivalence class analysis of genetic algorithms,

J. Hartmanis, Computers and intractability: A guide to the theory Complex Syst 5(2) (1991), 183205.

of NP-completeness (Michael R. Garey and David S. Johnson), E. Rechtin, System architecting, creating & building complex sys-

SIAM Rev 24(1) (1982), 9091. tems, Prentice Hall, Englewood Cliffs, NJ, 1991.

G.A. Hazelrigg, A framework for decision-based engineering de- A. Rudat, Tradespace exploration approach for architectural defini-

sign, J Mech Des 120(4) (1998), 653658. tion of in-space transportation infrastructure systems for future

G.A. Hazelrigg, Letter to the editor re:The Pugh controlled con- human space exploration, Proceedings of the 63rd International

vergence method: Model-based evaluation and implications for Astronautical Congress, 2012, pp. 115.

design theory, Res Eng Des 21(3) (2010), 143144. R.M. Ross and G.T. Soland, A branch and bound algorithm for the

K. Holtta-Otto and O. de Weck, Degree of modularity in engineering generalized assignment problem, Math Program 8 (1975), 91

systems and products with technical and business constraints, 103.

Concurr Eng 15(2) (2007), 113126. T.L. Saaty, How to make a decision: The analytic hierarchy process,

R.A. Howard and J.E. Matheson, Influence diagrams, Decis Anal Eur J Oper Res 48(1) (1990), 926.

2(3) (2005), 127143. S. Sahni, Approximate algorithms for the 0/1 knapsackproblem,

International Organization Of Standardization, ISO/IEC/IEEE J ACM 22(1) (1975), 115124.

42010:2011 - Systems and software engineering Architecture M. Sanchez-Net, I. Del Portillo, B.G. Cameron, E.F. Crawley, and

description, 2011. D. Selva, Integrated tradespace analysis of space network archi-

K. Kalligeros, O. De Weck, and R. De Neufville, Platform identi- tectures, J Aerosp Inf Syst 12(8) (2015), 564578.

fication using design structure matrices, Proceedings of the 16th D. Selva, B.G. Cameron, and E.F. Crawley, Rule-based system archi-

Annual International Symposium of the International Council On tecting of earth observing systems: Earth science decadal survey,

Systems Engineering (INCOSE), 2006. J Spacecraft Rockets 51(5) (2014a), 15051521.

N. Kano, N. Seraku, F. Takahashi, and S. Tsuji, Attractive quality and D. Selva, B.G. Cameron, and E.F. Crawley, Rule-based system ar-

must-be quality, IAQ Book Series Vol. 7, ASQC Quality Press, chitecting of earth observing systems: The earth science decadal

1984, 165186. survey, J Spacecraft Rockets (2014b).

R.M. Karp, Reducibility among combinatorial problems, Springer, D. Selva and E. Crawley, VASSAR: Value assessment of system ar-

Plenum Press, New York, NY, 1972. chitectures using rules, Proceedings of the 2013 IEEE Aerospace

G.J. Klir, Approach to general systems theory, Van Nostrand Rein- Conference, 2013.

hold, New York, NY, 1969. W.L. Simmons, A framework for decision support in systems archi-

D.E. Knuth, The art of computer programming volume 4a combina- tecting, PhD dissertation, Massachusetts Institute of Technology,

torial algorithms part 1, Boston, MA, Pearson, 2011a. ProQuest/UMI, Ann Arbor, 2008.

D.E. Knuth, The art of computer programming volume 2 seminu- H.A. Simon, Theories of bounded rationality, Decis Organ 1(1)

merical algorithms. Pearson, Boston, MA, 2011b. (1972), 161176.

H.B. Koo, E.F. Crawley, and C. Magee, A meta-language for systems J. Sobieszczanski-Sobieski, Multidisciplinary design optimization:

architecting, Massachusetts Institute of Technology, Cambridge, An emerging new engineering discipline, Springer, Dordrecht,

MA, 2005. The Netherland, 1995.

M.W. Maier and E. Rechtin, The art of systems architecting, CRC A.J. Stam, Generation of a random partition of a finite set by an urn

Press, New York, 2000. model, J Comb Theory Ser A 35(2) (1983), 231240.

A.S. Manne, On the job-shop scheduling problem, Oper Res 8(2) D.V. Steward, The design structure system: A method for managing

(1960), 219223. the design of complex systems, IEEE Trans Eng Manage 28

D.C. Montgomery, Design and analysis of experiments, 8th edition, (1981), 7174.

Wiley, New York, 2010. N. Suh, Axiomatic design theory for systems, Res Eng Des

H. Muhlenbein, Parallel genetic algorithms, population genetics 10(4)(1998), 189209.

and combinatorial optimization, Proceedings of the 3rd Inter- K.T. Ulrich and S.D. Eppinger, Product design and development,

national Conference on Genetic Algorithms, 1989, pp. 398 McGraw-Hill Education from New York NY, vol. 384, 1995.

406. L. Vygotsky, Interaction between learning and development, in Mind

National Institute of Standards and Technology, Computer Sys- And society, Harvard University Press,Cambridge, MA, 1978,

tems Laboratory, Integration Definition for Function Modeling pp. 7991.

(IDEF0), Draft Federal Information Processing Standards Publi- R. Wang and C.H. Dagli, Executable system architecting using sys-

cation 183 (1993), 1128. tems modeling language in conjunction with colored Petri nets

P.Y. Papalambros and D.J. Wilde, Principles of optimal design, Cam- in a model-driven systems development process, Syst Eng 14(4)

bridge University Press, Cambridge, UK, 2000. (2011), 383409.

D.L. Parnas, On the criteria to be used in decomposing systems into J.N. Warfield, An assault on complexity, no. 3, Battelle, Office of

modules, Commun ACM 15(12) (1972), 10531058. Corporate Communications, 1973.

PATTERNS IN SYSTEM ARCHITECTURE DECISIONS 21

J.N. Warfield, Societal systems: Planning, policy, and complexity, T. Weilkiens, Systems engineering with SysML/UML: Modeling,

World Scientific, New York, NY, 1976. analysis, design, The Morgan Kaufmann/OMG Press, Heidel-

J.N. Warfield, Structuring complex systems, no. 4, Battelle, Office berg, Germany, 2006.

of Corporate Communications, 1978. W. Wymore, Model-based systems engineering, CRC Press, Boca

J.N. Warfield and J.D. Hill, A unified systems engineering con- Raton, FL, 1993.

cept, no. 1, Battelle, Office of Corporate Communications, F. Zwicky, Discovery, invention, research through the morphological

1972. approach, Macmillan Publishing Company, New York, NY, 1969.

Daniel Selva received a PhD in Space Systems from MIT in 2012, and he is Assistant Professor at the Sibley School of Mechanical and

Aerospace Engineering at Cornell University, where he directs the Systems Engineering, Architecture, and Knowledge (SEAK) Lab and

teaches systems architecture and spacecraft engineering. His research interests focus on the application of knowledge engineering, global

optimization and machine learning techniques to systems engineering and architecture, with a strong focus on space systems. Prior to MIT,

Daniel worked for four years in Kourou (French Guiana) as an avionics specialist within the Ariane 5 Launch team. Daniel has a dual

background in electrical engineering and aeronautical engineering, with degrees from Universitat Politecnica de Catalunya in Barcelona,

Spain, and Supaero in Toulouse, France. He is also a Faculty Fellow at the Mario Einaudi Center for International Studies and at the Atkinson

Center for a Sustainable Future

Bruce Cameron is a Lecturer in Engineering Systems at MIT and a consultant on platform strategies. At MIT, Dr. Cameron ran the MIT

Commonality study, a 16 firm investigation of platforming returns. Dr. Camerons current clients include Fortune 500 firms in high tech,

aerospace, transportation, and consumer goods. Prior to MIT, Bruce worked as an engagement manager at a management consultancy and as

a system engineer at MDA Space Systems, and has built hardware currently in orbit. Dr. Cameron received his undergraduate degree from the

University of Toronto, andgraduate degrees from MIT.

Edward F. Crawley is a Professor of Aeronautics and Astronautics and Engineering Systems at MIT, and founding President of Skolkovo

Institute of Technology. He received an Sc.D. in Aerospace Structures from MIT in 1981 and his early research interests centered on structural

dynamics, aeroelasticity, and the development of actively controlled and intelligent structures. More recently, Prof. Crawleys research has

focused on the domain of the architecture and design of complex systems. From 1996 to 2003 he served as the Department Head of Aeronautics

and Astronautics at MIT, leading the strategic realignment of thedepartment. Dr. Crawley is a Fellow of the AIAA and the Royal Aeronautical

Society (UK), and is a member of three national academies of engineering. He is the author of numerous journal publications in the AIAA

Journal, the ASME Journal, the Journal of Composite Materials, and Acta Astronautica. He received the NASA Public Service Medal. Prof.

Crawley was one of the ten members of the presidential committee led by Norman Augustine to study the future of human spaceflight in the

US.

- Family StressHochgeladen vonRaymonde Uy
- Introduction to Discrete MathematicsHochgeladen vonyogimgurt
- psychology of language and thought _ noam chomskyHochgeladen vonTiago R. da Silva
- BC0039-Discrete Mathematics-Model Question PaperHochgeladen vonPrincess Tanya
- under tommorrow urban planning using architectural tectonics.pdfHochgeladen vonAbda Abdelhamied Mohammed
- Mathematic Foundations of Computer ScienceHochgeladen vonShareef Khan
- Large Scale Systems - JamshidiHochgeladen vonwingorenator
- Additive Model of Reliability of Biometric Systems with Exponential Distribution of Failure ProbabilityHochgeladen vonijcsis
- Concept Measure Supported Aesthetics Ontology Construction for VideosHochgeladen vonijcsis
- ERP-3Hochgeladen vonladumorparag
- Summative Assessment -Essay 1 StrategicHochgeladen vonRob Van Helden
- Valenzo_HHochgeladen vonduongdh
- System AnalysisHochgeladen vonMohamad Arif
- Unit 1 SlidesHochgeladen vonhigginscribd
- Different Types of RelationsHochgeladen vonCatherine Dancel
- SD Main Basic EquationHochgeladen vonHBSIE7
- Generation of FormsHochgeladen vonplayquiditch
- MEHochgeladen vonNawfal
- Family Business (FB) planning in Zimbabwe: a perspective of the Flea Market traders in Masvingo UrbanHochgeladen vonThe Ijbmt
- Kravchenko N ArticleHochgeladen vonseanewdim
- kravchenko n articleHochgeladen vonapi-454121009
- Human Systems as Linguistic SystemsHochgeladen vonfatimaramos31
- CF-Science_LTTG_BI_EQ_UnifyingThemes.BI.pdfHochgeladen vonJoshua
- Chapter 03Hochgeladen vonBihag Bhatt
- Transport Charges Torghar.xlsxHochgeladen vonEngr Amir Jamal Qureshi
- ToBeTechnicalArchitectureDocumentTemp_EPMO_03162009Hochgeladen vonkamsow
- MEANINGS AND INTERCHANGEABILITY OF CONTINUING PROFESSIONAL DEVELOPMENT, TRAINING AND EDUCATION AND THEIR CONNECTION AND INFLUENCE ON LEARNING AND DEVELOPMENT IN BUILT ENVIRONMENTHochgeladen vonPUSAT PEMBANGUNAN AKADEMIK
- Tree Diagram Tool v1 1Hochgeladen vonokwute
- finaleac-ilovepdf-compressed 1Hochgeladen vonapi-344533264
- Lec1-Intro to SEHochgeladen vonMark Van Buladaco

- Stability ManualHochgeladen vonAlex Kidd
- Requirement Concern Strength of ShipHochgeladen vonJoe Tahir
- Systems Engineering for Ship Concept DesignHochgeladen vonJoe Tahir
- 45 Years With Design MethodologyHochgeladen vonJoe Tahir
- 2D FE Simulation of Material Flow in the FSW ProcessHochgeladen vonJoe Tahir
- Development of Multi Component Loads, Torque and Temperature Measurement Device for Friction Stir Welding ProcessHochgeladen vonJoe Tahir
- ResistanceManual.pdfHochgeladen vonJoe Tahir
- Freeship Manual 2.6Hochgeladen vonBill Geronikolas
- 459 - Reliability-based Performance Assessment of Damaged ShipsHochgeladen vonJoe Tahir
- 449 - Hydrodynamic Pressure and Impact Loads for High-speed Catamaran or Ses Hull FormsHochgeladen vonJoe Tahir
- 410Hochgeladen vonMuhammad Haroon
- Book - CH3 - Functional Analysis in Systems Engineering: Methodology and ApplicationsHochgeladen vonJoe Tahir
- A solid friction modelHochgeladen vonJoe Tahir
- Aeronautocal Design Standard Hand Book ADS-13F-HDBKHochgeladen vonJoe Tahir
- Chemistry} - Aluminium and Its AlloysHochgeladen vonFernando Antonio Caffroni Altamiranda

- Teaching Listening SkillsHochgeladen vonSubramaniam Kolandan
- brown raquel sociological perspectivesHochgeladen vonapi-253887137
- RAND_RR543.pdfHochgeladen vondeluargela
- Lesson 7Hochgeladen vonTania Cristina Monrroy
- Manual on Material Flow Cost Accounting ISO14051-2014Hochgeladen vonVarun Ingle
- TIF_06Hochgeladen vonboblong1911
- Acuicultura - NACAHochgeladen vonEdgar Meza Figueroa
- 7827Hochgeladen vonfauzan farauzhi
- Digital Strength Course 2Hochgeladen vonMario Vladović
- Constructing the ASEAN Image Through the Educational Curriculum of Selected National Network of Normal Schools (3NS) in the Philippines and Teacher Education Institutions Among Members of ASEANHochgeladen vonAmadeus Fernando M. Pagente
- Putting Intelligent Insights to WorkHochgeladen vonDeloitte Analytics
- DataHochgeladen vonNavin Nehru
- Ontological TurnHochgeladen vonLa Liziera
- SAP Basis QMHochgeladen vonSrinivasa Rao Mullapudi
- Risk Aggregation and ECHochgeladen vonaminiotis
- A Roadmap for Branding in Industrial MarketsHochgeladen vonHuyen Nguyen
- Agile Transformation StrategyHochgeladen vonAffiza Fazreen
- Back to Pakistan a 50-Year JourneyHochgeladen vonCʜocoɭʌtƴ Ɓoƴ
- GIS as a Tool for Development%28 %29Ahris YaakupHochgeladen vonMohamad Aiddid
- Shelter and settlment for refugees - improving communication to improve practicesHochgeladen vonsferretti
- 5-ProjPlanning-JaloteHochgeladen vonSumit Chaudhari
- BS 7000-10 2008 Design Management Systems. Vocabulary of Terms Used in Design ManagementHochgeladen vonjunqiangdong
- Kelley Noah Discourse Analysis Rev12 2014Hochgeladen vonIgor Paz
- hw3-13-noSolHochgeladen vonCorey Taylor
- Top Down ContnHochgeladen vonAnonymous dlSmlsymH
- Data MiningHochgeladen vonSugan Pragasam
- Cultural Tendencies in NegotiationHochgeladen vonAna Maria Negură
- Admission System Project ReportHochgeladen vonAnonymous oIiAz7
- Hackers Theory.Hochgeladen vonKibet Masai
- ED213117.pdfHochgeladen vonNOR LIZA