Abstraction and specification in program development
Abstraction and specification in program development
Abstract datatypes, specialization, and program reuse
An international workshop on Advanced programming environments
Encapsulation and inheritance in object-oriented programming languages
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
Explanation-Based Generalization: A Unifying View
Machine Learning
Explanation-Based Learning: An Alternative View
Machine Learning
Proceedings of the Carnegie Mellon Workshop on Logic of Programs
Hi-index | 0.00 |
Recent work on learning apprentice systems suggests new approaches for using interactive programming environments to promote software reuse. Methodologies for software specification and validation yield natural domains of application for explanation-based learning techniques. This paper develops a relation between data abstractions in software and explanation-based generalization problems and shows how explanation-based learning can be used to generalize program abstractions to promote their reuse. This method is applied in the design of a system called LASR (Learning Apprentice for Software Reuse) which will acquire programming knowledge by capturing and generalizing interconnections between abstract data type theories. The technical role of theories in defining learned concepts in this application suggests their more general use in representing problems in explanation-based learning.