Elate's® Dynamic Binding

One of the many remarkable features of Elate® is the capability it provides to execute the same VP code application on any platform running Elate both quickly and with the greatest memory efficiency. This includes platforms built using processors from different vendors and of different endianness. The operating system uses a Virtual Processor specification, and translation and dynamic binding techniques to support this portability. Translation converts the individual VP machine instructions to native processor machine instructions, and dynamic binding allows platform specific routines to be loaded and executed when called by the application at run time.

Elate is object based from the ground up. All tools are held as individual objects. Tools are only loaded and translated when needed. This dynamic binding capabilities extend throughout Elate, including all kernel and library functions. This ensures that the memory footprint for end equipment is kept to an absolute minimum. By contrast, in a standard operating system, if a function is needed by an application, the entire library must be brought into memory and bound into the application. Applications to be hosted by a full Elate run time system only need to provide the tools called by the application. This results in highly compact shipped code.

The dynamic loading of routines is part of the basic operating system functionality and introduces the ability to use a remote server over any medium or network to supply the requested routines to provide in field upgrades or new services to existing users.

For embedded systems the same approach will analyse the tools referenced by an application and build a file containing only those kernel, library and developer supplied tool objects for incorporation into the end equipment. An absolute minimal footprint in cost sensitive embedded systems is assured. When an application is executed, tools referenced by it are loaded into memory, along with tools referenced by those tools. If a tool is already resident in memory that code will be used by the application via the multithreading support offered by Elate. If a tool is not in memory it will be loaded from storage, being translated from VP code or direct if held in native code.

The dynamic binding technology within Elate gives the system vendor full control over the search sequence for tools i.e. RAM, ROM, disk or network. The search sequence is specified when the system image is built using Tao's Sysgen.

For application updates, only affected individual tools need to be supplied; all applications using that tool will automatically use the new version. A system can be updated with tuned native tools in exceptional cases, or to exploit processor specific features.

The majority of system tool objects are fewer than several hundred bytes of code. With each tool being so small, and the dynamic binding handling all application usage of these tools, network transmission of updates is both practical and cost effective in Elate. To exploit fully the object based nature of Elate the function of ROM generation has been extended into the Sysgen utility.

Sysgen is more than simply a ROM image generation tool. It uses the object structure of the operating system, the technology behind Dynamic Binding, and Translation to give the embedded system vendor the ultimate System Generation tool.

Sysgen analyses the user specifications for the application, in order to establish its tool requirements. The utility then selects all referenced tools from the development platform, and binds them into a single image, which may then be transferred to ROM. Normally Sysgen will build a boot image that includes all the tools required for an application. However, it is possible to build a Sysgen image that allows tools to be loaded or accessed from elsewhere.

By combining all of the above features provided by Elate, a vendor can create a Bootable/ROM image, tailored to contain the absolute minimum required by his application. Sysgen analyses the references made by an application to Elate, library and user tools, and builds a Sysgen ROM image file holding only those individual tool objects utilised in the application. The tools are pre-translated into the system image to again reduce the final size of the shipped image.

Copyright © 1999, 2000, 2001 Tao Group Ltd or Tao Systems Ltd. All Rights Reserved
Please read our copyright and trade marks notice