Function

Systems Architecture · Chapter 5

Aykut C. Satici

Form and Function

  • Chapter 4 analyzed form: what a system is
  • This chapter analyzes function: what a system does
  • Function describes activity and change, so representing it requires more than a static description of form

Architecture maps function to form

Once we can analyze both form and function, Chapter 6 shows how they combine into system architecture.

Box 5.1–5.3 · Definitions

Function is the action for which a system exists.

An operand is an object that need not exist prior to the execution of function, and is in some way acted upon by the function.

A process is the application of an instrument of form on an operand, changing it in some way: creating, destroying, or affecting it.

Function = process + operand. A process needs an instrument (form) to execute it.

Figure 5.1 · Function Is Hard to Draw

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.

OPM Notation for Process and Operand

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.

Figure 5.3 · The Canonical Model

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.

Making States Explicit

  • A more detailed OPM view shows the operand’s states directly, and which state the process moves it from and to
  • This is often the most useful representation: it shows exactly what “changes” means for a given operand

5.3 External Function and Value

Table 5.1 · Questions for Defining Function

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

The Primary Externally Delivered Function

  • The primary externally delivered function emerges when a process acts across the system boundary, at an interface
  • The value-related operand is the one whose change in state is the reason the system exists
  • To find it, ask: What is the most specific operand the system acts on to deliver value? What attribute and state change is associated with that value? What process changes it?

Pump primary function

Pump: operand is water, attribute is pressure, value-state is high, process is pressurizing.

Table 5.2 · External Function and Form

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.

Figure 5.7 · Increasing Levels of Detail

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.

Figure 5.8 · The Pump as a Transformation

OPM: low-pressure water enters Pressurizing, high-pressure water leaves, and Pump enables the process.
  • Input: low-pressure water; valued output: high-pressure water.
  • Separate input/output objects emphasize what crosses the interface.
  • “Consume/create” describes the modeled objects; it does not imply that water matter disappears or is manufactured.

Source: Figure 5.8. Compare the persistent-water representation in Figure 5.9 next.

Figures 5.8 and 5.9 · Same Function, Two Views

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.

Box 5.4–5.5 · Value and Benefit

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.

Section 5.2–5.3 Summary

  • Function is a process acting on an operand, enabled by an instrument of form
  • The primary externally delivered function emerges when a process acts on the value-related operand across the system boundary
  • Benefit materializes as a consequence of a process acting on the value-related operand: analyze the operand, its value-related attribute and state change, and the process

5.4 Internal Function

Identifying Internal Functions

  • Internal functions are the processes and operands inside the boundary that lead to the value-related external function
  • Identifying internal functions requires domain knowledge. Use the elements of form, established designs, or suitable analogies as starting points
  • The three techniques from Chapter 2 for predicting emergence apply here too: precedent, experiments, and analysis

Pump internal functions

Pump: increments kinetic energy (accelerating), then trades it for pressure (diffusing): in addition to inflowing and outflowing.

Table 5.3 · Principal Internal Functions

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. Each arrow pairs an operand with its process, not an OPM flow arrow.

Box 5.6 · Standard Process Patterns

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.

Figure 5.10 · Internal Functions of Bread Slicing

Mixing produces dough, baking produces bread, cutting produces slices: inferred from a standard cooking blueprint. Source: Crawley, Cameron & Selva (2016), Fig. 5.10.

Figure 5.11 · Internal Functions of Bubblesort

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.

5.5 Functional Interactions

Functional Architecture

Functional architecture

The exchanged or shared operands are the functional interactions. The functions plus the functional interactions are the functional architecture.

  • Interactions among internal functions produce the externally delivered function
  • Comparing the internal-function view to the functional-architecture view usually reveals additional input/output operands that were implicit before

Completing a Functional Architecture

  1. Start with the known internal processes and the value-related operand.
  2. Add missing boundary processes, such as importing or exporting.
  3. Add missing operands, including inputs and intermediate results.
  4. For each process, check every required operand and its relationship.
  5. For each operand, check all the processes that use or change it.
  6. Trace backward from the valued output: can this connected model explain the desired emergence?

Bread example: Mixing → Baking → Cutting needs ingredients, dough, bread, and delivered slices to become a complete pathway.

Figure 5.12 · Functional Architecture of Bread Slicing

Adding the raw-ingredient input reveals the full functional architecture: compare to Figure 5.10. Source: Crawley, Cameron & Selva (2016), Fig. 5.12.

Box 5.7 · From OPM to a PO Array

  • Put processes in rows and operands in columns.
  • Read one process and its direct OPM connections at a time.
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.

Worked PO Array · Making Bread Slices

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.

  • Read a row: Baking consumes dough and creates bread.
  • Read a column: Dough connects its producer, Mixing, to its consumer, Baking.
  • External ingredients enter; valued slices leave the boundary.

Worked translation of Figure 5.12 using Box 5.7. Blank cells mean no direct relationship.

Figure 5.13 · Pump Flow-Through Model

Pump flow-stage operands linked through Inflowing, Accelerating, Diffusing, and Outflowing.

  • Four processes connect the external inlet and outlet flows.
  • Each internal flow-stage object is created by one process and consumed by another.
  • Follow the arrows from low-pressure input to high-pressure output.
  • p = pressure; v = velocity.

Source: Figure 5.13. The dashed line marks the system boundary.

Table 5.4 · Pump Flow-Through PO Array

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. This is the corresponding link in Figure 5.13.

Table 5.4, with abbreviated headers: p = pressure; v = velocity. External columns represent interface operands.

Figure 5.14 · The Pump, Redrawn with States

  • Figure 5.13 uses separate flow-stage objects to represent the water at successive stages
  • Figure 5.14 instead represents the water as a continuing operand whose state changes

Choose the view that explains emergence

Choose an interpretation of internal functions that helps explain and predict the system’s emergent behavior.

Table 5.5 · Pump PO Array with States

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.

  • Accelerating changes velocity; Diffusing changes velocity and pressure.
  • One internal-flow object persists between inlet and outlet; its attribute columns expose what changes.

Table 5.5 corresponds to Figure 5.14. Velocity and pressure are attributes of the internal flow, not extra material objects.

Figures 5.13 and 5.14 · Compare the Models

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.

The Value Pathway

  • The value pathway is the chain of internal processes and operands that leads to the primary externally delivered function
  • Not every operand and process is on it: some are:
    • Not contributing to any desired function (unwanted side-effects, poor design, legacy: a source of gratuitous complexity, Ch. 13)
    • Supporting processes and form (even further from the value pathway: Ch. 6)

Figure 5.15 · Entities Not on the Value Pathway

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.

Emergence and Zooming

  • Emergence: the “smaller to larger” whole-part relationship for process: internal processes combine into the emergent external function
  • Zooming: the reverse, “larger to smaller”: reasoning from the emergent function back down into the internal processes that produce it

Figure 5.17 · Projecting onto Processes

Pump process projection: Inflowing to Accelerating to Diffusing to Outflowing, with shared flow labels.

  • Replace an explicit operand node between processes with a process-to-process dependency.
  • Here, flow labels preserve the reason for each link.
  • The projection highlights the pathway but hides detailed operand relationships and states.
  • Return to the full OPM/PO model to analyze an interface.

Source: Figure 5.17, a projection of the flow-through pump model. The supplementary slides develop Box 5.8’s matrix construction.

Functional Architecture in Software

  • Software functions are of two types: computational statements (A = B + C) and functions that dynamically allocate control (if... then...)
  • Control functions need operands too: control tokens, more implicit than explicit data variables
  • This produces two parallel kinds of functional interaction: data interactions and command (control) interactions

Figure 5.19 · Bubblesort with Command Operands

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.

Section 5.5 Summary

  • The entities of internal function, the internal processes, and the interactions of operands among processes establish the functional architecture
  • Representation of internal function is not unique: it depends on interpretation and style
  • The functional architecture generally contains a value pathway; we zoom the external function to identify it
  • Diagrams can be simplified using projections, where interactions between processes are indicated by shared operands alone

5.6 Secondary Functions

Figure 5.20 · Secondary Functions of the Pump

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.

Chapter 5 Summary

  • Function is a process (enabled by an instrument of form) acting on an operand
  • The primary externally delivered function emerges where a process crosses the system boundary and changes the value-related operand
  • Internal functions require domain knowledge to identify; their interactions (shared/exchanged operands) form the functional architecture
  • The value pathway explains how the primary function emerges. Other entities may serve secondary functions, provide support, or add gratuitous complexity
  • Systems can deliver secondary value-related functions too, beyond the primary one

Table 5.6 · Form and Function

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.

Next: System Architecture

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.

Supplementary Representations

Figure 5.18 · From PO to OP

A single process with created, affected, consumed, and instrument objects, alongside its PO row and OP column.
  1. Transpose PO: rows become operands, columns become processes.
  2. Change c′ to c; change d to d′.
  3. Leave affect and instrument entries unchanged.

Notation: the reproduced figure uses e for the effect link; the text and our tables use a. I denotes an instrument.

Source: Figure 5.18 and Box 5.8. Primes distinguish the before/after roles needed for the causal projection.

Box 5.8 · A Symbolic Process Projection

For m processes and n operands, assemble the blocks:

\[\begin{bmatrix} PP & PO \\ OP & OO \end{bmatrix}\]

  • PP and OO: diagonal process and operand identifiers.
  • PO: m × n; OP: n × m, constructed on the previous slide.
  • Project through the operand identifiers: PO × OO × OP → m × m.
  • To retain the book’s causal links, discard terms containing a prime.
  • Read the resulting DSM from column process to row process.

Based on Box 5.8. Its printed product begins with PP; PO is required for compatible dimensions and a projection through operands.

Worked Projection · Mixing to Baking

Shared operand: Dough

  • PO(Baking, Dough) = d; OP(Dough, Mixing) = c.
  • Their symbolic product contributes d · Dough · c at row Baking, column Mixing.
  • No prime: retain Mixing → Baking.
  • The reverse term is c′ · Dough · d′; it contains primes and is discarded.
Receiver ↓ / Source → Mixing Baking Cutting
Mixing
Baking Dough
Cutting Bread

This off-diagonal projection preserves the handoff chain; detailed operand states remain in the full model.