Integer and combinatorial optimization
Integer and combinatorial optimization
Network flows: theory, algorithms, and applications
Network flows: theory, algorithms, and applications
Software architecture: perspectives on an emerging discipline
Software architecture: perspectives on an emerging discipline
Automating first-order relational logic
SIGSOFT '00/FSE-8 Proceedings of the 8th ACM SIGSOFT international symposium on Foundations of software engineering: twenty-first century applications
Synthesis of Communicating Processes from Temporal Logic Specifications
ACM Transactions on Programming Languages and Systems (TOPLAS)
Computers and Intractability: A Guide to the Theory of NP-Completeness
Computers and Intractability: A Guide to the Theory of NP-Completeness
Usage Scenarios for an Automated Model Compiler
EMSOFT '01 Proceedings of the First International Workshop on Embedded Software
Interface Theories for Component-Based Design
EMSOFT '01 Proceedings of the First International Workshop on Embedded Software
Automating the Composition of Middleware Configurations
ASE '00 Proceedings of the 15th IEEE international conference on Automated software engineering
SPIN-ning Software Architectures: A Method for Exploring Complex
WICSA '01 Proceedings of the Working IEEE/IFIP Conference on Software Architecture
Towards Zero-Code Service Composition
HOTOS '01 Proceedings of the Eighth Workshop on Hot Topics in Operating Systems
Hi-index | 0.00 |
We define an abstract problem of module composition (MC). In MC, modules are seen as black boxes with input and output ports. The objective is, given a set of available modules, to instantiate some of them (one or more times) and connect their ports, in order to obtain a target module. A general compatibility relation defines which ports can be connected to each other. Constraints are imposed on the number of instances of each module and the number of copies of each port. A linear objective function can be given to minimize the total cost of module instances and port copies. The MC problem is motivated by the need to automate the composition of legacy modules used in the development of software embedded in cars. Due to the large number of modules, composition "by hand" is tedious and error-prone, and its automation would lead to significant cost reduction. We show that the MC problem is NP-complete, by formulating an equivalent integer optimization problem. We also identify a number of special cases where the MC problem can be solved in polynomial time. Finally, we suggest techniques that can be used for the general cases.