Systems Architecture · Chapter 5
Architecture maps function to form
Once we can analyze both form and function, Chapter 6 shows how they combine into system architecture.
Function is the activity, operation, or transformation that causes or contributes to performance. In designed systems, function is the actions for which a system exists, which ultimately lead to the delivery of value. Function is executed by form, which is instrumental in function. Function emerges from functional interaction between entities.
Function is a product/system attribute.
Source: Crawley, Cameron & Selva (2016), Box 5.1.
| Question | Produces |
|---|---|
| 5a. What is the primary externally delivered function? What is value? | The value-related operand, its state, the process that changes it, and the enabling form |
| 5b. What are the internal functions? | The internal processes and operands |
| 5c. What is the functional architecture? | The functional interactions among internal processes |
| 5d. What are secondary value-related functions? | Additional operands and processes delivering value |
Function joins an action to the object acted upon:
| Process | Operand | Function |
|---|---|---|
| Housing | Resident | Housing a resident |
| Instructing | Passenger | Instructing a passenger |
Tip
Function = process + operand. Form supplies the instrument that enables the process.
Examples and relation from Crawley, Cameron & Selva (2016), §5.2, pp. 98–99.
An operand is an object and therefore has the potential for stable, unconditional existence for some period of time. Operands are objects that need not exist prior to the execution of function and are in some way acted upon by the function. Operands may be created, modified, or consumed by the process part of function.
Source: Crawley, Cameron & Selva (2016), Box 5.2.
Process is a pattern of transformation undergone by an object. Processes generally involve creation of, destruction of, or a change in an operand.
Source: Crawley, Cameron & Selva (2016), Box 5.3.
Process is inherently dynamic: a static image always struggles to capture it. Source: Crawley, Cameron & Selva (2016), Fig. 5.1. Photo (b) Miguel Angel Salinas Salinas/Shutterstock, (c) Screwy/Shutterstock.
Three ways a process and operand can relate in OPM:
Affect
(double arrow)
The process changes an attribute of the operand, but doesn’t create or destroy it.
Consume
(arrow into process)
The operand no longer exists in its original form after the process.
Produce
(arrow out of process)
The operand didn’t exist before the process, and does after.
Function is a process affecting an operand. The instrument object enables the process. This pattern recurs in the architecture models throughout the course. Source: Crawley, Cameron & Selva (2016), Fig. 5.3.

Pump primary function
Pump: operand is water, attribute is pressure, value-state is high, process is pressurizing.
| Value-related operand | Attribute → valued state | Process | System form |
|---|---|---|---|
| Output signal | Magnitude → higher | Amplifying | Operational amplifier |
| Design | Completeness → complete | Developing | Team X |
| Oxygen | Location → at organs | Supplying | Circulatory system |
| Water | Pressure → high | Pressurizing | Centrifugal pump |
| Array | Sortedness → sorted | Sorting | Bubblesort code |
| Bread | Slicedness → sliced | Making | Kitchen |
Read across: what changes, what outcome matters, what activity causes it, and what form enables it.
Adapted from Table 5.2. The operand and process describe function; the last column identifies form.
Value is the benefit received relative to the cost incurred.
Box 5.5 · Benefit delivery
Good architectures deliver benefit through the emergence of the primary function and its delivery across a system boundary at an interface.
Value relates benefit to cost. Architecture determines how form enables the required functions and therefore influences both.
Three equally valid OPM diagrams of the same external function: increasingly explicit about the operand’s states. Source: Crawley, Cameron & Selva (2016), Fig. 5.7.
Source: Figure 5.8. Compare the persistent-water representation in Figure 5.9 next.
Water is the operand; pressure is the value-related attribute; pressurizing is the process that moves it from Lo to Hi. Source: Crawley, Cameron & Selva (2016), Fig. 5.9.
Figure 5.8: input/output objects

Emphasizes the transformation between named flow objects.
Figure 5.9: explicit states

Emphasizes the pressure change of water that persists.
Both express Pressurizing + water. Choose a view that answers the engineering question; do not mix object identities midway through a model.
Pump internal functions
Pump: increments kinetic energy (accelerating), then trades it for pressure (diffusing): in addition to inflowing and outflowing.
| System form | Internal operand — process pairs |
|---|---|
| Operational amplifier | Gain — Setting; Voltage — Increasing |
| Team X | Requirements — Finalizing; Concepts — Developing; Design — Approving |
| Circulatory system | Oxygen — Absorbing; Blood — Pumping; Oxygen — Delivering |
| Centrifugal pump | Flow — Accelerating; Flow — Diffusing |
| Bubblesort code | I index — Looping; J index — Looping; Array entries — Testing / Exchanging |
| Kitchen | Dough — Mixing; Bread — Baking; Slices — Cutting |
Compare Table 5.2: several internal functions contribute to one externally delivered function. Their interactions still need to be identified.
Adapted from Table 5.3; all listed pairs retained. The dash pairs an operand with a process; it does not specify an OPM link direction.
| Purpose | A starting blueprint |
|---|---|
| Transport mass | Overcome gravity; overcome drag; guide the mass |
| Transfer information | Encode; transmit while directing; decode |
| Engage an employee | Recruit; agree; train; assign tasks; evaluate |
| Make a decision | Gather evidence; develop options and criteria; evaluate; decide |
| Assemble parts | Bring together; inspect; assemble; test |
Use these patterns to propose internal functions. Check them against the actual system, observations, and domain knowledge.
Mixing produces dough, baking produces bread, cutting produces slices: inferred from a standard cooking blueprint. Source: Crawley, Cameron & Selva (2016), Fig. 5.10.
| Process | Internal low-p flow | Internal high-v flow | Internal high-p flow | External low-p flow | External high-p flow |
|---|---|---|---|---|---|
| Inflowing | c′ | d | |||
| Accelerating | d | c′ | |||
| Diffusing | d | c′ | |||
| Outflowing | d | c′ |
c′ = create; d = consume. Blank = no direct relationship.
Trace a handoff: In the high-v column, Accelerating creates the operand that Diffusing consumes. Figure 5.13 later draws this handoff as an OPM diagram.
Table 5.4, with abbreviated headers: p = pressure; v = velocity. External columns represent interface operands.
Looping affects the index (doesn’t create/destroy it); exchanging affects array entries; testing uses array elements as an instrument, without changing them. Source: Crawley, Cameron & Selva (2016), Fig. 5.11.
Functional architecture
The exchanged or shared operands are the functional interactions. The functions plus the functional interactions are the functional architecture.
Bread example: Mixing → Baking → Cutting needs ingredients, dough, bread, and delivered slices to become a complete pathway.
Adding the raw-ingredient input reveals the full functional architecture: compare to Figure 5.10. Source: Crawley, Cameron & Selva (2016), Fig. 5.12.
| Entry | Meaning in that process row |
|---|---|
c′ |
Creates the operand |
d |
Consumes/destroys the modeled operand |
a |
Affects an existing operand’s state |
I |
Uses an unchanged object as an instrument |
| Blank | No direct relationship in this model |
The prime marks a created, post-process operand. A PO array can be rectangular; a DSM uses the same entity set on both axes.
| Process ↓ / Operand → | Ingredients* | Dough | Bread | Slices |
|---|---|---|---|---|
| Mixing | d | c′ | ||
| Baking | d | c′ | ||
| Cutting | d | c′ |
*Flour, water, salt, and yeast grouped for readability; separate columns would each contain d in the Mixing row.
Worked translation of Figure 5.12 using Box 5.7. Blank cells mean no direct relationship.

p = pressure; v = velocity.Source: Figure 5.13. The dashed line marks the system boundary.

Choose the view that explains emergence
Choose an interpretation of internal functions that helps explain and predict the system’s emergent behavior.
| Process | Internal flow: existence | Internal flow: velocity | Internal flow: pressure | External low-p flow | External high-p flow |
|---|---|---|---|---|---|
| Inflowing A | c′ | d | |||
| Accelerating B | a | ||||
| Diffusing C | a | a | |||
| Outflowing D | d | c′ |
a = affect a state; c′ / d = create / consume the modeled object.
Table 5.5 corresponds to Figure 5.14. Velocity and pressure are attributes of the internal flow, not extra material objects.
5.13 / Table 5.4: flow stages

Separate flow objects; c′ and d show handoffs.
5.14 / Table 5.5: persistent flow

One internal flow; a exposes velocity and pressure changes.
Same intended external benefit. Different choices of operand identity make different questions easier to answer.
Frying belongs to a secondary value pathway; growing mold is unwanted. Powering (the kitchen) is a supporting function, one step further removed. Source: Crawley, Cameron & Selva (2016), Fig. 5.15.

Source: Figure 5.17, a projection of the flow-through pump model. The next slides develop Box 5.8’s matrix construction.
For m processes and n operands:
PO is m × n: process rows, operand columns.OO is n × n: the operand names on its diagonal.OP is n × m: operand rows, process columns.\[R=PO\,OO\,OP,\qquad R_{ij}=\sum_{k=1}^{n}PO_{ik}\,[O_k] \,OP_{kj}.\]
Each term follows source process j → operand k → receiving process i. Here multiplication joins labels into a path; addition collects paths. It is symbolic, not ordinary arithmetic. Afterward, discard terms containing a prime to retain the book’s causal links; read each surviving entry column → row. We apply this to Table 5.4’s pump to obtain Figure 5.17.
Box 5.8 prints PP × OO × OP; the first factor must be PO for the dimensions and the process–operand links to match.
PO: process rows and operand columns.OP; change c′ → c and d → d′. Affect and instrument entries stay the same.Source: Figure 5.18 and Box 5.8. Figure 5.18 uses e for effect; the text uses a.
\(P_1\) = Inflowing, \(P_2\) = Accelerating, \(P_3\) = Diffusing, \(P_4\) = Outflowing.
\(L\) = internal low-pressure flow; \(V\) = internal high-velocity flow; \(H\) = internal high-pressure flow.
\[PO=\begin{array}{c|ccc}&L&V&H\\\hline P_1&c'&0&0\\P_2&d&c'&0\\P_3&0&d&c'\\P_4&0&0&d\end{array},\qquad OP=\begin{array}{c|cccc}&P_1&P_2&P_3&P_4\\\hline L&c&d'&0&0\\V&0&c&d'&0\\H&0&0&c&d'\end{array}.\]
\[OO=\operatorname{diag}(L,V,H).\]
The external inlet and outlet flows in Table 5.4 each touch only one internal process; they create no link between two internal processes.
Multiply the arrays symbolically. Row \(i\) is the receiving process; column \(j\) is the source process:
\[R=PO\,OO\,OP,\qquad R_{ij}=\sum_{k\in\{L,V,H\}}PO_{ik}\,[k] \,OP_{kj}.\]
The three forward handoffs come from three separate operand columns:
\[\begin{aligned} R_{21}&=d(L)c+c'(V)0+0(H)0=dLc,\\ R_{32}&=0(L)d'+d(V)c+c'(H)0=dVc,\\ R_{43}&=0(L)0+0(V)d'+d(H)c=dHc. \end{aligned}\]
Each nonzero result has no prime, so it survives the book’s causal filter. A reverse term such as \(R_{23}=c'Vd'\) contains primes and is discarded.
Set every term containing a prime to zero. The surviving \(4\times4\) process matrix is:
\[R_{\mathrm{causal}}=\begin{array}{c|cccc}&P_1&P_2&P_3&P_4\\\hline P_1&0&0&0&0\\ P_2&dLc&0&0&0\\ P_3&0&dVc&0&0\\ P_4&0&0&dHc&0 \end{array}.\]
Read column → row:
These are the three labeled arrows in Figure 5.17.
For the same four process rows and three internal-flow columns, let \(C_{jk}=1\) when process \(j\) creates operand \(k\), and \(D_{ik}=1\) when process \(i\) consumes it:
\[C=\begin{bmatrix}1&0&0\\0&1&0\\0&0&1\\0&0&0\end{bmatrix},\qquad D=\begin{bmatrix}0&0&0\\1&0&0\\0&1&0\\0&0&1\end{bmatrix}.\]
\[A=DC^{\mathsf T}=\begin{bmatrix}0&0&0&0\\1&0&0&0\\0&1&0&0\\0&0&1&0\end{bmatrix}.\]
\(A_{ij}=\sum_k D_{ik}C_{jk}\) counts direct producer-to-consumer handoffs. Its three 1s occur in the same cells as \(dLc\), \(dVc\), and \(dHc\).
A = B + C) and functions that dynamically allocate control (if... then...)Control tokens pass between Looping, Testing, and Exporting: the command interactions running in parallel with the data interactions. Source: Crawley, Cameron & Selva (2016), Fig. 5.19.
A “slinger” deflects leaked water away from the motor; a sensor measures outlet pressure. Neither is on the primary value pathway, but both add real value. Source: Crawley, Cameron & Selva (2016), Fig. 5.20.
| Form | Function |
|---|---|
| What a system is (noun) | What a system does (verb) |
| Objects + formal structure | Operands + processes |
| Aggregates and decomposes | Emerges and zooms |
| Enables function | Requires an instrument of form |
| Specified at an interface | Specified at an interface |
| Source of cost | Source of external benefit |
| Transaction: a good | Transaction: a service |
Architecture connects the columns: which elements of form enable which processes, acting on which operands?
Adapted from Table 5.6. These are analytical emphases; real offerings can combine goods and services.
Chapter 6 combines form and function: the mapping of instrument objects to internal processes is the architecture of a system.
Reference
Crawley, E., Cameron, B., & Selva, D. (2016). System Architecture: Strategy and Product Development for Complex Systems. Pearson. Chapter 5.

← Course Home · Systems Architecture · Chapter 5