A major promise of component-based software engineering is the reduction of application development time and costs by reusing software components. The existence of and access to component libraries, as well as the ability to build such libraries in the first place, is therefore key in a component-based development infrastructure to facilitate the envisioned reuse. We believe that the future demand for component libraries will increase substantially because many companies are about to adopt the software product line ideas. Due to the lack of a general standard for component libraries and because of the restrictions of existing ones, it is very often the case that new reuse libraries are written from scratch to fit a user's specific requirements. An additional problem is the size and the focus of (existing) component libraries or component repositories. With an increasing size and a broadening focus of the library it becomes harder to retrieve the "right" components due to more complex classification structures, which hinders effective reuse. This will lead to a large number of specific libraries, rather than to the global all-encompassing single one. This work introduces a component library description language, which allows for the definition of a component library, its provided functionality, and its associated semantics on a high level of abstraction. The language compiler uses those definitions made in the (XML-based) language to automatically generate a component library, which is a user-defined, customized application, including a web-based user interface and a persistent storage facility to store the components handled by the library. The language approach allows for the rapid development of domain specific component libraries in a time and cost efficient manner and therefore supports the need for fast creation of reuse libraries with minimal up-front investment.
[1]
Scott Henninger,et al.
A Tool for Managing Software Development Knowledge
,
2001,
PROFES.
[2]
Martin Gaedke,et al.
A Repository to facilitate Reuse in Component- Based Web Engineering
,
1999
.
[3]
Clemens A. Szyperski,et al.
Component software - beyond object-oriented programming
,
2002
.
[4]
Ernesto Damiani,et al.
A hierarchy-aware approach to faceted classification of objected-oriented components
,
1999,
TSEM.
[5]
Shirley Browne,et al.
Reuse Library Interoperability and The World Wide Web
,
1997,
Proceedings of the (19th) International Conference on Software Engineering.
[6]
Luqi,et al.
A survey of software reuse repositories
,
2000,
Proceedings Seventh IEEE International Conference and Workshop on the Engineering of Computer-Based Systems (ECBS 2000).
[7]
Santiago Comella-Dorda,et al.
Volume II: Technical Concepts of Component-Based Software Engineering
,
2000
.
[8]
Ivar Jacobson,et al.
Software Reuse: Architecture, Process And Organization For Business Success
,
1998,
Proceedings. Technology of Object-Oriented Languages. TOOLS 26 (Cat. No.98EX176).
[9]
Gail E. Kaiser,et al.
An Information Retrieval Approach For Automatically Constructing Software Libraries
,
1991,
IEEE Trans. Software Eng..
[10]
Scott Henninger,et al.
An evolutionary approach to constructing effective software reuse repositories
,
1997,
TSEM.
[11]
Robert C. Seacord,et al.
AGORA: A Search Engine for Software Components
,
1998,
IEEE Internet Comput..
[12]
Oscar Nierstrasz,et al.
Object-oriented software composition
,
1995
.
[13]
Paul Clements,et al.
Fourth Product Line Practice Workshop Report
,
2000
.