LOPSTR 1992
Using a Prolog Prototype for Designing an Object Oriented Scheme
Abstract
Abstract The purpose of this paper is to define a reverse engineering technique for recovering structural design information through the analysis of a Prolog prototype. Prolog is widely used for making prototypes due to its high level of abstraction, and object oriented programming has emerged as a successful paradigm for software development. However, object oriented modelling is difficult to achieve. Thus, we propose to extract an object oriented scheme from the Prolog prototype. We show that the identification of the inclusion polymorphism expressed by Prolog clauses allows us to define an inheritance hierarchy. In the first section, we define a polymorphic denotational type system for Prolog, and we show that a Prolog program expresses relationships between types which allow us to capture inclusion polymorphism. In the second section, we present an algorithm that infers relationships between types expressed in a Prolog program. These relationships are used to define an object oriented scheme, where the inheritance hierarchy only depends on the semantic relations specified by the clauses of the program. Finally, we compare our approach with some related works, and we show the advantage of our system for well capturing inheritance relations.
Authors
Keywords
No keywords are indexed for this paper.
Context
- Venue
- International Symposium on Logic-Based Program Synthesis and Transformation
- Archive span
- 1990-2025
- Indexed papers
- 560
- Paper id
- 1032036402332127769