EverCheck EverTest EverView Workflow Training Guide Pricing Download Free Trial ✉ support@everbits.com

Stopping
the Car

The third unit of our car model: the brakes. Pedal po­si­tion in, brake force and brake light out, with the short delay of a real hy­draulic sys­tem. Spec­i­fied in plain words and ver­i­fied like a soft­ware unit: model re­view, static anal­y­sis, five tests, con­di­tion cov­er­age. Every re­port linked as the tool wrote it.

See the work products ↓

6 min read · all re­ports open in a browser, no MATLAB needed

The brake unit in EverView with its requirement tags, and the EverTest traceability matrix: five test cases, five requirements, all passed

Three tools · EverView · EverCheck · EverTest

Five work products, third unit #

The pow­er­train pushes the car, the driv­ing re­sis­tances hold it back. The brakes are the driver’s side of the bal­ance. Like the en­gine, they need a mo­ment to de­liver what the pedal asks for, so this unit has a state, and its tests look at se­quences of steps in­stead of sin­gle val­ues. Same work­flow, same five work prod­ucts, and this time a con­di­tion to cover but no de­ci­sion.

StepWork productToolISO 26262Result
1Unit Spec­i­fi­ca­tionWordPart 8, Clause 9 — ver­i­fi­ca­tion en­vi­ron­ment spec­i­fied5 re­quire­ments
2WEB_BRK.html — model viewEverViewPart 6, Clause 8 — de­sign re­view input13 blocks, 5 re­quire­ment tags
3SMA_BRK.html — static anal­y­sisEverCheckPart 6, Clause 8 — ver­i­fi­ca­tion of unit de­sign54 / 54 checks passed
4VER_BRK.html — test re­sultsEverTestPart 8, Clause 9 — ver­i­fi­ca­tion ex­e­cuted and eval­u­ated5 / 5 passed, 5 / 5 re­quire­ments, 6 / 6 de­sign ranges
5COV_BRK.html — struc­tural cov­er­ageEverTestPart 6, Clause 9 — cov­er­age met­ricsCon­di­tion 2 / 2, no de­ci­sions

All re­ports are self-con­tained HTML files. They open off­line, with­out MATLAB, and are the files that doc­u­ment the test en­vi­ron­ment in the safety case.

Next: The pow­er­train pushes, the re­sis­tances hold back, the brakes slow down. The last unit adds the three forces up and turns them into speed and dis­tance, lim­ited by the grip of the road.

Making the Car Move →

From the pedal to the wheels #

Press the pedal, and three things hap­pen. The pedal asks for a share of the strong­est brak­ing the car can do. The hy­draulics need a mo­ment to de­liver it. And the brake light comes on at once, be­fore any force is there. The unit mod­els ex­actly these three things, noth­ing more.

EffectWhere it comes fromHow it behavesOur car
Pedal shareThe pedal po­si­tion sets the pres­sure in the brake linesHalf pedal, half force: a straight line from 0 to the max­i­mum15 000 N at full pedal: 10 m/s², about 1 g
DelayFluid has to move and pads have to press be­fore the force is thereThe force closes a fixed share of the re­main­ing gap in every cycle; it never over­shoots20 % per 20 ms cycle: 67 % after 0.1 s, 95 % after 0.28 s
Brake lightA switch at the pedal, not a pres­sure sen­sorOn in the same cycle the pedal moves, off in the same cycle it is re­leasedAny pedal po­si­tion above 0 %

The car is the one from the pre­vi­ous pages: 1500 kg, and tyres that can trans­mit about the weight of the car as brake force on dry as­phalt. Three num­bers fol­low:

Left: brake force after a full-pedal step, rising in 20 millisecond steps to 15 kN, 67.2 percent after 0.1 s, 95 percent after 0.28 s. Right: stopping distance over speed, with and without the lag; 40 m from 100 km/h

Fig­ure 1 · Left: the brake force after a full-pedal step, com­puted from the spec­i­fi­ca­tion. Right: what the delay costs in stop­ping dis­tance.

Why a delay at all. With­out it, the brake force would jump from 0 to 15 kN within one 20 ms cycle. Real brakes can­not do that, and a con­troller tested against such a brake would learn the wrong thing about the car. A first-order lag with a time con­stant of 0.1 s is the sim­plest model that gets the build-up right. It costs four blocks.

The plan. The car is built in steps, and each step is ver­i­fied be­fore the next one is added: the pow­er­train, the driv­ing re­sis­tances, the brakes (this page), the lon­gi­tu­di­nal mo­tion. Then the loop is closed with the cruise con­troller.

Why verify the brakes of a test tool #

In the closed loop the brake pedal is how the driver takes over from the cruise con­troller. The brake light is the sig­nal that tells the con­troller to let go. If the light came one cycle late, or the force built up too fast, the con­troller would be tested against a car that does not exist, and it would pass.

The delay is a state. A state can be ini­tial­ized wrong, can drift, can over­shoot. None of that shows up in a sin­gle-step check. The tests on this page look at se­quences, and the spec­i­fi­ca­tion says what the se­quence must look like, num­ber by num­ber.

That is why ISO 26262-8 asks for a spec­i­fied ver­i­fi­ca­tion en­vi­ron­ment (Clause 9) and for con­fi­dence in every tool whose error could let a fault go un­de­tected (Clause 11). The pow­er­train page ex­plains the ar­gu­ment in full. The full run for this unit takes about ten sec­onds.

Unit Specification #

Two pages in the same lay­out as for the other units: the in­ter­face table and the re­quire­ments, writ­ten so that a reader with­out an en­gi­neer­ing de­gree can fol­low them.

NameTypeData typeMinMaxUnitDescription
cmdBrakeInputsin­gle0100%Brake pedal po­si­tion
fBrakeOut­putsin­gle015000NBrake force at the wheels, pos­i­tive slows the car
brakeLightOut­putbool­ean01–Brake light, on while the pedal is pressed
F_BRAKE_MAXPa­ram­e­tersin­gle1500015000NBrake force at full pedal
BRK_TAUPa­ram­e­tersin­gle0.10.1sTime con­stant of the brake build-up
TSPa­ram­e­tersin­gle0.020.02sSam­ple time

What mat­ters: BRK-3 is writ­ten as num­bers, not as a for­mula. In every cycle the force moves by TS / BRK_TAU, that is 20 %, of the dis­tance to the re­quest. After a full-pedal step that gives 3000, 5400, 7320, 8856 and 10 084.8 N: 67.2 % after five cy­cles, which is BRK_TAU. A re­viewer can check these five num­bers with a pocket cal­cu­la­tor, and the test case does ex­actly that. The three pa­ram­e­ters have Min equal to Max: one car, not a fam­ily of cars.

Model view for the design review #

Thir­teen blocks in two lines. The top line turns the pedal into a re­quested force and runs it through the lag: the dif­fer­ence to the cur­rent force, times the lag fac­tor TS / BRK_TAU, added to the cur­rent force, stored in a unit delay. The unit delay is the state; its out­put is the brake force. The bot­tom line com­pares the pedal with zero for the light.

EverView export of the brake unit: thirteen blocks, signal types and ranges on the lines, REQ tags on the implementing blocks, a unit delay holding the brake force

Fig­ure 2 · The unit in EverView. Sig­nal names, types and ranges on every line; one REQ tag per re­quire­ment on the block that im­ple­ments it.

Open WEB_BRK.html →

Static analysis #

The same 54 checks as for the other units, run be­fore any test ef­fort is spent: in­ter­face com­plete and con­sis­tent, only ap­proved block types, ex­plicit ini­tial­iza­tion, unique re­quire­ment IDs, re­quire­ment trace­abil­ity, model con­fig­u­ra­tion, no warn­ings dur­ing model up­date. Re­sult: 54 of 54 passed.

EverCheck summary: test run, harness, test object, complexity metrics, environment; 54 of 54 checks passed

Fig­ure 3 · EverCheck sum­mary: 13 blocks, op­er­a­tor com­plex­ity 7, 54 / 54.

Open SMA_BRK.html →

One test case per requirement #

This unit re­mem­bers. Its out­put de­pends on what the pedal did be­fore, so a test is a short story: press, hold, re­lease, and look at every step in be­tween. Five test cases, one per re­quire­ment, 815 time steps in total. Every ex­pected value is one line of arith­metic from the spec­i­fi­ca­tion.

Test caseSituationWhat we expectREQ
TC1_StartFull pedal from the first cycle, held for 0.78 s0 N in the first cycle, then 3000, 5400, 7320 N … up to 14 997.5 NBRK-1
TC2_PedalShare25, 50, 75, 100 and 0 % pedal, each held for 2 s3750, 7500, 11 250, 15 000, 0 N at the end of each holdBRK-2
TC3_DelayFull pedal for seven cy­cles, then re­leasedForce moves one cycle late: 3000, 5400, 7320, 8856, 10 084.8 N; after re­lease it loses 20 % per cycleBRK-3
TC4_BrakeLightPedal 0.5 %, 100 %, 0 %, 1 %, 0 %, two cy­cles eachLight on, on, off, on, off in the same cy­cles; the force lags be­hindBRK-4
TC5_RangeNo pedal for 2 s, full pedal for 2 s, re­leased for 2 s0 N, 15 000 N reached and never passed, back to 0 NBRK-5

The test har­ness, live

This is the EverView ex­port of the test har­ness it­self, live in the frame: the brake unit be­tween the EverTest source and sink, with the sig­nal names and ranges of the in­ter­face. Dou­ble-click into BRK to walk the model, click a block for its prop­er­ties. Ex­actly what a re­viewer does, with no li­cence.

Open full screen in a new tab ↗

EverView export of the BRK test harness: model browser, the unit between EverTest source and sink, properties panel Open the live har­nessFull screen in a new tab. Walk into the unit, click a block for its prop­er­ties. Best on a tablet or desk­top.Open live export ↗

LIVE EVERVIEW EXPORT · BRK_harness · NAVIGATE · SEARCH · PROPERTIES

Open BRK_harness.html →

Test results and traceability #

One run ex­e­cutes the five cases in the har­ness and writes the ver­i­fi­ca­tion re­port. Re­sult: 5 of 5 passed, all five re­quire­ments cov­ered, all six de­sign ranges reached.

Requirements traceability matrix: five test cases, five requirements, one requirement per test case, all passed

Fig­ure 4 · Re­quire­ments trace­abil­ity ma­trix: one test case per re­quire­ment, all passed.

EverPlot of TC3: brake force after a full pedal step, rising in steps from 0 to 11854 N, then falling by 20 percent per cycle after the pedal is released; marker lines at pedal pressed and pedal released

Fig­ure 5 · TC3_Delay in the re­port: the force starts one cycle after the pedal, climbs in shrink­ing steps, and fades the same way after the re­lease.

TC3 test data: time, pedal, reference and result for fifteen steps; reference 3000, 5400, 7320, 8856, 10084.8 against the recorded values; all steps green

Fig­ure 6 · The test data of TC3: the hand-com­puted ref­er­ence next to the recorded value, every step green.

Open VER_BRK.html →

Structural coverage: one condition, no decision #

The re­sis­tances had a switch. The brakes have none: the com­par­i­son cmdBrake > 0 feeds the light di­rectly, so there is a con­di­tion to cover but no de­ci­sion, and the cy­clo­matic com­plex­ity is 1. The cov­er­age re­port shows both out­comes of the con­di­tion: true in 1106 steps, false in 746.

Coverage report: relational operator BrakeActive, condition 100 percent, input1 greater than input2 true 1106 times, false 746 times

Fig­ure 7 · COV_BRK: con­di­tion 2 / 2 on cmdBrake > 0; de­ci­sion and MC/DC not ap­pli­ca­ble.

EverPlot of TC4: brake light on at pedal 0.5 percent, on at 100 percent, off at 0, on at 1 percent, off at 0; below it the pedal position; the light follows the pedal in the same cycle

Fig­ure 8 · TC4_BrakeLight: the test that was writ­ten for BRK-4 and also takes the con­di­tion both ways. Light above, pedal below, marker lines at every pedal change.

Open COV_BRK.html →

Three units of one test tool #

The ar­gu­ment is the same as for the pow­er­train and the re­sis­tances. EverCheck and EverTest bring their own TCL 3 qual­i­fi­ca­tion kit. The plant model is a tool we build our­selves, and its con­fi­dence comes from the work shown here: a spec­i­fi­ca­tion, a model that passed the prod­uct’s static checks, tests against val­ues com­puted in ad­vance, cov­er­age of every con­di­tion, and re­ports that record every ver­sion. With this page, three of the four plant units have that record.

How ISO 26262 tool qual­i­fi­ca­tion works →

What it took #

Frequently asked questions

Why model the delay at all?

Be­cause with­out it the car would stop like a wall. The con­troller under test would see a brake that acts within 20 ms, and what­ever it learned from that would be wrong on the road. A time con­stant of 0.1 s is a plain as­sump­tion for a hy­draulic brake; it is writ­ten in the spec­i­fi­ca­tion, and it costs four blocks.

Why does the light follow the pedal and not the force?

Be­cause that is how a car does it: the brake light switch sits at the pedal. The light is on while the force is still build­ing up and off while it is still fad­ing. For the cruise con­troller that is the right order: the sig­nal to let go ar­rives be­fore the car slows down.

Why does the force never reach exactly 15 000 N?

A first-order lag closes 20 % of the re­main­ing gap per cycle, so a gap al­ways re­mains. After 2 s it is 0.002 N, within the tol­er­ance of 0.01 N, and EverTest counts the limit as reached. The limit it­self is never passed: that is what BRK-5 says, and TC5 checks it on every step.

Why is there no limiter block?

The force moves to­wards the re­quest by a share of the dis­tance, and the re­quest is at most F_BRAKE_MAX. It can never go past a value it only ap­proaches. A lim­iter would hide a bug in­stead of pre­vent­ing one; the tests prove that none is needed.

What comes next?

The last plant unit, Mak­ing the Car Move, adds up push, re­sis­tance and brake force and turns them into speed. With it the car is com­plete and the loop is closed with the cruise con­troller.

Same workflow, your test environment

Down­load the trial, take one plant unit, and pro­duce the five work prod­ucts for it. Or bring one unit to a half-day work­ing ses­sion — your model, your re­quire­ments, your re­ports at the end.

⬇ Download Free Trial Talk to us