1. A system for providing a shelf management functions for a shelf accommodating electronic components, the system comprising: at least two shelf management controllers associated with the shelf and disposed in an active-passive redundant configuration, each shelf management controller communicatively coupled to at least one controlled device on the shelf and optionally to at least one satellite controller located remote from each of the at least two shelf management controllers; programmable means stored in a machine readable medium accessible to each of the two shelf management controllers for implementing a layered architecture and capable of being executed by each of the shelf management controllers for causing the shelf management controller to provide a first shelf management function; at least one processor adapted to execute the layered architecture of the programming means to implement the shelf management function; and an application programming interface (API) interfacing with the layered architecture of the programming means to enable modification of the programming means according to a first communication protocol governing communication exchange between the shelf management controllers and a managed device controlled by the shelf management controllers as a result of the provision of the shelf management function wherein one of the at least two shelf management controllers is active and the other passive and wherein the active shelf management controller provides the shelf management function until a fail-over in which case the standby shelf management controller provides the shelf management function.