The correct option is (a) substitutable
Explanation: A significant aspect of component based programming is that components are substitutable. A component may be replaced by another component or an updated version during design time or run time provided the new component meets the set requirements. Substitutability supports late binding.