WISR8: 8th annual workshop on software reuse: summary and working group reports
ACM SIGSOFT Software Engineering Notes
Using adapters to reduce interaction complexity in reusable component-based software development
SSR '99 Proceedings of the 1999 symposium on Software reusability
A catalog of techniques for resolving packaging mismatch
SSR '99 Proceedings of the 1999 symposium on Software reusability
Supporting Component-Based Software Evolution
NODe '02 Revised Papers from the International Conference NetObjectDays on Objects, Components, Architectures, Services, and Applications for a Networked World
Cheating death: better software evolution
Systems engineering for business process change
Human exploration and development of space: using XML database space wide web
Information Sciences—Informatics and Computer Science: An International Journal - Internet computing
Adaptive and evolutionary systems: lessons from object, component and agent approaches
Adaptive evolutionary information systems
Hi-index | 0.00 |
In component-based software development the identification and proper management of interconnections among the pieces of a system becomes a central concern. Nevertheless, today's programming languages and tools still place an emphasis on representing components, leaving the description and management of component interdependencies implicit, or distributed among the components. This paper proposes a new perspective for designing software which elevates the representation and management of software component interdependencies to a distinct design problem, orthogonal to that of representing and implementing the core functional pieces of an application. The perspective is based on a taxonomy of common software interconnection dependencies and sets of alternative protocols for managing them. The taxonomy can form the basis of design handbooks for guiding the systematic solution of component integration problems. SYNTHESIS, a prototype software application development tool based on that perspective, has been developed and successfully used to minimize the manual effort required to integrate independently developed components into new applications.