Principles of Component Independence and Possible Outcomes for Component Replacement
There is a general agreement in the software engineering industry that a component is an independent software unit which can be composed with other independent units in order to create a software system (Sommerville, 1989). Another commonly accepted definition is that a component can be independently deployed and composed without modification according to a composition standard (Councill and Heineman, 2001).
In any system, software or hardware, in order to determine its reliability it is important to firstly establish component independence.
This is typically achieved through independent component analysis (ICA), which is a computational technique for revealing hidden factors that underlie sets of measurements or signals (Oja, 2001). Th…