The ECUs of passenger and commercial vehicles can be diagnosed, configured and programmed with new software. These use-cases are performed through serial bus communication on established vehicle busses like CAN, K-Line or even Ethernet. Many different diagnostic protocols are used for the communication between an external device and the ECU, e.g. UDS, KW2000 or J1939. Common to all these protocols is that the data stream is hexadecimal encoded and cannot be interpreted without detailed documentation of the data content. Before the standardization of ASAM MCD-3 D, it was common practice to implement diagnostic, flash reprogramming and configuration applications on the basis of these hexadecimal encoded messages. The increasing complexity of ECUs, their high number of variants and shortened development cycles made it virtually impossible to continue implementing diagnostic applications in this manner. 

The standard ASAM MCD-3 D is employed anywhere in the vehicle life-cycle where vehicle electronics are tested, configured or re-programmed. The standard describes the API of a diagnostic kernel that is able to interpret the hexadecimal encoded messages and provides them as human-readable data values to an application. In order to achieve this, a compliant diagnostic kernel interprets an ODX data description file (ASAM MCD-2 D), which contains a full description of diagnostic data and their conversion between the physical and encoded formats. The diagnostic kernel is also capable of resolving ECU variants and thus allowing the implementation of applications valid for multiple variants. Employing a diagnostic kernel is a key aspect of establishing an ODX-based diagnostic process chain as such a kernel guarantees uniform interpretation of the ODX data. 

It was an important design goal of the ASAM MCD-3 D standard to cover all known vehicle communication use-cases based on diagnostic protocols and to establish a solution that is independent of the used protocol. An application developer needs to have no further knowledge of particular diagnostic protocols when implementing against the API. The ASAM MCD-3 D API is specified in an object-oriented but technology-independent UML model and then mapped to popular software technologies such as Java, C++ or DCOM. This allows to easily add new programming language mappings to the standard without having to change the core of the standard

The latest release of ASAM MCD-3 D is version 3.0.0. Its main additions were the support for ASAM MCD-2 D / ODX V 2.2.0 and the integration of DoIP (Diagnostics over Internet Protocol).


Standard Authors

Berner & Mattner Systemtechnik GmbH, BMW AG, Daimler AG, DSA Daten- und Systemtechnik GmbH, ETAS GmbH, General Motors Company, In2Soft, M&K Mess- und Kommunikationstechnik GmbH, Porsche AG, Samtec GmbH, Siemens AG, Softing Automotive Electronics GmbH, SPX UK Ltd., Vector Informatik GmbH, Volkswagen AG.


Current Activities on ASAM MCD-3 D

Currently there are no standardization activities.

Application Programming Interface Specification
Current Version
Release Date
31 Oct 2011
Application Areas
  • Diagnostics communication to ECUs
  • ECU flash programming
  • ECU configuration
  • Test automation
  • Diagnostics kernel development
Specification Content
  • Client-server API
  • D-server architecture and states specification
Our newsletter informs you when a new standard version is released.