Microsoft Expression Blend and EB Guide Studio Interface
|
|
Figure 1. Linking Expression Blend to EB Guide XAML (click image to zoom by 3.8x)
|
Microsoft Silverlight for Microsoft Windows Embedded
Silverlight for Windows Embedded (SWE) is a C++-based framework used for the creation of user interfaces of Windows Embedded CE applications. It has to be put in parallel to its desktop variant used for the development of interactive Web applications for Web browsers which is based on C#.
There is a clear advantage in using SWE over the classic design approach for user interfaces as SWE allows the separation of design and application logic. Just as in the desktop version, the designer creates the user interface including animations using Microsoft Expression BlendTM. No programming skills are necessary at all. Expression Blend saves the design internally in a description file that application designers can import into SWE and connect to their application logic. The description file is stored in the XAML format (Extensible Application Markup Language format) – an XML-based file format defined by Microsoft for the description of complex animated user interfaces.
Another benefit of using SWE is that designers of Silverlight Web applications can participate in the creation of Windows Embedded CE application user interfaces without additional training. Expression BlendTM can also be used to test the user interfaces in a Web browser.
Silverlight for Windows Embedded has been available since October 2009, with the release of Windows Embedded CE 6.0 R3. In the future, SWE will also be integrated into Microsoft's automotive operating systems.
EB GUIDE Studio
EB GUIDE Studio is a tool used to define the elements of a human machine user interface (HMI) which allows control of the underlying application software. Interface data and messages between the HMI and the application software are specified in EB GUIDE Studio. They are saved and maintained in a proprietary block called data pool. The data pool consists of static and dynamic values, allows variants, and language-dependencies. At runtime, the dynamic values are filled in by the application.
In addition to data and messages, EB GUIDE Studio allows the use of UML state charts to depict the behavior of a screen. The menu logic of the system as a whole and any special behavior for popups can thus be modeled. Finally, the content of each screen can be specified in the View Editor, where individual controls can be placed and configured before being connected to the data pool. EB GUIDE Studio provides multi-user-capable access to the HMI model, allowing distributed development. An extensive library of plug-ins providing interfaces with other tools ranging from Photoshop to internationalization and an interface for creation of your own plug-ins exist.
With all of the above, EB Guide Studio allows the creation of an HMI model. EB Guide’s simulation engine provides an early validation capability and allows users to run early what-ifs scenarios. Production code generation capability is available for a combination of Microcontrollers/RTOS environments
Article
User interfaces (Human/Machine Interfaces, HMI) for computer programs have changed drastically over the years. In the 70's the command line interface was the standard. In the 90's, more or less static graphical user interfaces (GUI) were the norm. Today, user interfaces are in their third generation with a so-called "user experience" (UX). More than ever, electronic design companies place the emphasis on the user and his/her experience.
The iPhone is a good example. It is fun, self-explanatory, and is populated with animated icons which can be custom-arranged. Multi-touch is available as an intuitive input option, allowing simple, logical gestures to be made with two fingers.
In infotainment systems too, UX is playing an increasing role as the user expects an operating philosophy that corresponds to his/her familiar environment based on the desktop PCs and smart phones.
For the development of this kind of modern infotainment systems, different technologies and tools are available. Microsoft has combined its latest technologies (Silverlight and XAML) with its embedded product line. Here, the designer of the user interface, generally working on a desktop PC with Expression Blend, doesn't need to learn anything new, since the creation of a UX for desktop PC and that of an embedded device are completely equivalent.
However, the development of an infotainment system is a complex process that requires the involvement of different people and teams just to create the user interface. In addition to the designers already mentioned, there are modelers for the complex logical processes of the HMI, along with programmers, translators, and testers. And of course, a testable overall impression of the HMI has to be available at any point of time.
This process is well supported by the HMI development tool EB GUIDE Studio. The modeling of the process logic with a state machine as well as its connection it with graphical elements (views) is made easy in the tool. Thus a specification of the HMI and an executable prototype are available at any time.
EB (Elektrobit) has worked closely with Microsoft to develop a plug-in for EB GUIDE Studio that allows the connection between the state machine of EB GUIDE Studio and the XAML files. The view editor, which allows the creation and layout of graphical controls directly in EB GUIDE Studio, is replaced with Expression Blend. In addition to the plug-in on the EB GUIDE Studio side, extensions of Expression Blend ensure the smooth integration of the EB and Microsoft tools. As soon as an EB GUIDE Studio project is linked to a matching project in Expression Blend, all the XAML files in the Silverlight project can be assigned as views to a state in EB GUIDE Studio. The state diagram is extended with a current snapshot of the view, as shown in Figure 1.
Global variables created in EB GUIDE Studio are also available in Expression Blend, where they can be linked to individual graphical elements. For example, a measured value can be specified as the content of a text field, or represented by the position of a slider control.
Transitions between states in EB GUIDE Studio are generally triggered by events. The list of all events created during development of the state machine in EB GUIDE Studio is also made available in Expression Blend. Events can be linked to graphical elements there, so that the click of a button triggers a state transition.
EB GUIDE Studio provides control over the simulation of state machines. Expression Blend is then placed in execution mode and another window is provided for the XAML view. The simulation editor in EB GUIDE Studio allows the direct manipulation of global variables with immediate effect on the linked graphical elements in the execution window of Expression Blend. For instance, events triggered by buttons immediately trigger the transitions in the state machine.
By integrating with Silverlight, EB GUIDE Studio has gained an important, future-oriented technology. At the same time, the Silverlight technology gains the support of a tool that already meets the requirements for HMI development in the automotive arena.
The EB GUIDE XAML plug-in is currently adapted to the version of SWE that will be available with the next version of Windows Embedded Automotive, planned for the third quarter of 2010.
About the authors:
Jan Babst studied physics in Erlangen and London, and has worked at EB (Elektrobit) since 2003. As a project manager, he bears responsibility for different customer projects in the areas of navigation and HMI development (EB GUIDE).
Jochen Dieckfoss studied Computer Science in Boston, MA. Since 2004 he works at EB (Elektrobit) with Windows CE in BSP/OAL, driver and application development. Jochen is Microsoft certified trainer for Windows Embedded CE and Microsoft Auto. He is also “Microsoft Certified Technology Specialist“ (MCTS) and was awarded “Microsoft Most Valuable Professional” (MVP).
|
Source: Elektrobit
|

Leave a Comment