The current practice of adaptation and integration of program components largely depends on a few built-in features of programming languages. Programmers manually modify program components to meet specific needs, and write glue to build bigger software systems from program components.
Based on the analysis of the current practice of component reuse, we have defined a general and flexible model for process components and a rich set of transformation operations on them. The transformations allow users to automatically adapt the process components to meet the various needs in programming, and automatically compose them to develop programs without writing glue.
We have shown the transformations to be automatable by implementing a prototype system. The usefulness of the approach is illustrated by examples. The method will enhance the current building block approaches in reusability and will significantly reduce the size of component libraries.
Index Terms
- Adaptation and composition of program components
Recommendations
Hierarchical composition of industrial components
Special issue on new software composition conceptsIn this paper we focus on the hierarchical composition of instances of arbitrary industrial component models yielding new (compound) components with specified capabilities and requirements which can themselves be composed to yield higher level ...
Verified systems by composition from verified components
ESEC/FSE-11: Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on Foundations of software engineeringThis paper presents an approach to integration of model checking into component-based development of software systems. This approach assists in development of highly reliable component-based software systems and reduces the complexity of verifying these ...
Verified systems by composition from verified components
This paper presents an approach to integration of model checking into component-based development of software systems. This approach assists in development of highly reliable component-based software systems and reduces the complexity of verifying these ...