3.5.2. Substitutability as life cycle property. Substitutability means that alterative entity (component or service) implementation may be used with the constraints that the system can still meet the requirements on functional level and non-functional level. According to [15], white box and gray box reuse very likely prevents the component substitutability. In such cases, explicit conventions about the implementation information and changes that are made in components are required to achieve substitutability [4]