enhanced data dictionary - matlab & simulink

27
NYSE: NAV Enhanced Data Dictionary for model based automotive production software development Todd Nordby, Technical Specialist

Upload: others

Post on 20-Apr-2022

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Enhanced Data Dictionary - MATLAB & Simulink

NYSE: NAV

Enhanced Data Dictionaryfor model based automotive production software development

Todd Nordby, Technical Specialist

Page 2: Enhanced Data Dictionary - MATLAB & Simulink

NYSE: NAV

▪ About

▪ Background and context

▪ Our organization’s workflow and motivation

▪ Solution

▪ Status

▪ Summary

Agenda

Page 3: Enhanced Data Dictionary - MATLAB & Simulink

NYSE: NAV

About NAVISTAR

On Highway Severe Service

Medium Bus

Renewed and expanded entire vehicle portfolio

in last three years

▪ Major manufacturer of

commercial trucks, buses and

defense vehicles

▪ $11 billion in revenue in 2019

▪ Year-over-year market share increase in the last five years

▪ Customer-centric DNA and industry-leading focus on customer uptime

▪ Global alliance with TRATON

Group speeding technology

innovation and further cost

improvement

Page 4: Enhanced Data Dictionary - MATLAB & Simulink

NYSE: NAV

• Global Product Development (GPD) is an engineering organization within Navistar

• Controls & Software (C&S) is a GPD group responsible for designing and implementing engine and vehicle electrical and electronics components

▪ engine and vehicle control applications

▪ embedded software

▪ electronic component integration

• Model Based Design (MBD) within Controls & Software

MBD used extensively for engine and vehicle control applications

▪ Algorithm development

▪ Production intent software code generation

About Global Product Development

Page 5: Enhanced Data Dictionary - MATLAB & Simulink

NYSE: NAV

▪ About

▪ Background and context

• Model Based Design (MBD) and Components

• Data objects

▪ Our organization’s workflow and motivation

▪ Solution

▪ Status

▪ Summary

Agenda

Page 6: Enhanced Data Dictionary - MATLAB & Simulink

NYSE: NAV

Component Based Development and Architecture

• Create components and make connections

Actuator

Controller

Sensor

Simulink top model with Reference Models or AUTOSAR Composition with SWCs

Page 7: Enhanced Data Dictionary - MATLAB & Simulink

NYSE: NAV

• Top-down• Authoring defines components

• Authoring makes connections

• Create ARXML

• Create skeleton models

• Bottom-up• Create models independently

• Generate ARXML

• Authoring integrates components

• Authoring connects existing inputs/outputs

Top-down vs. Bottom-Up workflows

{top-down}

{bottom-up}

Page 8: Enhanced Data Dictionary - MATLAB & Simulink

NYSE: NAV

• Data objects elaborate graphical designs

▪ Define interfaces

▪ Describe behavior

▪ Control deployment/code generation

Data Management for MBD

Where are these Simulink data objects stored?

-workspace (e.g. from .m or .mat files)-Simulink Data Dictionary

Page 9: Enhanced Data Dictionary - MATLAB & Simulink

NYSE: NAV

▪ About

▪ Background and context

▪ Our organization’s workflow and motivation

• Functional/algorithm focus vs software implementation

• Agile architecture development

• Production code generation

▪ Solution

▪ Status

▪ Summary

Agenda

Page 10: Enhanced Data Dictionary - MATLAB & Simulink

NYSE: NAV

• Functional focus vs. software implementation

Functional focus

AUTOSAR.Signal =>Rte_IRead_vwatp_Step_uAmbTRaw_uAmbTRaw

Page 11: Enhanced Data Dictionary - MATLAB & Simulink

NYSE: NAV

Organic architecture using bottom-up

• Can we facilitate “implicit authoring”?

Ensure I/O Signal names exactly match

• Can we grow the system organically?

Add components as appropriate

Page 12: Enhanced Data Dictionary - MATLAB & Simulink

NYSE: NAV

Streamlined production code generation

• Can we go from functionally focused MBD to production code easily?

How easily can we go from here…

to here?

Page 13: Enhanced Data Dictionary - MATLAB & Simulink

NYSE: NAV

▪ About

▪ Background and context

▪ Our organization’s workflow and motivation

▪ Solution

▪ Status

▪ Summary

Agenda

Page 14: Enhanced Data Dictionary - MATLAB & Simulink

NYSE: NAV

Simulink Data Dictionary advantages

• Design data management

• Create and manage data object definitions

• Specify design data using Model Explorer interface

• Persistent repository

• Repeated data loading not required

• Automatically associate design data with model

Page 15: Enhanced Data Dictionary - MATLAB & Simulink

NYSE: NAV

Simulink Data Dictionary gaps

• Functional focused support (abstraction)

• Uses data object class not abstract type

• Includes code generation specifics

• Organic architecture (parallel development and implicit authoring)

• Doesn’t match input/output names explicitly

• Bottom-up approach possible but integration complicated

Page 16: Enhanced Data Dictionary - MATLAB & Simulink

NYSE: NAV

Navistar Enhanced Data Dictionary

• Goals

• Enhance and add functionality

• User friendly (particularly function developers)

• Support Controls & Software organization’s workflow

• Approach

• Simulink Data Dictionary as “database”

• MATLAB Engine API for Java

Page 17: Enhanced Data Dictionary - MATLAB & Simulink

NYSE: NAV

Data abstraction

• Functional view

• Inputs

• Outputs

• Calibrations

• etc.

Page 18: Enhanced Data Dictionary - MATLAB & Simulink

NYSE: NAV

Implementation hiding

• Simulink guides data management (helpful)

• Simulink requires implementation specific knowledge (inconvenient)

• Algorithm developer vs. software engineer

Great, I’ll just create my Cal

Simulink.Param?mpt.Param?AUTOSAR.Param?

I’m so confused…

Page 19: Enhanced Data Dictionary - MATLAB & Simulink

NYSE: NAV

Implementation hiding concept

• User enters functional attributes

• Min, Max, Units, etc.

• Hide and automate deployment requirements

• Object Class

• CoderInfo

• etc.that was

easy…

Page 20: Enhanced Data Dictionary - MATLAB & Simulink

NYSE: NAV

• Hide and automate deployment requirements

• Directly support production code generation

Implementation hiding details

I’m glad I don’t need to know this…

Page 21: Enhanced Data Dictionary - MATLAB & Simulink

NYSE: NAV

• Consolidated model synchronization

All missing/extra data objects vs Simulink 1 type at a time

Functional developer assistance

Page 22: Enhanced Data Dictionary - MATLAB & Simulink

NYSE: NAV

• Typical use case automation

• Automatically select ‘single’ datatype on creation (project preference)

• Fixed-point datatypes automatically defined from slope/offset

• Boolean datatype automatically sets Min/Max

• Min/Max checked on data entry

Functional developer assistance

Page 23: Enhanced Data Dictionary - MATLAB & Simulink

NYSE: NAV

• Enable and enforce compatibility

• Select inputs from other outputs

• Support parallel bottom-up growth

• Allow manual input creation

Enable organic & parallel architecture development

Page 24: Enhanced Data Dictionary - MATLAB & Simulink

NYSE: NAV

• Duplicate I/O data objects

• streamlined/independent component development

• requires integration reconciliation after component implementation

• supports “dangling inputs” for resolution later

Implementation considerations

• Simulink Data Dictionary references

• complete project and coordination required

• component integration completed at implementation

• “dangling inputs” require immediate external component modification

Page 25: Enhanced Data Dictionary - MATLAB & Simulink

NYSE: NAV

• Initial Simulink Data Dictionary based tool launched Q4-2019

• Initial improvements and support for R2020a added Q2-2020

• Ongoing user feedback improvements in progress

• Currently in use on a production intent project

• Already supported several vehicle intent software releases

• ToDo

• Incorporate usability feedback

• Can we take advantage of more built-in Simulink capabilities?

• Embedded Coder Dictionary

• Code Mappings Editor

Current status and beyond

Page 26: Enhanced Data Dictionary - MATLAB & Simulink

NYSE: NAV

• Navistar’s Controls & Software group uses Model Based Development (MBD)

• to facilitate embedded application development by 100’s of engineers

• on 4 projects and growing

• including 2 projects in production

• Navistar’s Enhanced Data Dictionary

• Supports Controls & Software’s functional focused organization

• Provides robust and streamlined component based workflow

• Supports parallel component development

• Eases production code generation

Summary

Page 27: Enhanced Data Dictionary - MATLAB & Simulink

NYSE: NAV

THANK YOU