Designing Safety into the Object Network
Automotive safety is often discussed as though it belongs to a dedicated subsystem.
Airbags.
Brakes.
Crash structures.
Driver-assistance systems.
Safety controllers.
These are all important.
But a vehicle is not safe because it contains a collection of “safety components.”
A vehicle is safe because the relationships between its objects continue to produce acceptable behavior, including when parts of the system fail.
That is a much stronger idea.
In ZenOps, safety can therefore be designed directly into the automotive object network.
The chain becomes:
x → NDD → Requirements → ORIGIN → Safety Relations → FMEA → StoryQ → Evidence → QT
The goal is not merely to ask:
Which objects are safety-critical?
It is to ask:
Which object relations must remain trustworthy for the human need to remain protected?
Safety Begins With Human Need
The highest-level safety requirement is not:
Install airbags.
Nor:
Use redundant controllers.
Those are solutions.
The need is closer to:
Protect human life and reduce unacceptable harm during vehicle operation.
That can be decomposed through the NDD:
Protect Human Life│├── Avoid Preventable Accidents├── Maintain Vehicle Control├── Detect Dangerous Conditions├── Protect Occupants During Collision├── Protect Other Road Users├── Manage Failures Safely└── Support Emergency Response
These needs then become engineering requirements.
Only after that should architecture and technology enter.
Safety Is Distributed Across the Vehicle
Consider emergency braking.
The safety outcome may depend on:
Driver↓Brake Pedal↓Sensor↓Controller↓Software↓Actuator↓Brake↓Wheel↓Tire↓Road
If any critical part of this chain behaves incorrectly, braking performance can degrade.
Safety therefore exists across the network.
It is not localized in one object.
This leads to a central principle:
A safety property belongs to a path through the object network.
Safety Requirements Can Attach to Relations
Suppose:
Wheel-Speed Sensor reports toBrake Controller
That relation may carry safety constraints such as:
- Maximum acceptable latency
- Signal validity rules
- Error detection
- Timeout behavior
- Recovery behavior
The relation itself becomes safety-relevant.
This is important because many failures occur not because an object stops existing, but because communication or interaction becomes incorrect.
Model Safe and Unsafe Relations
A normal relation might be:
Sensor reportsWheel Speed toController
A failure relation might be:
Sensor reportsIncorrect Wheel Speed toController
The second relation may drive unsafe behavior unless detection exists.
Therefore the object network should not model only intended relations.
It should also model:
- Missing relations
- Delayed relations
- Corrupted relations
- Contradictory relations
- Unintended relations
This connects naturally to FMEA.
Safe Behavior Must Exist Under Failure
A robust vehicle is not one where components never fail.
That is unrealistic.
A robust vehicle is one where important failures are anticipated and the system responds appropriately.
Suppose one wheel-speed sensor fails.
The intended response might be:
Sensor Failure↓Detect Invalid Data↓Isolate Failed Signal↓Use Degraded Control Strategy↓Limit Function if Required↓Record Diagnostic Event↓Inform Driver if Necessary
The safety architecture therefore includes both:
normal behavior
and:
failure behavior.
Safety Can Be Modeled as State Preservation
Another useful perspective is to define acceptable system states.
For example:
NORMAL↓DEGRADED↓SAFE STOP
A failure should not allow the system to jump unpredictably into an unsafe state.
Instead, the architecture should define permissible transitions.
For example:
Normal ↓ sensor failureDegraded ↓ multiple failuresRestricted Operation ↓ critical conditionSafe Stop
Safety becomes a controlled state-transition problem.
Safety Patterns Belong in the Pattern Library
Many safety structures repeat.
For example:
Detect → Isolate → Degrade → Report → Recover
Another:
Observe → Cross-Check → Reject Invalid → Continue Safely
Another:
Command → Verify Actuation → Detect Mismatch → Enter Safe State
These can become reusable ZenOps patterns.
Each pattern can contain:
Safety Pattern│├── Purpose├── Context├── Objects├── Relations├── Failure Modes├── Required Responses├── StoryQ Scenarios├── Tests└── Evidence
Safety knowledge becomes reusable.
Redundancy Is a Relation Strategy
Redundancy is often treated as “adding another component.”
But in object-network terms, redundancy changes the relation structure.
For example:
Sensor A ↘ Controller ↗Sensor B
Now the controller can compare independent information sources.
The safety logic might be:
Sensor A+Sensor B↓Cross-Check↓Agreement?├── Yes → Continue└── No → Degraded / Diagnostic
The safety benefit comes not from merely having two sensors.
It comes from the relations between them.
Diversity Can Improve Robustness
Two identical sensors may fail for the same reason.
A stronger architecture may use diverse information sources:
Wheel-Speed Sensor+Vehicle Acceleration Estimate+Motor-Speed Estimate↓Plausibility Evaluation
Now one source can challenge another.
This may reduce common-cause risk.
Again, the important property exists in the network.
Safety Boundaries Must Be Explicit
Modular architecture can help safety if boundaries are well defined.
Suppose:
Brake Module
exposes:
- Command interface
- Status interface
- Diagnostic interface
- Safe-state behavior
Other systems can then rely on a defined contract.
But if safety assumptions remain hidden inside the module, integration becomes dangerous.
A safe module should explicitly state:
What do I guarantee?
Under what conditions?
What happens when those conditions are violated?
This turns the module boundary into a safety contract.
Safety Contracts Connect Modules
Consider:
Vehicle Controller commandsBrake Module
The interface may require:
Controller promises:
- Commands remain within defined range
- Communication timing remains within limits
Brake Module promises:
- Valid commands are executed
- Invalid commands are rejected
- Communication loss triggers defined fallback
This creates bidirectional responsibility.
The interface is no longer just a data connection.
It becomes a behavioral contract.
FMEA Tests the Safety Network
FMEA asks:
What happens when an object or relation fails?
For each safety-relevant relation, we can ask:
What if the message is missing?What if it is late?What if it is wrong?What if the sender fails silently?What if two failures occur together?
This systematically explores the safety network.
The results can generate requirements, mitigations, scenarios, and tests.
Safety Requirements Should Generate StoryQ Scenarios
Suppose the safety requirement says:
The vehicle shall prevent unsafe propulsion after a critical inverter fault.
A Gherkin scenario might be:
Scenario: Critical inverter fault during propulsionGiven the vehicle is producing propulsion torqueWhen a critical inverter fault is detectedThen propulsion torque shall be reduced according to the defined safe strategyAnd the fault shall be recordedAnd the driver shall be informed according to the defined warning strategy
Now the safety claim becomes observable behavior.
Failure Injection Is Essential
A safety mechanism that has never been tested under failure is only a design intention.
If the architecture says:
Sensor failure is detected,
then deliberately create sensor failure.
If it says:
Communication timeout leads to safe degradation,
then interrupt communication.
If it says:
Actuator mismatch is detected,
then inject a mismatch.
The loop becomes:
Safety Claim↓Failure Scenario↓Failure Injection↓Observed Behavior↓Evidence
Safety becomes demonstrated rather than assumed.
Safety QTs Should Be Evidence-Based
A safety QT might include:
SAFETY QT[ ] Critical hazards identified[ ] Safety-relevant relations identified[ ] Failure modes modeled[ ] Safety mechanisms implemented[ ] Degraded states defined[ ] Failure scenarios tested[ ] Safety interfaces verified[ ] Residual risks evaluated[ ] Evidence accepted
The safety threshold is not crossed because the safety document exists.
It is crossed because the evidence is sufficient.
Safety Should Be Recursive
The same reasoning applies at multiple levels.
At component level:
Sensor↓Failure Detection↓Safe Output
At module level:
Brake Module↓Degraded Mode↓Safe Control
At vehicle level:
Vehicle↓Critical Failure↓Restricted Operation↓Safe Stop
Safety can therefore be analyzed recursively.
Safety Is Not Only Crash Safety
Automotive safety is broader than collision protection.
It includes:
- Vehicle controllability
- Electrical safety
- Battery safety
- Thermal safety
- Software behavior
- Charging safety
- Diagnostic integrity
- Manufacturing quality
- Service correctness
- Human-machine interaction
Each area can be represented through objects and relations.
The same ZenOps model applies across all of them.
Human-Machine Relations Are Safety-Critical
Consider a warning.
Vehicle communicatesWarning toDriver
The technical system may detect danger correctly.
But if the warning is confusing, delayed, or invisible, the safety mechanism may still fail.
The human-machine relation must therefore be analyzed like any other critical interface.
StoryQ might express:
Scenario: Critical thermal warningGiven a critical thermal condition has been detectedWhen driver action is requiredThen the defined warning shall be presentedWithin the required response timeAnd the warning shall clearly communicate the required action
The human becomes part of the safety network.
Manufacturing Safety Begins With Process Relations
A design can be safe in theory and unsafe when manufactured incorrectly.
Suppose:
Workstation installsBrake Line
Safety-related manufacturing questions include:
- Can the line be incorrectly routed?
- Can the connector be partially seated?
- Can torque be insufficient?
- Can the wrong component be installed?
PFMEA identifies these risks.
Manufacturing controls then become part of the safety architecture.
Production Evidence Belongs to Safety
Suppose a critical connector must be fully engaged.
The factory may verify:
Vehicle #000142↓Connector #C-922↓Installation Verification↓PASS
Now the safety chain extends into production.
The vehicle does not merely inherit design safety.
It must also acquire manufacturing evidence.
Software Configuration Is Part of Safety
A physical vehicle may be mechanically correct but run the wrong software.
Therefore:
Controller executesApproved Software Version
is a safety relation.
Production QT should verify software identity.
Service updates should preserve compatibility.
A mismatched software version is not simply a configuration issue.
It can become a safety issue.
Safety Traceability Should Be Bidirectional
From a hazard, we should be able to navigate downward:
Hazard↓Safety Requirement↓Safety Pattern↓Module↓Component↓Software↓Test↓Evidence
From a failed field component, we should be able to navigate upward:
Failed Component↑Safety Function↑Safety Requirement↑Hazard↑Human Consequence
This makes safety knowledge navigable.
Field Evidence Must Challenge Safety Assumptions
Suppose development testing predicts a failure to be extremely rare.
Field evidence later shows otherwise.
The safety model must change.
The loop becomes:
Field Event↓Diagnostic Analysis↓Failure Model Update↓Safety Requirement Review↓New Scenario↓Corrective Work↓Regression Test↓New Evidence
Safety is therefore not frozen at launch.
It remains connected to reality.
Safety Patterns Improve With Every Vehicle
Suppose a safe-degradation pattern is used across several vehicle platforms.
Each implementation produces:
- Test results
- Failures
- Diagnostic experience
- Service data
- Field evidence
The pattern can improve.
Safety Pattern v1↓Vehicle A↓Evidence↓Safety Pattern v2↓Vehicle B↓More Evidence
Safety engineering becomes cumulative knowledge.
Common-Cause Failures Must Be Visible
Network modeling is particularly valuable when several systems depend on the same object.
For example:
12V Power Supply│├── Sensor A├── Controller B├── Communication Gateway└── Brake Support System
The components may appear independent in separate subsystem analyses.
The object network reveals a shared dependency.
A single power failure may affect all of them.
This exposes common-cause risk.
Safety Is About Controlling Propagation
A small failure is not always dangerous.
The danger often lies in propagation.
For example:
Sensor Error↓Incorrect Controller Decision↓Incorrect Actuator Command↓Unexpected Vehicle Motion↓Human Harm
Safety mechanisms attempt to break the chain.
Sensor Error↓Plausibility Check↓Error Detected↓Command Blocked↓Degraded Mode
Safety design can therefore be understood as interrupting dangerous propagation paths.
Safety Objects Can Include Hazards
Hazards themselves can become domain objects.
For example:
HAZARD-018Unintended PropulsionThreatens:Occupant SafetyPedestrian SafetyRelated Objects:Motor ControllerAccelerator SensorVehicle SoftwareMitigated By:Torque Plausibility PatternSafe-State Pattern
Now hazards participate in the same knowledge network as requirements and tests.
The Object Network Can Become a Safety Map
Imagine selecting a hazard and seeing:
Hazard│├── Causes├── Affected Objects├── Affected Relations├── Safety Requirements├── Mitigations├── Failure Modes├── StoryQ Scenarios├── Tests└── Evidence
The domain model becomes a safety navigation system.
This is far more useful than isolated documents.
Safety Is a Property of the Whole Transformation
Quality failures can enter the vehicle at many stages.
A misunderstood need can create the wrong safety requirement.
A bad requirement can create the wrong architecture.
A poor architecture can create dangerous coupling.
A manufacturing defect can invalidate a safe design.
A service error can introduce a new hazard.
Therefore safety must extend through:
Need↓Requirement↓Architecture↓Component↓Software↓Manufacturing↓Vehicle↓Service↓Field Evidence
Safety is a lifecycle property.
Designing Safety Means Designing the Failure Paths
The normal engineering path asks:
How does the vehicle succeed?
Safety engineering must also ask:
How does the vehicle fail?
And then:
How does it fail safely?
That produces a more complete architecture:
Normal Operation ↓Failure ↓Detection ↓Containment ↓Degraded Operation ↓Recovery / Safe Stop
The failure path is not an exception.
It is part of the design.
The Complete ZenOps Safety Loop
The full model can now be expressed as:
HUMAN NEED ↓NDD ↓SAFETY REQUIREMENTS ↓ORIGIN ↓OBJECTS + RELATIONS ↓HAZARDS ↓FMEA ↓SAFETY PATTERNS ↓MODULES + INTERFACES ↓STORYQ / GHERKIN ↓FAILURE INJECTION ↓EVIDENCE ↓SAFETY QT ↓VEHICLE ↓FIELD EVIDENCE ↓UPDATED SAFETY MODEL
The loop continues throughout the vehicle’s life.
Safety Is Not Added at the End
A dangerous engineering pattern is:
Design the vehicle first, then ask the safety team to prove that it is safe.
ZenOps suggests the opposite.
Safety should influence:
- Needs
- Requirements
- Object relations
- Patterns
- Module boundaries
- Interfaces
- Failure modes
- Software states
- Manufacturing controls
- Test strategy
before the finished vehicle exists.
The goal is not to inspect safety into the final product.
It is to build safety into the model that creates the product.
A Safe Vehicle Is a Safe Network
The deepest conclusion is simple.
A safe component does not automatically create a safe vehicle.
A safe module does not automatically create a safe vehicle.
Even a collection of individually verified systems does not automatically create a safe vehicle.
Safety emerges from their relationships.
A sensor must report correctly.
A controller must interpret correctly.
Software must respond correctly.
An actuator must behave correctly.
A human must receive the right information.
And when one of these fails, the rest of the network must react in a controlled way.
That is why ZenOps treats safety as a property of the object network.
Safety is not merely what each object does when everything works.
Safety is what the complete network does when reality stops behaving as expected.
Design those relations deliberately.
Model their failure modes.
Test them.
Collect the evidence.
And keep learning from every vehicle that enters the real world.
That is how safety becomes part of the architecture itself.