Conclusion

Common models of interface behavior are necessary for promoting composability in a software component industry. Further, defining canonical models and providing guidelines for their application is hard. Such models are not currently in use because most components use highly tailored, implementation specific behavioral models. Also, the method by which interface expectations are specified can further limit module compatibility. This limiting can arise from extensional interfaces that can prematurely restrict the modules that can be used to supply a given component's needs, while intensional interfaces seem to offer more generality. As a result, interface models and methods for expressing interface requirements should be explored in order to increase the likelihood that reusable modules are in fact composable with other reusable modules.