In this thesis, a study on the parallel evaluation of logic programs based on the AND/OR/AND-Control Process Model is presented, and a parallel evaluator of logic programs for the model is developed.
The AND/OR/AND-Control Process Model is a metamorphosis of the well-known AND/OR Process Model. Besides the AND Process and OR Process in the AND/OR Process Model, there is another type of process, the AND-Control Process, in the AND/OR/AND-Control Process Model. The AND-Control processes control the splitting of AND clauses, and the reconciliation of sub-solution tuples from the split sub-AND clauses.
The parallel evaluator of logic programs consists of two parts; the front end a compiler and the back end is a simulator. The compiler converts input logic programs to internal representations and the simulator interprets them according to the proposed execution model. Moreover, the simulator produces sample execution results.
본 논문에서는 논리 프로그램을 병렬로 수행하기 위한 기법에 대하여 논하였다. 기존의 여러가지 병렬 처리 기법은 최악의 경우에는 프로그램 수행의 복잡도가 순차 처리보다 크게 나아지지 않는다.
최악의 경우에도 순차 처리보다 프로그램 수행의 복잡도를 작게 하기 위해 AND/OR 프로세스 모델에 AND-Control 프로세스를 추가하여 AND/OR/AND-Control 프로세스 모델을 제안하였다.
이 모델은 AND clause를 두 개의 부분으로 나누어 각각을 수행한 뒤 그 부분해들 을 결합하는 방식으로 프로그램을 수행한다. AND-Control 프로세스는 AND clause의 분리와 부분해의 결합을 제어한다.
제안된 모델에 의거한 논리 프로그램의 병렬 처리기를 구현하여 실험하고 이 모델이 프로그램 수행의 복잡도를 줄일 수 있음을 확인하였다.