Vehicle Networks & Communication

ISO 15118 Development Guide

A practical engineering model for building and validating vehicle-to-grid communication for EV charging, from requirements and interface definitions to captured traffic and repeatable tests.

Engineering model

How ISO 15118 fits together

ISO 15118 governs communication between an EV and a charging system during an EV charging interaction. Development depends on translating requirements into message and state behavior, connecting that behavior to the Battery Management System (BMS), and validating actual exchanges with PCAP evidence. The communication implementation must be treated as a stateful interface rather than a collection of independent messages.

Core concepts

The parts of a practical ISO 15118 setup

01

Session state and sequencing

The implementation must move through the expected charging interaction states in the correct order, preserve relevant context, and handle incomplete or unexpected exchanges without treating each message as an isolated event.

02

Message and interface behavior

The interface specification defines the messages, fields, directions, and conditions that connect the vehicle and charging system; development turns those definitions into encoders, decoders, validation, and state transitions.

03

Vehicle energy coordination

The ISO 15118 communication behavior must reflect the battery conditions and limits made available by the BMS, while keeping communication decisions separate from battery monitoring and control responsibilities.

04

Evidence-driven validation

PCAP data, requirements, and repeatable test results provide different views of the same implementation: intended behavior, observed behavior, and verified behavior.

Build the engineering model before writing message code

Start by defining the boundary between the communication implementation, the charging system, and the BMS. This prevents protocol behavior from being mixed with battery-control logic.

Treat ISO 15118 as a stateful interface. Requirements describe what the interaction must accomplish, the interface specification describes how information is exchanged, and the implementation maintains the current state of the interaction. A useful design separates message parsing, message construction, state transitions, requirement checks, and BMS data access so that each can be tested independently.

Engineering inputPrimary questionImplementation use
RequirementsWhat behavior is required under each operating condition?Define expected states, decisions, limits, and test assertions.
Interface specificationWhat information is exchanged, in which direction, and under what condition?Define message models, validation, sequencing, and interface adapters.
PCAPWhat traffic was actually observed?Compare observed exchanges with expected ordering, values, and timing evidence.

Design the communication state machine

Most integration failures appear at state boundaries: an implementation accepts a message too early, loses context between exchanges, or reports success before the underlying condition is satisfied.

  1. 01

    Identify interaction states

    Derive the meaningful phases from the requirements and interface specification. Give each phase explicit entry conditions, expected messages, allowed transitions, and completion criteria.

  2. 02

    Separate parsing from decisions

    Decode incoming information into a validated internal representation before applying state or charging decisions. This makes malformed or incomplete input observable.

  3. 03

    Define failure transitions

    For every expected exchange, specify what happens when data is missing, inconsistent, out of sequence, or no longer supported by the BMS.

  4. 04

    Preserve diagnostic evidence

    Record the state, relevant message information, and decision result so an engineering analysis can connect a failure to the exchange that caused it.

  • Do not infer a complete charging interaction from one successful message exchange.
  • Make state transitions explicit rather than hiding them in message handlers.
  • Keep BMS availability, battery limits, and communication validity as separate conditions.
  • Use the same state model in the implementation, simulator, and automated test suite where practical.

Connect ISO 15118 behavior to the BMS

The BMS is a source of battery status and operating constraints, while ISO 15118 carries communication behavior between the vehicle and charging system. The integration boundary needs clear ownership.

Define an interface from the communication implementation to the BMS that identifies which values can be read, which requests can be accepted, and how unavailable or stale data is represented. The communication layer should not silently invent battery values when the BMS has not provided valid data. Conversely, BMS behavior should not depend on undocumented assumptions about message order.

Boundary concernCommunication implementation ownsBMS integration must provide
ValidityReject or classify unusable communication dataIndicate whether battery information is current and usable
LimitsCommunicate only values accepted by the interaction rulesProvide applicable battery and charging limits
AvailabilityRepresent unavailable vehicle information in the interaction stateExpose defined availability and fault conditions
TraceabilityRecord which BMS data influenced a decisionProvide identifiable data sources for analysis

Develop with simulation and repeatable tests

An ECU simulator and an automated test suite allow the interaction model to be exercised before every physical dependency is available or stable.

Use the ECU simulator to reproduce defined interface behavior, including normal sequences and deliberately incomplete or inconsistent exchanges. The simulator should expose controllable inputs and produce observable outputs so a test can distinguish a parser issue, a state-machine issue, and an integration issue.

  1. 01

    Turn requirements into scenarios

    For each requirement, define setup conditions, the exchange sequence, expected state changes, and the result that constitutes a pass.

  2. 02

    Add boundary scenarios

    Include missing data, invalid values, unexpected ordering, repeated exchanges, and BMS information that is unavailable or no longer valid.

  3. 03

    Assert intermediate behavior

    Check state transitions and validation decisions, not only the final charging result. Intermediate assertions narrow the location of a failure.

  4. 04

    Repeat against captured evidence

    Where suitable, use PCAP observations to refine scenario inputs and compare simulator output with known interaction behavior.

  • Keep test setup deterministic so a failure can be reproduced.
  • Name each test by the behavior it verifies rather than by an incidental message.
  • Record both the failing assertion and the communication state at failure time.
  • Separate tests of message handling from tests of BMS integration.

Analyze PCAP data and troubleshoot failures

Troubleshooting is strongest when packet evidence, implementation state, and requirements are reviewed together instead of treating the first unusual message as the root cause.

  1. 01

    Establish the observed sequence

    Use the PCAP to order the exchanges and identify where the interaction first differs from the expected behavior.

  2. 02

    Map the difference to the state model

    Determine which state the implementation believed it was in and whether that state permitted the observed exchange.

  3. 03

    Check the interface boundary

    Compare the relevant communication data with the BMS information and integration assumptions available at the same point.

  4. 04

    Classify the finding

    Record whether the evidence indicates an implementation defect, an interface interpretation issue, missing input, or an environment-dependent observation.

  5. 05

    Reproduce the condition

    Turn the observed sequence into an automated test or ECU simulator scenario before changing implementation behavior.

A useful engineering analysis links each finding to evidence: the relevant PCAP exchange, the applicable requirement or interface specification entry, the implementation state, and the test that reproduces or challenges the finding. This makes the conclusion reviewable without assuming that the first visible symptom is the cause.

Integrate the interface into the vehicle network

The communication implementation is part of a larger vehicle network and must be evaluated at its actual integration boundaries, including any network gateway and Automotive Ethernet path used by the surrounding system.

Document where ISO 15118 data enters and leaves the vehicle-side implementation, which component owns translation or forwarding, and how the BMS interface is reached. A network gateway can change visibility and timing of traffic, so troubleshooting should distinguish an issue in the communication state machine from an issue at the network boundary.

  • Use the interface specification to document ownership at each boundary.
  • Check whether a gateway changes the traffic view available in a PCAP.
  • Keep network troubleshooting findings separate from application-state findings.
  • Validate integration assumptions with an ECU simulator before relying on a full vehicle configuration.

Engineering pitfalls

Common mistakes

  1. Treating ISO 15118 as stateless message exchange

    Handling messages independently can accept an exchange in the wrong phase or lose information needed by a later decision. Model explicit states and permitted transitions.

  2. Using PCAP as the specification

    Observed traffic is evidence of one interaction, not proof of all required behavior. Compare PCAP data with requirements and the interface specification.

  3. Mixing BMS logic into communication handlers

    This makes battery validity, communication validity, and state transitions difficult to test separately. Keep the BMS boundary explicit and validate its data before using it.

  4. Testing only the successful path

    Normal exchanges do not expose behavior for unavailable data, unexpected ordering, or invalid values. Add negative and boundary scenarios to the automated test suite.

  5. Changing behavior before reproducing the finding

    A visible symptom may originate at the network boundary, interface mapping, state model, or BMS integration. Preserve evidence and reproduce the condition before selecting a correction.

  6. Assuming Automotive Ethernet defines ISO 15118 behavior

    Automotive Ethernet may be part of the surrounding vehicle network, but it does not replace the ISO 15118 state and interface model. Document the actual integration boundary.

FAQ

ISO 15118 questions

What should be the first artifact in an ISO 15118 development effort?
Begin with a traceable model connecting requirements to the interface specification, interaction states, expected exchanges, and test assertions. This gives implementation and analysis a shared reference.
How should PCAP be used during development?
Use PCAP to establish observed ordering, values, and interaction boundaries, then compare those observations with requirements and the interface specification. Convert useful observations into repeatable simulator scenarios or automated tests.
Why is the BMS boundary important?
The BMS owns battery monitoring and control information, while the ISO 15118 implementation owns communication behavior. A clear boundary prevents stale or unavailable battery data from being mistaken for valid communication state.
What should an ECU simulator reproduce?
It should reproduce the relevant ECU interface behavior, expose controllable inputs, and generate observable outputs for normal, incomplete, invalid, and out-of-sequence interaction scenarios.
How can a network troubleshooting issue be separated from a protocol issue?
First establish the observed exchange from PCAP, then compare it with the expected state and interface behavior. Check the network gateway and Automotive Ethernet boundary separately from parsing, state transitions, and BMS integration.

Engineering support

Discuss an ISO 15118 Project

Need focused ISO 15118 development, testing, simulation, or troubleshooting support? Define the evidence and integration boundaries for the next engineering step.