Developing the next generation UX
using EB GUIDE 5.3 with WEA7 and
Renesas R-Car H1
Jochen Dieckfoss, Elektrobit
Class ID: 9L04I
Renesas Electronics America Inc.
© 2012 Renesas Electronics America Inc. All rights reserved.
Agenda
• Introduction
• Overview
• Windows Embedded Automotive 7
• Challenges of User Interface development
• EB GUIDE Studio 5.3
• Your benefits
• Help is on the way…
www.elektrobit.com Copyright Elektrobit (EB) 2012
Jochen Dieckfoss
Expert
Elektrobit
•
Microsoft MVP (Most Valuable Professional) for Windows Embedded
•
Microsoft certified Trainer for Windows CE 5.0 / Windows Embedded
CE 6.0 R2 / Compact 7 / Microsoft Auto 4.0
•
MCTS
– “Windows Embedded CE 6.0 Developer”
– “ Windows Embedded Compact 7”
•
Senior Software Engineer / Expert
– Windows CE BSP/OAL development
– Windows CE driver development
– Windows CE application development
www.elektrobit.com Copyright Elektrobit (EB) 2012
EB Today
www.elektrobit.com Copyright Elektrobit (EB) 2012
•
EB’s customers are the leading
companies in the automotive and wireless
markets.
•
EB provides state-of-the-art embedded
software and hardware solutions.
•
EB’s technical core competences are:
–
Automotive-grade software
–
Wireless technologies and solutions
–
System and software architectures
•
Net Sales of $ 209 Million in 2011.
•
Listed on NASDAQ OMX Helsinki.
•
Over 1,500 employees in 7 countries, 3
continents.
Windows Embedded Competence
www.elektrobit.com Copyright Elektrobit (EB) 2012
Embedded Development Challenges
•
•
•
•
•
Limited CPU power
Limited memory and storage
– No HD
– No swap mechanism
– Flash Memory
Harsh environment
– Limited connectivity
– 24/7 operability
– Instant on
Integration
– OS and application highly integrated
Cross-Compiling and Debugging
– Different CPU architecture for host and target
– SW must debug on target
www.elektrobit.com Copyright Elektrobit (EB) 2012
Windows Embedded Automotive 7
•
Successor of Microsoft Auto
•
PDK that installs on top of Windows Embedded Compact 7
– Open architecture  easy extension of functionality
– Real-Time OS
•
Adds automotive-specific functionality
•
Integrated middleware stack and HW reference design
– Fast time-to-market
•
Use your own tools to design a custom UX
•
Not available through Distributors like other WEM Operating Systems
www.elektrobit.com Copyright Elektrobit (EB) 2012
WEA7 - Features
•
Bluetooth 2.0 + EDR (Enhanced Data Rate) support including profiles
for mobile phones and media player integration
•
Hands-free phone integration of BT phones
•
Portable media player and USB storage device integration
•
In-car updatability for system, apps or new features
– Cars designed 4 years in advance
– Consumer electronic life span: 6 Months
•
Integrated speech engines
•
Reference BSPs: Freescale i.MX35, Renesas SH4 Pilsener
www.elektrobit.com Copyright Elektrobit (EB) 2012
WEA7 - Architecture
www.elektrobit.com Copyright Elektrobit (EB) 2012
WEA7 - Architecture
Native
Application
User
mode
Managed
Application
Silverlight
Application
Common
Language
Runtime
XAML
runtime
Services
host
User mode drivers
host
Driver
Service
Driver
User Mode APIs (COREDLL.DLL and additional DLLs)
Kernel Mode APIs (KCOREDLL.DLL)
Kernel
Kernel
mode
KITL
Device
Manager
FileSystem
Manager
GWES
Kernel Debugger
OEM Adaptation
Layer (OAL)
www.elektrobit.com Copyright Elektrobit (EB) 2012
Drivers
Drivers
Drivers
Network
Stack
WEA7 – Internals: Kernel
•
Multiple CPU architectures:
– X86
– ARM (ARMv5,ARMv6 and ARMv7)
– MIPS
•
Multi-core support
•
Up to 3GB of addressable physical memory
•
Address Space Location Randomization
•
Virtual Memory
www.elektrobit.com Copyright Elektrobit (EB) 2012
WEA7 – Internals: Scheduler
•
Run up to 32K processes (different virtual memory spaces)
•
No limit on the number of threads (activities) managed by the scheduler
•
Scheduler manages 256 levels of priority (0 = highest)
•
Priority-Inversion level 1
•
Compact 7 is a hard-real time Operating System, designed for low
latencies and deterministic response times
www.elektrobit.com Copyright Elektrobit (EB) 2012
Tools - Platform Builder
•
Visual Studio 2008 SP1 plug-in
•
IDE for OS configuration, kernel mode development and debugging
•
Provides editors for OS configuration files
•
Provides graphical UI for build system
•
Provides external tools for system debugging and profiling
www.elektrobit.com Copyright Elektrobit (EB) 2012
WEA7 - Debugging and Instrumentation
•
•
•
•
•
•
Debugger integrated in the IDE
– Infinite breakpoints (conditional, on data modification etc.),
watches, Call stack, memory access, disassembly...
Timeline view
– Kernel Tracker
– Performance Monitor
– Power Monitor
Profiler
Remote tools
Log and trace functions in the Operating System
Post-mortem debugger support
www.elektrobit.com Copyright Elektrobit (EB) 2012
Platform Builder UI
www.elektrobit.com Copyright Elektrobit (EB) 2012
Lab 1:
Our first glance at Platform Builder
www.elektrobit.com Copyright Elektrobit (EB) 2012
WEA7 - User Interface
•
GDI and Windowing APIs
•
Support for multi touch
•
Multiple display support
•
Silverlight For Windows Embedded
– Support for Silverlight 3.0
– Plugin for Expression Blend 3
– Visual tools integrated in Visual Studio 2008
– Application wizard in Platform Builder
•
Windows Compositor
www.elektrobit.com Copyright Elektrobit (EB) 2012
Bringing up a WEA7 device

Application Development, Porting and Integration
Application

Multimedia Software


Connectivity and Networking


Middleware


I²C, SPI, CAN, Ethernet, USB
8021.11, GSM/GPRS, Bluetooth, SDIO, …
Driver Development



Platform
Software
Audio/Video-Streaming, DRM, Codecs (e.g. MP3),
On-Chip Peripherals, Companion Chips
Graphics, Keyboards, Audio, PCI, USB, ..
File Systems (e.g. Flash-File-System), Drives
Device Bring up


Bootloader
Board-Support-Package Development and Integration
www.elektrobit.com Copyright Elektrobit (EB) 2012
Setting the stage / Meeting the
requirements
•
Now we have a device, what next?
– Is it going to be an open platform?
– Why do I need a device specific API?
– How far do I want my customer to be able to modify the
device?
– …
– What are the answers to the questions I don’t know?
www.elektrobit.com Copyright Elektrobit (EB) 2012
You have to ask yourself…
…“What do I need to develop a UI / UX?”
www.elektrobit.com Copyright Elektrobit (EB) 2012
The evolution of User Interface Design
1970s
First Era:
Command Line
1990s
Second Era:
Graphical User
Interfaces
www.elektrobit.com Copyright Elektrobit (EB) 2012
Now
Third Era:
User Experiences
(UX)
Classical User Interface development
GUI Designer
Graphics Designer
Visio
PhotoShop
UML
Statechart
View
Layout
Translator
Excel
DB




www.elektrobit.com Copyright Elektrobit (EB) 2012
SW Developer
Word
Software
REQs
Specification in different formats
Inconsistency in GUI
No simulation possible
Long way for change requests
The challenge:
Target development for automotive HMI
•
Different than rapid prototyping
or specification usage
•
Meets automotive requirements
(e.g. response time)
•
Handles multiple platforms
•
Manages very big projects
(> 1.500 screens in several
variants)
•
Many different people with many
different positions
•
Simulation
www.elektrobit.com Copyright Elektrobit (EB) 2012
The idea:
Separation of HMI and applications
•
Encapsulation of the HMI in one
component
•
HMI development is independent
from back-end
•
Data is located within the Data Pool
(the source doesn’t matter)
•
•
Testing is supported through EB
GUIDE Monitor
High level of reusability
(keep the back-end and change the HMI or
keep the HMI and substitute the back-end)
www.elektrobit.com Copyright Elektrobit (EB) 2012
HMI
Applications
Data Pool
Innovative UI / UX Development is about…
•
Cost and time saving UI / UX development process
•
Rapid prototyping, simulation, specification and code generation
in one tool chain
•
Short cycles for change requests within iterative software
engineering
•
Early detection of problems / early testing / early stable decisions
•
Tool plugins for functional extensibility
•
Automatically generated code
•
Adaptation to different operating systems, embedded graphic
libraries and hardware platforms
www.elektrobit.com Copyright Elektrobit (EB) 2012
Overview: The model of EB GUIDE Studio
Events
Data pool
Scripting
Views and widgets
www.elektrobit.com Copyright Elektrobit (EB) 2012
UML state charts
UX development with EB GUIDE
Workflow Designer
Graphics Designer
Translator
Speech Dialog
Designer
XML-DB
Simulation
“on the fly”
www.elektrobit.com Copyright Elektrobit (EB) 2012




Different people – one tool
Rapid Prototyping
Usability Testing
Support of decision processes
UML illustrated state charts
EB GUIDE Studio’s
state editor shows state
machines as Unified
Modeling Language
(UML) state charts.
www.elektrobit.com Copyright Elektrobit (EB) 2012
Views and widgets
EB GUIDE Studio’s view
editor manages the
widget hierarchy and
allows editing of the
data pool.
Widget Templates allow
reuse, building blocks,
and align with the
wireframe pattern of the
design departments.
www.elektrobit.com Copyright Elektrobit (EB) 2012
Animations and effects
EB GUIDE Studio’s
animation editor allows
you to define animations
and control effects.
www.elektrobit.com Copyright Elektrobit (EB) 2012
Simulation
EB GUIDE Studio’s
simulation lets you test
drive an HMI
immediately, without
having to put it into a
car!
www.elektrobit.com Copyright Elektrobit (EB) 2012
EB GUIDE Monitor
EB Guide Monitor allows you to
be in control when you are
running EB GUIDE model no
matter if it’s on a PC or target.
www.elektrobit.com Copyright Elektrobit (EB) 2012
The EB GUIDE philosophy
www.elektrobit.com Copyright Elektrobit (EB) 2012

Change your concept inside the HMI model.

Test your concept inside the HMI simulation.

Integrate your concept by generating the HMI.
Lab 2:
Our first glance at EB GUIDE 5.3
www.elektrobit.com Copyright Elektrobit (EB) 2012
The integrated EB GUIDE Philosophy
EB GUIDE Studio
Tool for graphical HMI development
EB GUIDE Speech Extension
Tool add-on for speech-enabled
user interface design
EB GUIDE Graphics Target Framework (GTF)
Runtime environment for the graphical user
interface
www.elektrobit.com Copyright Elektrobit (EB) 2012
EB GUIDE Speech Target Framework (STF)
Runtime environment for enabling speech
dialog and additionally integrated customer
applications
Additional easy-to-use services to the
recognizer engine
HMI Development inside the V-Model
Requirements Analysis
Conceptual Design of
Specification
Validation & Test
Validation Data
• Automatic test script
• Data Pool Values
• State machine compare
• View compare
Next steps: Production &
Maintenance
Development
Modeling, Simulation,
Rapid Prototyping,
Evaluation, Usability Testing
Integration
HMI Target Software
Implementation
Code Generation
www.elektrobit.com Copyright Elektrobit (EB) 2012
EB GUIDE 5 - Architecture overview
EG GUIDE Studio 5.x
Legend:
· EB SW components
· External parts
HMI model
(statemachine, views etc.)
uses
EB GUIDE GTF 5.x
uses
Target OS
Target hardware
www.elektrobit.com Copyright Elektrobit (EB) 2012
Desktop
Target
EB GUIDE 5.x - Architecture overview
Legend:
· EB SW components
· External parts
EG GUIDE Studio 5.x
EB GUIDE
workspace
Studio Java
Plugin API
load / save
Standard
EB GUIDE Studio
Plugins / Model Checker
HMI model
(statemachine, views etc.)
3rd party
EB GUIDE Studio
Plugins
uses
EB GUIDE Monitor
(embedded in Studio or standalone)
EB GUIDE
Monitor
Default Plugins
EB GUIDE
Monitor
Plugin API
uses
Target OS
Target hardware
www.elektrobit.com Copyright Elektrobit (EB) 2012
3rd party
EB GUIDE Monitor
Plugins
Desktop
Target
uses
EB GUIDE GTF 5.x
uses
TCP
EB GUIDE 5.x - Architecture overview
Legend:
· EB SW components
· External parts
EG GUIDE Studio 5.x
EB GUIDE
workspace
Studio Java
Plugin API
3rd party
EB GUIDE Studio
Plugins
uses
uses
Standard
EB GUIDE Studio
Plugins / Model Checker
load / save
EB GUIDE Monitor
(embedded in Studio or standalone)
HMI model
View
Model
State
Model
Data
Model
Event
Model
uses
EB GUIDE
Script
EB GUIDE Monitor
Default Plugins
EB GUIDE Monitor
Plugin API
uses
3rd party
EB GUIDE Monitor
Plugins
uses
Generator
Desktop
Target
generates
.bin model
uses
EB GUIDE GTF 5.x
uses
Target OS
Target hardware
www.elektrobit.com Copyright Elektrobit (EB) 2012
TCP
EB GUIDE 5.x - Architecture overview
www.elektrobit.com Copyright Elektrobit (EB) 2012
Synchronized Communication of HMI
and Applications
6. Update view
Display Manager / State Machines
Application Views (Tuner, CD, Navi, …)
5. Read data
4. Notify data
change
Widgets (Button, List, Slider,…)
Tuner Data
CDC Data
Navi Data
Data Pool
3. Update data
Abstract Application Interfaces
Applications (Tuner, CD, Navi, …)
Project specific adaptations
Code automatically generated
www.elektrobit.com Copyright Elektrobit (EB) 2012
1. Press
button
OS/Drivers
Hardware
…
2. Send
message
Open VG
•
OpenVG is a standard API for hardware accelerated graphics
•
Specified by the khronos group, open standard
•
Developed to accelerate existing formats, e.g. SVG,
•
Cost effective hardware compared to OpenGL ES 2.0
•
Less RAM usage as images can be stored as equations rather than per
pixel
•
Acceleration effects ( e.g. rotation, scaling )
•
Supports TrueType fonts
www.elektrobit.com Copyright Elektrobit (EB) 2012
Open VG
Example
• Identical source
image
 Image with zoom
 OpenVG:
Always sharp and clear edge
 Non-vector graphics has
artifacts
www.elektrobit.com Copyright Elektrobit (EB) 2012
OpenVG combined with
OpenGL-ES 2.0

Full image

Gauges
(different FPS)

Text

HMI with
3D effects
www.elektrobit.com Copyright Elektrobit (EB) 2012
Lab 3:
Running our EB GUIDE Project on
Renesas R-Car H1
www.elektrobit.com Copyright Elektrobit (EB) 2012
EB GUIDE Studio vs 3rd party HMI tools
•
Microsoft® Visio is made for drawing with predefined icons. The graphical
user interface and even speech dialog can’t be developed within this tool
environment.  Get an idea of the system behavior. Nevertheless further
tools will be required to develop the final HMI system.
•
Adobe® Flash® can be used for designing the graphical user interface of
HMIs. The system behavior can be presented by an interactive demo.
Nevertheless, there is no possibility of state chart management or speech
dialog design.  Get an idea of the “look & feel”. Further tools will be
required to develop the final HMI system.
•
EB GUIDE Studio covers the whole HMI process, from modeling and
specification over rapid prototyping and simulation to code generation for
series production.  Get an idea of the complete final HMI system and
develop it without leaving/changing the tool chain.
www.elektrobit.com Copyright Elektrobit (EB) 2012
Comparing usage of HMI RAD tools
Microsoft Blend
Adobe Flash
Nokia Qt
EB GUIDE Studio
Rapid prototyping on desktop for
designers.
◑
●
◑
◑
Rapid prototyping running on a board.
●
◑
●
●
Specify, model and simulate a
production project on the desktop.
◑
○
◑
●
Design and model a small application
for production.
●
○
●
●
Design and model a complex HMI
(> 500 screens) for production.
◑
○
◑
●
www.elektrobit.com Copyright Elektrobit (EB) 2012
○ - no
◑ - part
● yes
Comparing features of HMI frameworks
Microsoft Blend
Adobe Flash
State chart mechanism
○
○
○
●
GUI design
●
●
●
●
Speech dialog design
○
○
○
●
Made for complex HMIs (> 500 screens)
○
○
◑
●
Tailored for automotive development
process
◑
○
◑
●
Extendibility
○
○
●
●
www.elektrobit.com Copyright Elektrobit (EB) 2012
○ - no
◑ - part
Nokia Qt
● yes
EB GUIDE Studio
Help is on the way…
• www.elektrobit.com
• http://discovertheexperience.blogspot.com/
• http://www.eb-guide-blog.com/
• www.microsoft.com/embedded
• http://social.msdn.microsoft.com/Forums/enUS/category/windowsembeddedcompact
www.elektrobit.com Copyright Elektrobit (EB) 2012
Questions?
56
© 2012 Renesas Electronics America Inc. All rights reserved.
Please Provide Your Feedback…
 Please utilize the ‘Guidebook’ application to leave feedback
or
 Ask me for the paper feedback form for you to use…
57
© 2012 Renesas Electronics America Inc. All rights reserved.
Renesas Electronics America Inc.
© 2012 Renesas Electronics America Inc. All rights reserved.
Thank you!
Jochen.Dieckfoss@elektrobit.com
Copyright Elektrobit (EB) 2012 / Confidential