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

Similar documents
Automating Best Practices to Improve Design Quality

Verification and Validation of High-Integrity Systems

Automating Best Practices to Improve Design Quality

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

From Design to Production

Using Model-Based Design in conformance with safety standards

Verification and Test with Model-Based Design

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

Implementation and Verification Daniel MARTINS Application Engineer MathWorks

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

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

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

Increasing Design Confidence Model and Code Verification

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

Model-Based Design for Safety Critical Automotive Applications

Standardkonforme Absicherung mit Model-Based Design

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

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

Verification, Validation and Test in Model Based Design Manohar Reddy

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

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

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

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

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

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

Generating Industry Standards Production C Code Using Embedded Coder

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

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

Verification, Validation, and Test with Model-Based Design

Ein Modell - viele Zielsysteme

Jay Abraham 1 MathWorks, Natick, MA, 01760

Workflow for Control System Design and Implementation

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

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

Static Analysis in C/C++ code with Polyspace

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

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

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

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

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

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

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

Model-Based Design: Design with Simulation in Simulink

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

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

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

Testing and Validation of Simulink Models with Reactis

DRYING CONTROL LOGIC DEVELOPMENT USING MODEL BASED DESIGN

IMPROVING ADAS VALIDATION WITH MBT

Considerations in automotive embedded development Global Automotive Director Kiyo Uemura

SCADE. SCADE Suite Tailored for Critical Applications EMBEDDED SOFTWARE

Certified Automotive Software Tester Sample Exam Paper Syllabus Version 2.0

Ensuring quality for ADAS applications with a model-based approach

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

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

AVS: A Test Suite for Automatically Generated Code

StackAnalyzer Proving the Absence of Stack Overflows

2015 The MathWorks, Inc. 1

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

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

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

automatisiertensoftwaretests

ISO Compliant Automatic Requirements-Based Testing for TargetLink

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

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

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

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

Serial EEPROM for Automotive New Advanced series

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

Automotive Functional Safety

IBM Rational Rhapsody

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

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

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

Testing Framework with Simulink Test

Test and Evaluation of Autonomous Systems in a Model Based Engineering Context

Verification and Validation Introducing Simulink Design Verifier

Simulink for AUTOSAR: Best Practices

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

Object Fusion for an Advanced Emergency Braking System (AEBS) Jonny Andersson

Automotive System and Software Engineering with Model Based Design

Simulink to Embedded Hardware Paul Peeling MathWorks

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

Simulator in the-loop Environment for Autocode Verification

Accelerating FPGA/ASIC Design and Verification

T78 - Improve Safety and Compliance Using The Connected Enterprise

Frequently Asked Questions. AUTOSAR C++14 Coding Guidelines

SOFTWARE QUALITY OBJECTIVES FOR SOURCE CODE

Autologic Technical Specifications JAGUAR

The Qualified Vehicle Modifier Program ( QVM ) Principals / Rating System

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

Advanced IP solutions enabling the autonomous driving revolution

CERTIFICATION ISSUES IN AUTOMOTIVE SOFTWARE

Enabling Safe, Secure, Smarter Cars from Silicon to Software. Jeff Hutton Synopsys Automotive Business Development

Simulink Verification and Validation

Development of an autonomous driving ECU platform for streamlining the development of autonomous driving vehicle applications

ARM processors driving automotive innovation

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

Atollic TrueINSPECTOR. Improve software quality with static source code inspection!

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

Transcription:

Automatización de Métodos y Procesos para Mejorar la Calidad del Diseño Luis López 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

Challenge with Traditional Development Process Requirements Specification C/C++ Hand code 5

Simulink Models for Specification Requirements Executable Specification C/C++ Hand code 6

Complete Model Based Design Code Generation Requirements Executable Specification Simulink Models Model used for production code generation C/C++ Generated code 7

Model Based Design Verification Workflow 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 8

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 9

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

Simulink Requirements Author Track Manage 11

Requirements Editor 12

Requirements Editor 13

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

Requirements Perspective 15

Requirements Perspective 16

Link Requirements, Designs and Tests REQ 3.1 ENABLING CRUISE CONTROL Cruise control is enabled when.. 17

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 18

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

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

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

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. 22

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 23

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 24

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 25

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

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

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 28

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

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 30

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 31

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 32

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 33

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

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

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 36

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 37

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) 38

Manage Testing and Test Results 39

Coverage Analysis to Measure Testing Simulink Stateflow Generated Code Identify testing gaps Missing requirements Unintended Functionality Design Errors Coverage Reports 40

Test Case Generation for Functional Testing Test Objective Specify functional test objectives Define custom objectives that signals must satisfy in test cases Test Condition Specify functional test conditions Define constraints on signal values to constrain test generator Test Objective 41

Static Code Analysis Is the code compliant to MISRA? Is integrated code free of run-time errors? Is interface between generated and other code fully tested? Requirements Executable Specification Simulink Models Model used for production code generation Other code C/C++ C/C++ Generated code The Generated Code is integrated with Other Code (Handwritten) 42

Static Code Analysis with Polyspace Code metrics and standards Comment density, cyclomatic complexity, MISRA and Cybersecurity standards Support for DO-178, ISO 26262,. Bug finding and code proving Check data and control flow of software Detect bugs and security vulnerabilities Prove absence of runtime errors Results from Polyspace Code Prover 43

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 44

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

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 Dev eloped with Model-Based Design BAE Systems Delivers DO-178B Level A Flight Software on Schedule with Model-Based Design 46

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. 47

Customer References and Applications Airbus Helicopters Accelerates Development of DO-178B Certified Software with Model-Based Design Software testing time cut by two-thirds LS Automotive Reduces Development Time for Automotive Component Software with Model-Based Design Specification errors detected early Continental Develops Electronically Controlled Air Suspension for Heavy- Duty Trucks Verification time cut by up to 50 percent More User Stories: www.mathworks.com/company/user_stories.html 48

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 49

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

Thank You! 51