Skip to main content
Fidelity ladder for Ethernet rest bus simulation as four stacked rungs, capture replay, service model, behavioural model and fault-capable model, each with a note on what that level catches, from GSAS Micro Systems India

Rest Bus Simulation for Ethernet-Based Vehicles

GSAS Engineering · · 12 min read

Rest bus simulation replaces the missing ECUs of a vehicle network with a simulated model so that one real ECU sees a complete bus. On CAN that means transmitting the frames the absent nodes would have sent. On automotive Ethernet it means simulating services rather than frames: the simulator has to offer service instances over SOME/IP service discovery with valid endpoint options and TTLs, accept or refuse eventgroup subscriptions, hold connection-oriented endpoints open, join or publish the right multicast groups, and often take a defined role in the time synchronisation domain. Choose the fidelity level deliberately, because a simulator that answers correctly and instantly is a peer the vehicle does not contain.

Rest bus simulation usually arrives in an Indian engineering team as a line in a customer requirement document, using a term most available material defines for CAN and leaves there. That definition is correct and not enough, because what is being asked for on an Ethernet programme is a different object.

This article is about that difference. It assumes the physical layer, covered in our complete guide to automotive Ethernet, and SOME/IP as the application protocol, covered in our SOME/IP explainer.

What rest bus simulation means

One real ECU, every other node simulated

A rest bus simulation replaces the ECUs that are not on your bench with a model, so the one real ECU you are testing sees what it takes to be a complete network. The device under test is real hardware running real software; everything it talks to is generated. That moves integration testing to the left: you do not need eleven other ECUs, a harness or a vehicle to find out that your ECU transmits before the network is ready, or subscribes to an eventgroup nobody is offering.

The terms you will see in requirement documents

Rest bus, residual bus and remaining bus all name the same thing. The word rest is the remainder sense, from the German Restbussimulation: the rest of the bus, not a bus at rest. Requirement documents use the three interchangeably, and no technical distinction hides between them.

Where it sits relative to unit test, HIL and vehicle test

Software-only tests do not exercise the network stack, the switch port or the physical layer. Vehicle test exercises everything at once, late and with poor observability. Rest bus simulation sits between them: real hardware, real stack, real wire, controlled peers. It is distinct from hardware-in-the-loop, though the two are often bought together: a HIL adds a plant model, a rest bus adds simulated communication peers. Needing one does not imply needing the other, and our ECU testing over Ethernet article sets out where a plant model earns its place in a communication suite.

From frames to services: what changes on Ethernet

Cyclic frames versus request, response, event and field

A CAN rest bus is close to a playback problem: the matrix says which identifiers exist, at what rate, with what layout, and a simulator that transmits them with plausible content has done most of the job.

SOME/IP inverts this. A provider offers a service, a consumer looks for it, and communication starts once the two agree at runtime that the service exists at a given address, port, transport and interface version. There is no fixed frame to replay because there is no fixed frame.

You must simulate service discovery, not only the payload traffic

This is the part teams underestimate. The AUTOSAR SOME/IP-SD specification requires Offer Service entries to reference either an IPv4 or an IPv6 Endpoint Option to signal how the service is reachable, one per transport protocol the service needs. Address, port and transport are learned, not configured, and a consumer built against that model will not accept payload from an endpoint it was never told about.

Discovery also has structure a simulator has to reproduce: an Initial Wait Phase with a randomised delay, a Repetition Phase whose delay starts at REPETITIONS_BASE_DELAY and doubles after each message, with the number of repetitions bounded by REPETITIONS_MAX, and a Main Phase in which the provider waits one CYCLIC_OFFER_DELAY before its first offer, then repeats at that interval. A FindService entry received during the Initial Wait Phase for that server service instance must be ignored, so a simulator that answers a find the instant it starts is doing what the specification tells it not to.

TTL matters for the same reason. It is the lifetime of the service instance, must not be 0x000000 because that value is the Stop Offer, and where CYCLIC_OFFER_DELAY is defined it must be greater than or equal to it. Get it wrong and a healthy service flickers in and out of availability between two correct offers.

Connection-oriented endpoints: sockets, ports and who initiates

On CAN nobody initiates anything. On Ethernet, direction is a design fact the model has to get right. Where events are carried over TCP, the specification is explicit that they use the TCP connection the client opened to the server before sending the Subscribe Eventgroup entry. If your simulator plays the server it waits; if it plays the client it connects first, then subscribes. Backwards gives you a bench where nothing arrives and every message looks correct. Our service discovery debugging article works through the reliable versus unreliable mismatch in detail.

Multicast group membership and the switch configuration it assumes

Eventgroups can be delivered by multicast, and the specification puts that endpoint in the acknowledgement: a Subscribe Eventgroup Ack references up to one Multicast Option for the internet protocol in use, IPv4 or IPv6 and not both, the option is set to UDP as its transport, and the client must open the endpoint it names as fast as possible so as not to miss events. There is a refusal case worth knowing too: a server receiving a Subscribe Eventgroup without a UDP endpoint option, where the eventgroup’s multicast threshold is not configured as one, sends a Nack.

So multicast is not a property of your simulator alone: the group has to be joined on the receiving side and forwarded by the switch, and a lab switch whose snooping differs from the vehicle switch changes what the device under test receives without a line of your model changing. Our lab switch selection guide covers the criteria, and our capture point article covers why your capture may not show it.

The simulator may also need a time synchronisation role

If the deployment has a time domain, someone on the bench has to be in it. Decide explicitly whether the simulator is grandmaster, a time-aware endpoint or absent, and record it in the bench definition: where the deployment leaves the selection algorithm enabled, a simulator that is grandmaster by default removes any test of the device under test’s own role selection; where the automotive profile disables the BMCA and assigns roles statically, the test is a configuration test instead. Our time sync validation article covers stating that role as a measured property, and our gPTP troubleshooting guide covers the domain not forming.

What you need before you can build one

Interface and network descriptions

The model is generated from the deployment’s description, which on an AUTOSAR project is ARXML derived from the System Template. Check which extract you were given. The System Template distinguishes a System Description for the complete system, a System Extract that is a subsystem specific view still containing compositions, and an ECU Extract that is the ECU specific view generated for a single ECU. Hand a bench team the device under test’s own ECU Extract and they have a description of the one node they are not simulating. Ask for the system level description, and ask early.

If you also want readable payloads in your capture tool, note that the commonly used generator of Wireshark configuration reads FIBEX 4 XML, not ARXML. Our payload decode article covers that path, and our decode fix list covers nothing decoding at all.

The address, VLAN and endpoint plan

An Ethernet rest bus needs a network plan as well as a matrix: which addresses the simulated nodes hold, which VLANs carry which traffic, which ports each service instance is offered on, which multicast groups exist. If that plan does not exist as a document, your simulator configuration becomes it by accident, and the bench is the only place the deployment is written down.

Which peers are in scope, and which are deliberately absent

Not every absent ECU should be simulated. A peer the device under test never talks to is cost with no coverage, and one it talks to only during diagnostics may be better served by a real diagnostic tester, which our diagnostics over IP article covers. Write down, for each node, one of three states: simulated, real, or deliberately absent. The third is a test condition, not an omission.

Configuration under version control

The simulator configuration is test equipment and it decides pass and fail. As a hand-edited file on one bench PC, a regression in the bench is indistinguishable from a regression in the product. Keep it in the repository with the tests, tag it with the software version it ran against, and generate it from the network description where you can.

Fidelity levels, choose deliberately

A common disappointment with rest bus simulation comes from buying one level and expecting another. The levels are cumulative, and each has a real use.

LevelWhat is simulatedWhat it catchesEffortTypical use
1. Capture replayRecorded traffic played back on the wireParsing, decoding, a stack that does not come upLowFirst bring-up, capture tool validation
2. Service modelService instances offered over discovery, requests answered correctlyDiscovery configuration, version and transport mismatches, return code handlingMediumIntegration bring-up, acceptance benches
3. Behavioural modelState, timing, startup and shutdown participation, network managementOrdering defects, sleep behaviour, timeouts, subscription renewalHighLifecycle campaigns, release qualification
4. Fault-capable modelDeliberate deviation on demand: delay, refuse, stop, restartError and timeout paths, restart detection, degraded-mode behaviourHighestSafety and robustness campaigns

Level 1, replay of a recorded capture

A captured file put back on the wire. It proves a bench works and exercises a capture and decode chain. It is not a peer: it does not answer, so any test whose result depends on what the device under test sent is out of scope by construction.

Level 2, service model that answers requests correctly

The first level that is a peer. Service instances are offered through discovery with correct endpoint options and TTLs, subscriptions are acknowledged or refused, methods return correct return codes. Many acceptance benches live here, and much of the value with them. Its limit is memory: a model that answers identically regardless of what happened earlier cannot test anything sequence dependent.

Level 3, behavioural model with state, timing and lifecycle participation

The peers now have a state machine: they start at a defined moment, participate in network management, respond according to what has already happened, and stop in a defined way. This is where the lifecycle defects in our ECU testing over Ethernet article become testable, because holding a peer down or refusing to release the network are state, not payload.

Level 4, fault-capable model that can misbehave on demand

A model you can instruct to be wrong: answer late, answer with an error, stop offering without a Stop Offer so the client expires the service on TTL, refuse a subscription, restart. Each has a defined correct response in the device under test, which separates fault injection from noise. Safety programmes generally need this level, and buying it without ever scripting a fault wastes it.

Where Ethernet rest bus simulation breaks

These are the failures that produce a green bench and a red vehicle, and none is a defect in the simulator.

Discovery timing that is right on the bench and wrong in the vehicle

Discovery on a bench with two nodes is not discovery on a vehicle network with dozens. The randomised initial delay that spreads announcements across a real network has almost nothing to spread, the repetition phase completes uncontested, and offers do not compete for the switch’s multicast forwarding. A device under test that depends on a service being available within some window therefore passes comfortably at the bench and marginally in the vehicle.

Make the timing parameters explicit test variables: run the suite at the deployment’s configured values, then again with initial delays and cyclic offer delays at their worst case.

A simulator that answers too fast, hiding real timeout handling

This is the most consequential one. The SOME/IP specification states that the protocol achieves maybe reliability with the UDP binding, that the client has to wait for the response for a specified timeout, and that SOME/IP signals E_TIMEOUT to the client application if that timeout occurs. That is a state transition in your product, and a simulator that always answers within a millisecond means it is never taken.

The specification is stricter about response timing than most models are, too. Answers to entries received in multicast discovery messages must be delayed using REQUEST_RESPONSE_DELAY, specified as a minimum and a maximum with the delay chosen randomly between them; only unicast answers to unicast messages are exempt. A model that replies to a multicast find instantly, rather than applying the deployment’s configured REQUEST_RESPONSE_DELAY, is both unrealistic and outside the specification.

Port and endpoint collisions when several simulated services share one host

On a vehicle the simulated services live on separate ECUs with separate addresses. On a bench they usually share one process on one host, and the port space with it. The open source vsomeip stack documents the failure for its client port configuration: the stack takes the first free port of the configured list, the connection fails if no free port can be found, and the configured ports must not overlap with those the IP stack selects automatically. The symptom is a connection that never appears on the wire, which looks identical to a discovery problem. Assign the bench port space in the network plan, not per service as you add it.

The simulator as an unintentionally perfect peer

A real ECU is late sometimes, drops a frame sometimes, and reboots. A simulator generally does none of these, so every path in the device under test that handles them stays unexecuted.

Restart is the clearest example. The SOME/IP-SD Reboot Flag is set to one for all messages after a reboot until the Session ID wraps around and starts at one again, with that information kept separately per sender and receiver relationship. It is how a receiver detects a peer restart, and if your model never restarts, that logic has never run. The same holds for shutdown, where a Stop Offer Service entry is required when a server service instance in the Repetition or Main Phase is stopped, and the Down Phase is required when the link goes down. Write these as explicit test cases.

Host operating system effects when the simulator is a plain PC

A general purpose operating system gives no bounded time between your model deciding to send and the frame leaving the interface. For state and sequence testing that does not matter. For a pass criterion in milliseconds it does, and it varies with load, so a suite that passes on a quiet machine fails on a busy one for reasons unconnected to the product. Separate stimulus from measurement: let the PC generate, take timing from hardware timestamped capture, and keep asking which clock stamped it.

Choosing a rest bus toolchain, vendor-neutral criteria

Tool selection is where the fidelity decision usually gets made by accident. These are properties to test in an evaluation, not features to read off a datasheet.

CriterionWhy it mattersHow to test it during evaluation
Import path from your network descriptionHand-built models drift from the deployment silentlyImport your real ARXML, not the sample, and check what was dropped
Fidelity ceilingA level 2 tool may not be scriptable into level 4 laterScript a peer that stops offering without a Stop Offer, during the trial
Scriptability and headless operationA test that needs a person cannot run nightlyRun one test from a command line, no GUI, and read the result from a file
Mixed CAN and Ethernet on one timelineWake, release and mode decisions cross busesImport both descriptions and correlate one event across both
Determinism and timestamp qualityTiming criteria are meaningless without a stated clockAsk what stamps the timestamp, and compare against hardware timestamped capture

The mixed-bus criterion matters more than it looks, because the interesting events are usually cross-bus, and our multi-bus correlation article covers putting them on one timeline honestly.

Rest bus simulation in the wider test chain

A rest bus is not a deliverable on its own. It is what makes other suites possible.

The lifecycle cases are the immediate consumer: startup ordering, shutdown, sleep and wake all need peers you can start, hold, delay and stop, and the physical layer half is in our TC10 sleep and wake article. For the architecture around the bench, our vehicle communication architecture article is the wider view.

Downstream, the same simulator feeds fault campaigns, which need level 4 present from the start rather than retrofitted, and automated regression, which needs configuration and tests in version control and running without a person. Both fail if the rest bus was specified at level 2.

Keep the conformance boundary clear too. A rest bus tells you how your ECU behaves against a network you built, not that the implementation conforms to a published test suite, which is a different activity with different evidence, covered in our conformance testing article.

Where GSAS fits

The expensive mistakes on rest bus simulation are usually made at the specification stage, before anything is bought. A programme that needs level 2 buys level 4 and never scripts a fault; one that needs level 4 buys level 2 and finds out during the safety campaign. The first useful conversation is not about tools: it is about which pass criteria in your test plan require a stateful peer, which require a misbehaving one, and which are satisfied by a service model that answers correctly.

The second is the bench around the simulator: where the capture is armed relative to power, which clock stamps it, whether the lab switch forwards multicast the way the vehicle switch does, whether the port space is planned or accumulated, and whether the simulator’s time domain role is stated or accidental. On conformance we are direct about the boundary. We support pre-conformance bench preparation so teams arrive at a test house with fewer surprises; certification is carried out by accredited conformance houses, not by us.

GSAS Micro Systems is an engineering partner to automotive teams in India, and our applications engineers work alongside teams in Bengaluru, Pune, Chennai and Hyderabad rather than reviewing a bench from a distance. Our automotive Ethernet capability page sets out how we work, and you can request a consultation describing your architecture, the peers you need to stand in for and the fidelity level your test plan implies.

References

Building for Automotive & Mobility?

Talk to our application engineers for personalized tool recommendations.

Frequently asked questions

What is rest bus simulation, and is residual bus simulation the same thing?
Yes, they are the same thing under three names, and you will also see remaining bus simulation. All three describe a bench in which one real ECU is present and every other node of the network is replaced by a model, so that the device under test sees what it believes is a complete vehicle network. The word rest is the remainder sense, from the German Restbussimulation, not the repose sense, which is why the English reads oddly the first time. Requirement documents use the three names interchangeably, so treat them as synonyms and do not go looking for a technical distinction that is not there.
How is rest bus simulation different on Ethernet compared with CAN?
On CAN the network is signal oriented: frames with fixed identifiers arrive at fixed rates, and a simulator that transmits those frames with plausible content has done most of the job. On automotive Ethernet with SOME/IP the network is service oriented, so before any payload exists the two ends have to agree at runtime that a service exists, at a given address, port, transport and interface version. That means a rest bus simulator has to run service discovery, offer service instances with valid endpoint options and TTLs, answer or refuse eventgroup subscriptions, hold TCP connections open where the deployment uses them, and publish to the multicast groups the deployment defines. It may also need a defined role in the time synchronisation domain. A simulator that only replays payload traffic will fail at the first discovery exchange.
Do I need to simulate service discovery, or can I just send the service payloads?
In almost every case you need discovery. The AUTOSAR SOME/IP-SD specification requires that Offer Service entries always reference an IPv4 or IPv6 Endpoint Option to signal how the service is reachable, with one endpoint option per transport protocol the service needs, so the address, port and transport a client uses come from discovery rather than from static configuration. A consumer implemented against that model will not accept payload from an endpoint it never learned about, and a subscription-based event stream does not start until the server has acknowledged a SubscribeEventgroup. Payload replay without discovery is only viable where the deployment is statically configured on both sides, which is a design decision you have to confirm rather than assume.
What file or database do I need to generate a rest bus simulation from?
The interface and network description for the deployment, which on an AUTOSAR project is normally ARXML derived from the System Template. Note which extract you have been given. The System Template defines a System Description for the complete system, a System Extract that is a subsystem specific view, and an ECU Extract that is the ECU specific view generated for one ECU. If you were handed the device under test's own ECU Extract, you have the description of the ECU you are not simulating, and it will not fully describe the peers you are. Ask for the system level description. Separately, if you also want payload field names in Wireshark, note that the widely used converter to Wireshark configuration reads FIBEX 4 XML, so plan the ARXML to FIBEX path before integration week rather than during it.
Can a normal PC act as a rest bus simulator, or do I need dedicated hardware?
A general purpose PC is enough for a large part of the work, in particular for discovery behaviour, service semantics, return codes and negative cases, where the quantity being tested is what the device under test does and not when it does it by a few tens of microseconds. It stops being enough when the pass criterion is a timing number, because the scheduler, the network stack and the interface all sit between your model and the wire, and none of them is deterministic. The practical split is to ask what the pass criterion is measured in. If it is a message sequence or a state, software timestamps on a PC are fine. If it is a millisecond or microsecond budget, put the measurement on hardware timestamped capture and treat the PC as a stimulus generator whose own latency is part of the topology, not part of the result.
Why does my ECU behave correctly against the simulator and fail in the vehicle?
Usually because the simulator is a better peer than any real ECU. A bench simulator typically starts before the device under test, answers every request on the first attempt, never loses a frame, never restarts, and offers its services from a network with two nodes on it rather than dozens. Each of those is a path in the device under test that never executes. The response timeout path is the common one: the SOME/IP specification says the UDP binding achieves maybe reliability, so the client has to wait for a response for a specified timeout and signal E_TIMEOUT if it does not arrive, and a simulator that always answers means that state transition is never taken. Restart detection is another, since the SOME/IP-SD Reboot Flag is set for all messages after a reboot until the Session ID wraps back to one, and a simulator that never reboots never produces it.
Should the rest bus simulator be the time master on the bench?
That is a deliberate decision, not a default. Ask what role the device under test plays in the vehicle's time domain. If it is a time-aware endpoint that expects a grandmaster to exist, then something on the bench has to be one, and making the simulator do it is reasonable as long as you can state its clock quality. If the device under test is itself a candidate grandmaster and the deployment leaves the selection algorithm enabled, then a simulator that always wins the election has removed the very behaviour you wanted to test. Where the deployment uses the automotive profile, which disables the selection algorithm and assigns master and slave roles statically, there is no election to win and the check becomes a configuration test instead, as our gPTP troubleshooting article sets out. Either way, treat the time domain as a separately validated property of the bench rather than something the rest bus simulator provides silently, and note that nothing in SOME/IP-SD is timed against the synchronised time domain, its delays and TTLs run off local timers, so discovery can complete perfectly on a bench whose gPTP domain is wrong.
How do I simulate a peer that misbehaves rather than one that works perfectly?
You need a simulator whose model is stateful and whose behaviour is scriptable, which is the top of the fidelity ladder rather than something you bolt on later. The useful misbehaviours are mostly cheap once you have that: delay a response until past the client's timeout, refuse a subscription with a SubscribeEventgroupNack, stop offering a service without sending a StopOffer so that the client has to expire it on TTL, restart the model so the Reboot Flag is set, offer only a UDP endpoint option when the client wants a reliable one, and drop a service mid-session. Each of these maps to a requirement in the specification, so each has a defined correct response in the device under test, which is what makes it a test case rather than random noise.

Stay in the Loop

Get monthly compliance updates, product insights, and engineering best practices delivered to your inbox.

Related Articles

Master and slave roles on a 100BASE-T1 link: the master PHY times its transmitter from a local clock, the slave recovers the clock from the received signal, with the both-master and both-slave misconfigurations that leave the link down, from GSAS Micro Systems India
Automotive Ethernet Automotive & Mobility

100BASE-T1 Link Won't Come Up: A Vendor-Neutral Checklist

A 100BASE-T1 link that will not come up is almost never a mystery, but the answers on the web are written per silicon vendor and do not transfer. This is the ordered bring-up checklist that holds regardless of which PHY, switch or SoC you have: physical layer first, then the PHY over MDIO, then the master and slave pairing, then the causes of a link that comes up and drops. The standards and tooling claims trace to IEEE 802.3 task force records, the Linux ethtool and kernel documentation or published test material. Written by the GSAS Micro Systems engineering team in India.

29 Aug 2026 · 14 min read
Five-step master and slave decision flow for a 100BASE-T1 media converter: read the ECU port role, set the converter to the complement, match the speed, check the wiring, link up, from GSAS Micro Systems India
Automotive Ethernet Automotive & Mobility

100BASE-T1 Media Converters: How to Choose One

Search for a 100BASE-T1 media converter and you get SKU pages that document their own DIP switches, plus a pile of copper-to-fibre converters that have nothing to do with single-pair automotive Ethernet. This is the selection guide neither publishes: what the box does at the PHY layer, when a converter is the wrong box, and the nine criteria that decide fitness, each written as a question to put to the supplier rather than a specification we invented. Standards claims trace to IEEE 802.3 task force records and the public OPEN Alliance specifications. Written by the GSAS Micro Systems engineering team in India.

29 Aug 2026 · 13 min read
Side by side comparison of a 10BASE-T1S multidrop mixing segment, one balanced pair with four nodes on short stubs and a termination at each end, against a point to point star of four separate links into switch ports, from GSAS Micro Systems India
Automotive Ethernet Automotive & Mobility

10BASE-T1S and PLCA: Multidrop Ethernet Explained

10BASE-T1S is the one member of the T1 single-pair Ethernet family that keeps a shared medium, and PLCA is the reconciliation sublayer that stops the nodes on it from colliding. This article covers what IEEE 802.3cg standardises, how the beacon and transmit opportunities schedule a cycle, the node count and segment length figures the OPEN Alliance interoperability test suite works to, and the failure modes that put a segment quietly back into contention while every link still looks up. Written by the GSAS Micro Systems engineering team in India for teams bringing up multidrop segments on the bench.

29 Aug 2026 · 12 min read