Model-Based Design for Safety Critical Applications Bill Potter The MathWorks

Similar documents
Development of AUTOSAR Software Components within Model-Based Design

Converting Models from Floating Point to Fixed Point for Production Code Generation

Best practices for developing DO-178 compliant software using Model-Based Design

Model Based System Engineering (MBSE) For Accelerating Software Development Cycle

Best Practices for Verification, Validation, and Test in Model- Based Design

Automating Code Reviews with Simulink Code Inspector

Model-Based Development of Safety-Critical Software: Safe and Effi cient

Schnell und effizient durch Automatische Codegenerierung

Echtzeittesten mit MathWorks leicht gemacht Simulink Real-Time Tobias Kuschmider Applikationsingenieur

Eli Levi Eli Levi holds B.Sc.EE from the Technion.Working as field application engineer for Systematics, Specializing in HDL design with MATLAB and

Product Development Flow Including Model- Based Design and System-Level Functional Verification

Introduction of ISO/DIS (ISO 26262) Parts of ISO ASIL Levels Part 6 : Product Development Software Level

Software Development with Real- Time Workshop Embedded Coder Nigel Holliday Thales Missile Electronics. Missile Electronics

Integrating MATLAB into your C/C++ Product Development Workflow Andy Thé Product Marketing Image Processing Applications

Software Development Principles Applied to Graphical Model Development

MathWorks Products and Prices North America Academic March 2013

Making model-based development a reality: The development of NEC Electronics' automotive system development environment in conjunction with MATLAB

Software Production. Industrialized integration and validation of TargetLink models for series production

Die wichtigsten Use Cases für MISRA, HIS, SQO, IEC, ISO und Co. - Warum Polyspace DIE Embedded Code-Verifikationslösung ist.

Simulink Modeling Guidelines for High-Integrity Systems

IBM Rational Rhapsody

Introduction to MATLAB Gergely Somlay Application Engineer

Caterpillar Automatic Code Generation

Overview of Existing Safeguarding Techniques for Automatically Generated Code

Quality Assurance Methods for Model-based Development: A Survey and Assessment

Introduction to Simulink & Stateflow. Coorous Mohtadi

DO-178B compliance: turn an overhead expense into a competitive advantage

SCOPE PRESENTATION INTRODUCTION

Design Data Management in Model-Based Design

Hardware in the Loop (HIL) Testing VU 2.0, , WS 2008/09

Parameters for Efficient Software Certification

Linux. Reverse Debugging. Target Communication Framework. Nexus. Intel Trace Hub GDB. PIL Simulation CONTENTS

Agile Model-Based Systems Engineering (ambse)

I can make just such ones if I had tools, and I could make tools if I had tools. -Eli Whitney

Power inverters: Efficient energy transformation through efficient TargetLink code

Software testing. Objectives

Why Adopt Model-Based Design for Embedded Control Software Development?

Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville

Product Information CANape Option Simulink XCP Server

How To Build A Trading Engine In A Microsoft Microsoft Matlab (A Trading Engine)

What s New in MATLAB and Simulink

IEC Functional Safety Assessment. Project: K-TEK Corporation AT100, AT100S, AT200 Magnetostrictive Level Transmitter.

To introduce software process models To describe three generic process models and when they may be used

AC REUSABLE SOFTWARE COMPONENTS

Field Products. Experion LX. Proven, Easy to Use and Purpose-built Distributed Control System

CDC UNIFIED PROCESS JOB AID

ELECTROTECHNIQUE IEC INTERNATIONALE INTERNATIONAL ELECTROTECHNICAL

Verification and Validation According to ISO 26262: A Workflow to Facilitate the Development of High-Integrity Software

Instrumentation-Based Verification for Medical-Device Software

TÜ V Rheinland Industrie Service

Software Verification/Validation Methods and Tools... or Practical Formal Methods

Qualifying Software Tools According to ISO 26262

Outline. 1. Introduction. 2. Model Based Control Design. 3. Software Development for Flight Control Algorithms. 4. Lessons Learned / Impacts

Chap 1. Software Quality Management

Deploying MATLAB -based Applications David Willingham Senior Application Engineer

4Sight Calibration Management Software

WIND RIVER RTCA DO-178 SOFTWARE CERTIFICATION SERVICES

Numerical Methods in MATLAB

GEDAE TM - A Graphical Programming and Autocode Generation Tool for Signal Processor Applications

Model Based Software Development for DDG 1000 Advanced Gun System

EXAM FOR INFOTECH SOFTWARE ENGINEERING FOR REAL-TIME SYSTEMS. Suggested Solution WS 13/14. - Without Engagement -

Wiederverwendung von Testfällen bei der modellbasierten SW-Entwicklung

SCADE System Technical Data Sheet. System Requirements Analysis. Technical Data Sheet SCADE System

AN EVALUATION OF MODEL-BASED SOFTWARE SYNTHESIS FROM SIMULINK MODELS FOR EMBEDDED VIDEO APPLICATIONS

R214 SPECIFIC REQUIREMENTS: INFORMATION TECHNOLOGY TESTING LABORATORY ACCREDITATION PROGRAM

Testing of safety-critical software some principles

Lecture 9 Modeling, Simulation, and Systems Engineering

Model-based Testing of Automotive Systems

Data Analysis with MATLAB The MathWorks, Inc. 1

Notes and terms of conditions. Vendor shall note the following terms and conditions/ information before they submit their quote.

BY STEVE BROWN, CADENCE DESIGN SYSTEMS AND MICHEL GENARD, VIRTUTECH

Embedded Vision on FPGAs The MathWorks, Inc. 1

AUTOSAR Seminar WS2008/ Assignment: Simulation of Automotive Systems in the Context of AUTOSAR

Triteq Software Services, Products & Skills

DAQ in MATLAB HANS-PETTER HALVORSEN,

SIS Functional Design 15 minutes

Model-based Testing of Automotive Systems

Certification of a Scade 6 compiler

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

CrossChasm Embedded Control Systems Whitepaper For Powertrain Design Teams

Automotive Software Engineering

Team-Based Collaboration in Model-Based Design

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

Comprehensive Static Analysis Using Polyspace Products. A Solution to Today s Embedded Software Verification Challenges WHITE PAPER

Linear Motion and Assembly Technologies Pneumatics Service. Industrial Ethernet: The key advantages of SERCOS III

OPC COMMUNICATION IN REAL TIME

EHOOKS Prototyping is Rapid Again

Wind River Device Management Wind River

Automatic ASAM MCD-3 supported test. PikeTec GmbH Dr. Jens Lüdemann

Quality Assurance of Models for Autocoding

Integrated Model-based Software Development and Testing with CSD and MTest

Approaches to Improve System Dependability From Formal Verification to Model-Based Testing

Page 1 of 7 Effective Date: 12/18/03 Software Supplier Process Requirements

SAFE SOFTWARE FOR SPACE APPLICATIONS: BUILDING ON THE DO-178 EXPERIENCE. Cheryl A. Dorsey Digital Flight / Solutions cadorsey@df-solutions.

MATLAB in Business Critical Applications Arvind Hosagrahara Principal Technical Consultant

Safety Issues in Automotive Software

Introduction to Automated Testing

VDM vs. Programming Language Extensions or their Integration

Embedded OS. Product Information

Antonio Kung, Trialog. HIJA technical coordinator. Scott Hansen, The Open Group. HIJA coordinator

Transcription:

Model-Based Design for Safety Critical Applications Bill Potter The MathWorks 2007 The MathWorks, Inc.

Attributes of Safety Critical Systems Reliably perform intended function Contain no unintended function Implemented with redundancy Contain fault detection Robust design Robust code 2

Attributes of Safety Critical Process Complete and correct requirements Design standards are applied Coding standards are applied Bi-directional traceability Requirements based testing Robustness verification Coverage analysis Safety Analysis Failure Modes and Effects Analysis (FMEA) 3

Safety-Critical Model-Based Design Workflow and Activities Requirements Simulate prototype to Validate Requirements Requirements Process DOORS, TCE, MSWord, etc MATLAB Simulink Stateflow Simulink Report Generator Goals Requirements Document Plant model Complete Correct Test cases Safety Analysis Controller Design Simulate to Verify Design Generated Source Code Executable Object Code Hardware Design Process MATLAB Simulink/ Stateflow Simulink Verification & Validation Simulink Design Verifier SystemTest Simulink Report Generator Coding Process Real-Time Workshop Embedded Coder PolySpace Verifier Simulink Report Generator Integration Process Software-Software integration Hardware-Software integration Processor in-the-loop SystemTest Simulink Report Generator Controller design Correct Robust Traceable Conforms to standards FMEA Generated code Correct Robust Traceable Conforms to standards Compiled code Correct Robust Coverage Analysis 4

Requirements Process for Model-Based Design Functional, operational, and safety requirements Exist one level above the model Models trace to requirements Requirements validation Prove requirements are complete and correct Simulation is a validation technique Traceability can identify incomplete requirements Model coverage can identify incomplete requirements Requirements based test cases Traceability of tests to requirements 5

Simulation example controller and plant 6

Requirements trace example view from DOORS to Simulink 7

Requirements trace example view from Simulink to DOORS 8

Requirements-based test trace example view from Simulink Signal Builder block to DOORS 9

Model coverage report example 10

Requirements Process take-aways Early requirements validation Eliminates rework typically seen at integration on projects with poor requirements Early test case development Validated requirements are complete and verifiable which results in well defined test cases Requirements management and traceability Requirements management interfaces provide traceability for design and test cases 11

Design Process for Model-Based Design Model-Based Design Create the design - Simulink and Stateflow Modular design for teams - Model Reference Model architecture/regression analysis - Model Dependency Viewer Documented design - Simulink Report Generator Conformance to standards Design conforms to standards Model Advisor Traceability Design to requirements - Requirements Management Interface 12

Example detailed design including model reference and subsystems Top Model Subsystem Reference Model 13

Model dependency viewer 14

Example Model Advisor report 15

Design Verification for Model-Based Design Requirements based test cases Automated testing using SystemTest/Simulink V&V Traceability using Requirements Management Interface Capability to inject faults for FMEA Robustness testing and analysis Built in Simulink run-time diagnostics Formal proofs using Simulink Design Verifier Coverage Analysis Verify structural coverage of model Verify data coverage of model 16

SystemTest for requirements based testing 17

SystemTest example report Data Plotting and expected results comparisons Summary of results 18

Signal Builder and Assertion Blocks 19

Model coverage report example signal ranges 20

Simulink Design Verifier Coverage Test Model Test Report Generated Test Cases 21

Simulink Design Verifier Objective Test Model with Constraints and Objectives Test Report Generated Test Cases 22

Simulink Design Verifier Property Proving Model with Assumption and Objective Report Property to be proven 23

Design Process take-aways Modular reusable implementations Platform independent design and code Scalable to large teams Consistent and compliant implementations Common design language Automated verification of standards compliance Efficient verification process Develop verification procedures in parallel with design Automated analysis techniques Coverage analysis early in the process 24

Coding Process for Model-Based Design Incremental code generation Model Reference Traceability HTML Code Report Source code verification Complies with standards using PolySpace MISRA-C Checker Accurate, consistent and robust using PolySpace Verifier 25

Incrementally Generate Code Incremental code generation is supported via Model Reference When a model is changed, only models depending on it are subject to regeneration of their code dependent models rebuilt model changed and rebuilt Reduces application build times and ensure stability of a project s code Degree of dependency checking is configurable 26

Add Links to Requirements Requirements appear in the code 27

Compliance history of generated code Our MISRA-C test suite consists of several example models Results shown for most frequently violated rules Improving MISRA-C compliance with each release, e.g. Eliminate Stateflow goto statements (R2007a) Compliant parentheses option available (R2006b) Generate default case for switch-case statements (R2006b) MathWorks MISRA-C Compliance Package available upon request http://www.mathworks.com/support/solutions/data/1-1ifp0w.html 28

Coding Process take-aways Reusable and efficient source code Traceability MISRA-C compliance Static verification and analysis 29

Integration Process for Model-Based Design Executable object code generation ANSI/ISO C or C++ compatible compiler Makefile generation capability Run-time libraries provided Executable object code verification Capability to build interface for Processor-In-the-Loop (PIL) testing Analyze code coverage during PIL Analyze execution time during PIL 30

Processor-in-the-Loop (PIL) Verification - Execute Generated Code on Target Hardware Simulink Algorithm (Software Component) Plant Model Code Generation Execution on host and target non-real-time Communication via one of Embedded Target data link e.g. serial, CAN, TCP/IP debugger integration with MATLAB 31

Integration Process take-aways Integration with multiple development environments Efficient processor in-the-loop test capability 32

Wrap-up Tools to support the entire safety critical development process Requirements Design Code Executable Verification MathWorks is participating on SC-205/WG-71 committee which is working on Revision C of DO-178 See the various demos in the exhibit area 33