Reusable Software Component Retrieval: Part II

Post on 16-Jan-2016

33 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

Reusable Software Component Retrieval: Part II. Taciana Amorim Vanderlei tav@cin.ufpe.br. Content. Component Retrieval - Historic Conclusion References. Component Retrieval - Historic. [A. Podgurski and L. Pierce, 1993] Measures to evaluate text-retrieval methods Precisions Recall - PowerPoint PPT Presentation

Transcript

Reusable Software Component Retrieval: Part II

Taciana Amorim Vanderleitav@cin.ufpe.br

10/12/2004 Reuse in Software Engineering Grouphttp://www.cin.ufpe.br/~rise

2

Content

Component Retrieval - Historic Conclusion References

10/12/2004 Reuse in Software Engineering Grouphttp://www.cin.ufpe.br/~rise

3

Component Retrieval - Historic

[A. Podgurski and L. Pierce, 1993] Measures to evaluate text-retrieval methods

Precisions Recall Efficiency

10/12/2004 Reuse in Software Engineering Grouphttp://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 ):o Security;o Electronic commerce;o Quality assurance.

Digital’s AltaVista SDK is used for indexing and retrieving component data.

10/12/2004 Reuse in Software Engineering Grouphttp://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.

10/12/2004 Reuse in Software Engineering Grouphttp://www.cin.ufpe.br/~rise

6

Component Retrieval - Historic

[P. Hall, 1999]

10/12/2004 Reuse in Software Engineering Grouphttp://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]

10/12/2004 Reuse in Software Engineering Grouphttp://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.

o Few users;

o Low per-user benefits;

o High cost of repository mechanisms and operations.

10/12/2004 Reuse in Software Engineering Grouphttp://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/12/2004 Reuse in Software Engineering Grouphttp://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.

10/12/2004 Reuse in Software Engineering Grouphttp://www.cin.ufpe.br/~rise

11

Component Retrieval - Historic

Concept of component aspects [J. Grundy, 2000]

10/12/2004 Reuse in Software Engineering Grouphttp://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]

10/12/2004 Reuse in Software Engineering Grouphttp://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.

10/12/2004 Reuse in Software Engineering Grouphttp://www.cin.ufpe.br/~rise

14

Component Retrieval - Historicco

mm

erci

alg

ove

rnm

ent

[J. Guo and Luqi, 2000]

10/12/2004 Reuse in Software Engineering Grouphttp://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.

10/12/2004 Reuse in Software Engineering Grouphttp://www.cin.ufpe.br/~rise

16

Component Retrieval - Historic

A problem-oriented component reuse framework [H. Zhuge, 2000]

10/12/2004 Reuse in Software Engineering Grouphttp://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.

10/12/2004 Reuse in Software Engineering Grouphttp://www.cin.ufpe.br/~rise

18

Component Retrieval - Historic

[Y. Ye and G. Fischer, 2002]

Existent components

Belief componentsVaguely known componentsWell known components

10/12/2004 Reuse in Software Engineering Grouphttp://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]

10/12/2004 Reuse in Software Engineering Grouphttp://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.

10/12/2004 Reuse in Software Engineering Grouphttp://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.

10/12/2004 Reuse in Software Engineering Grouphttp://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.”

10/12/2004 Reuse in Software Engineering Grouphttp://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.

10/12/2004 Reuse in Software Engineering Grouphttp://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]

10/12/2004 Reuse in Software Engineering Grouphttp://www.cin.ufpe.br/~rise

25

Component Retrieval - Historic

Component retrieval model [D. Lucrédio, E. Almeida, and A. Prado, 2004]

10/12/2004 Reuse in Software Engineering Grouphttp://www.cin.ufpe.br/~rise

26

Component Retrieval - Historic

10/12/2004 Reuse in Software Engineering Grouphttp://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].

10/12/2004 Reuse in Software Engineering Grouphttp://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.

10/12/2004 Reuse in Software Engineering Grouphttp://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.

10/12/2004 Reuse in Software Engineering Grouphttp://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.

Reusable Software Component Retrieval: Part II

Questions?

top related