The functionality of embedded systems is increasingly defined by software (SW). As these systems face resource constraints - computational capabilities, power, space, cost etc - a natural consequence is the consolidation of diverse SW functionality onto shared hardware (HW) resources. Unfortunately, dependability is rarely an explicit design consideration over such consolidations. Focusing explicitly on provision of dependability, we propose a framework for structuring of SW functions to provide for desired dependability attributes as SW integrations transpire. A strategy for decomposing SW functions into conceptual error containment modules (ECMs) is proposed such that interference during SW interaction is (quantifiably) minimized. Subsequently, the rules of composition of ECMs for integrating software modules and HW-SW mappings can be developed via established co-design techniques. Overall, our aim is provision of "dependability by design " considering access to white-box SW.
['Neeraj Suri']
On dependability driven software and hardware integration