Patterns in System Architecture Decisions
Patterns in System Architecture Decisions
Patterns in System Architecture Decisions
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
[email protected]). 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
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.
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.
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
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
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.
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
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
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
Table IV. DMM Illustrating the Mapping between Architecture Tasks and Patterns
Table V. DMM Mapping Classical Combinatorial Optimization Problems to the Most Similar Architecture Tasks
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,
n
{ }
n
N (N 1)
n + mN
Counting all mi 2N 2M N Bn = N! 2 k
i=1 k=0 k
alternatives
{ } k ( )
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
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.
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
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.
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.