model-based design of industrial applications invited speaker session · 1 aerospace companies 2...
TRANSCRIPT
1© 2019 MathWorks GmbH
Model-Based Design of Industrial Applications
Invited Speaker Session
Swiss Federal Institute of Technology
Zurich, Switzerland.
September 18, 2019
Vasco Lenzi
Senior Application Engineer
MathWorks Switzerland
Dr. Mohamed Anas
Engineering Group Manager
MathWorks Benelux and Switzerland
Dr. Res Jöhr
Senior Customer Success Engineer
MathWorks Switzerland
2
Expectations, Let’s Interact
▪ Leiv: why does MATLAB index start at 1?
▪ Samuel: See something about Statefow
▪ Michael: why should I spend several thousands, when there is FOSS?
▪ Varin: why do you develop new versions, what is the future of MATLAB?
▪ Manish: I have used Git and Stateflow together, I am unsure as to why this
combination does not work as good as Git directly from terminal
▪ Nicola: we heard in the lecture that more an more C code is generated,
what proportion of the C code is automatically generated, what’s the trend?
▪ Friedrich: how could you use cloud computing from MATLAB, like AWS
3
Campus-Wide License Overview
▪ License covers all faculty, staff, students and their devices
▪ Access on campus, in lab and field, and at home, including off-network
▪ Annual license
▪ Immediate tool availability for end users via self-serve portal
▪ Lower IT administration overhead
▪ Storage of existing perpetual licenses
MATLAB Drive
Online access
University & lab
computers
Personal Computers
& Mobile Devices
Auto-graded homework
Low-cost hardware support
Self-paced online learning
Cloud Storage &
Sharing
Clusters & HPC
4
Free MathWorks Online Training @ ETH Zürich
(https://trainingenrollment.mathworks.com/selfEnrollment?code=2I4DV9S0RY14)
5
Agenda
▪ Model-Based Design in the Industry
▪ Workflows and Example Case Studies
▪ Project and Requirements Management
▪ Techniques for Large-Scale Modelling
▪ Early Verification and Production Code Generation
▪ Software- and Processor- in-the-Loop Techniques
6
Agenda
▪ Model-Based Design in the Industry
▪ Workflows and Example Case Studies
▪ Project and Requirements Management
▪ Techniques for Large-Scale Modelling
▪ Early Verification and Production Code Generation
▪ Software- and Processor- in-the-Loop Techniques
7
Three Things to Takeaway!
1. Verify early through Simulation
2. Elaborate Models Incrementally
3. Code and Data Interfaces! Integration Process
Coding Process
Design Process
Requirements Process
8
CO
NT
INU
OU
S T
ES
TIN
G
& V
ER
IFIC
AT
ION
INTEGRATION
CODE
Structured
Text
VHDL
Verilog
DSP FPGA ASICIndustrial
Control IDE
C, C++
MCU
DESIGN
Multi-Domain Physical Systems
Control Algorithms
Signal Processing Communications
Supervisory Logic
Testing,
Verification,
Validation and
Documentation
Technologies
Multi-Domain
Modelling,
Simulation and
Analysis
Technologies
Code
Generation
Technologies
REQUIREMENTSRESEARCH
Model-Based Design of Industrial Applications
9
Our Customers
Millions of engineers and scientists worldwide use MATLAB and Simulink.
All of the top 10
aerospace companies2
All of the top 10
auto manufacturers1
Three of the top five
internet companies
1OICA: 2016 World Motor Vehicle Production 2PwC: Aerospace and Defense 2017 Year in Review
90,000+ business,
government, and
university sites
10
Aero Automotive Biological Sciences
Biotech and
Pharmaceutical Communications
Electronics Energy Production Financial Services Industrial Machinery Medical Devices
Metals, Materials,
Mining Neuroscience Railway Systems Semiconductors Software and Internet
Serving Customers Across Diverse Industries
11
Industrial Example 1
12
Hyperloop
“What we Simulate is What we Implement” ABB
▪ “…components belonging to
different engineering domains”
▪ “…connect and integrate Simulink
diagrams with hardware”
▪ “…more with less steps along the
way”
Source: ABBhttps://library.e.abb.com/public/.../AC%20800PEC%20Sales%20Brochure.pdf
13
Industrial Example 2Optimizing cost with Simulation and Digital Twins
14
Industrial Example 3
15
Agenda
▪ Model-Based Design in the Industry
▪ Workflows and Example Case Studies
▪ Project and Requirements Management
▪ Techniques for Large-Scale Modelling
▪ Early Verification and Production Code Generation
▪ Software- and Processor- in-the-Loop Techniques
16
Agenda
▪ Model-Based Design in the Industry
▪ Workflows and Example Case Studies
▪ Project and Requirements Management
▪ Techniques for Large-Scale Modelling
▪ Early Verification and Production Code Generation
▪ Software- and Processor- in-the-Loop Techniques
17
Large-scale Modelling
▪ Many teams on the same project
▪ Architecture as the basis of team structure
▪ Incremental planning
▪ Interdependencies
▪ Streamlined sharing
▪ Synchronization among teams
▪ CICD
▪ May more
18
Architect with Components
Subsystems
Libraries
Model Referencing
Data Stores
Composite Signals
Configuration Reuse
Variant Subsystems
A
Model Architecture
Share with Teams
Many More
19
Architect with Components
20
Team Workflows
▪ Source control
▪ Compare and Merge
▪ Dependency analysis
▪ Task automation
21
Team Workflows: Dependency Analysis
Show Model
Structure
List Products
Required
Highlight Issues
22
Team Workflows: Dependency Analysis
Show Model
Structure
List Products
Required
Highlight Issues
23
Metrics DashboardAssess your Project Quality Status
24
Sharing: Package Your Work
25
Agenda
▪ Model-Based Design in the Industry
▪ Workflows and Example Case Studies
▪ Project and Requirements Management
▪ Techniques for Large-Scale Modelling
▪ Early Verification and Production Code Generation
▪ Software- and Processor- in-the-Loop Techniques
26
Validate the Results
Formulate Equations
Identify System Components
System Definition
Construct Simulink Diagram
(Controller and Plant)
Run the Simulation
Tune Controller
Things you have done so far
27
Example Activities around Code Generation
▪ Incremental model elaboration ensuring the model is “embedded
application aware”
▪ Defining data representation
– simulation vs. code generation behaviour
▪ Generating code
▪ Automating build processes
▪ Integrating external code with generated code
▪ Setting up generated code to interface with components in the run-time
environment
▪ Verifying the generated code
28
Concluding Remarks
▪ Identify the problem you are trying to solve
▪ “Rule of Two”
▪ Use models to generate production code
▪ Models are the sole source of truth
▪ Use the transition as a learning opportunity
▪ Focus on design instead of coding
▪ Integrate the development process
▪ Designate a champion
▪ Have a long-term vision
▪ Partner with tools suppliers