14 Hours Course


This course gives you a clear understanding of Model Based Development and vehicle diagnostics. You learn how modern ECUs work, how models are built and tested, and how diagnostic messages flow in real vehicles. The program starts with basic MATLAB and Simulink skills, then moves into automotive modeling, control logic, and diagnostic communication.

You learn how to use MATLAB for tasks like drive cycles, fuel use, braking distance, and battery tracking. You also learn how to build and simulate vehicle models in Simulink. You work with signals, requirements, logic design, and fault handling. You see how MIL, SIL, and HIL testing fit into the workflow. You learn how to generate code and follow modeling rules like MAAB and JMAAB.

You then move into UDS. You learn how diagnostics evolved from OBD to UDS. You see how a tester and ECU exchange messages. You study common UDS services with simple request and response examples. You learn how DTCs are stored and cleared. You also learn basic ideas of security access, ECU flashing, and unlocking functions.

You study AUTOSAR diagnostics. You learn how DCM and DEM work with CAN communication. You see how UDS fits into the AUTOSAR stack. You apply your knowledge in Simulink by creating and simulating diagnostic models.

What you will learn

  • Basics of MATLAB and Simulink
  • Automotive tasks like drive cycles, fuel use, braking distance, and battery tracking
  • Building and simulating vehicle models
  • Signal routing and requirement links
  • Logic design with Stateflow
  • Fault handling and control logic
  • MIL, SIL, and HIL concepts
  • Automatic code generation
  • Coverage methods like Condition, Decision, and MC/DC
  • MAAB and JMAAB guidelines
  • Basics of OBD and UDS
  • UDS message flow, addressing, and formats
  • Key UDS services such as 0x10, 0x22, 0x2E, 0x14
  • DTC storage and clearing
  • Basic security access and ECU flashing ideas
  • AUTOSAR DCM and DEM basics
  • Basic Diagnostic modeling in Simulink

Who should join

  • Automotive engineers who want MBD and diagnostics skills
  • Developers who want to work on automotive ECUs
  • Students and professionals building a career in automotive software

Key outcome

You will be able to use MATLAB and Simulink with confidence. You will know how to design and test models, write scripts, run simulations, and generate code. You will also understand UDS, AUTOSAR diagnostics, and DTC handling. You will be able to simulate diagnostic services and explain how ECUs handle faults and messages. This program prepares you for roles in MBD, diagnostics, testing, and automotive software development.


Completion Certificate

✨ Get a Completion Certificate upon successfully finishing each course—showcasing your expertise and adding value to your professional profile.


Course Syllabus

Part-1

Module 1: Introduction to Model-Based Development

  • Overview of the automotive industry
  • Modern automotive systems and their complexity
  • Software development demands in the automotive domain
  • What is Model-Based Development (MBD)?
  • How Model-Based Development works
  • Software requirement analysis
  • High-level software design
  • Low-level software design overview
  • Model-in-the-Loop (MiL) testing
  • Code generation process
  • Software-in-the-Loop (SiL) testing
  • Hardware-in-the-Loop (HiL) testing
  • Software acceptance testing
  • Benefits of MBD in automotive engineering
  • Model-Based design configuration and requirement traceability

Module 2: V-Model Approach in Automotive Software

  • Introduction to the V-model in software development
  • Model-Based Development process in the V-cycle
  • Phases of the V-model
    • Functional requirements
    • Function development
    • Software development
    • Software integration
    • Function integration
  • Model verification by simulation (MvS)

Module 3: Software Testing Methods in MBD

  • Importance of testing in automotive software
  • Types of testing
    • Static testing
    • Dynamic testing
  • Testing techniques
  • Levels of testing
    • Unit testing
    • Functional testing
    • Integration testing
    • System testing
    • Acceptance testing
    • Non-functional testing
  • Specialized testing methods
    • Smoke testing
    • Regression testing
    • Structure-based testing
  • Coverage criteria
    • Condition coverage
    • Decision coverage
    • Modified Condition/Decision Coverage (MC/DC)

Part-2

Module 1: Basics of MATLAB Environment

  • Introduction to MATLAB interface
  • Command window, workspace, editor, path
  • Creating and saving scripts (.m files)
  • Basic arithmetic and operations
  • Variables, data types (numeric, char, logical)

Module 2: Vectors, Matrices, and Arrays

  • Creating row and column vectors
  • Matrix operations (addition, multiplication, transpose, inverse)
  • Element-wise operations
  • Indexing and slicing data
  • Common matrix functions (size, length, sum, mean, max, min)

Module 3: Programming Basics

  • Scripts vs. functions
  • Control flow: if, else, elseif
  • Loops: for, while
  • Logical operators and relational operators
  • Nested loops and conditions
  • Example: Calculating vehicle speed profile from input data

Module 4: Data Handling and Visualization

  • Reading and writing data (.mat, .csv, .txt)
  • Plotting basics: plot, xlabel, ylabel, title, legend
  • Subplots and multiple graphs
  • 3D plotting (surf, mesh)
  • Example: Plotting speed vs. time for a drive cycle

Module 5: Automotive Use Cases

  • Vehicle dynamics basics in MATLAB
    • Acceleration, braking, fuel consumption calculations
  • Importing drive cycle data (NEDC, WLTP, Indian drive cycle)
  • Plotting and analyzing vehicle performance
  • Writing scripts to calculate range, SOC (State of Charge) of batteries

Module 6: File Handling & Automation

  • File I/O: fopen, fclose, fprintf, fscanf
  • Handling large datasets (sensor logs, test bench data)
  • Automating repetitive tasks with scripts
  • Example: Automated processing of multiple vehicle test files

Module 7: Advanced Scripting Concepts

  • Functions and function handles
  • Anonymous functions
  • Data structures: cell arrays, structures, tables
  • Signal processing basics for vehicle sensor data
  • Example: Filtering noisy speed sensor data

Module 8: Mini Projects

  1. Drive Cycle Analysis: Read a drive cycle file and calculate vehicle energy consumption.
  2. Fuel Efficiency Estimator: Script to calculate fuel efficiency for given engine maps.
  3. Battery SOC Estimation: Simple MATLAB script for SOC tracking using current integration.
  4. Braking Distance Calculator: Script to estimate braking distance at different speeds.

By the end of this course, you’ll be able to:

  • Write MATLAB scripts confidently.
  • Work with automotive datasets.
  • Automate calculations for real-world automotive problems.

Part-3

Module 1: Getting Started with MATLAB & Simulink

  • Overview of MATLAB and Simulink environment
  • Building your first Simulink model
  • Basics of blocks, signals, subsystems, and solvers

Module 2: Basics of Modeling

  • Working with sources, sinks, and mathematical operations
  • Signal routing and logic operations
  • Using ports and subsystems
  • Simulation parameters and time steps

Module 3: Model-Based Development Essentials

  • Configuration settings for models
  • Data import/export and diagnostics
  • Optimization and code generation settings
  • Simulink Data Dictionary and signal properties

Module 4: Requirement Management and Linking

  • Requirement Management
  • Requirement Analysis Lifecycle
  • Requirement Analysis Demo

Module 5: Stateflow for Logic and Control

  • Introduction to Stateflow
  • Basics of Stateflow Example
  • Stateflow logic development_Engine State
  • Stateflow logic development – Mode Management
  • BMS Exercise Practice
  • Antilock braking System Logic development

Module 6: Automotive Modeling Guidelines

  • MAAB and JMAAB modeling guidelines
  • Naming conventions and model layout
  • MAAB Guideline Logic Example

Module 7: Model Simulation & Code Generation

  • Types of simulation: MIL, SIL, PIL, HIL
  • Test harness creation and model coverage
  • Code generation with Simulink Coder and Embedded Coder
  • Example: Battery Management SOC Monitor

Module 8: Model-in-the-Loop (MIL) Validation

  • MIL validation workflow
  • Assertions and functional test execution
  • Coverage analysis and test reporting
  • Example: Engine cooling fan control

Module 9: Software In The Loop (SIL) Testing

  • Basic Introduction of SIL
  • SIL Testing In Simulink

Part – 4

Module 1: Basics of Vehicle Diagnostics

  • What is Vehicle Diagnostics
  • Need for Diagnostics in ECUs
  • Evolution of On-board Diagnostics: OBD-I, OBD-II, UDS
  • Overview of ISO Standards
  • ISO 14229: Unified Diagnostic Services
  • ISO 15765-2: Transport Layer (CAN-based)
  • ISO 15031: OBD-II
  • Role of UDS in modern vehicles
  • Basic overview of ECU and CAN communication

Module 2: Diagnostic Communication Flow

  • Tester-ECU communication concept
  • UDS message format: Request, Positive Response, Negative Response
  • Client-Server concept
  • Functional and Physical addressing
  • Introduction to CAN frames and Transport Protocol frames
  • Single Frame, First Frame, Consecutive Frame, Flow Control

Module 3: Understanding UDS Service Format

  • Service Identifier (SID) and Sub-functions
  • Common Request/Response examples
  • Negative Response Codes (NRC)
  • Timing Parameters (P2, P2*)
  • Simple example of a session switch or DTC read message

Module 4: Commonly Used UDS Services

  1. Session Layer Services
  • 0x10: Diagnostic Session Control
  • 0x11: ECU Reset
  • 0x3E: Tester Present
  1. Data Access Services
  • 0x22: Read Data by Identifier
  • 0x2E: Write Data by Identifier
  1. Control and Routine Services
  • 0x27: Security Access (Concept only)
  • 0x31: Routine Control
  1. DTC Management
  • 0x14: Clear Diagnostic Information
  • 0x19: Read DTC Information

Module 5: DTC and Event Handling

  • What is a DTC
  • DTC structure and format
  • Difference between OBD-II and UDS DTCs
  • Freeze Frame and Event Memory
  • Basic understanding of MIL (Malfunction Indicator Lamp) control

Module 6: UDS Security Access (Basic Level)

  • Why Security Access is needed
  • Seed-Key exchange overview
  • Understanding security levels
  • Concept of unlocking diagnostic functions

Module 7: ECU Flashing (Conceptual Introduction)

  • What is ECU flashing
  • Flash programming process overview
  • Introduction to services involved (0x34, 0x36, 0x37)
  • Typical workflow from calibration to reprogramming

Module 8: AUTOSAR and UDS Integration

  • AUTOSAR DCM and DEM Modules Overview
  • DCM – Diagnostic Communication Manager
  • DCM sub-parts are and their functionality is as per ISO14229
  • Diagnostic Communication Manager (DCM) Configuration
  • DEM – Diagnostic Event Manager
  • Diagnostic Event Manager (DEM) Configuration
  • Integration with CAN Stack (PduR, Com, CanIf)
  • Data Flow in UDS Communication

Module 9: Model-Based Diagnostics (Intro Level)

  • Role of Simulink in diagnostics modeling
  • Building a simple model for Read_data_by_Identitifier, Write_data_by_Identitifier
  • Simulating basic UDS_RoutineControl.

Module 10: AUTOSAR Basic Architecture – Addon

  • Application Scope of AUTOSAR
  • Overview of Software Layers – AUTOSAR
  • AUTOSAR Basic Software Layers
  • AUTOSAR Microcontroller Abstraction Layer
  • AUTOSAR ECU Abstraction Layer
  • AUTOSAR Complex Drivers
  • AUTOSAR Services Layer
  • AUTOSAR Runtime Environment (RTE)