J2ME GPS: Network on Wheels -- Java Developers, Start Your Programming Engines!

When someone mentions the hottest new mobile, Internet-enabled, multimedia computational system, what comes to mind is the latest handheld, cell phone, or PDA device. But in the not-too-distant future, you might also think of . . . your car.

Siemens VDO Automotive, in conjunction with BMW, has enabled the BMW 7, 6, and 5 series of cars with its Top Level Architecture (TLA), a Java technology-based software platform that provides for the seamless addition and integration of location-based services, web services, and multimedia functionality throughout the vehicle's entire life cycle. And as a result, TLA offers Java platform developers an unexpected but explosive new niche for developing mobile, networked device applications for the car.

"Horseless Carriage," Indeed!

Since the 1950s, the automotive industry has seen an almost ceaseless demand for new features and amenities in vehicles. For decades, however, in-dash features amounted to little more than music systems -- radio, eight-track, cassette, CD, and so on. The only navigational aid was a fold-up map (or perhaps a spiral-bound Thomas Guide for those who really wanted to splurge). And as for entertainment, license-plate bingo was the hottest game playing to be had. But with the advent of personal computer technology, the number of in-dash amenities has grown exponentially.

The turn of the century brought about such Jetsons-like automotive features as GPS-based navigational systems that could talk you through even the most difficult and convoluted journey -- "Go two blocks west, pass under the bridge, and then turn right." But the problem with such systems was that they came hard-wired into the vehicle, with little or no facility to upgrade or enhance their functionality. The automobile's life cycle of 10 years or so soon came head-to-head with the one- or two-year life cycle typically found in the technology world -- and with no solution in sight.

The more features manufacturers added, the greater this problem of rapid technological obsolescence became. Today's automobiles offer traditional radio, satellite radio, CD players, DVD players, driver-personalized climate control and seat settings, GPS-based navigational systems, web and email access, and location-based services -- to name but a few.

And what was to be done when a new technology, such as Bluetooth or MP3, came into the tech arena? There seemed to be no way to make automobiles future-proof, capable of being upgraded and enhanced in the same way as desktop PCs. Until now.

Siemens VDO Automotive, BMW, and Top Level Architecture

To address the ever-expanding world of in-vehicle features, BMW debuted the iDrive facility on its 7 series cars at the Frankfurt Auto Show in 2001. With iDrive, control of the entire set of in-vehicle features (from entertainment to climate control) was collapsed down into a single LCD screen and dashboard knob.

Around this time, Siemens VDO began designing its Top Level Architecture (TLA), based on Java technology. "The goal was to have a software platform that was upgradable and could be used across different car lines and different car manufacturers," says Hans-Gerd Krekels, head of product and innovation management at Siemens VDO Automotive.

TLA is an open and modular software platform, developed to provide seamless upgrades and additions to in-vehicle functionality at any time during the vehicle's life cycle. TLA defines the interfaces, APIs, network architecture, and functional modules necessary to integrate new features and functions into the automobile.

And because TLA incorporates the "Write Once, Run Anywhere" power of Java technology, it offers the benefits of security, reliability, scalability, interoperability, and platform neutrality. Software and hardware components can be reused across different car lines (and car manufacturers), enabling developers to do what they do best -- develop new value-added features and services -- rather than reinvent the wheel to accommodate ever-changing hardware and software specifications. "Different car manufacturers make different choices in terms of the underlying hardware and technology," says Krekels, "but we wanted to be able to reuse the middleware platform across any and all of them."

Under the Hood

The term automobile infotainment implies both information and entertainment. The broader term of automobile telematics -- implying information, entertainment, and services -- requires a car, computing capability, wireless communication, and GPS functionality. Together, these technologies allow for almost limitless possibilities of functionality and services in the vehicle. And TLA acts as the perfect broker for this new era of the automobile.

Figure 1: TLA in Action

A central computer serves as the system's mastermind, providing both computation and connectivity. Siemens VDO's TLA-based in-vehicle computer is controlled by Wind River's VxWorks real-time operating system (RTOS). VxWorks includes hardware-independent APIs, device drivers for Bluetooth, Control Area Network (CAN), Media-Oriented System Transport (MOST), ITS Data Bus (IDB), and others. Adding new devices to the system is simply a matter of writing drivers to the open API. VxWorks provides support for a wide array of network protocols, as well as fully pre-emptive threading and resource control.

TLA also uses Wind River's Personal JWork embedded Java solution, which ports Sun's PersonalJava technology to Wind River's VxWorks RTOS. JWorks implements Sun's PersonalJava 3.1 reference implementation and offers certified full compatibility with the PersonalJava specification version 1.2.

An additional aspect of the TLA architecture is a framework that complies with the Open Services Gateway Initiative (OSGi). The OSGi Alliance is an independent, nonprofit consortium working to define and promote open specifications for the delivery of services over wide area networks to local networks and devices. The OSGi specification that TLA uses defines a Java technology-based software framework that enables multiple services to be loaded and run on a services gateway (such as a car infotainment system).

Siemens VDO has also integrated Wind River's BlueThunder software into its OSGi-based software foundation. BlueThunder provides Bluetooth protocols and profile support, as well as host controllers for popular Bluetooth modules. With BlueThunder, TLA is handily positioned for the future, with the capability to incorporate new and cutting-edge Bluetooth-based applications.

"The object-oriented nature of Java technology, with its dynamic loading of new objects, gave us a good way of addressing the growing complexities of web-based and location-based services in today's automobile," says Krekels. "In our system, the different pieces of software are like Lego blocks that can intercommunicate and be built on top of one another. So a web-based service may get the position of the vehicle from the GPS antenna. But then a new application can access this same location service to get the information it needs. Meanwhile, we're able to add and remove blocks as we go from low end to high end, across a given car production line."

TLA Architecture

TLA's architecture was designed with the goal of offering an open operating environment through the use of industry standards and third-party integration. This provides for the seamless reuse and interoperability of software and hardware components.

The basic structure of TLA entails the following:

  • Level 1: Foundation and software services
  • Level 2: Software level (Java classes)
  • Level 3: Operating system and native drivers
  • Level 4: Hardware

Figure 2: Basic Structure of TLA

The first block in Figure 2 pertains to the TLA architecture's foundation and software services layer. The second block pertains to the software-level layer. And the third and fourth blocks pertain to the operating system and native drivers layer. The fifth block pertains to the hardware layer.

Foundation and Software Services Level

The foundation and software services level is a collection of Java technology-based components that provide the user interface and an OSGi-compliant service framework.

Figure 3: Foundation and Software Services Level

The primary goal of the Base Reusable Automotive Services Integration Layer (BRASIL) service framework is to provide developers with a programming environment that does the following:

  • Supports dynamic loading or updating without stopping the environment
  • Is usable in limited-memory devices
  • Offers a consistent programming model for service developers
  • Manages dependencies between services

The services developed by BRASIL/RIO are direct or extended OSGi implementations.

Multimedia EXtensible Interface COmponents (MEXICO) supply the graphic and audio components needed to build customizable user interfaces. Multimedia is handled by Java-based Advanced Multimedia Architecture In Car Applications (JAMAICA). Software Application LineS for Automotive (SALSA) provides generic applications such as email, telephone, MP3 player, DVD reader, and more.

Figure 4: MEXICO and BRASIL in Detail

Figure 5: TLA and the Automobile -- A High-Level View

Costs vs. Benefits

Siemens VDO representatives predict that the TLA architecture will ultimately reduce automotive software expenses, greatly increase software innovation and quality, and provide for far greater customer satisfaction. The same level of innovation and exploding functionality that we now see in the world of wireless handheld devices will soon find its way into the automotive world. In reality, the application possibilities are arguably even greater in the automotive realm, because an in-vehicle system serves multiple users and is less constrained by processing power and display size.

In addition to providing such facilities as navigation, email, web access, messaging, phone, and location-based services, an LCD-driven car display offers countless possibilities in terms of key automotive displays -- speedometer, tachometer, oil gauge, odometer, and so on. Each driver can personalize and customize such information, with either digital or simulated analog (round-dial) displays.

Using TLA, third-party custom applications can seamlessly adopt the look and feel of existing factory applications. And because TLA's Java technology-based architecture is scalable, it easily adapts to the varying features and constraints of a manufacturer's entire line of cars -- from high end to low end. Meanwhile, because TLA applications are inherently modular, they can seamlessly exchange information. If the driver uses a location-based service to find a restaurant's address, for example, the navigation system can access that data to provide driving directions.

Market Growth

Market and developer opportunities in the realm of automotive telematics are virtually limitless. In 2002, only one in 10 new vehicles in Germany was equipped with a navigational system. But by 2006, this figure is projected to reach over three million cars in Western Europe alone.

Today's cars are true computational systems, with all of the challenges and opportunities of such systems. A navigational system requires some 200 million separate computational steps to calculate a route from Paris to Berlin.

The Future

The initial implementation of BMW's iDrive facility featured a physical knob controller, but the current implementation uses a touch screen. "For us, iDrive is just an input device," says Krekels. "TLA is an architecture that can accept any input device -- whether physical or touch screen. How you interact with a car may vary from manufacturer to manufacturer, but the business logic behind it can be exactly the same."

And although the current implementation of TLA is built on PersonalJava technology, Siemens VDO is in the process of porting the facility to the Java Platform, Micro Edition (Java ME, formerly known as J2ME).

"We chose PersonalJava four year ago, when TLA was first begun," says Krekels. "We're going to be using the Connected Device Configuration [CDC] of J2ME. We can't use the MIDP profile, which is an element of the more constrained Connected Limited Device Configuration [CLDC]. The class loading is much more limited with the CLDC. For security reasons, on cell phones, they don't want MIDlets to collaborate. But we have to have our services be able to collaborate."

Bluetooth technology is rapidly spreading in the desktop and cell phone world, and this is likely to occur in the automotive world as well. The TLA architecture is ready and waiting for Bluetooth services and applications. In the future, you may be able to park near a Bluetooth-enabled ATM, access your account information directly on the dashboard, and then load money onto an in-dash smart card. Or perhaps you'll be able to transmit vacation pictures from your Bluetooth-enabled cell phone into the car's system. Then, you might stream music from your Bluetooth-enabled MP3 player and treat the family to an impromptu slide show on the dashboard.

Seeking Partners

Siemens VDO is currently partnering with a variety of third-party developers and automobile manufacturers. And the company is actively seeking new development partners in the growing field of automotive telematics. "After the growth of the mobile phone," says Krekels, "the car can become the new mobile device -- where you can install everything from games to location-based services. And that's why we're looking for partners -- to add their value in terms of content and creativity, and to establish businesses based upon this new mobile device."

Siemens provides a software development kit (SDK) for the TLA architecture that includes a runtime environment for the PC, an integrated development environment (IDE), APIs, documentation, tutorials, and a user guide. With the TLA SDK, Java technology developers can easily get their feet wet in the world of automotive telematics.

"It's really just normal Java development," emphasizes Krekels. "We have to be concerned about memory and CPU consumption, but those are issues on many small devices. For anyone interested in developing new applications for the car, and making a business out of it, our SDK is integrated into Eclipse and provides all of the necessary libraries and tools. We can even provide the hardware targets for such applications!"

http://java.sun.com/developer/technicalArticles/J2ME/TLA.html

你可能感兴趣的:(programming)