Mobile consumer electronics (CE) devices are continuously and quickly becoming more pervasive in everyday life. The range of functionality – telephony, music, navigation, web browsing, etc. – offered by such devices is growing rapidly, and the device owners expect to be able to access this functionality in virtually any situation. In this paper, we focus on the use of CE functionality in the situation of driving a car.
For safety reasons, automotive human machine interaction (HMI) systems are tailored toward the typical automotive use cases in order to minimize driver distraction. A promising way of allowing drivers to safely operate CE devices is to enable access to the CE device functionality through the automotive HMI. For example, an MP3 player’s play-lists may be visualized on the car’s central information display, the playback functions may be controlled via the BMW iDrive controller or the steering wheel buttons, and the audio output may be played over the car’s stereo speakers.
The CE industry’s innovation cycles are extremely short compared to a car’s life cycle. This observation raises two problems concerning the integration of CE functionality into the automotive HMI [Hi07]. First, it is typically too time-consuming to manually implement and test the integration: by the time the integration is ready to be deployed, the CE device may be outdated. Second, customers want to operate new CE functionality in vehicles that were built before the CE device or its functionality existed. As a consequence, a proper solution must enable fast development of CE-HMI integrations without a need to update (and thus verify) the car’s software. One solution to this problem, namely dynamic HMI generation for dynamic services based on declarative descriptions of service functionality and abstract interaction logic, was first presented in [Hi07]; it differs from traditional approaches by required key features like a) separation of HMI from application and b) common look and feel of dynamic plug-in services.
Given the ability to integrate services dynamically, several issues must be solved [Ai07]. The two main issues are resource management (priorities and permissions of services to access common resources) and service interoperation (exchange of data). This paper gives a solution to the interoperation problem. Typically, much of the added value of functionality comes from their composition. For example, a contact book on one device should be able to be linked with a navigation service on another device. 1 Manual implementation and verification will do the job for cross use cases with services that are known at development time of the HMI. In order to facilitate interoperation of new dynamic services, however, we have extended the HMI generation mechanism, which is defined in [Hi07] and summarized in the following section. The extension for interoperability is the topic of Section 3 of this paper.