병렬 객체지향 프로그래밍을 위한 시각 환경의 설계 및 구현

Design and Implementation of Visual Environment for Parallel Object-Oriented Programming

  • 발행 : 1999.02.01

초록

병렬 프로그래밍은 프로세스간의 통신과 동기화 문제, 병렬 시스템의 구성 형태등을 고려해야 하기 때문에 순차 프로그래밍에 ? 많은 노력을 필요로 한다. 효율적인 병렬 프로그램을 작성하기 위해서는 사용자와 컴파일러간의 상호 지원이 이루어져야 한다. 이러한 관점에서 본 연구는 선행 연구로써 병렬 객체지향 표기언어 POOSL을 개발하였다. 그러나, 사용자 입장에서 볼 때 병렬 프로그램을 작성하기 위해 POOSL의 문법 구조를 염두에 두고 텍스트 중심의 프로그램을 작성한다면 여전히 부담스러운 작업이 될 것이다. 사용자에게 보다 편리함을 제공하기 위해서는 텍스트보다는 시각적인 프로그래밍 환경이 더욱 효율적이고 바람직할 것이다. 따라서, 본 논문에서는 POOSL을 기초로 하여 사용자가 좀더 쉽고, 편리하게 병렬 프로그래밍 할 수 있는 시각 환경으로써 VEPO(Visual Environment for Parallel Object-Oriented Programing)를 제안하고 있다. 본 논문의 목적은 사용자가 병렬 프로그램을 작성하는데 있어 문제에 내재된 병렬성을 객체지향 개념에 입각하여 시각적으로 자연스럽게 표현하도록 하고, 병렬 프로그램 개발에 관련된 과정들을 하나의 환경을 통합시킴으로써 편리한 프로그램 환경을 제공하는 것이다. 본 연구에서 제안하고 있는 VEPO는 병렬 프로그램을 개발하는데 필요한 기본적인 단계들로써 프로그램 기술 단계, 실행 단계, 실행 과정의 시각화등을 지원하고 있으며, 시각 프로그래밍의 장점을 충분히 살릴 수 있도록 여러 개념들이 지원되고 있다. 특히, 병렬 프로그램에서 복잡하고 까다로운 통신과 동기화에 관련된 코드 등은 번역 과정에서 여러 개념들이 생성되도록, 함으로써 사용자로 하여금 병렬 프로그램을 작성하는데 따르는 부담감을 줄 일 수 있도록 한다. 본 시스템은 PC를 호스트로 연결한 트랜스퓨터들로 구성된 병렬 컴퓨터 MC-3에서 구현되었다. VEPO 그래픽 사용자 인터페이스는 Visual C++로 구현되었고, VEPO에서 작성된 시각 프로그램은 Inmos C 코드로 번역되어 MC-3에서 수행된다.

Comparing with sequential programming, parallel programming has additional complexity due to the consideration of parallelism, communication and synchronization of processes. A synergism between users and compliers should be established, each assisting the other to produce high quality parallel programs. On the above underlying philosophy, we developed a parallel Object-Oriented specification language, POOSL, as preliminary works. However, it is still likely to hard for users to write parallel program because users have to consider grammar of POOSL and to write text-based parallel program. It would be more desirable to provide users wit visual environment for effective parallel programming. Therefore, we propose a visual programming environment. VEPO(Visual environment for Parallel Object-Oriented Programming), based on POOSL in order that users can develop parallel programs more easily and conveniently. It aims at supporting a programming environment in which users can represent their programs more naturally and visually I parallel manner with object-oriented concept and essential steps during parallel program development such as program specification, compilation, execution and animation of execution are integrated. VEPO has useful features for parallel processing. Especially, complicated parallel codes for synchronization and communication of processes are automatically generated in the translation phase, so users can be relieved of writing error-prone parallel codes. The system is targeted to the transputer-based parallel system, MC-3. The graphic user interface of VEPO was implemented using Visual C++. Visual programs descirbed on VEPO are translated into Inmos C and executed on MC-3.

키워드