Abstract
Rapid prototyping in object-oriented programming requires effective retrieval of reusable classes. This paper describes the methods used in the retrieval phase of a case-based component in a prototyping tool for the Java programming language. The case-based tool aids in class retrieval and reuse. Java has a reflective ability in the sense that classes may be asked for their methods, fields, constructors, and other information. We use this information to automatically generate features used to index the Java classes. We use both the reflected information, and knowledge inferred from that information. We describe the retrieval algorithm used in the case-based tool, and show some example runs.
Preview
Unable to display preview. Download preview PDF.
References
Agnar Aamodt and Enric Plaza. Case-based reasoning: Foundational issues, methodological variations, and system approaches. AI Communications, 7(1):39–59, 1994.
K.-D. Althoff, A. Birk, Gresse von Wangenheim, and C. Tautz. Case-based reasoning for experimental software engineering. In M. Lenz, B. Bartch-Spörl, H.-D. Burkhard, and S. Wess, editors, Case-Based Reasoning Technology — From Foundations to Applications, pages 235–254. Springer-Verlag, 1998.
Sanjay Bhansali and Mehdi T. Haiandi. Synthesis of UNIX programs using derivational analogy. Machine Learning, 10:7–55, 1993.
Ted Biggerstaff and Charles Richter. Reusability framework, assessment, and directions. In Ted J. Biggerstaff and Alan J. Perlis, editors, Software Reusability. Vol. I. Concepts and Models, chapter 1, pages 1–17. Addison Wesley, 1989.
Dennis de Champeaux. Object-Oriented Development Process and Metrics. Prentice-Hall, 1997. ISBN 0-13-099755-2.
Nachum Dershowitz. Programming by analogy. volume II of Machine Learning: An artificial intelligence approach, chapter 15, pages 393–421. Morgan Kaufmann Inc., Los Altos, California, 1986.
Carmen Fernández-Chamizo, Pedro A. González-Calero, Luis Hernández-Yánez, and Alvaro Urech-Baqué. Case-based retrieval of software components. Expert Systems with Applications, 9(3):397–405, 1995.
Gilles Fouqué and Stan Matwin. A case-based approach to software reuse. Journal of Intelligent Information Systems, 1:165–197, 1993.
E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley professional computing series. Addison-Wesley Publishing Company, Reading, MA, 1995.
James Gosling, Bill Joy, and Guy Steele. The Java Language Specification. The Java Series. Addison-Wesley, Reading MA, 1 edition, 1996. ISBN 0-201-63455-4.
Scott Henninger. Tools supporting the creation and evolution of software development knowledge. In Proceedings of the 12th Annual Conference on Automated Software Engineering, pages 46–53. IEEE Computer Society Press, 1997.
J.L. Kolodner, R.L. Simpson, and K. Sycara-Cyranski. A process model of case-based reasoning in problem solving. In Proceedings IJCAI-9, pages 284–290, Los Angeles, CA, 1985.
N.A. Maiden and A.G. Sutcliffe. Exploiting reusable specifications through analogy. Communications of the ACM, 35(4):55–64, 1992.
Kanth Miriyala and Mehdi T. Harandi. Automatic derivation of formal software specifications from informal descriptions. IEEE Trans. Software Engineering, 17(10):1126–1142, 1991.
Tim O'Shea. The learnability of object-oriented programming systems. In OOPSLA '86 Proceedings, pages 502–504, New York, NY, September 1986. ACM, ACM Press.
Christos H. Papadimitriou and Kenneth Steiglitz. Combinatorial Optimization: Algorithms and Complexity. Prentice-Hall, Inc., Englewood Cliffs, N.J., 1982.
Rubén Prieto-Diaz. A software classification scheme. Technical Report 85-19, University of California, Irvine, Irvine, California 92717, 1985. Department of Information and Computer Science.
George Spanoudakis and Panos Constantopoulos. Analogical reuse of requirements specifications: A computational models. Applied Artificial Intelligence, 10(4):281–306, 1996.
Sun Microsystems, Mountain View, CA. JDK 1.1.5 Documentation, 1998. http://java.sun.com/products/jdk/1.1/docs/index.html.
Bj0rnar Tessem and Solveig Bj0rnestad. Analogy and complex software modeling. Computers in Human Behavior, 13(4):465–486, 1997.
R. Alan Whitehurst. Systematic Software Reuse Through Analogical Reasoning. PhD thesis, University of Illinois, Urbana-Champaign, IL, 1995.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1998 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Tessem, B., Whitehurst, R.A., Powell, C.L. (1998). Retrieval of Java classes for case-based reuse. In: Smyth, B., Cunningham, P. (eds) Advances in Case-Based Reasoning. EWCBR 1998. Lecture Notes in Computer Science, vol 1488. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0056329
Download citation
DOI: https://doi.org/10.1007/BFb0056329
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-64990-8
Online ISBN: 978-3-540-49797-4
eBook Packages: Springer Book Archive