Teatro 3.0 Software Architecture
Teatro 3.0 Software Architecture Description
As shown in the diagram, Teatro-3.0 adopts a layered software architecture, which is composed of four layers: application, application engine, system, and drivers.
At the application layer we find:
- The resident (local) STB UI / app that is stored on the device featuring network installation, user settings, zapping, info banner, channel list,grid 7-day EPG, subtitles, Teletext, etc.
- The remote HbbTV hybrid apps and services that are accessed over the broadcast and broadband networks to be rendered on the device
- The remote CE-HTML apps and services that are accessed over the broadband network to be rendered on the device
At the application engine layer appear:
- The Webkit Web browser made of the WebCore rendering engine customized to support CE-HTML and of the JavaScriptCore JavaScript engine
- The Comedia Digital TV plugins which:
- Are developed as NPAPI plugins
- Expose the DTV features to the apps through JavaScript APIs at an abstraction level keeping them as simple as possible
- Map them on to the northbound, service-level APIs exposed by Comedia (called MAL which stands for Middleware Abstraction Layer)
- The HbbTV plugins which:
- Are developed as NPAPI plugins
- Expose the HbbTV features to the apps through the JavaScript APIs defined in the HbbTV standard
- Map them on to the MAL
At the system layer we can see:
- A TV player based on Comedia DTV stack which integrally manages the DTV signal (program, service, and event information, subtitles, Teletext, downloadable interactive applications, etc.)
- A system manager also based on Comedia for audio/video inputs/outputs management, video and audio settings, connectivity settings, power management, software update
At the driver layer, the Comedia Hardware Abstraction Layer (CHAL) gathers the southbound, driver-level APIs on which Comedia relies. These APIs are implemented on top of the APIs of the Linux drivers thus isolating the upper layers (system, application engine, application, UI) from the underlying hardware.
The software architecture of Teatro-3.0 is compliant with the security requirements of major CAS providers. There are two instances of the Web browser, one to render the resident app and one to execute the remote services. The CAS library is isolated in a process which dialogs with the TV player through an inter-process communication mechanism (D-Bus).