I can make just such ones if I had tools, and I could make tools if I had tools to make them with. -Eli Whitney
Automotive Software Development and Model Based Design (Matlab & Simulink) Ian M. Alferez, Lear Corporation
Outline Common Software Design Life Cycle AGILE WATERFALL V-MODEL V-Model SDLC and LEAR People Process MATLAB and Lear Tools for the right job
Software Design Life Cycle AGILE WATERFALL V-MODEL
Constraints 100% Working Software Validated and Verified Safety Critical
Constraints Recalls www.carcabin.com
Constraints Global Team THAILAND SPAIN GERMANY INDIA USA PHILIPPINES SOFTWARE AUSTRALIA
Software Design Life Cycle AGILE WATERFALL V-MODEL
AGILE WATERFALL V-MODEL Changing Requirements Customer Transparency High quality software in least possible time Difficult to manage on a large project Lack empahsis on designing and documentation No place for newbies Simple to implement High visibilty Quality Resources are minimal Dependent on each phase Rigid / Not flexible Roadblocks Changes in specification Simple to implement Higher success rate than the Waterfall Validation and Verification Issues are found early Needs a lot of resources No early prototypes More documents
Software Design Life Cycle V-MODEL
The Vehicle Engine Control Module Body Control Module Interior Lighting Infotainment Exterior Lighting Anti-lock Brake System
Wayne Enterprises Body Control Module www.terrabits.eu
Basic Software Hardware Application Software
V-Model SDLC
V-Model SDLC (Requirement Analysis) Process Needs of the costumer Behavior of the software Guildline for the Software Architect Ideal System People Customer Specification Engineer Software Architect Software Engineer Validation Engineer
V-Model SDLC (Requirement Analysis) Park Brake Switch Alarm Theft Protection Central Locking System Immobilizer Remote Start www.wetcanvas.com
V-Model SDLC (High Level Design) Process List of modules Functionality of the modules Communcation Interface Relationships People Software Architect
V-Model SDLC (High Level Design) Application Layer Vehicle Features Services Layer Relevance to the Application Layer Access to I/O Layer Diagnostics Vehicle Network Communcation ECU Abstraction Layer Access to peripherals of the uc Microcontroller Abstraction Layer Direct access to Internal peripherals Internal Drivers Application Layer Runtime Environment Services Layer ECU Abstraction Layer Microcontroller Abstraction Layer Microcontroller Complex Drivers
V-Model SDLC (High Level Design) Application Application Layer Communication Operating System Runtime Environment Software Services Layer Hardware I/O Basic Software ECU Abstraction Layer Complex Drivers Diagnostics Microcontroller Abstraction Layer Microcontroller
V-Model SDLC (Detailed Specification) Process Detailed function of the application Signal Inputs and Outputs Interface with other applications People Software Engineer
V-Model SDLC (Detailed Specification) Input and Output Park Brake Switch Park Brake Switch Indicator Functional Behavior When Park Brake Switch == ON Park Brake Switch Indicator = ON When Park Brake Switch == OFF Park Brake Switch Indicator = OFF
V-Model SDLC (MATLAB and LEAR)
V-Model SDLC (Coding) MATLAB Simulink Embedded Coder Stateflow Verification and Validation People Software Engineer
V-Model SDLC (Coding) Start Task If Task } main(){ Do Task1(); Do Task2(); If Task3 == TRUE{ Do Task4(); } } End
V-Model SDLC (Coding) Traditional Coding main(){ } while(){ if(park Brake Switch == TRUE){ Park Brake Switch Indicator = TRUE; } else{ Park Brake Switch Indicator = FALSE; } } www.acousticpc.com
V-Model SDLC (Coding) Model Based Design
COMPLEX EVOLVING READABILITY MAINTAINANCE
Any code of your own that you haven't looked at for six or more months might as well have been written by someone else. - Eagleson's law
V-Model SDLC (Code Generation) Auto Generated Code Switch Case Optimized Park Brake Switch Model MATLAB Embedded Coder Source Codes
V-Model SDLC (Unit Testing) MATLAB Simulink Stateflow Stateflow Coder Verification and Validation
V-Model SDLC (Unit Testing) Unit Testing REMOTE START PARK BREAK SWITCH ALARM Individual units of source code Smallest Testable part of the software White Box Testing APPLICATION People Software Engineer CENTRAL LOCKING SYSTEM IMMOBILIZER INTERIOR LIGHTS
V-Model SDLC (Unit Testing) MATLAB Signal Builder Lear MVT Park Brake Switch Park Brake Switch Park Brake Switch Indicator
V-Model SDLC (Integration Testing) MATLAB Simulink Stateflow Stateflow Coder CAN(Controller Area Network) Bus Simulation Tool Process Test all the modules of the vehicle Black box testing People Software Engineer Validation Engineer
V-Model SDLC (Integration Testing) Flap Brake Module Body Control Module Anti-Lock Brake System Weapons Module Instrument Panel Module Stealth Module Seat Module Telematics Control Module Exterior Lights
V-Model SDLC (IntegrationTesting) CAN Controller Area Network LIN Local Interconnect Network Flap Brake Module Body Control Module Seat Module Weapon Module Stealth Module Anti Lock Break System TelematicsControl Module Exterior Lights
V-Model SDLC (IntegrationTesting) Telematics Control Module (HARDWARE) CAN BUS Flap Brake Module Stealth Module Body Control Module (HARDWARE) Anti Lock Break System Weapon Module Software Simulation CAN BUS Seat Module Exterior Lights
V-Model SDLC (IntegrationTesting) Telematics Control Module (HARDWARE) CAN BUS Weapon Module Flap Brake Module Stealth Module MatlabSimulink Model (Simulated) CAN BUS Body Control Module (HARDWARE) Seat Module Anti Lock Break System Software Simulation Software Simulation CAN BUS Exterior Lights
V-Model SDLC (Operational Testing) Process Actual vehicle testing Customer acceptance test People Validation Engineer Customer
Summary Software Design Life Cycle AGILE WATERFALL V-MODEL Matlab and Lear Model Based Design Readable Tracability Faster development time Early detection of issues Simulink Real-Time Workshop (Research) Verfication and Validation Stateflow Report Generator
Ian M. Alferez Software Development Engineer Cebu Electronics ialferez@lear.com Tel No. 340 7950 loc 6143