in consideration may be flexible service processor 300 with external devices such as rack power controller 302 and panel 308 triggering the slave i o operations flexible service processor 300 is an embedded system which includes applications having responsibility for physical devices attached to the iic buses such a function requires flexible service processor 300 to operate as a slave with reference now to fig4 a block diagram depicts layers of abstraction in an inter integrated circuit bus environment in accordance with a preferred embodiment of the present invention applications within application layer 402 communicate with the bus through device driver layer 410 the device driver layer 410 includes device drivers 414 which interacts directly with the target hardware and sets the hardware up for access applications wishing to communicate with devices on the iic hardware including for example blackwidow base iic 422 and blackwidow extender iic 424 send requests through the device driver layer to probe for the particular end device on the bus blackwidow base and blackwidow extender are different chips pertaining to different hardware these chips represent examples of hardware existing at the hardware level the requests are sent through abstract wrapper layer 412 to device drivers 414 the abstract wrapper layer provides a wrapper to the device driver interfaces for the applications that need to use the hardware services abstract wrapper layer 412 determines whether the device is available if the device is available the abstract wrapper layer places a lock on the device address restricting its use by any other application in the meantime other applications that request access to any other device on the same bus can request a lock on.