Model-based Development

Post on 16-Jan-2016

32 views 0 download

Tags:

description

Model-based Development. By Ryan Mowry. Modeling Basics. Graphical models of system Entire system or just parts Complex systems easier to understand “Capture key requirements and demonstrate correct behavior in simulation”. Software Process. Starts after requirements - PowerPoint PPT Presentation

Transcript of Model-based Development

Model-based Development

By Ryan Mowry

Graphical models of system

Entire system or just parts

Complex systems easier to understand

“Capture key requirements and demonstrate correct behavior in simulation”

Modeling Basics

Software Process Starts after

requirements

Can cover design, development, and testing

Representation of system

Inputs

Outputs

Mathematical Operations

Design and Analysis

Match model to target architecture

Correct data types for input/output

Interactions with other systems

Design and Analysis

Design Example

Simulate model based on inputs and parameters

Observe actual outputs of the model compared to expected

Allows testing parallel to design

Simulation

Earlier error detection

Easy to test all input ranges

Improve Verification

Able to make changes to the model to reach expected results

Simulation Advantages

Testing a model using input from another model

Models interact with one another so useful data can be obtained by testing current model with a working existing model

Earlier error detection

Model-in-the-Loop Testing

Testing model in conjunction with generated or handwritten code on one machine

Useful when parts of generated code are updated to test compatibility with old code

Also for handwritten code that will be used with generated code

Software-in-the-Loop Testing

Software-in-the-Loop Testing Test software algorithm using model instead

of needing actual hardware

Processor-in-the-Loop Testing Generated code executes on target

processor

Test code on target processor with system model using actual I/O (CAN)

One step from hardware testing allows for more error detecting before needing actual expensive hardware

Hardware-in-the-Loop Testing Use generated code for both target

architectures to test code functionality

Real-time system simulates actual target device to detect more errors between systems

Last testing before integrated testing

PIL and HIL

Verify model and simulation meet requirements

Auto-Generate code from model

Code and filenames very abstract

Hard to follow and understand

Implementation

Code already tested

Changes to model if necessary

Regenerate code from corrected model instead of changing code

Floating and fixed point conversion

Implementation

High costs in new software

Time and cost to learn the model-based approach

Greater time spent during analysis and design of the system

Is Model-based Development Worthwhile?

Model-based Development became popular among automotive companies

Some companies thought lowered cost, others thought no difference or even higher cost

Global research study by Altran Technologies, chair of software and systems engineering, and the chair of Information Management of the University of Technology in Munich

Research in Automotive Industry

Cost difference in each software phase

Analysis of amount of modeling used Error Detection

Cost Difference

Quality Criteria

Overall Cost

Goals of Research

Software Phase Analysis

Requirements Cost Change

Number of Errors Detected

Quality Criteria

Overall Cost

Modeling helped cut overall costs of the project

Increased quality and bug detection

Less than 60% implementation of model-based development yielded the best results but depends on project

Research Study Findings

Do not need to know programming languages

Testing sooner leads to earlier bug detection

Better overall quality

Design reuse for upgraded systems

Advantages of Model-based

New Software costs

Training on new software and approach

Abstract code

Lengthy Simulations

Advantages outweigh disadvantages

Disadvantages of Model-based

New methodology in automotive industry

New technologies create major design changes

Simulations help find balance in subsystems

Design comes after balance found through simulating

Simulate, then Design

LMS Imagine Lab Modelica  CyDesign Dymola MapleSim VisSim MATLAB and Simulink EicasLab Rational Rhapsody

Model-based Embedded Tools

Block diagram of desired system

Diagram hierarchy of components

Useful in sharing components with other models

MATLAB and Simulink

Block Diagram Example

Component Hierarchy

Graphical output to view results

Debug Simulation

Step forward to find when state changes

Or step backwards (Rewind Simulation)

Run on target hardware

Running Simulation

Once model and simulation meet requirements and errors have been fixed, code can be generated for system.

Simulink allows for generating code in C,C++,HDL, and PLC

Generating Code

Demo Simulink Simulation process

Simulink demo

Sources Broy, M.; Krcmar, H.; Zimmerman, J.; Kirstan, S.: Model-based

Software Development – Its Real Benefit. EETimes, March 2011 Gegic, G,: In-the-Loop Testing Aids Embedded System

Validation. http://www2.electronicproducts.com/In_the_loop_testing_aids_embedded_system_validation-article-FAJH_Mathworks_Jul2009-html.aspx, August 3, 2009

Ledin, J.; Dickens, M.: Automatic Embedded Code Generation from Simulation Models. RTC Magazine. http://www.rtcmagazine.com/articles/view/100276, December 2004

Morey, B: ‘Simulate, then Design’ Emerges as New Engineering Methodology. SAE OHE, September 1, 2011

"Simulink." Simulation and Model-Based Design. N.p., n.d. Web. 24 Oct. 2012. <http://www.mathworks.com/products/simulink/>.