A software system for use with a Digital Television set-top box. The system uses
a software bus application programming interface (API) that is specially designed
to make the set-top box compatible with two standard DASE architectures: (1) the
architecture wherein the procedural application engine contains the declarative
application engine, and (2) the architecture wherein the declarative application
engine contains the procedural. An application engine manager uses a function call
router to intercept all DASE infrastructure APIs incoming from software applications
downloaded by the set-top box from a DTV broadcast. All APIs are routed through
the application manager, and all application engines are required to implement
the software bus API. A specially-designed software interface also enables the
convenient installation of additional applications by simply changing one line
of software code.