Purpose of this Post
In previous posts we introduced:
- a minimal definition of a system
- architecture as a constraint on the problem space
- architectural layers that influence feasible outcomes At this point, a natural question arises:
What is the smallest amount of structure required to describe how architecture constrains what systems can become?
We do not need detailed diagrams, modeling languages, or even geometry to answer this question. The minimal structure required is causal order.
This post introduces the smallest mathematical structure capable of expressing:
- which system developments are possible
- which developments are impossible
- which options remain open
- how architectural choices influence future possibilities
This structure will later support discussion of:
- architectural change
- technical debt
- option value
- governance effects
- representation fidelity
From Relations to Causal Order
In the Post titled ”What is a System and Why Do We Care”, we defined a system as:
![]()
where:
– elements
– relations
– boundary
– purpose
Relations are intentionally general in this formulation. They may represent:
- physical connections
- information flow
- organizational influence
- functional dependency
However, architecture does not constrain arbitrary relations. Instead, architecture primarily con-strains which elements may influence others. Therefore, we refine the relation set as
![]()
where
means element
can influence element
. This relation is assumed to satisfy
- irreflexivity:

- transitivity:

- acyclicity: no element can indirectly influence itself.
Together, these properties define a partially ordered structure. Partial order is important because architecture typically allows for parallel development paths, independent subsystem evolution, and multiple viable solution strategies. Architecture does not impose a single sequence of events. Instead, architecture constrains which sequences are admissible.
Why Causality is the Minimal Structure
Causal ordering captures something fundamental: architecture shapes the structure of possible change. Even before design begins, architecture determines:
- what kinds of change are easy
- what kinds of change are difficult
- what kinds of change are impossible
Causal structure therefore exists prior to detailed design decisions. Design operates within this structure.
Chains — Sequences of Development
A causal chain is an ordered sequence
![]()
Chains can represent
- design progressions
- implementation sequences
- decision pathways
- system evolution trajectories
A chain may also represent
- technology selection sequences
- architectural refinement steps
- integration dependencies
Architecture constrains which chains can occur.
Antichains or Sets of Architectural Alternatives
An antichain is a set of elements which are mutually incomparable under the causal ordering relation. Intuitively, this means that no element in the set forces another or has any influence on another element of the set.
Antichains represent sets of viable alternatives. Examples include
- alternative architectural styles
- competing interface strategies
- different decomposition approaches
Antichains are important because they represent freedom of choice. Architectures with larger antichains preserve more optionality while architectures that prematurely collapse antichains reduce flexibility.
Future Sets — Reachable Possibilities
Given an element
, we define its future set as all elements reachable through causal progression from
. This set can represent possible future system states, reachable architectural configurations, or admissible development trajectories. Architecture shapes this set before design decisions are made. In other words, architecture determines the shape of the future solution space.
Boundaries and External Influence
The system boundary
is not static. External influences may introduce
- new constraints
- new technologies
- new regulatory requirements
- new stakeholder needs
Architecture must therefore accommodate interaction between internal causal structure and external forces. In later posts, we will explore how governance, for example, acts as an external influence that can alter admissible paths.
Valuation of Paths
Causal structure alone allows us to describes what is possible. Decision making requires distin-guishing between desirable futures and less desirable or undesirable futures. To account for this, we introduce a valuation mapping
![]()
where
is the set of admissible causal paths. Valuation allows us to make comparisons between possible trajectories. We can interpret this as
- positive value indicates beneficial change
- negative value indicates technical debt accumulation
- zero value indicates neutral impact
Valuation is not required for causal structure to exist. However, valuation is necessary for decision-making. Later posts will relate valuation to option value, technical debt, and architectural entrenchment.
Why This Matters
Many engineering failures arise not from incorrect design decisions, but from architectures that
- eliminate desirable futures too early
- permit undesirable futures
- obscure available options
- create brittle change pathways
These problems often remain hidden because causal structure is rarely made explicit. Understanding minimal causal structure thus allows us to help explain
- why systems become difficult to modify
- why technical debt accumulates
- why governance interventions sometimes fail
- why representations can distort decisions
Connection to the Next Post
In the next post, we will formalize architecture as a constraint operator
![]()
restricting the set of admissible causal structures. This provides a foundation for understanding
- how architecture shapes decision space
- how structural commitments influence future change
- how architectural choices accumulate long-term effects
We now have enough structure to describe how architecture constrains possible futures. The next step is to describe how architecture acts on the space of possibilities itself. Rather than describing individual elements or relations, we will describe architecture as an operator that restricts which causal structures are admissible.
Leave a Reply