Portability

Strings provides portability at multiple levels. Product portability offers the ability to reuse components across a broad range of products. OS portability ensures that Strings and Beads will run across a broad range of commercial operating systems. Device portability ensures that ISVs and OEMs can freely interchange underlying hardware components without requiring new software.

Product Portability

The promise of web services and distributed networking means that a given software service can be used in ways both intended and unintended by the author. Strings ensures a high degree of reuse and re-configurability to create entirely new products or to change the behavior of existing products.

OS Portability

Strings provides a runtime environment that completely insulates Beads from operating system and hardware idiosyncrasies. In addition to a platform-independent API provided by the Strings runtime, several core services such as scheduling and memory management are also provided in the Strings runtime through an Operating System Abstraction Layer (OAL). The OAL ensures that not only do Beads run on virtually every commercial operating system and chipset available today, but it also ensures that they behave much more consistently across all of those platforms.

Device Portability

In addition to the OAL, Strings provides a device brokering service that allows device Beads to access platform specific device drivers and applications services. This is achieved through an abstraction service that ensures device Beads can be linked at runtime to platform specific device drivers and interfaces without knowledge of the platform specific implementation issues.