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

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

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

Automating Best Practices to Improve Design Quality

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

Implementation and Verification Daniel MARTINS Application Engineer MathWorks

Verification and Test with Model-Based Design

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

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

2015 The MathWorks, Inc. 1

Verification and Validation of High-Integrity Systems

Jay Abraham 1 MathWorks, Natick, MA, 01760

Verification and Validation Introducing Simulink Design Verifier

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

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

Using Model-Based Design in conformance with safety standards

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

From Design to Production

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

Model-Based Design for Safety Critical Automotive Applications

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

Automating Best Practices to Improve Design Quality

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

Simulink Verification and Validation

Verification, Validation and Test in Model Based Design Manohar Reddy

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

Applications of Program analysis in Model-Based Design

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

Testing Framework with Simulink Test

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

Automated Requirements-Based Testing

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

Static Analysis in C/C++ code with Polyspace

Standardkonforme Absicherung mit Model-Based Design

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

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

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

Increasing Design Confidence Model and Code Verification

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

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

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

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

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

Testing Simulink Models

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

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

Verification, Validation, and Test with Model-Based Design

Testing and Validation of Simulink Models with Reactis

Generating Industry Standards Production C Code Using Embedded Coder

Simulink for AUTOSAR: Best Practices

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

DRYING CONTROL LOGIC DEVELOPMENT USING MODEL BASED DESIGN

Ingegneria del Software Corso di Laurea in Informatica per il Management

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

Making the Most of your MATLAB Models to Improve Verification

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

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

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

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

What s New in Simulink in R2015b and R2016a

Simulink to Embedded Hardware Paul Peeling MathWorks

2015 The MathWorks, Inc. 1

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

Accelerating FPGA/ASIC Design and Verification

Product Range 3SL. Cradle -7

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

System Requirements & Platform Availability by Product for R2016b

What s New in MATLAB and Simulink

SCADE. SCADE Suite Tailored for Critical Applications EMBEDDED SOFTWARE

Optimization and Implementation of Embedded Signal Processing Algorithms Jonas Rutström Senior Application Engineer

Collaboration in Teams: Simulink Projects Demonstration

Model-Based Design for Large High-Integrity Systems: A Discussion on Logic-Intensive Algorithms

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

What s New in MATLAB and Simulink

Codegenerierung für Embedded Systeme leicht gemacht So geht s!

Moving MATLAB Algorithms into Complete Designs with Fixed-Point Simulation and Code Generation

(From Glenford Myers: The Art of Software Testing)

automatisiertensoftwaretests

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

18-642: Code Style for Compilers

Hybrid Verification in SPARK 2014: Combining Formal Methods with Testing

R2017b Update 6 Release Notes

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

Testen zur Absicherung automatisierter Transformationsschritte im Model-Based Design

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

ISO Compliant Automatic Requirements-Based Testing for TargetLink

Objectives. Chapter 19. Verification vs. validation. Topics covered. Static and dynamic verification. The V&V process

Hardware-Software Co-Design and Prototyping on SoC FPGAs Puneet Kumar Prateek Sikka Application Engineering Team

Changing the way the world does software

Model-Based Design: Design with Simulation in Simulink

Workflow for Control System Design and Implementation

An incremental and multi-supplement compliant process for Autopilot development to make drones safer

On the Generation of Test Cases for Embedded Software in Avionics or Overview of CESAR

Safety Assurance in Software Systems From Airplanes to Atoms

Lecture 15 Software Testing

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

Introduction to Dynamic Analysis

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

CERT C++ COMPLIANCE ENFORCEMENT

AVS: A Test Suite for Automatically Generated Code

Green Hills Software, Inc.

Transcription:

Verification and Validation of Models for Embedded Software Development Prashant Hegde MathWorks India Pvt. Ltd. 2015 The MathWorks, Inc. 1

Designing complex systems Is there something I don t know about what I want? Have I implemented what I wanted? Or Missing something? Are there any hidden design errors? I know what I want to build I built what I wanted I verify that what I built is what I wanted 2

Verification and Validation Challenges Traceability : Requirement <-> Model <-> Code Test vector creation : functional and structural Coverage : Modified Condition and Decision Coverage,Condition,Decision Test Reports 3

Agenda Perform early requirements validation Review models against modelling standards and guidelines Prove the integrity of functional requirements Perform coverage analysis Detect design errors in a model Generate test cases for design and functional requirements Verification and Validation workflow for Industry Standards 4

Why to Verify and Validate the models? Structural and Algorithmic complexities in models Model-Based Design simplifies reuse Quality Control of Models 5

Key Model Verification and Validation Techniques Track Design Changes: Traceability Analysis Conformance: Modeling Standards Checks Requirements Model User Acceptance Functional Testing: Functional Behaviour Design Integration Structural Testing: Model Coverage Code Formal Verification: Design Error Detection Test Generation 6

Agenda Perform early requirements validation Review models against modelling standards and guidelines Prove the integrity of functional requirements Perform coverage analysis Detect design errors in a model Generate test cases for design and functional requirements Verification and Validation workflow for Industry Standards 7

Requirement Management Interface+ Report Requirements linking and traceability Bi-directional linking with external documents For Simulink and Stateflow Requirements consistency checks Extensibility API Report generation DOORS integration Linking with read-only requirement documents Embedded Coder integration Embeds requirements as comments in source code IBM DOORS Microsoft Word Microsoft Excel PDF HTML Supported document formats 8

Traceability: Requirements Model Requirements Management Interface Creating links between textual documents and model objects 9

Traceability Report 10

Requirement Management Interface : Demo Requirement Management Interface : Demo 11

Agenda Perform early requirements validation Review models against modelling standards and guidelines Prove the integrity of functional requirements Perform coverage analysis Detect design errors in a model Generate test cases for design and functional requirements Verification and Validation workflow for Industry Standards 12

Model Advisor Conformance to standards Model Advisor is used to Enforce model standards and best practices Detect and troubleshoot modeling and code generation issues Check models for (a subset of) known version upgrade issues 13

Modelling Standards Checking 14

Model Advisor : Demo Model Advisor : Demo 15

Agenda Perform early requirements validation Review models against modelling standards and guidelines Prove the integrity of functional requirements Perform coverage analysis Detect design errors in a model Generate test cases for design and functional requirements Verification and Validation workflow for Industry Standards 16

Simulink Test : Develop, Manage and execute simulation based tests 1. Test Harnesses 2. Test Sequence Block 3. Test Manager Synchronized, simulatable test environment Inputs and assessments based on logical, temporal conditions Author, execute, manage test cases Review, export, report Test Harness Main Model Component under test 17

Test Case Templates 1. Simulation Test Input Output Assessment Criteria 2. Baseline Test Input Output File Expected Outputs Assessment Criteria 3. Equivalence Test Input Output Input Output Assessment Criteria 18

Simulink Test : Demo Simulink Test : Demo 19

Agenda Perform early requirements validation Review models against modelling standards and guidelines Prove the integrity of functional requirements Perform coverage analysis Detect design errors in a model Generate test cases for design and functional requirements Verification and Validation workflow for Industry Standards 20

Model Coverage Execution analysis Based on the model structure Dynamic data collected during simulation Coverage results Displayed directly in the model Available in a separate HTML report linked with the model objects Supports Simulink Stateflow Embedded MATLAB S-functions Decision coverage Condition coverage MC/DC Lookup table coverage Signal range coverage Supported coverage types 21

Simulation Testing Workflow Detect unreachable design logic Structural coverage report Design Structural testing (white-box) Simulate and validate controller response Review functional behavior Functional testing (black-box) 22

Functional (Black Box) Testing Test Cases Signal Builder 23

Module Test-Harness Test Cases (Signal Builder) Model (Model Block) Output Check (Assertion Block) 24

Model Coverage Analysis Why is it needed Coverage metrics identifies untested portions of the model 25

Model coverage : Demo Model coverage : Demo 26

Simulation Based Testing : Concerns Writing exhaustive requirement based test cases Creating test simulation environment and generating reports Missing coverage in the model Unexpected behavior in model functionality How to address this problem? Requirements Simulation Why do we have missing coverage? Simulink Manual Design Efforts Verifier Generate Test Vector for Missing Coverage Missing Coverage Component Models 27

Agenda Perform early requirements validation Review models against modelling standards and guidelines Prove the integrity of functional requirements Perform coverage analysis Detect design errors in a model Generate test cases for design and functional requirements Verification and Validation workflow for Industry Standards 28

Simulink Design Verifier Uses formal methods, not simulation Property proving Generates a proof for a requirement For example: Thrust reversers shall not deploy in flight Proves user defined model properties and generates reports Generate example of violations if applicable Design error detection Detect two types of errors: Integer data overflow Division by zero Detect presence of errors and generates reports Generate example cases to demonstrate the errors Test generation Find test vectors for coverage not achieved by functional tests Find unspecified requirement Identify derived requirement Remove model function not traceable to a requirement, unless identified as derived Detect unachievable conditions and decisions Identify decisions that are not independent (do not meet MCDC coverage) 29

Identifying Design Errors Early Automatic identification of hard-to-find design inconsistencies in the model Dead logic Division by zero Out of bound Array Access 30

Demo Simulink Design Verifier : Demo Demo Simulink Design Verifier : Demo 31

Polyspace Products for Code Verification Quality improvement Prove the absence of run-time errors in source code Measure, improve, and control Green: reliable Usage Simple colored source code No compilation, no execution, no test cases For C/C++ or Ada P ro v e n Red: faulty Gray: dead Process Run early in development cycle Use for automatically generated and handwritten code Orange: unproven 32

PolySpace Workshop Meeting Room -2 33

PolySpace Workshop Hall - 6 34

Agenda Perform early requirements validation Review models against modelling standards and guidelines Prove the integrity of functional requirements Perform coverage analysis Detect design errors in a model Generate test cases for design and functional requirements Verification and Validation workflow for Industry Standards 35

Workflow for Industry Standards Trace SLVNV: RMI SLRG: Trace SDD * Trace Embedded Coder Trace Abbreviations SL: Simulink SLVNV: Simulink Verification and Validation RMI: Requirements Management Interface SDD: System Design Description SLDV: Simulink Design Verifier SLRG: Simulink Report Generator PS: Polyspace RTE: Run-Time Error EC: Embedded Coder PIL: Processor-in-the-Loop Validate Simulink Stateflow SLRG: SDD * Embedded Coder Compiler/IDE Requirements Model Conformance PS Bug Finder: MISRA-C Conformance Checks* Source Code Object Code Conformance SLVNV: Conformance Checks * Verify PS Bug Finder* PS Code Prover* Verify EC: PIL Simulink Test PS Code Prover* Code Coverage Verify Verify Tool Simulink Test Verify SLVNV: Model Coverage * Simulink Design Verifier Verify EC: PIL Simulink Test PS Code Prover* Verify Code Coverage Tool Evidence via generated reports Design Requirements Document Traceability Report Model Advisor Conformance Report Simulation Report Model Coverage Report PolySpace Report EOC Test 36

MathWorks Verification and Validation Product Portfolio Product Simulink Test Simulink Verification & Validation Simulink Design Verifier Report Generator Capabilities Author, execute, and manage simulation-based tests for models and generated code Trace to requirements, check model standards, perform coverage analysis Identify design errors, automatically generate test vectors, verify designs against requirements Design and generate reports from MATLAB applications Polyspace Bug Finder Polyspace Code Prover Find software bugs and check compliance to MISRA Prove the absence of run-time errors in software Simulink Real-Time Build, run, and test real-time applications 37

38