Java embeds itself in the control market

Interest grows In Java for embedded systems of all kinds

Although most of the focus on Java to date relates to the Web and the desktop, Java is attracting a lot of attention in the embedded systems market as well.

As in other markets, Java is still being hurt by its lack of maturity and well-developed software tools. Still, Java is being deployed, developed, or seriously considered in applications as diverse as cellular telephones, factory control systems, and the Hubble Space Telescope.

"Trends indicate Java will become big in the embedded market," says Carol Feigenbaum, director of product marketing at Microtec Inc., a division of Mentor Graphics based in San Jose, CA, that makes a real-time operating system and tools for embedded systems. "How Java is applied to embedded applications is another matter. There's a lot of debate and some confusion on that."

Part of the problem for Java in embedded systems is simply Java's immaturity. It takes time for a product like Java to grow from a specification to a full set of software development tools and into deployed applications. Part of the problem is the confusion engendered by the Java Wars between Sun and Microsoft. And part of it is a series of concerns that are particular to the embedded systems market, notably determinacy and size. In spite of it all, Java is attracting a lot of adherents in embedded systems, and there seems to be little doubt that Java will become a central part of the embedded market.

The nature of the embedded systems market

Embedded systems provide much of the intelligence in today's "smart" devices. Microwave ovens use them, telephones use them, even toaster ovens (increasingly) use them. And factories, transportation systems, and most of the rest of the infrastructure of modern life use them in massive numbers.

Embedded systems rely on microprocessors and microcontrollers -- a computer on a chip that combines a microprocessor with some ROM, RAM, I/O channels, and perhaps some other specialized devices. Although there still is a significant market for 4-bit microcontrollers, increasingly the business is moving to 8-, 16-, and 32-bit controllers. In higher-end jobs, such as controlling a laser printer or running the sensors and controllers on a machine tool, embedded systems often rely on full-blown RISC processors. Intel's i960 series has been a big hit in the embedded systems market, and Sun has versions of its SPARC processors that are widely used as well.

Estimating the size of the market for Java tools is difficult. While nearly everyone agrees that Java is growing explosively in the embedded systems market, numbers are hard to come by. That's not surprising, considering that estimates of the entire embedded software tools market vary enormously. International Data Corp. (IDC), a research firm based in Framingham, MA, estimates the tool market at just under 00 million in 1995 and expects it to grow to .6 billion by 2000. Wessels, Arnold & Henderson, a research company in Minneapolis, says the market was .5 billion in 1996 and will grow to .2 billion by 2001. Part of the difference in the estimates is in what the different analysts are counting as embedded systems software. Even more comes from uncertainty about a market that is fragmented and often hard to define. There is, however, general agreement that Java's portion of the embedded systems market today is miniscule and that it will become significant over the next several years.

One of the things feeding this growth is the increasing use of 32- and 64-bit processors in embedded systems. IDC estimates there will be 250 million of them in use in embedded applications by 2000. By other estimates, 32- and 64-bit processors will be the fastest-growing segment of the embedded processor market. Of course, these are the processors that are best-suited to running Java and that can benefit most from Java.

According to a recent survey by Electronic Engineering Times magazine, nearly half again as many companies reported using 32-bit processors in their designs as reported using them in last year's survey. The same survey reported an increasing interest in advanced languages, such as Java, which is now more popular for embedded applications than any language except assembly, C, and C++. Note, though, that Java proponents may make too much of this. Assembly language still leads by far, with roughly two-thirds of the survey respondents using it. C and C++ has less than half as much use as assembly, and Java has less use yet. On the other hand, most survey respondents are working with smaller, 8- and 16-bit microprocessors (which don't support advanced languages well), and Java is ahead of a number of traditional embedded systems languages such as Forth.

Networking: A LAN in your auto?

The other big trend in embedded systems is networking. Although many devices are still standalone, more and more of them can communicate with other systems. If it seems odd to think of a local area network in your car, keep in mind that there are already an average of 16 microcontrollers/microprocessors in the average new car, and Motorola, which is a major player in the market, predicts that by 2000 there will be 35 microcontrollers/microprocessors per new car. Some of them, such as the ones controlling the engine and the transmission, need to communicate very closely. As a result, automakers are hard at work on automotive LANs.

The trend toward networking is especially pronounced in areas like automation, where connecting "islands of automation" (as they are known in the business) has been the biggest goal of the last decade.

Factories have tended to automate piecemeal, concentrating on the parts of the production process where automation would produce the biggest or quickest returns. Now companies have to tie together these previously automated parts and integrate them into factory-wide automation systems. Since the pieces were installed at different times -- often using equipment from different vendors -- this is a challenge.

One important benefit of networked embedded systems is the ability to download upgrades or fixes across the 'Net to the individual systems. Traditionally, the software has been burned into ROM, meaning that a software upgrade required replacing the chip. Today products such as modems from US Robotics and others use rewritable memory technologies such as flash memory and accept upgrades over phone lines.

The importance of embedded software

Which brings us to embedded software -- and Java. The software component of the typical product has grown sharply in the last several years. Today it can easily be the dominant part of a product in terms of development time and expense -- even more dominant in embedded systems than in the desktop. Not only is every embedded system a new application, but reusability has been limited, and often the target hardware isn't available until late in the design cycle.

But even more than in desktop applications, embedded software is composed of relatively few types of constructs. The basic jobs involved in an embedded system aren't that numerous, and that makes embedded systems ideal candidates for object-oriented languages.

Embedded software also has to perform correctly. Anything from the proper shade of brown on your morning toast to the lives of a planeload of passengers may be riding on the software. By their nature, rigidly object-oriented languages like Java are easier to test than non-object languages like assembly, or C++, which supports object-oriented methodology but also permits programmers to write code that is not actually object-oriented.

The idea of a distributed, object-oriented language for embedded applications makes a lot of sense. Indeed, many companies are rushing to deliver products using Java or tools that can be used to write such products.

Java and real-time operating systems

For example, several of the makers of real-time operating systems (RTOSs), like Wind River Systems, Microware, Integrated Solutions Inc., and Microtec, are adding Java capability to their systems. Because of the limitations of Java (see below) these RTOSs aren't being rewritten in Java, but JVMs are being grafted onto them so they can run applets. Microware's effort includes adding Spyglass' Web Technology Kit (WTK) to its OS-9 operating system for embedded applications. The result is an embedded operating system with a JVM and a very compact Web browser that can act as a server as well as a client.

Other embedded and control tools for Java have been announced or are appearing. ObjectAutomation Inc., a Santa Ana, CA, maker of industrial control software, has announced a real-time Java-based control engine for Microsoft Windows NT and Windows CE. The product will use VenturCom's RTX 4.1 RTOS and the PERC virtual machine from NewMonics Inc. of Ames, IA. (See the discussion of real-time Java below.) Several companies specializing in embedded software development, including Software Research Inc. and Wind River Systems (maker of the Tornado development system), have added Java support to their debuggers.

Applications also are starting to appear -- both those written entirely in Java, such as Forge Software Corp.'s Java Manufacturing Interface, a Java-based front end for interfacing with legacy and client/server manufacturing applications, and HMS Software Inc.'s Shop Floor Control and Data Collection, which tracks assemblies and components on the shop floor. Other companies are adding Java capability to their products. For example, SoftPLC, a Houston company that makes PC-based replacements for process controllers, has added to its software the ability to create additional instructions with Java.

Applications: How Java fits in

In general, Java is more likely to be found in higher-end embedded systems, handling things like user interfaces and communications over a network. This high-end focus exists primarily because the user interfaces, communications over networks, and the like are where the development momentum is in the much larger desktop market. For example, nearly all modern browsers can handle Java code, making it easy to Internet-enable a system with Java. Java also fits best in higher-level embedded systems because Java's disadvantages for embedded systems, such as its resource demands and its lack of built-in real-time capability are less important at these higher levels.

One of the advantages of Java is that it is not an all-or-nothing proposition. If you want to start reaping the benefits of Java in your embedded system, you don't have to rewrite all your software in Java. You can add a JVM to your product and use Java for jobs like communicating.

In fact, if you intend to use the Internet or an intranet as your network, Java is probably the leading contender for an embedded language, just as it is on Web-based applications in general. This has resulted in an explosion of embedded Java applications in highly visible projects such as the Hubble Space Telescope. NASA used Java to write part of the user interface for the Control Center System so that users anywhere in the world could obtain telemetry and engineering data from Hubble over the Internet. Sun collaborated with NASA on the Web Interface for Telescience (WITS), which is used to let Web surfers run simulated Mars Rover missions by downloading an applet. On the next mission in 2001, WITS will actually be used to run the Rover.

The Java strategy is especially attractive in the industrial controls and automation market. One of the outstanding characteristics of the controls market in the 1990s is how much it resembles the computer market of the 1970s. There is a strong reliance on proprietary solutions built on proprietary architectures.

"Almost any general-purpose programming language and architecture looks like an improvement to the customers [compared to] the very vendor-centric stuff you have today," says Scott Lundstrom, director of research, enabling technologies for Advanced Manufacturing Research, a Boston, MA, firm specializing in manufacturing and automation. "There's a move to open systems because it means improved competitive features and price-performance in an open market."

"The challenge is that the vendors of proprietary systems feel they have achieved some level of customer-locking, and they are very hesitant to move to the more competitive marketplace of open solutions," says Lundstrom.

Java flavor du jour

One of Java's other advantages is that it lends itself well to dialects for special applications. Sun has been playing to the embedded market, among others, by developing dialects for applications such as smart cards.

Smart cards, containing a microcontroller and a small amount of memory, promise to be one of the major growth industries of the early 21st century. According to Siemens Semiconductors, part of German electronics giant Siemens AG and a leading maker of smart card products, the market will grow from about 3 million this year to nearly billion by 2001, and continue to grow strongly after 2001.

1 2 3 Page 1
Page 1 of 3