Abstract: A cognitive container includes a set of managers for monitoring and controlling a computational element based on context, constraints and computing resources available to that computational element. Collectively, the set of managers may be regarded as a service regulator that specifies the algorithm context, constraints, connections, communication abstractions and control commands which are used to monitor and control the algorithm execution at run-time. The computational element is the algorithm executable module that can be loaded and run. The managers may communicate with external agents using a signaling channel that is separate from a data path used by the computational element for inputs and outputs, thereby providing external agents the ability to influence the computation in progress.