Automating Best Practices to Improve Design Quality

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

Verification and Validation of High-Integrity Systems

Automating Best Practices to Improve Design Quality

Using Model-Based Design in conformance with safety standards

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

From Design to Production

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

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

Verification and Test with Model-Based Design

Increasing Design Confidence Model and Code Verification

Model-Based Design for Safety Critical Automotive Applications

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

Standardkonforme Absicherung mit Model-Based Design

Implementation and Verification Daniel MARTINS Application Engineer MathWorks

Verification, Validation, and Test with Model-Based Design

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

Addressing Future Challenges in the Development of Safe and Secure Software Components The MathWorks, Inc. 1

Workflow for Control System Design and Implementation

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

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

Generating Industry Standards Production C Code Using Embedded Coder

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

Verification, Validation and Test in Model Based Design Manohar Reddy

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

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

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

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

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

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

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

Ein Modell - viele Zielsysteme

DRYING CONTROL LOGIC DEVELOPMENT USING MODEL BASED DESIGN

Jay Abraham 1 MathWorks, Natick, MA, 01760

IBM Rational Rhapsody. IBM Rational Rhapsody Kit for ISO 26262, IEC 61508, IEC and EN Overview. Version 1.9

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

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

Model-Based Design: Design with Simulation in Simulink

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

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

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

Reducing Design Errors in Complex State Machines using Model-Based Design

Final Presentation AUTOCOGEQ GMV, 2017 Property of GMV All rights reserved UNCLASSIFIED INFORMATION

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

SCADE. SCADE Suite Tailored for Critical Applications EMBEDDED SOFTWARE

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

Testing and Validation of Simulink Models with Reactis

ISO Compliant Automatic Requirements-Based Testing for TargetLink

ISO compliant verification of functional requirements in the model-based software development process

Considerations in automotive embedded development Global Automotive Director Kiyo Uemura

Certified Automotive Software Tester Sample Exam Paper Syllabus Version 2.0

automatisiertensoftwaretests

Best Practices Process & Technology. Sachin Dhiman, Senior Technical Consultant, LDRA

2015 The MathWorks, Inc. 1

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

Ensuring quality for ADAS applications with a model-based approach

Simulink to Embedded Hardware Paul Peeling MathWorks

IMPROVING ADAS VALIDATION WITH MBT

Accelerating FPGA/ASIC Design and Verification

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

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

IBM Rational Rhapsody

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

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

다중센서기반자율시스템의모델설계및개발 이제훈차장 The MathWorks, Inc. 2

Rapid Control Prototyping with MATLAB/Simulink Case Study: Ball-on-Wheel

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

Certification Authorities Software Team (CAST) Position Paper CAST-25

Deriving safety requirements according to ISO for complex systems: How to avoid getting lost?

Automated Requirements-Based Testing

Static Analysis in C/C++ code with Polyspace

CERTIFIED. Faster & Cheaper Testing. Develop standards compliant C & C++ faster and cheaper, with Cantata automated unit & integration testing.

AVS: A Test Suite for Automatically Generated Code

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

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

Verification and Validation Introducing Simulink Design Verifier

Simulator in the-loop Environment for Autocode Verification

Serial EEPROM for Automotive New Advanced series

Formal Verification for safety critical requirements From Unit-Test to HIL

Automotive Functional Safety

Automotive System and Software Engineering with Model Based Design

Testing Framework with Simulink Test

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

ARM processors driving automotive innovation

By Jason Ghidella, PhD, and Pieter J. Mosterman, PhD. Left Elevator. actuator. hydraulic system 1 left outer. left inner

T78 - Improve Safety and Compliance Using The Connected Enterprise

Formal Verification and Automatic Testing for Model-based Development in compliance with ISO 26262

Volvo Car Group Jonn Lantz Agile by Models

SOLUTIONS FOR TESTING CAMERA-BASED ADVANCED DRIVER ASSISTANCE SYSTEMS SOLUTIONS FOR VIRTUAL TEST DRIVING

Fault-Injection testing and code coverage measurement using Virtual Prototypes on the context of the ISO standard

Release Date: September 4, 2014

Introduction to ALM, UFT, VuGen, and LoadRunner

Failure Diagnosis and Prognosis for Automotive Systems. Tom Fuhrman General Motors R&D IFIP Workshop June 25-27, 2010

Applications of Program analysis in Model-Based Design

Advanced IP solutions enabling the autonomous driving revolution

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

Vector Software. Using VectorCAST to Satisfy Software Verification and Validation for ISO W H I T E P A P E R

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

Introduction to Control Systems Design

Cybersecurity Challenges for Connected and Automated Vehicles. Robert W. Heller, Ph.D. Program Director R&D, Southwest Research Institute

What Embedded can learn from IT Testing Techniques. Parasoft Rix Groenboom Mirosław Zielinski

Transcription:

Automating Best Practices to Improve Design Quality Adam Whitmill, Senior Application Engineer 2015 The MathWorks, Inc. 1

Growing Complexity of Embedded Systems Emergency Braking Body Control Module Voice Recognition Power Window Battery Management Stability Control Automatic Parking Instrument Panel Adaptive Cruise Control Smart Junction Box Airbag 16 M Electric Power Steering Infotainment DC/DC Converter Propulsion Motor Control Engine Management Navigation Transmission Control Vehicle-to- Infrastructure Power Liftgate 2-3M 6 M Forward Camera Adaptive Front Lighting Power Seat Back-up Camera Long-Range Radar All-Wheel Drive 2000 2015 Lines of Code Active Damping 4-Wheel Steer Smart Junction Box Stability Control Siemens, Ford Motor Company Case Study, Siemens PLM Software, 2014 Tire Pressure Monitor Ultrasonic Sensor McKendrick, J. Cars become datacenters on wheels, carmakers become software companies, ZDJNet, 2013 HVAC Control Vehicle-to-Vehicle E-Call Keyless Entry Short-Range Radar 2

Why do 71% of Embedded Projects Fail? Poor Requirements Management Sources: Christopher Lindquist, Fixing the Requirements Mess, CIO Magazine, Nov 2005 3

Key Takeaways Author, manage requirements in Simulink Early verification to find defects sooner System Requirements Verified & Validated System Automate manual verification tasks High Level Design Integration Testing Workflow that conforms to safety standards Reduce costs and project risk through early verification, shorten time to market on a certified system, and deliver high-quality production code that was first-time right Michael Schwarz, ITK Engineering Detailed Design Coding Unit Testing 4

Lear Delivers Quality Body Control Electronics Faster Using Model-Based Design Challenge Design, verify, and implement high-quality automotive body control electronics Solution Use Model-Based Design to enable early and continuous verification via simulation, SIL, and HIL testing Results Requirements validated early. Over 95% of issues fixed before implementation, versus 30% previously Development time cut by 40%. 700,000 lines of code generated and test cases reused throughout the development cycle Zero warranty issues reported Link to user story We adopted Model-Based Design not only to deliver betterquality systems faster, but because we believe it is a smart choice. Recently we won a project that several of our competitors declined to bid on because of its tight time constraints. Using Model-Based Design, we met the original delivery date with no problem." - Jason Bauman, Lear Corporation Lear automotive body electronic control unit. 5

Model Based Design Verification Workflow 1. Develop functions, perform ad-hoc testing, implement traceability 2. Refine design, Validate and Verify 3. Automatically detect quality issues and run-time error 4. Generate Code & Deploy 5. Auto-execute functional tests, verify product vs specification & Auto-report Component and system testing Requirements Executable Specification Review and static analysis Simulink Models Equivalence testing Model used for production code generation Equivalence checking C/C++ Generated code 9

Challenges with Requirements Where are requirements implemented? Is design and requirements consistent? How are they tested? Requirements Executable Specification Simulink Models Model used for production code generation C/C++ Generated code 10

Gap Between Requirements and Design Requirements Executable Specification Simulink Models Model used for production code generation C/C++ Generated code 11

Simulink Requirements Author Track Manage 12

Requirements Editor 13

Requirements Editor 14

Requirements Perspective 15

Requirement Reuse across Projects Project Models Shared Requirements Project Models Links Links Links Shared Links Links Project Reqs Project A Links Shared Models Links Project B Project Reqs 16

Import Requirements from External Sources Microsoft Word Import Simulink Requirements Editor IBM Rational DOORS 17

Requirements Import with ReqIF Standard Allows you to work with requirements from third party tools in Simulink DOORS DOORS Next Generation Siemens Polarion PTC Integrity Siemens Teamcenter Import requirements from third party tools using ReqIF standard (Requirements Interexchange Format) Import wizard supports mapping custom attributes Tools that support ReqIF standard: IBM DOORS / DOORS Next Generation Siemens Polarion PTC Integrity 18

Link Requirements, Designs and Tests Derives REQ 3.1 ENABLING CRUISE CONTROL Cruise control is enabled when.. ENABLE SWITCH DETECTION If the Enable switch is pressed Implemented By Verified By Test Case x 19

Track Implementation and Verification Implementation Status Implemented Justified Missing Verification Status Passed Failed No Result Missing 20

Respond to Change Original Requirement If the switch is pressed and the counter reaches 50 then it shall be recognized as a long press of the switch. Implements Updated Requirement If the switch is pressed and the counter reaches 75 then it shall be recognized as a long press of the switch. 21

Functional Testing Does the design meet requirements? Is it functioning correctly? Is it completely tested? Requirements Executable Specification Simulink Models Model used for production code generation C/C++ Generated code 22

Systematic Functional Testing Test Case Inputs Assessments MAT file (input) MAT file (baseline) Signal Builder Test Harness MATLAB Unit Test Test Sequence and more! Test Assessment and more! Excel file (input) Main Model Excel file (baseline) 23

Model Coverage Analysis to Measure Testing Simulink Stateflow Identify testing gaps Missing requirements Unintended Functionality Design Errors Coverage Reports 24

Prove That Design Meets Requirements Prove design properties using formal requirement models Model functional and safety requirements Generates counter example for analysis and debugging Requirements Executable Specification Simulink Models Model used for production code generation C/C++ Generated code 25

Model Based Design Verification Workflow 1. Develop functions, perform ad-hoc testing, implement traceability 2. Refine design, Validate and Verify 3. Automatically detect quality issues and run-time error Component and system testing Review and static analysis Requirements Executable Specification Simulink Models Model used for production code generation 26

Verify Design to Guidelines and Standards Is the design built right? Review and static analysis Is it too complex? Is it ready for code generation? Requirements Executable Specification Simulink Models Model used for production code generation C/C++ Generated code 27

Automate verification with static analysis Check for: Readability and Semantics Performance and Efficiency Clones Model Advisor Analysis And more Requirements Executable Specification Simulink Models Model used for production code generation C/C++ Generated code 28

Generate reports for reviews and documentation Model Advisor Analysis Model Advisor Reports Requirements Executable Specification Simulink Models Model used for production code generation C/C++ Generated code 29

Navigate to Problematic Blocks Requirements Executable Specification Simulink Models Model used for production code generation C/C++ Generated code 30

Guidance Provided to Address Issues or Automatically Correct Requirements Executable Specification Simulink Models Model used for production code generation C/C++ Generated code 31

Built in checks for industry standards and guidelines DO-178/DO-331 ISO 26262 IEC 61508 IEC 62304 MISRA C:2012 CERT C, CWE, ISO/IEC TS 17961 MAAB (MathWorks Automotive Advisory Board) JMAAB (Japan MATLAB Automotive Advisory Board) EN 50128 Requirements Executable Specification Simulink Models Model used for production code generation C/C++ Generated code 32

Configure and customize analysis Requirements Executable Specification Simulink Models Model used for production code generation C/C++ Generated code 33

Checks for standards and guidelines are often performed late Rework Static Analysis Requirements Executable Specification Simulink Models Model used for production code generation C/C++ Generated code 34

Shift Verification Earlier With Edit-Time Checking Highlight violations as you edit Fix issues earlier Edit-Time Static Checking Analysis Avoid rework Requirements Executable Specification Simulink Models Model used for production code generation C/C++ Generated code 35

Find Compliance Issues as you Edit with Edit-Time Checking 36

Assess Quality with Metrics Dashboard Consolidated view of metrics Size Compliance Complexity Identify where problem areas may be 37

Grid Visualization for Metrics Visualize Standards Check Compliance Find Issues Identify patterns See hot spots Legend: Red: Fail Orange: Warning Green: Pass Gray: Not run 38

Detect Design Errors with Formal Methods Find run-time design errors: Integer overflow Dead Logic Division by zero Array out-of-bounds Range violations Generate counter example to reproduce error Requirements Executable Specification Simulink Models Model used for production code generation C/C++ Generated code 39

Model Based Design Verification Workflow 1. Develop functions, perform ad-hoc testing, implement traceability 2. Refine design, Validate and Verify 3. Automatically detect quality issues and run-time error 4. Generate Code & Deploy 5. Auto-execute functional tests, verify product vs specification & Auto-report Component and system testing Requirements Executable Specification Review and static analysis Simulink Models Equivalence testing Model used for production code generation Equivalence checking C/C++ Generated code 40

Equivalence Testing Is the code functionally equivalent to model? Is all the code tested? Requirements Executable Specification Simulink Models Model used for production code generation C/C++ Generated code 41

Equivalence Testing Software in the Loop (SIL) Show functional equivalence, model to code Execute on desktop / laptop computer Processor in the Loop (PIL) Numerical equivalence, model to target code Execute on target board Re-deploy model based tests on source copiled or compiled object Collect code coverage Requirements Executable Specification Simulink Models Model used for production code generation C/C++ SIL Desktop Computer Generated code PIL Target Board 42

Manage Testing and Test Results 43

Source Code Coverage Measurement & Comparison Simulink Stateflow Generated Code Identify testing gaps Missing requirements Unintended Functionality Design Errors Coverage Reports 44

Qualify tools with IEC Certification Kit and DO Qualification Kit Qualify code generation and verification products Includes documentation, test cases and procedures KOSTAL Asia R&D Center Receives ISO 26262 ASIL D Certification for Automotive Software Developed with Model-Based Design BAE Systems Delivers DO-178B Level A Flight Software on Schedule with Model-Based Design 45

Learn More Visit MathWorks Verification, Validation and Test Solution Page: mathworks.com/solutions/verification-validation.html 46

Summary 1. Author and manage requirements within Simulink 2. Find defects earlier 3. Automate manual verification tasks 4. Reference workflow that conforms to safety standards Component and system testing Requirements Executable Specification Review and static analysis Simulink Models Equivalence testing Model used for production code generation Equivalence checking C/C++ Generated code 47