WALTHAM, Mass. NetSilicon Inc. next week will announce the first of what it believes will be an emerging breed of “Net-centric operating environments” that could replace traditional, hardware-specific, platform-oriented operating systems. The move reflects the still-evolving nature of control-oriented embedded hardware and software as Internet-centric connectivity forces them into new forms.
Specifically, the company will introduce the latest version NET+OS 5.0 of the software elements needed to support its application-specific hardware platforms. Sporting improved versions of various features and new tools, the upgrade offers customers their choice of an open-source GNU tool suite from Microcross or the upgraded Multi 2000 Integrated Development Environment (IDE) version 3.5 from Green Hills Software.
The release includes Express Logic's ThreadX royalty-free real-time operating system (RTOS) and all the networking protocols, drivers and utilities TCP/IP, UDP, FTP, SMTP and others needed to develop an Ethernet/Internet-managed device. Other NET+OS 5.0 features include Raven support, Simple Network Management Protocol versions 1 and 2, and an SNMP Management Information Base (MIB) compiler and source-code generator.
In terms of basic functions, there is no one thing in the package that is unique. RTOS vendors such as Accelerated Systems, Green Hills Software, Wind River Systems and LynuxWorks provide a wealth of similar accessories and add-ons to simplify device configuration in a changing environment. And a number of middleware software companies Emware Inc. in the embedded-control market and Axeda Systems and others in the wireless information appliance and Web-enabled cellphone markets provide some management services. Moreover, virtually every embedded designer can get his hands on an SNMP stack or an embedded Web servelet to provide management capabilities, as well as a complete suite of GNU tools.
As with most implementations generally, earlier versions of the NetSilicon software package were simply collections of the various software tools needed to adapt its 32-bit CPU based hardware platform to the specifics of a design and its particular connectivity constraints. Where the new offering raises the bar is in providing developers the means to adapt software developed for NetSilicon hardware to any changes in the external networking environment, quickly and globally. Thus the whole becomes more than the sum of its parts.
The mechanism by which that is achieved is a so-called integrated systems architecture (ISA) an overriding framework that allows the programmer to modify, upgrade or replace variables involved in a variety of communications protocols, no matter where they are used.
“As we talked to developers in a broad range of embedded applications industrial control, home networking, machine control, building automation, automotive and a number of small-footprint personal-computing iAppliances we found that most of the problems were not with the internals of the application,” said William Peisel, chief technology officer at NetSilicon. “Rather, they were with the external protocols, the variations between applications and the changes in the protocols themselves over time, in this still-evolving environment.”
While the underlying nature of the embedded-control application may not change much, he said, the networked environment does, depending on where the device is used and on what month it is. “Quite literally, the new computing environment we are in is still in its early days of development,” Peisel said, “and sometimes standards and protocols or the specifics of the design with relation to connectivity change from one month to the next.”
As a result, in many Internet-centric connected embedded designs, much of the drudge work is now no longer in fixing the code or looking for bugs but in going through a design and replacing all of the variables.
And it isn't getting any simpler, Peisel said. “The Web and Internet environment is only getting more complex, with a greater variety of protocols and services that can be used in an application, more so as we shift into a distributed services environment.”
To Peisel and his team of developers, it became clear that the market needed a mechanism that would allow programmers to define variables and the terms for them in such a way that any application program would be able to understand them. “In other words, software engineers can clearly benefit from a common code structure so that if a programmer makes a change to a variable in one protocol, similar changes are made automatically to all other protocols that communicate data related to that variable,” he said. “The market or more particularly, the poor programmer needs a technology that 'ties' protocols together from a code structure, access and programming perspective.”
Central to the operation of the company's ISA-based Net-centric operating environment is the use of a “global store” model, or an embedded database of management variables: system variables that reflect configuration values, and values that reflect the state of the device.
“Suppose a device is designed to be accessed and managed using SNMP, Telnet and HTTP,” said Peisel. “An engineer would define an SNMP MIB that defines how you control the device and how you get status from it.” (In SNMP terminology, a MIB is a database of objects that can be monitored by a network management system.) An engineer would use the tools that come with the ISA such as the SNMP MIB compiler and code generator to convert the MIB into a set of management variables.
Once the MIB has been converted, a developer can access the management variables through an SNMP MIB browser. Since the MIB objects are now in the global store, programmers can use them in Web pages, too, allowing someone to deploy another device management interface. Additionally, an engineer can create Telnet menus that access the variables from yet another device management interface.
A second benefit of the global store approach, he said, is that the programmer is not tied to any one language or protocol. “For example, suppose at some point in the future the developer wants to use a Java Virtual Machine in his embedded application,” said Peisel. “While JVM is not widely deployed in embedded networking projects today, conventional industry wisdom suggests that it, or something very much like it, will be deployed in the near to midterm.”
By providing methods for the JVM to use the ISA application programming interfaces, the Java program could be written to access and control all the variables that were previously controlled by C programs. With the global store approach at the heart of the ISA, the same approach can be used for whatever programming language or protocols emerge in the future. “Think what an enormous benefit this would be to a developer who is now stuck with doing such development either in a Java/XML Web services environment from IBM, Sun or BEA or in a Java-less, XML/C-sharp based .Net environment,” he said.
Finally, because the global store model, in effect, decouples input sources and tools/methods from the data structure, the addition of new sources and tools is simplified enormously, he said. “To add a new source or tool, the programmer need only interface it to the ISA API. Therefore, the programmer can compile in only those sources or tools needed, and add upgrades or new sources or tools even after the design is complete and the device has been deployed.”
Application software written by the developer for another design is similarly transportable to new ISA-based device designs. “And because the data structure is common, normally incompatible tools have 'effective' compatibility, such as remote XML access to SNMP objects or vice versa,” he said.
“I think that a lot of vendors of operating systems and tools will have to shift to such a global store methodology if they want to ensure that their products, tools and services don't prevent developers from future-proofing their designs,” said Peisel. “If the normal state of embedded-device design in a connected environment is to be change, it would be smart for tools providers to make it as easy as possible for developers to adapt to changing configuration environments.”
NET+OS 5.0 will be available for under $2,000 to new and existing users.