NSI: A Component Model for Consumer Electronics Software
Component-based software engineering (CBSE) is becoming widely practiced in the desktop and enterprise computing arenas. Ironically, despite its applicability, the many benefits of CBSE have been largely unavailable to Consumer Electronics software developers. In addition, the Consumer Electronics (CE) industry has seen a revolution over the past decade, where CE manufacturers have changed from hardware manufacturers who ship a little software, to software providers who ship generic digital computing devices, with speciailized I/O peripherals and in a specialized form factor.
NSI (Nexwave Software Infrastructure) is a software component model targeted at embedded software development, and specifically at CE software. The NSI component model is a simple binary model, with associated tools and runtime environment. The components contain native code in order to provide the power and efficiency necessary for CE software. NSI interfaces are simple yet powerful mechanisms by which the often complicated interdependencies between components can be managed. NSI has been designed to allow easy conversion of existing monolithic or modular code into components.
This paper presents briefly CE's need for a new component model, a high-level description of the NSI model, and some experiences of its use by some of the major Japanese CE manufacturers.