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