30.11.2012 Views

Automotive User Interfaces and Interactive Vehicular Applications

Automotive User Interfaces and Interactive Vehicular Applications

Automotive User Interfaces and Interactive Vehicular Applications

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

2.1 Modeling using Conventional GUI-<br />

Builders<br />

Bock [1] proposes that OEMs define suitable model types <strong>and</strong><br />

create the corresponding tools by means of Meta-CASE tools 2 .<br />

His sample implementation is divided into separate views, each of<br />

which is addressing a different expertise (layout, content, <strong>and</strong><br />

behavior). Graphical models based on Statecharts [11,12] are used<br />

to describe the HMI behavior. A st<strong>and</strong>ard SWT/Swing GUI<br />

builder is applied for modeling the layout of the GUI, which is<br />

intended to be used by visual designers. In such tools the GUI is<br />

composed of multiple views that consist of a hierarchical structure<br />

of SWT- or Swing-widgets. Each instance of a widget in a view<br />

can be individually configured by adapting its properties.<br />

However, the look <strong>and</strong> feel of the widget types needs to be<br />

programmed manually.<br />

Choosing such a GUI-builder is not reasonable because these<br />

graphic frameworks are not used in embedded target platforms.<br />

They are designed for desktop applications <strong>and</strong> are not suitable for<br />

building HMIs for consumer products. Another major drawback<br />

of all conventional widget-based GUI builders is that each type of<br />

widget needs to be programmed manually before it can be used<br />

for modeling. When visual designers want to create new GUIs the<br />

available widget set may not be sufficient for their<br />

implementation. All additional widgets have to be created before<br />

they can be used to build the GUI. This leads to delays <strong>and</strong> acts as<br />

a break on the creative design process. A further drawback of this<br />

approach is the fact that the widgets developed using SWT-<br />

/Swing technology cannot be used in the target system but have to<br />

be re-implemented using other technologies. This leads to<br />

considerable additional specification <strong>and</strong> implementation effort<br />

because the widgets constitute an essential part of the GUI’s look<br />

<strong>and</strong> feel. Finally, since the same functionality is implemented<br />

more than once it can no longer be assured that prototypes <strong>and</strong> the<br />

final HMI show the same appearance <strong>and</strong> behavior.<br />

2.2 Available Tools for HMI Modeling<br />

There are several specialized tools available on the market for<br />

creating HMI models <strong>and</strong> transforming them into executable<br />

software for embedded systems [13], e.g., Elektrobit‘s Graphical<br />

<strong>User</strong> Interface Designer Studio (GUIDE) [14,15], Presagis’ VAPS<br />

XT [16,17,5], <strong>and</strong> Mecel’s Populus.<br />

All these tools are designed for the model-driven development of<br />

automotive HMIs. They are applied to formalize <strong>and</strong> detail drafts<br />

of ergonomists, visual designers <strong>and</strong> other domain experts. The<br />

tools make use of different specialized editors. Code generators<br />

<strong>and</strong> runtime environments create prototypes <strong>and</strong> the final HMIsoftware<br />

for the target system respectively.<br />

In order for the editors to be easy to use without experience in<br />

programming, they make use of graphical notations <strong>and</strong> the<br />

WYSIWYG system. These tools however, are quite complex so in<br />

practice are used exclusively by trained experts.<br />

In these tools modeling the GUI is also based on widgets just as in<br />

the GUI-builders for desktop applications. Therefore, all<br />

necessary widgets need to be implemented before they can be<br />

used to build the GUI. This is a major drawback, because it is<br />

often the case that changes need to be made to the design of the<br />

2 The term Meta is used for a class-instance relationship between<br />

different models. Analogous to this, tools that serve to create<br />

CASE-Tools for individual model types are often called Meta-<br />

CASE-Tools.<br />

GUI in late project phases due to influences from evaluation<br />

feedback or new design trends. These changes may call for new<br />

widgets to be made, which need to be precisely described by the<br />

visual designers <strong>and</strong> then implemented by programmers. This<br />

results in associated efforts for both. When those widgets are<br />

available they are used to rebuild the draft of the designers as<br />

exact as possible. This procedure delays the development process<br />

because the same visual designs are implemented twice using<br />

different technologies.<br />

2.3 EDONA-HMI<br />

The EDONA-project addresses the interoperability of the tools<br />

applied in the development of automotive embedded systems<br />

[18,19]. An integration platform was developed which allows<br />

exchanging data or models between OEMs <strong>and</strong> suppliers. A<br />

subproject of EDONA focuses on the model-driven development<br />

of HMIs [9]. If the models exchanged between OEMs <strong>and</strong><br />

suppliers use formats tied to a certain tool, the suppliers are forced<br />

to adapt their toolchains whenever the OEMs change their tool<br />

[19]. Based on this observation, EDONA HMI proposes to make<br />

use of a tool-independent exchange format. In the past multiple<br />

such formats have been developed 3 . Most of them are specific<br />

XML-based languages. However, because none of these have<br />

become an industry st<strong>and</strong>ard tool support is not widely available.<br />

EDONA HMI, however, recommends using the already<br />

established image format SVG. In SVG an image is composed of<br />

a tree of primitive graphic objects (scene graph). EDONA HMI<br />

defines a specific SVG subset (profile) adapted to the need of<br />

automotive HMIs. The profile also introduces particular<br />

extensions that can be used to annotate attributes of elements in<br />

the scene graph, such as the position or angle of an object. These<br />

annotated attributes can then be connected to calculation rules<br />

which modify them at runtime based on data coming from the<br />

application 4 . The calculation rules are described using the<br />

ESTEREL synchronous programming language. SVG files <strong>and</strong><br />

their calculation rules can be bundled into HMI components.<br />

Similar to widgets, they serve as reusable building blocks<br />

consisting of graphical appearance <strong>and</strong> behavior.<br />

Even though using SVG files is advantageous as mentioned above<br />

the format is not used as exchange format in industry. However,<br />

the approach of going with a st<strong>and</strong>ard graphic format is wise<br />

because it allows for seamless integration of the HMI modeling<br />

tools <strong>and</strong> the tools which visual designers use. Designers can<br />

create design drafts using st<strong>and</strong>ard software without having to use<br />

a specific tool. These drafts can be used directly for the<br />

implementation of the final HMI software instead of having to recreate<br />

them using a particular widget set. Modern GUIs use<br />

complex animations that are also defined by visual designers.<br />

SVG files however cannot describe animations so this information<br />

cannot be exchanged. Furthermore, the SVG format supports only<br />

2D graphics <strong>and</strong> not 3D GUIs, which are foreseen to play a big<br />

role in the next generations of automotive HMI [14,20,21].<br />

The low familiarity of ESTEREL in industrial practice is also a<br />

drawback of EDONA. Furthermore, the way ESTEREL is used in<br />

is not sufficient for defining the complete behavior of the HMI.<br />

For example, it cannot describe the dialogue flow including<br />

3<br />

Examples of such formats are OEMXML, VWXML, IML,<br />

ICUC-XML, <strong>and</strong> Abstract HMI.<br />

4<br />

To create a virtual analogue gauge a SVG image is required. The<br />

needle’s angle attribute is then annotated <strong>and</strong> linked to a rule<br />

that calculates the angle based on an input signal.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!