From Design to Production

Similar documents
Verification and Test with Model-Based Design

Static Analysis in C/C++ code with Polyspace

Intro to Proving Absence of Errors in C/C++ Code

Increasing Embedded Software Confidence Model and Code Verification. Daniel Martins Application Engineer MathWorks

Increasing Design Confidence Model and Code Verification

Leveraging Formal Methods Based Software Verification to Prove Code Quality & Achieve MISRA compliance

Model-Based Design for High Integrity Software Development Mike Anthony Senior Application Engineer The MathWorks, Inc.

Verification and Validation of High-Integrity Systems

Automating Best Practices to Improve Design Quality

2015 The MathWorks, Inc. 1

Jay Abraham 1 MathWorks, Natick, MA, 01760

Verification and Validation of Models for Embedded Software Development Prashant Hegde MathWorks India Pvt. Ltd.

Implementation and Verification Daniel MARTINS Application Engineer MathWorks

Automating Best Practices to Improve Design Quality

Automatización de Métodos y Procesos para Mejorar la Calidad del Diseño

Generating Industry Standards Production C Code Using Embedded Coder

Developing AUTOSAR Compliant Embedded Software Senior Application Engineer Sang-Ho Yoon

Verification, Validation, and Test with Model-Based Design

WHITE PAPER. 10 Reasons to Use Static Analysis for Embedded Software Development

What s New with the MATLAB and Simulink Product Families. Marta Wilczkowiak & Coorous Mohtadi Application Engineering Group

Using Model-Based Design in conformance with safety standards

Simulink 를이용한 효율적인레거시코드 검증방안

Simulink 모델과 C/C++ 코드에대한매스웍스의정형검증툴소개 The MathWorks, Inc. 1

Production Code Generation and Verification for Industry Standards Sang-Ho Yoon Senior Application Engineer

Verification, Validation and Test in Model Based Design Manohar Reddy

Model-Based Design for Safety-Critical and Mission-Critical Applications Bill Potter Technical Marketing April 17, 2008

DRYING CONTROL LOGIC DEVELOPMENT USING MODEL BASED DESIGN

Model-Based Design for Safety Critical Automotive Applications

Team-Based Collaboration in Simulink Chris Fillyaw Application Engineer Detroit, MI

Simulink as Your Enterprise Simulation Platform

Standardkonforme Absicherung mit Model-Based Design

Guidelines for deployment of MathWorks R2010a toolset within a DO-178B-compliant process

By V-cubed Solutions, Inc. Page1. All rights reserved by V-cubed Solutions, Inc.

정형기법을활용한 AUTOSAR SWC 의구현확인및정적분석

MATLAB/Simulink in der Mechatronik So einfach geht s!

SOFTWARE QUALITY OBJECTIVES FOR SOURCE CODE

Architecture-driven development of Climate Control Software LMS Imagine.Lab Embedded Software Designer Siemens DF PL

Testing, Validating, and Verifying with Model-Based Design Phil Rottier

Workflow for Control System Design and Implementation

A Model-Based Reference Workflow for the Development of Safety-Related Software

Leveraging Formal Methods for Verifying Models and Embedded Code Prashant Mathapati Application Engineering Group

Automatic Code Generation Technology Adoption Lessons Learned from Commercial Vehicle Case Studies

Ein Modell - viele Zielsysteme

Utilisation des Méthodes Formelles Sur le code et sur les modèles

Applications of Program analysis in Model-Based Design

Simulation-based Test Management and Automation Sang-Ho Yoon Senior Application Engineer

Volvo Car Group Jonn Lantz Agile by Models

Simulink for AUTOSAR: Best Practices

StackAnalyzer Proving the Absence of Stack Overflows

Formal Verification of Flight Control Applications along a Model- Based Development Process A Case Study

Development and Deployment of ECU based Control Systems through MBD. Imperative role of Model based design in System Engineering

GAIO. Solution. Corporate Profile / Product Catalog. Contact Information

Team-Based Collaboration in Simulink

Introduction to Control Systems Design

Formal Verification of Models and Code Prashant Mathapati Application Engineer Polyspace & Model Verification

SCADE. SCADE Suite Tailored for Critical Applications EMBEDDED SOFTWARE

What s New in MATLAB & Simulink. Prashant Rao Technical Manager MathWorks India

Introducing Simulink R2012b for Signal Processing & Communications Graham Reith Senior Team Leader, UK Application Engineering

Optimize DSP Designs and Code using Fixed-Point Designer

Introducing Simulink Release 2012b for Control System Development Mark Walker MathWorks

Hardware and Software Co-Design for Motor Control Applications

Production Code Generation Introduction and New Technologies

Better than Hand Generating Highly Optimized Code using Simulink and Embedded Coder

Simulink to Embedded Hardware Paul Peeling MathWorks

Designing and Analysing Power Electronics Systems Using Simscape and SimPowerSystems

AVS: A Test Suite for Automatically Generated Code

Reuse MATLAB Functions and Simulink Models in UVM Environments with Automatic SystemVerilog DPI Component Generation

Making the Most of your MATLAB Models to Improve Verification

Hardware Implementation and Verification by Model-Based Design Workflow - Communication Models to FPGA-based Radio

What s New in MATLAB and Simulink Prashant Rao Technical Manager MathWorks India

Verifying source code

Entwicklung zuverlässiger Software-Systeme, Stuttgart 30.Juni 2011

Experiences with AUTOSAR compliant Autocode generation using TargetLink

Implementing MATLAB Algorithms in FPGAs and ASICs By Alexander Schreiber Senior Application Engineer MathWorks

Integrated Workflow to Implement Embedded Software and FPGA Designs on the Xilinx Zynq Platform Puneet Kumar Senior Team Lead - SPC

Hardware Software Co-Design and Testing Using Simulink Real-Time Paul Berry and Brian Steenson

Testing and Validation of Simulink Models with Reactis

Guido Sandmann MathWorks GmbH. Michael Seibt Mentor Graphics GmbH ABSTRACT INTRODUCTION - WORKFLOW OVERVIEW

Effective Verification Strategies for Distributed Body Control Applications based on Plant Modeling and Test Case Reuse

automatisiertensoftwaretests

Using Cost Effective Distributed HIL for Rapid Prototyping

Model to Code, Made Simple and Easy Sebastien Dupertuis Application Engineer Applications Engineering Group MathWorks Switzerland June 11, 2015

Simulink Verification and Validation

Extending Model-Based Design for HW/SW Design and Verification in MPSoCs Jim Tung MathWorks Fellow

Automatic Qualification of Abstract Interpretation-based Static Analysis Tools. Christian Ferdinand, Daniel Kästner AbsInt GmbH 2013

Automated Requirements-Based Testing

How Real-Time Testing Improves the Design of a PMSM Controller

[Sub Track 1-3] FPGA/ASIC 을타겟으로한알고리즘의효율적인생성방법및신기능소개

System Requirements & Platform Availability by Product for R2016b

Accelerating FPGA/ASIC Design and Verification

Design and Verify Embedded Signal Processing Systems Using MATLAB and Simulink

Coding Standards in FACE Conformance. John Thomas, Chris Edwards, and Shan Bhattacharya

Addressing Fixed Point Design Challenges

Software Verification and Validation

Coding Standards in FACE Conformance. John Thomas, Chris Edwards, and Shan Bhattacharya

Reducing the cost of FPGA/ASIC Verification with MATLAB and Simulink

IDE for medical device software development. Hyun-Do Lee, Field Application Engineer

Verification and Validation. Assuring that a software system meets a user s needs. Verification vs Validation. The V & V Process

Don t Be the Developer Whose Rocket Crashes on Lift off LDRA Ltd

Using HDL Coder for Complex Algorithm Deployment Steve Hamilton, James Hui & Ian Brown

Transcription:

From Design to Production An integrated approach Paolo Fabbri Senior Engineer 2014 The MathWorks, Inc. 1

Do you know what it is? Requirements System Test Functional Spec Integration Test Detailed Design Unit Test Implementation 2

Is the industry still using this approach for Embedded Software Development? 3

For Sure! But it s more about Modeling and Simulation Requirements System Test Functional Model Design Spec Integration HIL Simulation Test Detailed Model Design V&V Code Unit Test V&V Code Implementation Generation 4

Case Study: Vehicle Speed Limiter 74 Speed limiter 72 X: 10.9 Y: 71.1 Requirements System Test 70 68 Model Design HIL Simulation m/h 66 Actual speed Setpoint 64 Model V&V Code V&V 62 Code Generation 60 0 10 20 30 40 50 60 Time 5

Project Management in Simulink 6

Simulink Project Collaborative development Source Control Integration Support for svn and git Model compare/merge Data compare/merge Files Management Dependencies Analysis Impact Analysis 7

Source Control Integration 8

Model Comparison 9

Data Dictionary Comparison 10

Dependency and Impact Analysis 11

Manage Complexity in Simulink 12

Typical challenges with large projects Reuse models among different teams and projects Manage multiple design options in a single-model workflow Share models outside the team protecting IP Ensure proper modeling rules and configuration Ensure data consistency across models...what else? 13

Component-Based Modeling Reuse models among different teams and projects Modular Architecture Reusable Models Plant Expert Variants Management IP Protection Control Designer Control Designer 14

Model and Subsystem Variants 15

Protected Models for IP Protection Read-Only View Support Simulation Support Code Generation Support 16

Model Advisor Technology Ensure proper modeling rules and configuration Modeling Standards MISRA-C:2004 MAAB Style Guidelines IEC-61508/ISO-26262 EN-50128 DO-178C/DO-331 Specialized Advisor Upgrade Advisor Performance Advisor Code Generation Advisor 17

Simulink Data Dictionary Ensure data consistency across models Design Data Configuration Sets Change tracking Data partitioning Scalability and performance Simulink Projects Integration 18

Simulink Data Management System Simulink Project + Define 101 010 Collaborate Store Model Explorer Simulink Data Dictionary + Manage Partition 101 010 Simulink Data Objects Access 19

Model Verification and Validation 20

Early Model Verification and Validation Simulation, simulation, simulation... Simulation Data Inspection Simulation Comparison Coverage Analysis Requirements Model Design HIL Simulation System Test Model V&V Code V&V Code Generation 21

Analyze Simulation Data with Simulation Data Inspector 22

Simulation Comparison 23

Model Coverage Analysis 24

Embedded Code Generation and Verification 25

Embedded Code Generation Unified Code Generation Objective-Based Workflow Code Report and Code Metrics Requirements Model Design HIL Simulation System Test Model V&V Code V&V Code Generation 26

Unified Code Generation Capabilities Simulink Unified Code Generation C Code C++ Code HDL Code PLC Code MATLAB Stateflow 27

BLACK BOX P O W E R V R C S I N P U T B L U E G R E E N R E D Algorithm Export Controller Model Communication Interfaces Comm Drivers Generated Algorithm Code Output Drivers M Actuators Sensors A B C Input Drivers Included Target Optimized Code Included Legacy Code Special Device Drivers RGBSplit-4 Scheduler/Operating System and Support Utilities Special Interfaces 28

BLACK BOX P O W E R V R C S I N P U T B L U E G R E E N R E D Full Executable Controller Model Driver Blocks Scheduler Communication Interfaces Comm Drivers Generated Algorithm Code Output Drivers M Actuators Sensors A B C Input Drivers Included Target Optimized Code Included Legacy Code Special Device Drivers RGBSplit-4 Scheduler/Operating System and Support Utilities Special Interfaces 29

Code Integration Approaches Purpose Algorithm Export Mass Production Full Executable On-Target Rapid Prototyping Low Volume Production Usage Systems and software engineers Systems engineers Hardware Any processor Specific Hardware Kits or Boards Flexibility Higher Lower Ease of Use (Turnkey) Works after one-time customization Works out-of-the-box 30

Objective-Based Code Generation 31

Code Report and Code Metrics 32

Embedded C Code Verification In-the-Loop Simulations Code Execution Profiling Source Level Debugging Code Coverage Analysis Requirements Model Design Model V&V Code V&V HIL Simulation System Test Run-Time Error Detection Code Generation 33

«In-the-Loop» Simulations 34

MIL/SIL/PIL Simulation Comparison 35

Code Execution Profiling 36

Source Level Debugging in SIL 37

Code Coverage Analysis 38

Polyspace Technology Finds bugs Checks coding rule conformance (MISRA/JSF/Custom) Provides metrics (Cyclomatic complexity etc) Proves the existence and absence of run-time errors Certification help for Functional Safety standards 39

Run-time checks proven by Code Prover C run-time checks Unreachable Code Out of Bounds Array Index Division by Zero Non-Initialized Variable Scalar and Float Overflow (left shift on signed variables, float underflow versus values near zero) Initialized Return Value Shift Operations (shift amount in 0..31/0..63, left operand of left shift is negative) Illegal Dereferenced Pointer (illegal pointer access to variable of structure field, pointer within bounds) Correctness Condition (array conversion must not extend range, function pointer does not point to a valid function) Non-Initialized Pointer User Assertion Non-Termination of Call (non-termination of calls and loops, arithmetic expressions) Known Non-Termination of Call Non-Termination of Loop Standard Library Function Call Absolute Address Inspection Points Green: reliable safe pointer access Red: faulty out of bounds error Gray: dead unreachable code Orange: unproven may be unsafe for some conditions static void pointer_arithmetic (void) { int array[100]; int *p = array; int i; for (i = 0; i < 100; i++) { *p = 0; p++; } if (get_bus_status() > 0) { if (get_oil_pressure() > 0) { *p = 5; } else { i++; } } i = get_bus_status(); if (i >= 0) { *(p - i) = 10; } } 40

That s Model-Based Design Requirements System Test Model Design HIL Simulation Model V&V Code V&V Code Generation 41

What is the current industry maturity in the adoption of Model-Based Design? 42

Model-Based Design Maturity Framework 43

Profile of the industries in the benchmark OEMs and Suppliers from all regions of the world Automotive: Passenger, Commercial, Off-Highway Aerospace: Commercial, Military, Space Other: Industrial Automation, Medical, Transportation, Electronics 44

Automotive vs. Aerospace: Leaders Modeling 100 80 Enterprise Management 60 40 Simulation and Analysis 20 0 Aero Auto Process, Tools and Infrastructure Implementation Verification and Validation 45

Thank you! 46