Presentation is loading. Please wait.

Presentation is loading. Please wait.

Reusable Software Component Retrieval: Part II Taciana Amorim Vanderlei

Similar presentations


Presentation on theme: "Reusable Software Component Retrieval: Part II Taciana Amorim Vanderlei"— Presentation transcript:

1 Reusable Software Component Retrieval: Part II Taciana Amorim Vanderlei tav@cin.ufpe.br

2 10/12/2004 Reuse in Software Engineering Group http://www.cin.ufpe.br/~rise 2 Content  Component Retrieval - Historic  Conclusion  References

3 10/12/2004 Reuse in Software Engineering Group http://www.cin.ufpe.br/~rise 3 Component Retrieval - Historic  [A. Podgurski and L. Pierce, 1993]  Measures to evaluate text-retrieval methods  Precisions  Recall  Efficiency

4 10/12/2004 Reuse in Software Engineering Group http://www.cin.ufpe.br/~rise 4 Component Retrieval - Historic  [R. Seacord, S. Hissan, K. Wallnau, 1998]  Agora  A search engine for software components;  Developed by the Software Engineering Institute (SEI) at Carnegie Mellon University;  Combines introspection with Web search engines – reduce costs.  Elements required by an online component marketplace (not addressed by this work ): oSecurity; oElectronic commerce; oQuality assurance.  Digital’s AltaVista SDK is used for indexing and retrieving component data.

5 10/12/2004 Reuse in Software Engineering Group http://www.cin.ufpe.br/~rise 5 Component Retrieval - Historic  [P. Hall, 1999]  Research and development about components and reuse.  Component emerged as a coherent package of programme code in which there are number of well- defined interfaces provided by the component for delivery of its functions to the software that uses it.

6 10/12/2004 Reuse in Software Engineering Group http://www.cin.ufpe.br/~rise 6 Component Retrieval - Historic  [P. Hall, 1999]

7 10/12/2004 Reuse in Software Engineering Group http://www.cin.ufpe.br/~rise 7 Component Retrieval - Historic  [P. Hall, 1999]  Objects do not capture the richness required of a component.  Interfaces are not decomposed;  Required interfaces are not made explicit.  Need to treat a collection of collaborating objects together as a component, rather than a single object;  Better constructs for components within UML are packages or subsystems. “A component is merely an object (specification, source code, or binary) that is published for reuse: the interface specifies exactly what it will do.” [Ian Graham, 1998]

8 10/12/2004 Reuse in Software Engineering Group http://www.cin.ufpe.br/~rise 8 Component Retrieval - Historic  [R. C. Seacord, 1999]  Problems with centralized systems:  Limited accessibility and scalability of the repository;  Exclusive control over cataloged components;  Oppressive bureaucracy;  Poor economy of scale. oFew users; oLow per-user benefits; oHigh cost of repository mechanisms and operations.

9 10/12/2004 Reuse in Software Engineering Group http://www.cin.ufpe.br/~rise 9 Component Retrieval - Historic  [R. C. Seacord, 1999]  Areas in which component-based software engineering may evolve to support component repositories:  Modeled  Interface Descriptions  Quality Assurance  Open System  Component Uniqueness  Data Rights and Privacy  Electronic Commerce in Components  Software Engineering  Location Services

10 10/12/2004 Reuse in Software Engineering Group http://www.cin.ufpe.br/~rise 10 Component Retrieval - Historic  Deficiencies of existing approaches by the retrieval tool:  Need to use low-level;  Service-based queries;  Lack of high-level description of component capabilities;  Lack of validation or checking of retrieved component suitability;  Lack of use of the context for which queries are being performed.  [J. Grundy, 2000]  Software component repository that uses a concept of component “aspects” to index and query components based on their high-level systemic characteristics.  These aspects describe a component’s provided or required services and related non-functional constraints for capabilities.

11 10/12/2004 Reuse in Software Engineering Group http://www.cin.ufpe.br/~rise 11 Component Retrieval - Historic Concept of component aspects [J. Grundy, 2000]

12 10/12/2004 Reuse in Software Engineering Group http://www.cin.ufpe.br/~rise 12 Component Retrieval - Historic The need to support more effective software developer reuse of components has been an important area of research for some time*, but the need to support end user reuse of software components has become more pressing in recent years as component based systems become widespread**. * [S. Henninger, 1996; Y. Mereek, D. Berry and G. Kaiser, 1991; H. Mili, F. Mili and A. Mili, 1995] ** [J. C. Grundy, W. B. Mugridge, J. G. Hosking and M. D. Apperley, 1998; N. Mehandjiev and L. Bottaci, 1998; A. Morch, 1998]

13 10/12/2004 Reuse in Software Engineering Group http://www.cin.ufpe.br/~rise 13 Component Retrieval - Historic  [J. Guo and Luqi, 2000]  Survey of the major software reusable component repositories.  Commercial Repositories  Government Repositories  Base to develop future efficiently searchable, user- friendly, useful, and well-organized repositories.  Reuse libraries - facilitating software life cycle component reuse to meet specific cost-effectiveness and productivity goals.  Reuse needs to be treated as an integral part of engineering and acquisition activities.

14 10/12/2004 Reuse in Software Engineering Group http://www.cin.ufpe.br/~rise 14 Component Retrieval - Historic commercial government [J. Guo and Luqi, 2000]

15 10/12/2004 Reuse in Software Engineering Group http://www.cin.ufpe.br/~rise 15 Component Retrieval - Historic  [H. Zhuge, 2000]  Proposes a problem-oriented component reuse framework through incorporating a problem-solving mechanism with the traditional component repository.  The reuse is promoted from the component level to the problem-solving level.  The environment evolution during running the candidate components for composing an application is simulated through case-based rule reasoning.

16 10/12/2004 Reuse in Software Engineering Group http://www.cin.ufpe.br/~rise 16 Component Retrieval - Historic A problem-oriented component reuse framework [H. Zhuge, 2000]

17 10/12/2004 Reuse in Software Engineering Group http://www.cin.ufpe.br/~rise 17 Component Retrieval - Historic  [Y. Ye and G. Fischer, 2002]  Concerned with the cognitive and social challenges faced by software developers:  How to motivate them to reuse;  How to reduce the difficulty of locating components from a large reuse repository.  CodeBroker  Information delivery that autonomously locates and presents software developers with task-relevant and personalized components.

18 10/12/2004 Reuse in Software Engineering Group http://www.cin.ufpe.br/~rise 18 Component Retrieval - Historic  [Y. Ye and G. Fischer, 2002] Existent components Belief components Vaguely known components Well known components

19 10/12/2004 Reuse in Software Engineering Group http://www.cin.ufpe.br/~rise 19 Component Retrieval - Historic  Empirical evaluations of CodeBroker show that information delivery is effective in promoting reuse.  Information delivery holds the potencial of:  making unanticipated components easily accessible to software developers;  reducing the overall cost of software reuse;  motivating software developers to take a design approach that favors reuse by augmenting their knowledge of components. Overall results of experiments with CodeBroker [Y. Ye and G. Fischer, 2002]

20 10/12/2004 Reuse in Software Engineering Group http://www.cin.ufpe.br/~rise 20 Component Retrieval - Historic  [W. B. Frakes, 2004]  Reports on practical issues in the development, distribution, use, and evolution of a reusable component collection in the domain of information retrieval.  Reuse vertical, that is domain focused.  Concerns code from a book on data structures and algorithms for IR systems.

21 10/12/2004 Reuse in Software Engineering Group http://www.cin.ufpe.br/~rise 21 Component Retrieval - Historic  [W. B. Frakes, 2004]  Address some of the problems identified:  Place the code under change and version control using RCS.  Place the code on at least two ftp servers.  Convert the code to the GNU coding and ‘‘free software’’ standards.  Create a web page for the code that provides information and pointers to the distribution sites.  Create documentation that will allow continuity in the maintenance of the software. This will only happen if it makes legal and financial sense, and the legal and financial issues are far from solved.

22 10/12/2004 Reuse in Software Engineering Group http://www.cin.ufpe.br/~rise 22 Component Retrieval - Historic  [J. Clark, C. Clarke, S. De Panfilis, G. Granatella, P. Predonzani, A. Sillitti, G. Succi, and T. Vernazza, 2004]  Search techniques in CLARiFi, a component broker project that supports integrators in the selection of components for systems.  EU-funded project CLARiFi (CLear And Reliable Information For Integration) - involves eight European partners. “The repository’s task is to find a set of components that cover the functional, non-functional, technological, environmental, and compatibility requirements of the desired system.”

23 10/12/2004 Reuse in Software Engineering Group http://www.cin.ufpe.br/~rise 23 Component Retrieval - Historic  “Funnel” metaphor of selection  Iterative process to find the best compromise (better queries).  Reasons for adjustments of the queries:  The number of candidates can be wrong.  The components may be not adequate due to some discrepancies between their description and what they actually do.  The components may not fit together due to incompatibility.  The system design may not be the right view to decompose the problem in parts and to look up components that fit the parts.

24 10/12/2004 Reuse in Software Engineering Group http://www.cin.ufpe.br/~rise 24 Component Retrieval - Historic  [D. Lucrédio, E. Almeida, and A. Prado, 2004]  Survey about the main research on component search, and discusses how should be a mechanism to efficiently search components, in order to offer support for future component markets. “The software industry is weakly founded and one aspect of this weakness is the absence of a software component sub-industry” [McIlroy, 1968] “Imperfect technology in a working market is sustainable; perfect technology without any market will vanish” [Clemens Szyperski, 1999]

25 10/12/2004 Reuse in Software Engineering Group http://www.cin.ufpe.br/~rise 25 Component Retrieval - Historic Component retrieval model [D. Lucrédio, E. Almeida, and A. Prado, 2004]

26 10/12/2004 Reuse in Software Engineering Group http://www.cin.ufpe.br/~rise 26 Component Retrieval - Historic

27 10/12/2004 Reuse in Software Engineering Group http://www.cin.ufpe.br/~rise 27 Conclusion  Components alone are not enough;  Although it is widely believed that software reuse improves both the quality and productivity of software development [V. Basili, L. Briand, and W. Melo, 1996], systematic reuse has not yet met its expected success [H. Zhuge, 2000].  One of the reasons for the historical failure of components repositories comes from their conception as centralized systems, but it started to be changed – Agora system [R. Seacord, S. Hissan, K. Wallnau, 1998].

28 10/12/2004 Reuse in Software Engineering Group http://www.cin.ufpe.br/~rise 28 References  M. D. McIlroy, “’mass produced’ software components”, In NATO Software Engineering Conference, pp. 138-155, 1968.  A. Podgurski, and L. Pierce, "Retrieving Reusable Software by Sampling Behavior," ACM Transaction on Software Engineering and Methodology, vol. 2, no. 3, pp. 286-303, July 1993.  W. B. Frakes, T. P. Pole. An Empirical Study of Representation Methods for Reusable Software Componente. IEEE Transactions on Software Engineering, v.20 n.8, p.617-630, August 1994.  R. Mili, A. Mili, and R. T. Mittermeir, “Storing and retrieval software components: A refinement based system”, IEEE Transactions on Software Engineering and Methodology, vol. 23, no 7, 1997.

29 10/12/2004 Reuse in Software Engineering Group http://www.cin.ufpe.br/~rise 29 References  R. C. Seacord, S. A. Hissan, K. C. Wallnau, "Agora: A Search Engine for Software Components", IEEE Internet Computing, vol.2, no.6, November/December, pp. 62-70, 1998.  P. Hall, “Architecture-driven Component Reuse", Information and Software Technology, vol. 41, no. 14, pp963-968, November 1999.  R. C. Seacord, “Software Engineering component repositories”, In International Workshop on Component-Based Software Engineering, Held in conjunction with the 21st International Conference on Software Engineering (ICSE), Los Angeles, CA, USA, 1999.  J. Grundy, “Storage and retrieval of Software Components using Aspects”, In 2000 Australasian Computer Science Conference, pp 95-103, Canberra, Australia, 2000, IEEE CS Press.  J. Guo and Luqi, "A Survey of Software Reuse Repositories" In 7th IEEE International Conference and Workshop on the Engineering of Computer Based Systems, pp 92-100, Edinburgh, Scotland, April 2000.

30 10/12/2004 Reuse in Software Engineering Group http://www.cin.ufpe.br/~rise 30 References  H. Zhuge, “A problem-oriented and rule-based component repository”, Journal of Systems and Software, vol.50, no.3, pp. 201- 208, March 2000.  Y. Ye and G. Fischer, "Supporting Reuse by Delivering Task- Relevant and Personalized Information", In ICSE 2002 – 24th International Conference on Software Engineering, pp. 513-523, Orlando, Florida, USA, 2002.  W. B. Frakes, "A Case Study of a Reusable Component Collection in the Information Retrieval Domain", Journal of Systems and Software, vol. 72, no. 2, pp. 265-270, July 2004.  J. Clark, C. Clarke, S. De Panfilis, G. Granatella, P. Predonzani, A. Sillitti, G. Succi, and T. Vernazza, “Selecting components in large COTS repositories”, Journal of Systems and Software, vol. 73, pp. 323-331, 2004.  D. Lucrédio, E. S. Almeida, and A. F. Prado, “A Survey on Software Components Search and Retrieval”, In the 30th IEEE EUROMICRO Conference, Component-Based Software Engineering Track, 2004, Rennes - France. IEEE Press. 2004.

31 Reusable Software Component Retrieval: Part II Questions?


Download ppt "Reusable Software Component Retrieval: Part II Taciana Amorim Vanderlei"

Similar presentations


Ads by Google