ZenOps for Autonomous and Assisted Driving Systems
Autonomous and assisted driving systems create a particularly difficult automotive engineering problem.
A conventional vehicle largely responds to commands from a human driver.
An assisted or automated vehicle increasingly participates in deciding:
- What exists around the vehicle
- What those objects are doing
- What may happen next
- What maneuver should be performed
- How the vehicle should execute that maneuver
- When control should remain with the human
- What should happen when the system becomes uncertain
This changes the engineering problem fundamentally.
The vehicle is no longer merely executing commands.
Parts of the vehicle are interpreting reality.
ZenOps provides a useful structure for managing this complexity:
x → NDD → Requirements → ORIGIN → Patterns → Driving Architecture → Scenarios → Evidence → QT
The objective is not simply to create an autonomous-driving algorithm.
It is to build a traceable system that connects human need to demonstrated behavior in the real driving environment.
Start With the Human Need
The starting point should not be:
Build an autonomous vehicle.
“Autonomous vehicle” is already a proposed solution.
The original need may be closer to:
Help people travel safely and efficiently while reducing the amount of continuous driving effort required from the human.
Different users may have different needs:
Mobility│├── Reduce Driving Workload├── Improve Safety├── Support Long Journeys├── Assist in Congestion├── Improve Parking├── Support Limited-Mobility Users└── Reduce Human Driving Errors
These needs can lead to very different solutions.
Perhaps the correct solution is lane assistance.
Perhaps adaptive cruise control.
Perhaps automated parking.
Perhaps highly automated highway operation.
Perhaps eventually full automated driving.
ZenOps keeps the distinction between need and solution visible.
Build the Automated-Driving NDD
Suppose the system is intended to provide assisted highway driving.
The NDD might contain:
Provide Assisted Highway Travel│├── Maintain Safe Following Distance├── Maintain Lane Position├── Recognize Relevant Traffic├── Respond to Changing Traffic├── Respect Operating Boundaries├── Maintain Driver Awareness├── Detect System Limitations├── Transfer Control Safely└── Enter Safe State When Necessary
These needs become the foundation for requirements.
The system architecture should emerge from them.
Driving Is a Closed Loop
A useful high-level pattern is:
Observe → Understand → Decide → Act → Observe Again
For an automated-driving system:
Environment↓Sensors↓Perception↓World Model↓Decision / Planning↓Vehicle Control↓Actuators↓Vehicle Motion↓Environment
This is a continuous loop.
Every action changes reality.
Reality produces new observations.
The system must then evaluate the new state.
Model the Driving Domain With ORIGIN
The relevant objects are not confined to the vehicle.
They may include:
VehicleDriverCameraRadarOther VehiclePedestrianCyclistLaneRoadTraffic SignTraffic SignalObstacleWeatherMapLocalization SystemControl SoftwareBrake SystemSteering System
Relations might include:
Camera observesPedestrianVehicle travels inLaneVehicle followsOther VehicleDriver supervisesDriving FunctionDriving Function commandsSteering System
The domain model therefore extends beyond the physical boundary of the car.
The road environment becomes part of the operational model.
Perception Converts Measurements Into Meaning
A sensor does not simply tell the vehicle:
There is a pedestrian.
It produces measurements.
Software interprets those measurements.
The chain may be:
Physical Person↓Light / Radar Reflection↓Sensor↓Measurement↓Perception Algorithm↓Detected Object↓Classification↓World Model
Every transformation introduces uncertainty.
That uncertainty must be understood.
A Detection Is Not Reality
Suppose the perception system reports:
Object:PedestrianPosition:X,YVelocity:VConfidence:92%
That is not the pedestrian.
It is the system’s interpretation of sensor evidence.
The distinction is critical.
ZenOps should therefore model both:
Real-world object
and:
system representation of that object.
This prevents the internal model from being confused with reality itself.
Relations Can Carry Uncertainty
A normal ORIGIN relation might be:
Camera observesVehicle
For automated driving, we may need richer semantics:
Perception System estimates with confidence CObject Type = Vehicle
Uncertainty becomes part of the relationship.
This matters because driving decisions may depend on the quality of the observation.
Sensor Fusion Is a Relation Pattern
Different sensors have different strengths.
An architecture may combine:
Camera+Radar+Other Applicable Sensors↓Sensor Fusion↓World Model
The important engineering question is not merely:
How accurate is each sensor?
It is also:
How do their observations interact?
What happens when they agree?
What happens when they disagree?
What happens when one disappears?
These become explicit scenarios.
The World Model Is a Critical Object
The automated-driving system needs some internal representation of its surroundings.
For example:
WORLD MODEL│├── Ego Vehicle├── Road Geometry├── Lanes├── Vehicles├── Pedestrians├── Cyclists├── Obstacles├── Traffic Controls└── Predicted Motion
Planning operates on this representation.
Therefore errors in the world model can propagate into vehicle behavior.
Planning Converts Understanding Into Intent
Suppose the system determines:
Vehicle Ahead↓Distance Decreasing↓Current Speed Unsuitable
Planning might decide:
Reduce Speed
The chain becomes:
Observation↓Interpretation↓Prediction↓Decision↓Maneuver
Each transformation can have requirements.
Each can have failure modes.
Each can generate evidence.
Control Converts Intent Into Physical Motion
Planning might request:
Decelerate to 70 km/h.
Vehicle control must translate that into physical action.
Desired Motion↓Control Software↓Brake / Motor Commands↓Actuators↓Vehicle Dynamics
This connects automated driving directly to the hardware-software object network discussed in previous ZenOps entries.
The autonomous-driving stack cannot be treated independently of the vehicle underneath it.
Define the Operational Boundary
One of the most important questions is:
Under what conditions is this function intended to operate?
The answer may depend on:
- Road type
- Speed
- Weather
- Visibility
- Lane markings
- Geography
- Traffic conditions
- Sensor availability
- Vehicle condition
The operating boundary should become explicit.
For example:
Driving Function permitted whenOperating Conditions = Valid
Outside those conditions:
Driving Function shall not claimNormal Automated Operation
Knowing when not to operate is part of correct behavior.
Boundary Detection Is a Requirement
It is not enough to define an operational boundary on paper.
The vehicle must determine whether the current situation remains inside it.
Therefore:
Operating Boundary↓Observable Conditions↓Detection Logic↓System State
This generates requirements.
For example:
The system shall detect when required lane information is no longer sufficiently reliable.
That requirement can become a scenario.
StoryQ Turns Driving Situations Into Tests
Consider lane assistance.
Scenario: Lane information becomes unreliableGiven assisted driving is activeAnd lane information is initially sufficientWhen lane information falls below the defined reliability criteriaThen the system shall detect the limitationAnd shall transition according to the defined degraded strategyAnd shall inform the driver when driver action is required
Now the operating-boundary concept becomes observable behavior.
Scenario Engineering Becomes Central
Automated-driving systems face enormous numbers of possible situations.
Examples include:
Vehicle cuts in aheadVehicle brakes suddenlyLane disappearsRoad construction changes lane geometryPedestrian enters roadwaySensor becomes obstructedHeavy rain reduces visibilityEmergency vehicle approachesStationary object appears aheadDriver fails to respond to takeover request
Each scenario represents a question to the system.
Scenarios Should Become Domain Objects
A scenario can have identity:
SCN-00421Name:Vehicle Cuts InInitial State:Highway drivingActors:Ego VehicleTarget VehicleTrigger:Target enters ego laneExpected Behavior:Maintain safe trajectory
Now scenarios can connect to:
RequirementsHazardsObjectsFailure ModesTestsEvidenceQT
The scenario library becomes part of the domain model.
Scenario Variation Creates the Real Challenge
“Vehicle cuts in” is not one situation.
Parameters may include:
Relative SpeedDistanceCut-In AngleRoad CurvatureSurface FrictionLightingWeatherVehicle TypeEgo SpeedTraffic Density
A scenario therefore becomes a parameterized space.
Testing must explore that space intelligently.
Scenario Outlines Can Represent Variations
Conceptually:
Scenario Outline: Vehicle cuts into ego laneGiven assisted driving is activeAnd ego speed is <ego_speed>And the target vehicle is at <distance>When the target vehicle enters the ego laneThen the system shall maintain the defined safety criteriaExamples:| ego_speed | distance || V1 | D1 || V2 | D2 || V3 | D3 |
The exact engineering parameter set can be maintained separately.
The behavioral pattern remains readable.
Normal Driving Is Not Enough
A system can perform beautifully during ordinary driving and still fail in rare but important situations.
Therefore the scenario library must include:
Normal ScenariosBoundary ScenariosFailure ScenariosRare ScenariosRecovery Scenarios
FMEA and safety analysis help generate the negative cases.
FMEA Becomes Scenario Generation
Suppose:
Failure Mode:Front camera unavailable
Potential effect:
Reduced perception capability
This can generate:
Scenario: Front camera becomes unavailable during assisted drivingGiven assisted driving is activeAnd the front camera is operating normallyWhen the front camera becomes unavailableThen the failure shall be detectedAnd the driving function shall enter the defined degraded stateAnd the driver shall be informed according to the defined strategy
The FMEA has become executable behavior.
Safety Exists Across the Entire Chain
Consider:
Pedestrian↓Sensor↓Perception↓World Model↓Prediction↓Planning↓Control↓Brakes
A failure anywhere can affect the final outcome.
Therefore safety analysis must consider complete propagation paths.
The question is not only:
Did the pedestrian detector work?
It is:
Did the complete vehicle respond safely to the pedestrian situation?
Human Supervision Is Part of the System
For assisted-driving systems, the human may remain responsible for part of the driving task.
Therefore:
Driving System↔Driver
is a critical relation.
The architecture must define:
- What the system controls
- What the human controls
- What the human must monitor
- How control transitions occur
- How the system communicates limitations
Ambiguity here is dangerous.
Mode Confusion Is an Engineering Problem
Suppose the driver believes:
The vehicle is controlling steering.
while the system has actually disengaged.
That is a failure in the human-machine relation.
Therefore system state must be communicated clearly.
Actual System State↓HMI↓Driver Understanding
The final safety property depends on all three.
Takeover Is a Complete Process
A takeover should not be modeled simply as:
Show warning.
The chain may be:
System Detects Limitation↓Takeover Requested↓Driver Receives Request↓Driver Understands Request↓Driver Becomes Ready↓Control Transfers↓Vehicle Remains Stable
Each relation can fail.
The complete process requires evidence.
What If the Driver Does Not Respond?
The architecture must explicitly consider this.
Takeover Request↓No Driver Response↓Escalation↓Defined Fallback↓Risk-Reducing Maneuver
Failure handling is part of normal system design.
It cannot be postponed until validation.
Minimal-Risk Behavior Is a Pattern
A reusable ZenOps pattern might be:
Detect Limitation → Request Intervention → Escalate → Reduce Risk → Reach Defined State
Different vehicle systems may implement this differently.
But the pattern can be reused.
The Pattern Library can contain:
PurposeAssumptionsObjectsRelationsStatesFailure ModesStoryQ ScenariosVerification MethodsEvidence
Driving Software Is State-Heavy
An assisted-driving function may contain states such as:
UNAVAILABLE↓AVAILABLE↓READY↓ACTIVE↓DEGRADED↓TAKEOVER REQUESTED↓FALLBACK
Transitions must be explicit.
For each transition:
What triggers it?
What conditions permit it?
What does the vehicle do?
What does the driver see?
What happens if the transition fails?
This turns hidden software logic into engineering knowledge.
Every State Transition Can Become a Scenario
For example:
Scenario: Assisted driving becomes unavailableGiven assisted driving is activeWhen required operating conditions are no longer satisfiedThen the system shall transition out of normal automated operationAnd the driver shall receive the defined indicationAnd vehicle behavior shall remain within the required safety limits
The state machine becomes testable.
Evidence Must Exist at Multiple Levels
Automated-driving evidence may come from:
Unit Tests↓Software Integration Tests↓Simulation↓Software-in-the-Loop↓Hardware-in-the-Loop↓Closed-Course Tests↓Vehicle Tests↓Field Evidence
No single level answers every question.
Simulation provides scale.
Physical testing provides reality.
Field evidence provides operational learning.
Simulation Is Especially Important
The number of relevant driving scenarios can be enormous.
Physical testing alone cannot efficiently explore every useful combination.
Simulation can evaluate large scenario spaces:
Scenario×Speed×Distance×Weather×Road Geometry×Actor Behavior
This produces evidence rapidly.
But the simulation itself must be credible for the claim being made.
Evidence About the Simulator Matters Too
If simulation is used to support a critical decision, we should ask:
Why do we trust the simulation?
That creates another evidence chain:
Simulation Model↓Validation Against Reality↓Model Evidence↓Simulation Credibility
Evidence generation itself may require evidence.
ZenOps can preserve that relationship.
Physical Tests Anchor the Model
Simulation results can be compared with:
- Proving-ground tests
- Controlled traffic scenarios
- Hardware measurements
- Real sensor data
- Vehicle dynamics data
The comparison improves confidence in the virtual environment.
The loop becomes:
Simulation↔Physical Test↔Model Refinement
Scenario Coverage Is Better Than Kilometer Counting Alone
A statement such as:
We drove millions of kilometers.
sounds impressive.
But the stronger question is:
Which relevant situations occurred during those kilometers?
Ten million kilometers of easy highway driving may tell us less about one critical rare scenario than a carefully designed test.
ZenOps therefore emphasizes scenario evidence, not merely accumulated distance.
Evidence Should Connect to Scenario Space
Imagine:
SCN-421 Vehicle Cut-InParameter Coverage:Speed ██████████Distance █████████░Weather ███████░░░Night █████░░░░░Low Friction ███░░░░░░░
Now engineering can see where evidence is strong and where uncertainty remains.
UNKNOWN becomes actionable.
FLEXI Can Target Scenario Gaps
Suppose the model reveals:
Scenario:Pedestrian crossingNight + Rain:Evidence = UNKNOWN
That creates a FLEXI question:
How does the current system behave for this scenario under night-and-rain conditions?
The team can:
Configure Scenario↓Run Simulation↓Analyze Result↓Run Physical Test if Required↓Collect Evidence↓Update Model
FLEXI becomes a mechanism for reducing scenario uncertainty.
Quality Thresholds Should Evaluate Behavior
An assisted-driving QT might contain:
ASSISTED DRIVING QT[ ] Operating boundary defined[ ] Boundary detection verified[ ] Core perception scenarios verified[ ] Planning behavior verified[ ] Control behavior verified[ ] Driver interaction verified[ ] Failure modes verified[ ] Degraded modes verified[ ] Takeover behavior verified[ ] Fallback behavior verified[ ] Scenario coverage accepted[ ] Residual uncertainty accepted
The system does not pass because:
Development is 95% complete.
It passes because the evidence is sufficient for the decision.
Perception Needs Its Own Evidence Network
For a pedestrian-detection function:
Pedestrian Detection Requirement↓Day ScenarioNight ScenarioRain ScenarioPartial Occlusion ScenarioCrossing ScenarioStationary Scenario↓Tests↓Evidence
A single accuracy number may hide important weaknesses.
The scenario structure provides context.
Planning Needs Behavioral Evidence
Suppose perception correctly identifies another vehicle.
Planning can still fail.
Possible planning failures include:
- Unsafe gap selection
- Excessive acceleration
- Late braking
- Unstable lane change
- Failure to yield
Planning therefore needs its own requirements and scenarios.
Control Needs Physical Evidence
A perfect trajectory in software does not guarantee the physical vehicle can execute it.
The vehicle may encounter:
- Low friction
- Tire variation
- Actuator limits
- Brake temperature
- Steering limitations
Therefore:
Planned Trajectory↓Vehicle Controller↓Physical Vehicle↓Actual Trajectory
must eventually be verified.
Hardware and Software Remain One System
Autonomous driving makes this especially obvious.
The complete chain includes:
Camera Hardware+Sensor Software+Perception Software+Compute Hardware+Planning Software+Control Software+Network+Actuator Hardware+Vehicle Dynamics
The customer experiences the result of all of them simultaneously.
ZenOps therefore manages them as one object network.
Redundancy Must Be Evaluated as Behavior
Adding two sensors does not automatically create safety.
Suppose:
Camera+Radar
Both may fail to provide useful information under some shared environmental condition.
The question is:
Does the complete architecture still produce acceptable behavior?
Redundancy must therefore be verified through scenarios.
Common-Cause Failure Matters
Several systems may depend on:
Shared PowerShared ComputeShared NetworkShared ClockShared Software Component
These dependencies can defeat apparent redundancy.
The object network helps reveal them.
Diagnostics Become Crucial
When an automated-driving function becomes unavailable, service needs to understand why.
Potential causes may include:
Sensor HardwareSensor ObstructionCalibrationNetworkCompute HardwareSoftwareConfiguration
Diagnostics should connect field events back to the domain model.
Manufacturing Must Preserve Sensor Geometry
For perception systems, manufacturing variation matters.
A camera installed at the wrong angle may alter system behavior.
Therefore production may need evidence for:
Sensor IdentitySensor PositionSensor OrientationCalibrationSoftware VersionVehicle Geometry
The automated-driving system begins in engineering but continues through manufacturing.
Service Can Change the Perception System
Suppose a windshield-mounted camera is replaced.
The service process may require:
Replace Camera↓Verify Installation↓Calibrate↓Verify Software Compatibility↓Execute Functional Test↓Record Evidence
A simple component replacement becomes a system-level operation.
Vehicle Identity Must Include Automation Configuration
A vehicle instance may need traceability for:
Vehicle #000142Camera HW v3Radar HW v2Compute HW v4Perception SW v8.2Planning SW v6.1Control SW v5.7Calibration Set C218
Field evidence without configuration context can be misleading.
Software Updates Reopen the Evidence Chain
Suppose planning software changes.
Even if hardware remains identical:
Software Change↓Affected Behaviors↓Affected Scenarios↓Regression Tests↓Evidence↓QT↓Deployment
An over-the-air update can therefore change the driving product after manufacture.
Field Evidence Is Essential
Real roads continuously reveal conditions that engineering did not fully anticipate.
A field event might expose:
Unusual Road Geometry+Specific Weather+Specific Sensor Configuration+Specific Software Version↓Unexpected Behavior
This should feed directly back into engineering.
Every Important Field Event Should Become Knowledge
The loop is:
Field Event↓Reconstruction↓Scenario↓Root Cause↓Requirement / Model Update↓Corrective Work↓Regression Test↓Evidence↓Pattern Library
A surprising event should become less surprising the next time.
The Fleet Becomes a Scenario Discovery System
Development engineers create scenarios based on what they expect.
The fleet discovers scenarios based on what actually happens.
That creates a powerful feedback loop:
Scenario Library↓Vehicle Release↓Fleet↓New Situations↓New Scenarios↓Expanded Scenario Library
The model grows with reality.
Patterns Become More Valuable Over Time
Suppose several programs encounter similar problems with sensor obstruction.
The organization can develop a reusable pattern:
Sensor Obstruction Pattern│├── Detection├── Confidence Reduction├── Functional Limitation├── Driver Notification├── Recovery├── Scenarios└── Evidence
The next vehicle program inherits the knowledge.
This is how ZenOps turns experience into reusable engineering capital.
Autonomous Driving Is Ultimately an Uncertainty Problem
A conventional deterministic software function may have relatively well-defined inputs.
Driving exists in an open world.
The vehicle may encounter situations not represented exactly in development.
Therefore the system must manage uncertainty.
It should know not only:
What do I think is happening?
but also:
How confident am I?
and:
What should I do when confidence is insufficient?
This is a fundamental architectural requirement.
UNKNOWN Must Be a Valid System Concept
ZenOps already treats UNKNOWN as useful engineering information.
Automated driving needs a similar idea operationally.
If the system cannot establish sufficient confidence, it should not invent certainty.
Conceptually:
Known↓Act NormallyUncertain↓Increase CautionInsufficient Confidence↓Degrade / Request Intervention / Reduce Risk
The exact behavior depends on the system and operating context.
The principle is general.
The System Must Know Its Limits
Intelligence is not only the ability to make decisions.
It is also the ability to recognize when available information is insufficient for a reliable decision.
That means the architecture must model:
Capability+Operating Boundary+Confidence+Fallback
Together, these define responsible automated behavior.
The Complete ZenOps Automated-Driving Chain
The full model can now be represented as:
HUMAN NEED ↓x ↓NDD ↓DRIVING REQUIREMENTS ↓ORIGIN ↓OBJECTS + RELATIONS ↓OPERATING BOUNDARY ↓PERCEPTION ↓WORLD MODEL ↓PLANNING ↓CONTROL ↓PHYSICAL VEHICLE ↓SCENARIOS ↓FMEA + SAFETY ANALYSIS ↓STORYQ / GHERKIN ↓SIMULATION + PHYSICAL TEST ↓EVIDENCE ↓QT ↓RELEASE ↓FIELD EVIDENCE ↓NEW SCENARIOS ↓IMPROVED MODEL
The loop continues throughout the vehicle’s life.
From Driving Intelligence to Evidence
The most impressive autonomous-driving demonstration is not necessarily the most important engineering result.
A vehicle can perform brilliantly for an hour and still contain dangerous gaps.
ZenOps asks a different set of questions:
What human need are we solving?
Under exactly which conditions is the function intended to operate?
What does the vehicle need to perceive?
What decisions can it make?
What uncertainty exists?
What happens when sensors or software fail?
What happens when the system reaches the edge of its capability?
What does the human need to understand?
Which scenarios challenge these assumptions?
What evidence demonstrates acceptable behavior?
This changes the objective.
The goal is not merely to create a vehicle that appears intelligent.
The goal is to create a vehicle whose behavior can be understood, bounded, challenged, tested, and supported by evidence.
Because assisted and automated driving ultimately asks a machine to participate in decisions inside a complex physical world.
That makes the ZenOps principle especially important:
Model what the system knows.
Model what it does not know.
Model how it acts.
Model how it fails.
Test the scenarios.
Preserve the evidence.
And let reality continuously improve the model.