Using Model and Code Reviews in Model-based Development of ECU Software Mirko Conrad, Heiko Dörr, Ines Fey, Ingo Stürmer

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

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

Ingo Stürmer, Dietrich Travkin. Automated Transformation of MATLAB Simulink and Stateflow Models

Development of AUTOSAR Software Components within Model-Based Design

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

MathWorks Automotive Conference 2015 Simon Fürst, 2015/09/24. MODEL-BASED SOFTWARE DEVELOPMENT: AN OEM S PERSPECTIVE.

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

Automating Code Reviews with Simulink Code Inspector

Caterpillar Automatic Code Generation

Entwicklung und Testen von Robotischen Anwendungen mit MATLAB und Simulink Maximilian Apfelbeck, MathWorks

SQMB '11 Automated Model Quality Rating of Embedded Systems

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

Power inverters: Efficient energy transformation through efficient TargetLink code

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

Model-Driven Software Development for Robotics: an overview

Introduction to Software Engineering. 8. Software Quality

Model-based Testing of Automotive Systems

Model Based Software Development for DDG 1000 Advanced Gun System

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

Product Information CANape Option Simulink XCP Server

Schnell und effizient durch Automatische Codegenerierung

Automotive Software Engineering

The SPES Methodology Modeling- and Analysis Techniques

Quality Management. Lecture 12 Software quality management

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

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

Introduction to Simulink & Stateflow. Coorous Mohtadi

Requirements engineering

IAS ACCREDITED INSPECTION AGENCIES: GUIDELINES FOR CONDUCTING INTERNAL AUDITS AND MANAGEMENT REVIEWS. Revised January, 2016

Multi-view Architecting

A Framework of Information Management System for Construction Projects

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

Quality Management. Objectives

Quality Management. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 27 Slide 1

Machine Learning with MATLAB David Willingham Application Engineer

CHAPTER 1 ENGINEERING PROBLEM SOLVING. Copyright 2013 Pearson Education, Inc.

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

BACHELOR OF SCIENCE IN ELECTRICAL AND ELECTRONIC ENGINEERING DEGREE PROGRAMME

OPC COMMUNICATION IN REAL TIME

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

INTEGRATION OF THE CODE GENERATION APPROACH IN THE MODEL-BASED DEVELOPMENT PROCESS BY MEANS OF TOOL CERTIFICATION

Quality Management. Objectives. Topics covered. Process and product quality Quality assurance and standards Quality planning Quality control

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

Software Process Models. Xin Feng

Mastering increasing product complexity with Collaborative Systems Engineering and PLM

Systematic Testing of Embedded Automotive Software: The Classification-Tree Method for Embedded Systems (CTM/ES)

Declaration of Conformity 21 CFR Part 11 SIMATIC WinCC flexible 2007

Automated Test Generation

Master s Program in Information Systems

TECH. Requirements. Why are requirements important? The Requirements Process REQUIREMENTS ELICITATION AND ANALYSIS. Requirements vs.

Validating Diagnostics in Early Development Stages

Performance Study based on Matlab Modeling for Hybrid Electric Vehicles

Software Development Principles Applied to Graphical Model Development

ISO 9001:2000 AUDIT CHECKLIST

Introduction to MATLAB Gergely Somlay Application Engineer

Quality Assurance of Models for Autocoding

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

SIMATIC IT Unicam Test Expert

Example #1: Controller for Frequency Modulated Spectroscopy

Management Information System Prof. Biswajit Mahanty Department of Industrial Engineering & Management Indian Institute of Technology, Kharagpur

COMPETENCE IN ALUMINIUM AND MAGNESIUM HIGH PRESSURE DIE CASTING

Developing a Feature-based System for Automated Machining Feature Recognition (ISO AP 224) of Prismatic Components

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

Recovering Business Rules from Legacy Source Code for System Modernization

6. European SystemC Users Group Meeting

StateFlow Hands On Tutorial

ACCESS INTELLIGENCE. an intelligent step beyond Access Management. White Paper

Non-Stop Manufacturing Excellence. Automotive. Answers for industry.

Chapter 4 Software Lifecycle and Performance Analysis

Software Requirements Specification. For. Attendance Tracking System, Release 1.0. Version 1.0

A Case Study of Application Development and Production Code Generation for a Telematics ECU with Full Unified Diagnostics Services

MODEL-BASED DEVELOPMENT OF AUTOMOTIVE EMBEDDED SOFTWARE IN COMPLIANCE WITH ISO 26262: CHALLENGES & EFFECTIVE SOLUTIONS 8 JUNE - 9 JUNE 2015

Quality Management. Managing the quality of the software process and products

IS THE INTERNET OF THINGS MAKING OUR LIVES EASIER OR MORE DIFFICULT? WHAT ARE THE OPPORTUNITIES AND CHALLENGES?

Artificial Intelligence and Testing. Kishore Durg AccentureTechnology June 2016

Simulink Modeling Guidelines for High-Integrity Systems

Chapter 2: Elements of Java

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

Course code Course name ECTS Autumn Spring. ELEC-E8101 Digital and Optimal Control 5 X. ELEC-E8102 Distributed and Intelligent Automation Systems 5 X

Design and Implementation of Supermarket Management System Yongchang Rena, Mengyao Chenb

Robot Control MRobot

Wiederverwendung von Testfällen bei der modellbasierten SW-Entwicklung

Micro Plastics, Inc. Quality Manual

Transcription:

Using Model and Code Reviews in Model-based Development of ECU Software DaimlerChrysler AG, Research E/E and Information Technology {Mirko.Conrad Heiko.Doerr Ines.Fey First.I.Stuermer}@DaimlerChrysler.com

Presentation Outline Model-based Software Development Reviews in Software Development Model Reviews Autocode Reviews Summary

Model-based Software Development Continuous use of models for the specification the design the implementation and as a basis for the test Idea Strong advantages because of consistent means of description continuous tool chain efficient, automatic coding testing during the development process Micro controller W INT R INT A/D converter A/D converter W DIS R DIS Software U DIS D/A converter U INT

Modeling Techniques Block diagrams Extended state machines Executable models in all constructive development phases Mixed discrete-continuous models Hierarchical decomposition for complexity management Commercial simulation and modeling tools (e.g. Matlab / Simulink / Stateflow, ASCET-SD)

Reviews in Software Development Classical Software development Requirements Review Code Review Model-based Development Model Review Autocode Review

Model Reviews Aim Check if requirements are realized in the model Check if relevant modeling guidelines are fulfilled Check if models meet quality criteria e.g. portability, testability Guidelines for Model Reviews General rules Modeling pattern Project specific rules

Model Reviews Example of Modeling Guideline and corresponding Model Review Check

Tool-supported Model Reviews Automated creation of unambiguous references to the model Automatic marking of queried model parts Acceleration by 40% in comparison to conventional approach

Autocode Reviews Aim find errors which have been introduced by humans find errors which are difficult to detect in the models but easy to find in the generated code check the correct translation model to code thus safeguard the codegenerator Review automatically generated code Based on experience

Autocode Reviews: (A) (B) (C1) (D1) (C2) (D2) (E) Preparation Kick-off Inspection Meeting #1 Inspection Meeting #2 Follow-up Review#1 Review#2 Two-phase concept ACR Checklist #1 ACR Checklist #2 Review Phase #1 Review Phase #2 Based on checklists concerning in particular aspects such as structure and intelligibility special error causes Checklists serve the purpose of structuring experience 2 phases in order to keep the checklists manageable Combination of model review and code review

Autocode Reviews: Example of a Phase 1 Checklist Question ACQ1-2 Type: M Standard Conformance: Efficiency: Portability: Reusability: Safety: +++ Are the corresponding model and code fragments of an arithmetical operation consistent? Thereby, the review focus will be restricted to variables and arithmetic operations only. Code fragments, which result from scalings (e.g. shifts / casts), are not taken into account in this phase. Example: x1 x2 * * y y = (Int16) (((Int32)x1 * (Int32)x2 >> 16); y = (Int16) (((Int32)x1 + (Int32)x2 >> 16); check whether or not the corresponding model and code fragments are structurally consistent

Autocode Reviews: Example of a Phase 2 Checklist Question ACQ2-1 Type: M Standard Conformance: Efficiency: Portability: Reusability: Safety: +++ Are the signals / values of an arithmetical operation scaled in a consistent manner? Equal Scalings: As a rule, in case of additions / subtractions the scaling of all operands and the scaling of the result should be the same (cf. standard scaling table). In case of multiplications / divisions the plausibility of scalings has to be checked. Example: y = (Int8) ((UInt8)(x1<<2)+((UInt8)(x2<<2)+((UInt8)(x2<<2); y = (Int8) ((UInt8)(x1<<2)+((UInt8)(x2<<1)+((UInt8)(x2<<2); check for specific errors with respect to arithmetical operations

Summary: Reviews are very resource consuming Reviews should be reduced to what is absolutely necessary Other quality assurance techniques should be used in addition Static checking tools should be applied before the review Reviews should be connected with dynamic testing techniques Tool support is indispensable (e.g ToolNet environment, e-guidelines)

Using Model and Code Reviews in Model-based Development of ECU Software Ines Fey Methods and Tools (REI/SM) e-mail: Ines.Fey@DaimlerChrysler.com DaimlerChrysler AG Research and Technology Alt-Moabit 96 A D-10559 Berlin Phone +49-(0)30-39982-246 Fax +49-(0)30-39982-107 www.e-guidelines.de