In the framework of an applicative programming language and demand-driven data-flow model, a high level method for expressing synchronization of resources is presented. This mechanism, given by 'synchronization expression', encapsulates the usage of resources; resources can be accessed only through the operations controlled by them. A resource is considered as a data object, implementation of which is separated from the implementation of synchronization rule.
This paper presents the entire structure and the operational semantics of synchronization expressions, and shows how they can be implemented. Also, it is shown that synchronization rules can be specified clearly and understood easily by means of synchronization expression.
The mechanism is illustrated by the solutions of a variety of synchronization problems; how the synchronization expressions are used to specify synchronization constraints.
본 논문에서는 요구 구동형 자료흐름 모형하에서의 자원 관리를 위한 synchronization 방법을 제시하고 그 전체적인 구조와 각 construct 들이 갖는 기능상의 의미를 기술하였다. 이 방법은 applicative 프로그래밍 언어에 기반을 두고 있으며 nonprocedure 적인 방법으로 synchronization 조건들을 표시 하여 자원에 대한 요구를 실질적으로 처리하는 부분과 분리시켜 놓았다.
이 방법을 몇가지 중요한 synchronization 문제들에 적용시켜 봄으로써 조건 명시가 명확하고 프로그램을 쉽게 이해할수가 있음을 보였다. 또한 synchronization 조건들을 명시하는데 있어 Jayaraman 이 제안한 'resource expression' 에 비해 더 많은 융통성을 갖고 있음을 보여준다.
그러나 각 construct 들을 자동적으로 번역하기 위해서는 정확한 번역규칙(translation rule)이 필요한데 이에 대한 연구가 좀 더 요구된다.