Java-based Functionality and Data Management in the Automobile. Prototyping at BMW Car IT GmbH. by Alexandre Saad, BMW Car IT GmbH, Munich/Germany The amount of electronic and software elements in vehicles is steadily increasing, making software an essential innovative force in the automotive industry. As more and more classic functions of a vehicle are implemented in software, a growing number of new functions that would be unthinkable without this technology is being added. New approaches are necessary in order to prevent a disproportionate increase in the complexity of the total system known as a "vehicle. The following article contains some of the issues taken into consideration at BMW Car IT GmbH. Relevance of Software in Vehicles Software in a vehicle is not visionary. It is already well represented in the newest generation of premium vehicles. In the current BMW 7-series (Diagram 1), software of more than 60 MB is installed on up to 70 dedicated small-scale computers (known as control devices). Typically software is developed for specific control devices and delivered with them. Software and its engineering methods are being used to accommodate the increased networking of the growing number of vehicular functions and to manage the resulting complexity of the total system. The problem is intensified by enormous IT variations, configurations and versions in the vehicle. Diagram 1: Electronics and software in new BMW 7-series Diagram 2 shows the potential of software concepts and technologies in mastering integrated vehicular functions in relation to investments in research and development. The software s scope and added value will continue to increase significantly since almost all vehicular functions can benefit from a software-based approach to design. Software-based infrastructure concepts and vehicular functions will decisively influence innovations in vehicles. The software will show its potential particularly in its interplay with electronics and mechanics. One of the greatest challenges for future generations of vehicles is the controllability of increasingly complex software. A possible solution is in a component-oriented development of certain vehicular functions and their 1
framework-based integration in a central computer in the vehicle. The centralization and abstraction of data management can contribute to a reduction in total complexity and can make possible new services for intelligent interpretation of vehicle-related data. Diagram 2: Potential of software technologies Requirements for Software in Vehicles Software-based functionality in vehicles is subject to various requirements related to safety, real-time capability and start-up behavior. Diagram 3 is a sketch of the classification for miscellaneous vehicle functions, which are distinguished according to necessary safety and real-time requirements. The "Automotive Control Area includes primary monitoring and control functions for the ride and safety, such as X-by-Wire or airbags. Automotive Control Area The "Automotive Client Area contains functions that generate no specific added value through their use in a vehicle, such as TV, stock exchange news or games. Automotive Client Area In between them is the vehicular functions that either have very high safety requirements (e.g., Software Transfer Functions) or very high real-time requirements (e.g., many Human-Vehicle Interaction (HVI) functions) or are subject to the requirements of supporting functions (e.g., functions for integrated data management). It is precisely in these areas that synergies between the automobile and software industries are expected in the short term, as in the Vehicle Expert Group (Open Services Gateway initiative or OSGi) [1] or the Java Micro Edition for Embedded Software Profile (J2ME) [2]. The functional areas in which BMW Car IT GmbH is working are shown in the requirements schema in Diagram 3: "Software Transfer" addresses questions concerning the "opening up of the vehicle for the software updates and upgrades needed to guarantee a secure and valid software changeover. Software Transfer 2
"Human Vehicle Interaction" involves, among other things, the concept of developing more flexible and adaptable user interfaces to allow for the seamless integration and operation of new or improved vehicular functions. "Integrated Data Management" relates to the methods and mechanisms for the administration and interpretation of usage and administrative data in vehicles that give new functions clear and simple access to corresponding data. Human Vehicle Interaction Integrated Data Management The maintenance and care of software-intense systems are particularly well-supported by a component-oriented architecture. For the software system "vehicle", this means breaking down software-based vehicular functions into components in order to keep the effects of variations and changes manageable and maintained locally. Moreover, the component framework is meant to serve as a mechanism for simple deployment and to provide a secure run-time environment. Java-based Functions and Frameworks in Vehicles The origins of software in vehicles are found in the implementation of regulating and monitoring algorithms in control devices from traction controls and fan management to air conditioners. These mono-functional control devices, which are connected to a restricted, real-time-capable bus system (Controller Area Network or CAN [5]) with low bandwidth (up to 500 KBit), typically use a static operating system (OSEK [3,4]). More efficient control devices with operating systems featuring dynamic resource allocation are used for infotainment or driver information systems with graphic or multimedia-relevant portions. These control devices are connected via a bus system (Media Orientated System Transport or MOST [6]) with considerably more bandwidth (up to 22 MBit). Vehicular functions are modeled on control devices during development and often implemented in C/C++. The communication between control devices takes place via defined input and output signals that can be depicted on signal carriers (e.g., CAN bus telegrams). Diagram 3: Requirements for software-based vehicular functions One objective of BMW Car IT GmbH is to expand this hardware-oriented component approach with a softwareoriented component design. This way of handling the prototypical development of vehicle functions can be realized on the basis of the OSGi-framework, which fulfills the requirements described. OSGi [7] is a 3
framework specification for Java-based middleware for heterogeneous networks (e.g., CAN and MOST) to administer services and applications centrally and dynamically. An OSGi-based system is a component-oriented software system on a central computer. OSGi bundles are Java components that can also include network-specific drivers (e.g., for access by MOST or CAN). Diagram 4 shows a central computer with connections to the network infrastructure in a vehicle (e.g., MOST, CAN). The OSGi framework with dynamically loadable OSGi bundles runs on an Embedded Java Virtual Machine. This allows bundles to be loaded for Java-based CAN or MOST access or for Java-based database software and other vehicular applications. Access to vehicular functions and data in the decentralized control devices remains possible. Diagram 4: OSGI Framework on a central computing platform with system bus connection Requirements for Data Management in Vehicles Today s vehicles contain a number of intelligent control devices which work independently for the most part and function with local, partly redundant storage. Interaction with other units takes place directly, that is, both sides exchange information via a common protocol over a system bus (e.g., CAN, MOST). In keeping with the trend toward more integrated functionality, the number of such connections will increase significantly in the future, leading to a complex network of mutual dependencies. It s absolutely essential to master this complexity in order to provide additional general vehicular functions. BMW Car IT GmbH is therefore attempting to determine which architecture is suitable for the implementation of general functionality. The creation of integrated data management represents one of the essential approaches to the mastery of these dependencies and forms the basis for implementing multiple functions in vehicles. The complex interaction between the different control devices could be replaced by simple dependencies between a central data storage facility and the applications. Integrated Data Management 4
Using a decentralized approach, various data are generated, communicated, stored and processed in their respective control devices in the vehicle. However, only a portion of all the data generated in the vehicle needs to be persistently stored in central data management. This data does not include the real-time operating data that fulfill the essential safety functions such as ABS or airbag release, which are by nature transient. This data is stored directly in the control devices. Archiving selected data only makes sense for diagnostic and documentation purposes for which no real-time requirements exist. Consequently, the data that comes into consideration for central data management is from the areas of personalization, maintenance, diagnostics and version and configuration data for the IT infrastructure. Diagram 5: Categorization and Classification of Data in Vehicles The persistent data to be administered is primarily the complex structured object types with relatively few instances. Relational interfaces are designed for a large number of instances of simple structured object types. Therefore, an object-oriented data management approach appears appropriate for data in vehicles because it allows efficient and simple integration with the application. Java Data Objects (JDO) [8] is a standardized interface for Java-based applications that guarantees transparent access to persistent Java objects. The persistence layer should be addressed by JDO. Unlike JDBC, JDO doesn't presuppose any relational storage model so that one has more freedom in the choice of the persistence layer. In addition, the application can be kept free from the data model for the persistence layer, which allows better modeling overall. Furthermore, database software must guarantee the compatibility to already stored objects after an update. Additional desirable qualities are low resource consumption, simple deployment and zero administration of the database software. Prototyping for Object-Oriented Data Management in Vehicles With the previously mentioned considerations in mind, BMW Car IT GmbH is currently developing a prototype that will provide practical experience in the central administration of IT infrastructure, diagnostic and personalization data. A hardware platform with an embedded LINUX operating system and a Transmeta processor is used in the development of the prototype. MOST and CAN software drivers are available. Because this involves a platform with 5
limited resources, the use of an Embedded Java Virtual Machine was necessary. The j9 [9] from IBM was chosen. This JVM is available for various operating systems and processors. Furthermore IBM offers profiles for j9 in addition to the J2ME defined profiles. The storage administration of this VM is designed for the efficient management of resources. IBM s SMF (Service Management Framework) [9] as an OSGi framework is used. Alternatives such as the OSGi framework from ProSyrt are worth consideration. In order to use the database software as OSGi bundles, an implementation in pure Java was required that could satisfy the utilized J2ME profile. In addition, implementation of the JDO standard was needed to support an object-oriented model. The choice fell to the database software "FastObjects j2 from Poet Software [10]. JDO Database: FastObjects j2 In compliance with JDO, FastObjects j2 supports efficient development in the following way: classes whose objects are to be stored have only to be processed after conversion with the JDO-conformal enhancer "ptj". The objects can then be stored in any FastObjects j2 database with no trouble at all. This is possible because as a pure object-oriented database, FastObjects j2 uses the Java class model directly from the data model, completely eliminating the need for any additional mapping between the class model of the application and the data model of the persistence layer. The FastObjects j2 database software operates with zero maintenance. In the target environment, FastObjects j2 requires 450 KB ROM. To generate an OSGi bundle, the FastObjects j2 jar-file simply has to be copied onto the target system and entered into the CLASSPATH. The FastObjects j2 concept of "versioning on the fly" offers efficient support for the migration of applications. The database converts objects automatically to newer versions so that explicit conversion processes are unnecessary for the most part. This approach fulfills the essential prerequisites for the prototypical use of data storage software in vehicles. Preliminary Summary and Outlook A central challenge in the development of software for the automobile is the "opening up of the vehicle for software updates and upgrades throughout the car s product life cycle. Java in combination with OSGi offers a series of mechanisms to allow development of a component-oriented and flexible software system as prototype in the vehicle. Numerous functions in the vehicle with low requirements for real-time capability can be realized on this basis. In addition to the simple handling of functional changes through component orientation, the centralization of data management offers great potential in the increase of efficiency and mastery of the complexity found in the vehicle. This applies especially to persistent data used in the areas of personalization, diagnostics and IT infrastructure. Persistent data in vehicles that are based on complex object types with relatively few instances suggest an object-oriented data management 6
approach. The use of FastObjects j2 as database software in Pure Java permits simple handling of OSGi components and implements the JDO standard. Current and future vehicular functions can utilize this persistence service and thereby make use of the data transparently and easily for different interpretations of the data. At BMW Car IT GmbH, the prototyping for central data storage within the framework of a Java-based component framework was greatly simplified by the properties of the FastObjects j2 database software and with support from Poet Software. Time will tell if Java-based central data management in the form described here will find its way into mass production. About BMW Car IT GmbH BMW Car IT GmbH was founded as a wholly-owned subsidiary of BWM Group at the end of 2001. Dr. Weinmann was appointed managing director. The goal of the company is to strengthen competencies in the area of software development of vehicle-related systems [11]. The work focuses on the development of an on-board software infrastructure and associated developmental methods with prototypical implementation in three areas: The Author: BMW Car IT GmbH employee Dr. Alexandre Saad is responsible for the area of Integrated Data Management. Software Transfer Human Vehicle Interaction Integrated Data Management The relevance in these areas becomes clear when one analyzes the consequences of a paradigm change to its own software domain. In the future, vehicles will be able to reload improved vehicular functions. In this way a secure and controlled opening has to be guaranteed. The area of Software Transfer addresses the problem of authorization and authentication for access to the on-board software system as well as the protection of system integrity as a result of changes through software upgrades and updates or hardware. If a new or improved vehicular function is concerned with a function that has an interface to the customer and not with a service or system function, the MMI may also need to be adapted. The area of Human Vehicle Interaction examines concepts for flexible representation of vehicular functions and handling the depths of information. The subject of Integrated Data Management relates to the development of a central information point for the provision of administration and operating data in the vehicle as well as mechanisms for their interpretation. Future vehicular functions won t need details about control devices or communication protocols in order to request or prepare required data for further processing. 7
References [1] OSGi Vehicle Expert Group, http://www.osgi.org/about/charter_veg.asp; 11.2.2003 [2] J2ME (Java2 Micro Edition), http://java.sun.com/j2me; 11.2.2003 [3] OSEK, http://www.osek-vdx.org; 11.2.2003 [4] J. Schoof "OSEK/VDX 2002: Bestandsaufnahme und Perspektiven" in: C. Grote, R. Ester (Hrsg.), Embedded Intelligence 2002, Band I, Weka Verlag 2002, S. 275-282 [5] CAN (Control Area Network), http://www.can.bosch.com; 11.2.2003 [6] MOST (Media Orientated System Transport), http://www.mostnet.de/index.php; 11.2.2003 [7] OSGI (Open Service Gateway Initiative) Consortium, http://www.osgi.org; 11.2.2003 [8] JDO (Java Data Objects), http://java.sun.com/products/jdo, http://www.jdocentral.com; 11.2.2003 [9] j9 und SMF (Service Management Framework) sind Bestandteil des WebSphere Studio Device Developer, http://www-3.ibm.com/software/pervasive/products/wsdd; 11.2.2003 [10] FastObjects j2, http://www.fastobjects.com; 11.2.2003 [11] Alexandre Saad "Software im Automobil - Ausgangslage, Zielsetzung und Aufgabe der BMW Car IT, Automotive Electronics, 1/2003 8