An extension of Prolog to accommodate abstraction ideas is discussed in this thesis. The proposed extension, called Prolog with Abstraction Mechanisms (PAM), is designed to incorporate the abstract data types into the logic programming scheme. Only slight modification of the Prolog language is needed to accomplish PAM. A unique feature of PAM is that concepts of constraints are employed for type checking and class extension.
Data Abstraction은 모듈화와 Information Hiding의 효과가 있어서 소프트웨어 설계시 유용한 개념적인 도구로 인식되고 있다. 본 논문에서는 Prolog언어에 Data Abstraction의 기능을 보완한 PAM의 설계와 이의 실험적인 구현에 대해 설명하였다.
PAM은 Abstract Data Type, 모듈화, 정보의 국부성, 재사용성등 설계상 바람직한 기능을 도입함으로써 Logic 프로그래밍 언어에 대한 프로그래밍 기법을 제시하였다. PAM의 특징은 type checking이나 모듈의 재사용을 위해 constraint를 활용하는데 있다.
PAM은 Logic 프로그래밍 언어에서도 소프트웨어 공학의 이론을 활용할 수 있음을 보여 주었으며 이의 실험적인 구현과 동작환경의 설계를 통해서 feasibility를 조사하였다.