Since resource controllers that control accesses to shared resources play an indispensable role in the functioning of concurrent systems, it is highly desirable to develop a mechanism to produce reliable resource controllers.
In this thesis, a design of an automatic synthesis system is proposed to develop reliable resource controllers. Input to the system is specifications of the shared resource, operations on the resources and the synchronization requirements. These specifications are translated into Concurrent Euclid which is a monitor type concurrent programming language. The meaning-preserving transformation rules are used for systematically synthesizing codes of a resource controller from the given specifications.
공유자원의 사용을 제어하는 resource controller는 concurrent system에서 중요한 역할을 하므로, 신뢰할 수 있는 resource controller의 개발 방법이 요구된다.
이를 위하여 본 논문에서 resource controller의 자동생성 시스템을 설계하였다. 시스템의 입력은 공유자원과 공유자원에 가해지는 오퍼레이숀 그리고 synchronization 방법에 관한 사양이며, 여러 변환법칙을 이용하여 모니터를 이용하는 프로그래밍 언어인 Concurrent Euclid로 실제 코드가 생성된다. 의미를 유지하면서 변환할 수 있는 법칙을 만들기 위하여 Concurrent Euclid를 정확히 분석하였고, 실제 resource controller의 일반적인 구조와 추상적인 모델을 연관시켰으며, Concurrent Euclid가 직접 제공하지 못하는 queue와 dequeuing 방법을 수행하는 procedure를 작성하였다.
설계된 시스템은 많은 전형적인 synchronization 문제의 resource controller를 생성할 수 있으나 좀 더 넓은 범위의 문제를 처리할 수 있는 방법과 생성되는 resource controller의 효율을 높일 수 있는 방법의 연구가 필요하다.