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

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

2015 The MathWorks, Inc. 1

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

Using Model-Based Design in conformance with safety standards

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

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

Verification and Validation Introducing Simulink Design Verifier

Implementation and Verification Daniel MARTINS Application Engineer MathWorks

From Design to Production

Verification and Test with Model-Based Design

Verification and Validation of High-Integrity Systems

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

Model-Based Design for Safety Critical Automotive Applications

Standardkonforme Absicherung mit Model-Based Design

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

Automated Requirements-Based Testing

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

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

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

DRYING CONTROL LOGIC DEVELOPMENT USING MODEL BASED DESIGN

Automating Best Practices to Improve Design Quality

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

Jay Abraham 1 MathWorks, Natick, MA, 01760

Automating Best Practices to Improve Design Quality

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

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

Simulink for AUTOSAR: Best Practices

Verification, Validation and Test in Model Based Design Manohar Reddy

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

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

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

Simulink Verification and Validation

Static Analysis in C/C++ code with Polyspace

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

Testen zur Absicherung automatisierter Transformationsschritte im Model-Based Design

Increasing Design Confidence Model and Code Verification

Verification, Validation, and Test with Model-Based Design

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

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

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

Generating Industry Standards Production C Code Using Embedded Coder

Testing and Validation of Simulink Models with Reactis

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

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

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

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

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

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

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

ISO Compliant Automatic Requirements-Based Testing for TargetLink

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

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

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

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

Ein Modell - viele Zielsysteme

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

Applications of Program analysis in Model-Based Design

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

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

Accelerating FPGA/ASIC Design and Verification

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

Making the Most of your MATLAB Models to Improve Verification

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

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

Production Code Generation Introduction and New Technologies

What s New in MATLAB and Simulink

SCADE. SCADE Suite Tailored for Critical Applications EMBEDDED SOFTWARE

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

SOFTWARE QUALITY OBJECTIVES FOR SOURCE CODE

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

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

What s New In Simulink: Fraser Macmillen

Topic: Software Verification, Validation and Testing Software Engineering. Faculty of Computing Universiti Teknologi Malaysia

Advanced Software Development with MATLAB

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

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

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

Testing Simulink Models

AVS: A Test Suite for Automatically Generated Code

Model-Based Design: Design with Simulation in Simulink

Automated Continuous Verification & Validation for Automobile Software

Considerations in automotive embedded development Global Automotive Director Kiyo Uemura

MATLAB/Simulink 기반의프로그래머블 SoC 설계및검증

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

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

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

What s New in Simulink in R2015b and R2016a

Integrating MATLAB Analytics into Business-Critical Applications Marta Wilczkowiak Senior Applications Engineer MathWorks

What s New in MATLAB and Simulink

What s New in MATLAB and Simulink The MathWorks, Inc. 1

Verification and Validation

Weapon System Fault Detection, Isolation, and Analysis using Stateflow

Introduction to C and HDL Code Generation from MATLAB

Scaling MATLAB. for Your Organisation and Beyond. Rory Adams The MathWorks, Inc. 1

2015 The MathWorks, Inc. 1

Addressing Fixed Point Design Challenges

A number of optimizations are already in use by the majority of companies in industry, notably:

Avnet Speedway Design Workshop

State of Practice. Automatic Verification of Embedded Control Software with ASTRÉE and beyond

Transcription:

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

Model-Based Design for High Integrity Software Development Agenda Development and V&V of the Model Building a Model from Introduction to Simulink ability of a Model to Using the Management Interface The Report to Modeling Standards Using the Model Advisor Customizing the Model Advisor Model Advisor Report Verification of the Model against Introduction to SystemTest SystemTest Report Introduction to Simulink Design Verifier: Property Proving Development and V&V of the Code Production Code Generation Creating Data Objects Function Prototype Control ability of the Generated Code to the Model Code-to-Model Linking Model-to-Code Linking ability Report to Coding Standards & Code Verification PolySpace MISRA-C Compliance Proving the Absence of Runtime Errors Verification of the Generated Code against the Model Introduction to Simulink Design Verifier: Test-Vector Generation SystemTest Products for PIL Verification of the Generated Code against the SystemTest: Test Case reuse Products for PIL 1

Aerospace Standards RTCA/DO-178B Guidelines Commercial standard (FAA, JAA) Software Integrity Levels A-E based on hazards Level A if failure hazards can cause loss of life or limb Structural coverage (MC/DC) UK MOD 0055/0056 Software Integrity Levels 1-4 Requires formal analysis and software proofs Has SPARK language and data flow checks MIL-STD-498 Formerly DOD-2167A US military and defense Emphasizes verification and validation activities 3

Methods for Verification and Validation Verification: Did I do the design right? Validation: Did I do the right design? ability to model and code Model to code Modeling and Coding Standards Modeling standards checking Coding standards checking Testing Model testing in simulation Processor In the loop Proving Proving design properties Proving code correctness 4

Workflow Example Validate Model Source Code Object Code 5

Workflow Example Simulink Verification and Validation: Management Interface Model/Code Report Validate Simulink & Stateflow Real-Time Workshop Embedded Coder Model Source Code Model Advisor* PolySpace* PolySpace* Simulink Design Verifier: Property Proving Model Coverage Simulink Design Verifier: Test Generation Object Code * DO-178B Qualifiable Tool 1

Workflow Example Simulink Verification and Validation: Management Interface Model/Code Report Validate Simulink & Stateflow Real-Time Workshop Embedded Coder Model Source Code Model Advisor* PolySpace* PolySpace* Simulink Design Verifier: Property Proving Model Coverage Simulink Design Verifier: Test Generation Object Code * DO-178B Qualifiable Tool 7

Management Interface Overview Associating models and requirements Establishing a link from a model block or test case to requirement Establishing a link from a requirement to a model block or test case Managing changes in models and requirements Detecting a change in a requirement associated with a model block or test Detecting a change in a model block or test associated with a requirement Reporting requirement coverage for model blocks and test cases How many and what algorithmic blocks are covered by requirements How many and what test cases are covered by requirements How many of the requirements are covered by test cases within the model How many of the requirements are associated with algorithmic blocks within the model 8

Workflow Example Simulink Verification and Validation: Management Interface Model/Code Report Validate Simulink & Stateflow Real-Time Workshop Embedded Coder Model Source Code Model Advisor* PolySpace* PolySpace* Simulink Design Verifier: Property Proving Model Coverage Simulink Design Verifier: Test Generation Object Code * DO-178B Qualifiable Tool 9

Simulink Model Advisor 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 10

Model Advisor Within Model-Based Design Workflows Missing requirements Invalid requirement links System Architecture Prototype Design Models Simulation accuracy Modeling style Modeling errors Safety issues Design efficiency Feature misuse Invalid library links Incorrect code generation Inefficient code generation Implementation issues C C C System Integration Target Application C Refined Models Code Generation Component Source Code 11

Simulink Verification and Validation Additional Model Standards Checking DO-178B Checks Focus on generation of safety critical code from models Assist in MISRA-C compliance Maximize traceability of code to model Minimize differences between model coverage and code coverage Maximize the use of built-in Simulink and Stateflow diagnostics during simulation MathWorks Automotive Advisory Board Checks Simulink style guide created by MathWorks Automotive Advisory Board Best practices for consistent and readable models 12

Model Advisor Report Report enhanced to be more useful as a process audit Document: More detailed summary Report follows exact order of the Model Advisor tree Valid check states: Pass, Fail, Warning, and Not Run 13

Model Advisor Enterprise Deployment The Model Advisor is highly customizable: Add additional task groups and checks Permanently enable disable, and hide specific checks Benefits Enforce your specific process and standards Prevent defects at specific points early in your design process 14

Workflow Example Simulink Verification and Validation: Management Interface Model/Code Report Validate Simulink & Stateflow Real-Time Workshop Embedded Coder Model Source Code Model Advisor* PolySpace* PolySpace* Simulink Design Verifier: Property Proving Model Coverage Simulink Design Verifier: Test Generation Object Code * DO-178B Qualifiable Tool 15

SystemTest Software Manage tests and analyze results for system verification and validation Setup Test and Variables System V&V Comp. V&V Integration Load Run Simulations Simulink System Model Analyze Results SystemTest 16

SystemTest Key Features Develops, manages, and edits test structures using predefined test elements in a graphical user interface Stores tests in a separate TEST-file independent of the model under test for repeatable test execution Defines pass/fail criteria for tests using Boolean constraints and tolerance limits Generates random test vector values using probability distribution functions, especially useful for Monte Carlo simulations Runs iterations, such as parameter sweeps, of Simulink models on multiple processors with Distributed Computing Toolbox (available separately) Generates reports of test execution and results Visualizes and analyzes multidimensional test results in Test Results Viewer 17

SystemTest Sample Applications Stress testing Parameter sweeps Model verification and validation Vary block parameters Measure and report model coverage (with Simulink Verification and Validation) Algorithm verification and validation Monte Carlo simulation 18

Workflow Example Simulink Verification and Validation: Management Interface Model/Code Report Validate Simulink & Stateflow Real-Time Workshop Embedded Coder Model Source Code Model Advisor* PolySpace* PolySpace* Simulink Design Verifier: Property Proving Model Coverage Simulink Design Verifier: Test Generation Object Code * DO-178B Qualifiable Tool 19

Simulink Design Verifier Property Proving Functional testing Generates a proof for a requirement For example: Thrust reversers shall not deploy in flight Includes blocks for definition of properties Proves model properties and generates example of violations Produces detailed property-proving analysis reports Uses formal methods, not simulation 20

Property Proving Verification Results Proof or assertion can be found: Satisfied Falsified Undecidable If Falsified, a test case is generated and added to the model harness 21

Model Coverage Measure of Test Completeness System V&V Comp. V&V Integration 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 Decision coverage Condition coverage MC/DC Lookup table coverage Signal range coverage Supported coverage types 22

Workflow Example Simulink Verification and Validation : Management Interface Model/Code Report Validate Simulink & Stateflow Real-Time Workshop Embedded Coder Model Source Code Model Advisor* PolySpace* PolySpace* Simulink Design Verifier: Property Proving Model Coverage Simulink Design Verifier: Test Generation Object Code * DO-178B Qualifiable Tool 23

Model-to-Code and Code-to-Model ability System V&V Comp. V&V Integration Use Simulink Verification and Validation software to navigate and trace between model elements and requirements. Use Real-Time Workshop Embedded Coder software to navigate and trace between generated code back and its source model. Requirement #1 Requirement #2 Requirement #3 Textual requirements Model used for production code generation C source code 24

ability Report Real-Time Workshop Embedded Coder System V&V Comp. V&V Integration Use the ability Report section of the Real-Time Workshop Embedded Coder code generation report to review mapping between model elements and generated code. 25

Workflow Example Simulink Verification and Validation: Management Interface Model/Code Report Validate Simulink & Stateflow Real-Time Workshop Embedded Coder Model Source Code Model Advisor* PolySpace* Simulink Design Verifier: Property Proving Model Coverage Simulink Design Verifier: Test Generation Object Code * DO-178B Qualifiable Tool 26

Why prove the absence of run-time errors? Implications of verification, static analysis & unit testing T0 +3 months +6 months Improvement is possible and measurable Number of operations x input values Static analysis One-time improvement, but nothing measurably proven 0% proven reliable............... Required for functional testing. Not suitable to prove code correctness 27

Code Correctness Formal method: Abstract Interpretation System V&V Comp. V&V Integration P ro v e n Green reliable Red faulty Grey dead Orange unproven Green reliable Green reliable Green reliable Results are proven for all possible executions of the code!! 28

PolySpace Link Solution System V&V Comp. V&V Integration run-time errors back to the model Integrate code verification into the production code generation 29

Workflow Example Simulink Verification and Validation: Management Interface Model/Code Report Validate Simulink & Stateflow Real-Time Workshop Embedded Coder Model Source Code Model Advisor* PolySpace* PolySpace* Simulink Design Verifier: Property Proving Model Coverage Simulink Design Verifier: Test Generation Object Code * DO-178B Qualifiable Tool 30

Simulink Design Verifier Test Generation Automatically generates test vectors to achieve 100% coverage Detects unreachable states Save test vectors Automatically generate a separate model with test harness Export test vectors to.csv file Automatically generates test vector report Two-way mapping of objectives and generated vectors List of objectives and associated test vector List of test vectors and associated objective(s) 31

Simulink Design Verifier Test Generation model satisfies requirements Find test vectors for coverage not achieved by functional tests Create unspecified requirement Remove model function not traceable to a requirement object code functions according to model Generate test vectors for model coverage Execute test vectors on model Execute test vectors on object code Compare model and code outputs for equality 32

Workflow Example Simulink Verification and Validation: Management Interface Model/Code Report Validate Simulink & Stateflow Real-Time Workshop Embedded Coder Model Source Code Model Advisor* PolySpace* PolySpace* Simulink Design Verifier: Property Proving Model Coverage Simulink Design Verifier: Test Generation Object Code * DO-178B Qualifiable Tool 33

Simulink: Processor-in-the-Loop Testing MU System V&V Comp. V&V Integration Model in simulation and code on the processor running in parallel Real-Time Workshop and TASKING: ECU: PIL also provides execution profiling, code coverage reports, and interactive debugging. 34

Introduction to DO Qualification Kit Provides documentation, test cases, and procedures that help you use Simulink or PolySpace software verification tools for projects based on the DO-178 standard Includes tool qualification plans, tool operational requirements, and other materials required for qualifying software verification tools Helps streamline certification of your embedded systems developed using Simulink or PolySpace products 35

Key Features Tool Qualification Plan and Tool Operational Test case models and code, test procedures, and expected results ability tables mapping test cases to requirements Qualification materials for Simulink verification, validation, and test tools Qualification materials for PolySpace code verification tools 36

Working with DO Qualification Kit To use DO Qualification Kit: 37

Tool Qualification Plan and Operational DO Qualification Kit 1.0 contains qualification artifacts for the following products: Simulink Verification and Validation DO-178B Model Checks SystemTest Limit Test Element PolySpace verification products PolySpace Client for C/C++ PolySpace Server for C/C++ Version support includes: Release R2008b Release R2009a 38

Summary DO Qualification Kit: Eases your embedded system certification process Helps satisfy the objectives of verification tool qualification described in DO-178B (Section 12.2) Facilitates automated software verification for DO-178 Enables use of state-of-the-art development tools for Model-Based Design with flight code generation Enables qualification of PolySpace products, including formal analysis capabilities 39

Workflow Summary Simulink Verification and Validation: Management Interface Model/Code Report Validate Simulink & Stateflow Real-Time Workshop Embedded Coder Model Source Code Model Advisor* PolySpace* PolySpace* Simulink Design Verifier: Property Proving Model Coverage Simulink Design Verifier: Test Generation Object Code * DO-178B Qualifiable Tool 40