Unit-5 HMI Analytics Profiling and Debugging
Unit-5 HMI Analytics Profiling and Debugging
PROFILING AND
DEBUGGING
MS/EHM
15 Sep 21
HMI Analytics
What is
Data
Analytics?
Understanding
Data
Business Data cleanup
Collection
Requirements
Descriptive Diagnostic
• This describes what has • This focuses more on why
happened over a given something happened.
period.
Types of Data
Analytics
Predictive Prescriptive
• This moves to what is likely • This suggests a course of
going to happen in the near action.
term.
HU / CM / IVI
Requirement
After Sales
Production
Service
… CM Car Multimedia
IVI In-Vehicle Infotainment
HU Head Unit
Problem Corpus
Customer
Reported
Problem
Analysis
Customer
Support No
Used need
?? ??
Usage Unknown
Survey ??
Solution Fundamental
Common
Local
Error Log Query Local Help
Analytics
History
Eco System
Connectivity
Remote Log
Error User
Log Action Configuration
Library
System Field Data
Data
Anonymization
Less Travel
Analytics
Survey
Information
Analytics
Epoch Navi
MyPOIs Previous
0:00 6:59
Nearby Destinations
Favourite
7:00 11:59 POIs Nearby
Destinations
Previous
12:00 16:59 Address Input
Destinations
Favourite
16:59 0:00
Intuitive
Destinations
Address Input
Analytics
Runtime
Efficiency Model
Touch screen profile
Log Failure
Error Log
Mining Pattern
Error Log
4-5 hour >> 3-4 sec
Sequence
Pattern Once per problem
Instances
• Complete Avoidable
• Incomplete
Quicker
Analysis
Values Generated
• More • Field
Intuitive Issues Create value
We focus on exciting our
Dev. Team customers and users with
• Local • Quicker
innovative and reliable products
along the customer journey.
Help Thus we are an appreciated
partner delivering valued
(ongoing) solutions.
• Instant
Fix
• Customer (future)
Support • Diverse
• Realistic
Stake • Less Cost
holders
• Pragmatic
• New
Model
• Smarter
• Less Cost
Understand Products
Understand
Requirement Products
Analysis We create our products based
on understood customer/user
needs and requirements. We
fully understand our product
Field designs and production
processes, using suitable
Data models describing their
properties.
Analytics
Implementation
Testing
Log
Mining
Data Analytics uses algorithms to make conclusions about the raw information.
Understanding Business requirements, collecting the data and cleaning them up are the different
steps involved
Data analytics may be of descriptive, diagnostic, predictive and prescriptive types.
HMI Analytics helps in solving problems like deficit information provided by customer for issues,
problem analysis by developer, quick customer support and insights on usage.
HMI Analytics provides solutions like Usage Survey, Runtime insights, Local help and Failure pattern
prediction.
HMI Analytics adds value to Multiple Stake holders involved in the business, like User, Development
Team and OEM
Actionable insights will be used as a feedback thus improving the system.
What is Profiling?
Dynamic program analysis for measuring system parameters
Aids program optimization
Helpful in performance engineering.
Why it is important?
For understanding program behavior
Performance of Software architectures
To identify critical sections of code
CPU HMI Utilization - Clock cycles the HMI task was busy on any core.
CPU HMI Swaps - Number of task swaps for the HMI task.
CPU HMI Memory Usage - Number of heap bytes currently used by the HMI task.
CPU HMI Memory peak - Peak usage of heap bytes of the HMI task.
CPU HMI Stack Usage - Number of bytes used on the stack of the HMI task.
CPU HMI Stack Peak - Peak usage of stack bytes of the HMI task.
Postmortem debugging
Error Memory
‒ Stores all occurred errors over lifetime of a system permanently.
‒ Stores all critical errors in a central backend to have an easier handling when reading and analyzing them
‒ To have a limited fix size of the error memory the entries are mostly written in a kind of ring buffer.
‒ Redirects the error memory output to a connected USB device or write it directly to the Bosch logging interface Trace/DLT.
Tracing using external tool interfaced with PC
‒ Instrumented code will print the traces to trace buffer if tracing is enabled.
‒ Trace buffers can be read using USB or Ethernet interface which is then connected to PC.
‒ Traces can be filtered using different levels (like FATAL, Info, etc.) before logging.
‒ Generally used for debugging during development phase and not enabled in the release software.
Runtime Debugging
Debugging can happen in both Host and Simulation environment
Host based Tools : GDB(GNU Debugger), Lauterbach, etc.
Simulation based tools: Microsoft Visual Studio, Eclipse, etc.
Useful features to look for
‒ Breakpoints to pause the program execution on reaching a particular line of code
‒ Step by Step execution to check the internals of functions
‒ Watch variables and their values
‒ Backtracking to modify the value and rerun the executed code line.