Component-based software engineering (CBSE) is becoming popular due to the benefits of software reuse and the availability of many alternatives of reusable components. By the reuse of existing software components that have already been tested, software engineers may reduce errors and shorten the time to market of the system under development. However, software engineers still have a problem in ...