KR100198469B1 - 칠 96에서의 태스크 모드의 병행수행을 위한 칠 코드 생성방법 - Google Patents

칠 96에서의 태스크 모드의 병행수행을 위한 칠 코드 생성방법 Download PDF

Info

Publication number
KR100198469B1
KR100198469B1 KR1019960068938A KR19960068938A KR100198469B1 KR 100198469 B1 KR100198469 B1 KR 100198469B1 KR 1019960068938 A KR1019960068938 A KR 1019960068938A KR 19960068938 A KR19960068938 A KR 19960068938A KR 100198469 B1 KR100198469 B1 KR 100198469B1
Authority
KR
South Korea
Prior art keywords
generating
chill
information
task
code
Prior art date
Application number
KR1019960068938A
Other languages
English (en)
Other versions
KR19980050160A (ko
Inventor
김상국
이준경
박경숙
이동길
최완
Original Assignee
이계철
한국전기통신공사
정선종
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 이계철, 한국전기통신공사, 정선종, 한국전자통신연구원 filed Critical 이계철
Priority to KR1019960068938A priority Critical patent/KR100198469B1/ko
Publication of KR19980050160A publication Critical patent/KR19980050160A/ko
Application granted granted Critical
Publication of KR100198469B1 publication Critical patent/KR100198469B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

본 발명은 칠 96 (CHILL 96)에서의 태스크 모드의 병행 수행을 위한 칠(CHILL) 코드 생성을 위한 방법에 관한 것이다. 그 목적은 프로세스에 대한 정보 및 시그널들에 대한 관리를 자동으로 수행하도록 하는 데에 있다.
그 특징은 칠 96 컴파일러가 입력된 프로그램이 칠 96에서의 태스크 모드 관련 구문인지를 분석하는 단계와, 상기 칠 96의 병행성 지원을 위한 기본 구조가 되는 심볼 테이블 구축 및 데몬 프로세스 식별자를 생성하는 단계와, 상기 태스크 모드의 초기 구동 코드를 생성하는 단계와, 시그널 정보 및 칠 프로세스 구조를 생성하는 단계 및 실질적인 프로세스를 호출하는 시그널 송신 코드를 생성하는 단계로 이루어지는 데에 있다.

Description

칠 96에서의 태스크 모드의 병행수행을 위한 칠 코드 생성방법
본 발명은 칠 96(CHILL 96)에서의 태스크 모드의 병행 수행을 위한 칠(CHILL) 코드 생성을 위한 방법에 관한 것이다.
일반적으로, 국제 전기통신 연합(ITU-T)에서 전기 통신용 표준화 프로그래밍 언어로 권고중인 칠 96(CHILL 96)은 재사용성, 객체 지향성, 모듈성, 중복성, 포괄성, 병행성 등과 같은 언어적 확장을 지닌다. 이러한 확장으로 인해 새로운 시스템으로의 확장을 용이하게 하고, 프로그램의 재사용 능력과 모듈 능력을 높이고, 수행시 성능 저하를 최대한 막기 위해 객체지향의 다양한 기능중 필요한 기능만을 도입하여 궁극적으로는 사용자가 프로그래밍하기 쉽게 구문 및 어의를 간략화 한 것이다.
객체 지향성이란, 통상적으로 정보은닉, 추상자료형, 상속, 다형성 등과 같은 것이 있다. 이들 객체 지향성을 지원하기 위해 칠 96(CHILL 96)은 모레타 모드(MoReTa Mode)라는 추상화된 자료형으로 지원한다. 프로그램의 모듈성을 증가시키기 위해 칠 96은 객체의 선언 및 외부와의 인터페이스가 존재하는 명세부와 구체적인 구현 내용이 있는 본체부를 분리하였다. 칠 96(CHILL 96)은 기존의 칠(CHILL)의 언어적 확장으로서 병행성 지원을 위하여 태스크(Task)와 임계(Region) 모드라는 새로운 개념을 도입하였다. 임의의 태스크는 실행문들을 순차적으로 수행하는 것을 말하는데 이들은 서로 다른 스레드(thread)들에 의해 병행적으로 수행될 수 있다. 종래의 칠(CHILL) 언어는 병행성 지원을 위하여 프로세스에 대한 모든 정보들을 사용자가 직접 제어해야 하고, 다수의 시그널들에 대한 관리를 직접해야 하므로 인해 이들의 일관성을 유지해야 한다는 문제점이 있었다.
상기 문제점을 해결하기 위하여 안출된 본 발명은 프로세스에 대한 정보 및 시그널들에 대한 관리를 자동으로 수행하도록 하는 데에 그 목적이 있다.
상기 목적을 달성하기 위한 본 발명의 특징은 칠 96 컴파일러가 입력된 프로그램이 칠 96에서의 태스크 모드 관련 구문인지를 분석하는 단계와, 상기 칠 96의 병행성 지원을 위한 기본구조가 되는 심볼 테이블 구축 및 데몬 프로세스 식별자를 생성하는 단계와, 상기 태스크 모드의 초기 구동 코드를 생성하는 단계와, 시그널 정보 및 칠 프로세스 구조를 생성하는 단계 및 실질적인 프로세스를 호출하는 시그널 송신 코드를 생성하는 단계로 이루어지는 데에 있다.
칠 96(CHILL 96)은 언어적으로 병행성 기능을 가진 태스크 모드라는 새로운 모드를 제공하므로 사용자가 간단하게 병행성의 다양한 기능들을 사용할 수 있다.
제1도는 본 발명이 적용되는 하드웨어 시스템에 대한 기본 구성도.
제2도는 칠 96(CHILL 96)에서의 태스크(TASK) 모드의 병행수행을 위한 칠(CHILL) 코드 생성의 전체적인 흐름도.
제3도는 심볼 테이블 구축 및 데몬 프로세스 식별자 생성을 위한 상세처리 흐름도.
제4도는 시그널 정보 및 칠 프로세스 구조의 생성을 위한 상세처리 흐름도.
제5도는 시그널 송신 코드 생성을 위한 상세 처리 흐름도.
* 도면의 주요부분에 대한 부호의 설명
101 : 메인 메모리 102 : 중앙 처리 보드
103 : 유닉스 운영체제 104 : 보조 기억장치
105 : 입/출력장치 106 : 시스템 버스
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예들 중의 하나를 상세히 설명한다.
제1도는 본 발명이 적용되는 하드웨어 시스템에 대한 기본 구성도이다. 제1도를 참조하여 본 발명이 적용되는 하드웨어 시스템에 대한 기본구성을 설명하면 다음과 같다.
각 구성요소들의 기능들을 살펴보면, 시스템의 메인 메모리(101)는 칠 96( CHILL 96) 코드를 칠(CHILL) 코드로 변환하는 도구가 탑재되는 보드이고, 중앙 처리 보드(102)는 메인 메모리(101)에 탑재된 파일을 실행시키는 보드이다. 보조 기억장치(104)는 시스템에서 사용하는 파일 및 데이터 등을 저장하는 장치이다. 입/출력장치(105)는 코드 변환 규칙을 적용 중 발생하는 모든 오류 메시지 및 결과들을 입/출력하는 장치이다. 유닉스 운영체제(103)는 상기 보드 및 장치를 제어하고, 각 보드 및 장치간에 상호 주고 받는 메시지나 정보들은 시스템 버스(106)를 통하여 이루어진다.
제2도는 칠 96(CHILL 96)에서의 태스크(TASK) 모드의 병행수행을 위한 칠(CHILL)코드 생성의 전체적인 흐름도이다. 제2도를 참조하여 칠 96(CHILL 96)에서의 태스크(TASK) 모드의 병행수행을 위한 칠(CHILL) 코드 생성의 전체적인 흐름을 설명하면 다음과 같다.
이는 입력된 칠 96(CHILL 96) 프로그램을 칠(CHILL) 프로그램으로 변환시 병행성 관련구문들에 대한 변환규칙 적용과정의 흐름도이다. 칠 96(CHILL 96) 컴파일러에 의해 전처리부가 진행되고 난 후 코드 생성 단계에 오면 현재 참조하고 있는 것이 태스크(TASK) 모드 관련 부분인지 아닌지를 점검한다(201). 태스크(TASK) 모드 관련 부분이 아니면, 바로 칠(CHILL) 코드를 생성하고 종료한다. 상기 단계(201)의 결과에 따라 태스크(TASK) 모드 관련 부분이면 칠 96(CHILL 96)의 병행성 지원을 위한 기본이 되는 심볼 테이블 내에 해당 태스크를 위한 태스트 정보들과 데몬 프로세스의 구동을 담당하는 코드를 생성한다(202). 이 데몬 프로세스는 사용자 프로그램이 실행될 때에 가장 먼저 수행이 되는 프로세스이다. 상기 단계(202)가 끝나면, 태스크 모드의 초기 구동 코드를 생성한다(203). 상기 단계(203)이 끝나면, 해당 프로세스들과의 통신을 위한 시그널 정보를 생성하는데, 시그널 식별자, 시그널 모드, 시그널 정의 등과 같은 코드를 생성한다(204). 상기 단계(204)가 끝나면, 실질적으로 원하는 태스크에 임의의 시그널들을 송신하는 부분인 프로세스 송신 코드를 생성한다(205).
제3도는 심볼 테이블 구축 및 데몬 프로세스 식별자 생성을 위한 상세처리 흐름도이다. 제3도를 참조하여 심볼 테이블 구축 및 데몬 프로세스 식별자 생성을 위한 상세처리의 흐름을 설명하면 다음과 같다.
초기 심볼 테이블을 생성하고(301), 태스크 메소드들을 위한 가상 정보 테이블이 존재하는지를 점검한다(302). 가상 정보 테이블이 존재하지 않으면 바로 종료하고, 만약 가상 정보 테이블이 존재한다면 시그널 모드 생성에 필요한 심볼 테이블을 구축한다(303). 데몬 프로세스를 위한 정보가 존재하는지 검검한다(304). 정보가 존재하지 않으면 바로 종료하고, 만약 정보가 존재한다면 데몬 프로세스를 위한 식별자를 생성하고 종료한다(305).
제4도는 시그널 정보 및 칠 프로세스 구조의 생성을 위한 상세처리 흐름도이다.
제4도를 참조하여, 시그널 정보 및 칠 프로세스 구조의 생성을 위한 상세처리의 흐름을 설명하면 다음과 같다.
입력된 프로그램이 태스크 본체그룹인지를 점검한다(401). 태스크 본체그룹이 아니면 바로 종료하고, 만약 태스크 본체그룹이면 매개인자로 전달된 정보 생성 종류를 분석한다(402). 상기 단계(402)의 결과에 따라 정보 생성 종류가 정의 클래스이면 현재 속하는 그룹이 태스크 본체그룹인지와 상위 클래스가 존재하는지의 여부를 분석하여 매개인자 전달을 위한 시그널 정의문을 생성한다(403~405). 상기 단계(402)의 결과가 상위 클래스이면 현재 속하는 그룹이 태스크 명세그룹인지와 상위 클래스가 존재하는지의 여부를 분석하여 시그널 시이즈(SEIZE) 정보를 생성한다(406~408). 상기 과정이 끝나면 프로세스 구조의 시작과 끝을 위한 칠(CHILL) 코드를 생성하고 종료한다(409).
제5도는 시그널 송신 코드 생성을 위한 상세처리 흐름도이다. 제5도를 참조하여 시그널 송신 코드 생성을 위한 상세처리의 흐름을 설명하면 다음과 같다.
태스크 호출시 우선권이 존재하는지를 분석한다(501). 상기 단계(501)의 결과 우선권이 존재하면 우선권 정보 생성을 위한 변수를 저장한다(502). 매개인자 정보와 메소드 정보 생성을 위한 변수를 저장하고(503), 태스크 메소드 호출시 매개인자가 존재하는지를 분석한다(504). 상기 단계(504)의 결과 매개인자가 존재하면 매개인자를 가진 메소드 호출을 위한 시그널 송신 코드를 생성하고(505), 그렇지 않으면 매개인자가 없는 메소드 호출을 위한 시그널 송신 코드를 생성한다(506).
상술한 바와 같은 본 발명은 새로운 개념을 가진 언어와 기존의 언어간의 상호 호환성을 제공해 줄수 있고, 상기의 코드 생성 방법을 적용함으로 인해 칠 96(CHILL 96)에서의 태스크(TASK) 모드의 병행 수행을 위한 칠(CHILL) 코드 생성을 지원할 수 있다. 또한, 기존의 칠(CHILL) 프로그램과의 상호 호환성을 제공해 주고 빠른 시간 내에 목적한 시스템을 개발할 수 있는 효과를 가져 온다.

Claims (4)

  1. 칠 96 컴파일러가 입력된 프로그램이 칠 96에서의 태스크 모드 관련 구문인지를 분석하는 단계; 상기 칠 96의 병행성 지원을 위한 기본구조가 되는 심볼 테이블 구축 및 데몬 프로세스 식별자를 생성하는 단계; 상기 태스크 모드의 초기 구동 코드를 생성하는 단계; 시그널 정보 및 칠 프로세스 구조를 생성하는 단계; 및 실질적인 프로세스를 호출하는 시그널 송신 코드를 생성하는 단계로 이루어지는 것을 특징으로 하는 칠 96에서의 태스크 모드의 병행수행을 위한 칠 코드 생성방법.
  2. 제1항에 있어서, 상기 심볼 테이블 구축 및 데몬 프로세스 식별자 생성단계가, 초기 심볼 테이블을 생성하는 소단계; 가상 정보 테이블이 존재하는지를 분석하는 소단계; 시그널 모드 생성에 필요한 심볼 테이블을 구축하는 소단계; 및 데몬 프로세스를 위한 정보가 존재하는지 분석하여 데몬 프로세스를 위한 데몬 프로세스 식별자를 생성하는 소단계로 이루어지는 것을 특징으로 하는 칠 96에서의 태스크 모드의 병행수행을 위한 칠 코드 생성방법.
  3. 제1항에 있어서, 상기 시그널 정보 및 칠 프로세스 구조 생성단계가, 입력되는 프로그램이 태스크 본체 그룹인지 분석하고, 매개인자로 전달되는 정보생성의 종류를 분석하는 소단계; 태스크 본체/명세 그룹인지와 상위 클래스가 존재하는지 분석하는 소단계; 매개인자 전달을 위한 시그널 정의문을 생성하는 소단계; 시그널 시이즈 정보를 생성하는 소단계; 및 프로세스 구조의 시작 및 끝 정보를 생성하는 소단계로 이루어지는 것을 특징으로 하는 칠 96에서의 태스크 모드의 병행수행을 위한 칠 코드 생성방법.
  4. 제1항에 있어서, 상기 시그널 송신 코드 생성단계가, 태스크 메소드 호출시 우선권이 존재하는지 분석하는 소단계; 우선권 정보생성을 위한 변수를 저장하는 소단계; 매개인자 정보와 메소드 정보생성을 위한 변수를 저장하는 소단계; 태스크 메소드 호출시 매개인자가 존재하는지 분석하는 소단계; 매개인자가 존재하지 않으면 매개인자 없는 메소드 호출을 위한 시그널 송신 코드를 생성하는 소단계; 매개인자가 존재하면 매개인자를 가진 메소드 호출을 위한 시그널 송신 코드를 생성하는 소단계로 이루어지는 것을 특징으로 하는 칠 96에서의 태스크 모드의 병행수행을 위한 칠 코드 생성방법.
KR1019960068938A 1996-12-20 1996-12-20 칠 96에서의 태스크 모드의 병행수행을 위한 칠 코드 생성방법 KR100198469B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960068938A KR100198469B1 (ko) 1996-12-20 1996-12-20 칠 96에서의 태스크 모드의 병행수행을 위한 칠 코드 생성방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960068938A KR100198469B1 (ko) 1996-12-20 1996-12-20 칠 96에서의 태스크 모드의 병행수행을 위한 칠 코드 생성방법

Publications (2)

Publication Number Publication Date
KR19980050160A KR19980050160A (ko) 1998-09-15
KR100198469B1 true KR100198469B1 (ko) 1999-06-15

Family

ID=19489708

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960068938A KR100198469B1 (ko) 1996-12-20 1996-12-20 칠 96에서의 태스크 모드의 병행수행을 위한 칠 코드 생성방법

Country Status (1)

Country Link
KR (1) KR100198469B1 (ko)

Also Published As

Publication number Publication date
KR19980050160A (ko) 1998-09-15

Similar Documents

Publication Publication Date Title
US6981266B1 (en) Network management system and method
US4833594A (en) Method of tailoring an operating system
US9058131B2 (en) Specification files for call translation and trace
WO1998002809A1 (en) Method and apparatus for asynchronously calling and implementing objects
WO2003102767A2 (en) Method and system for providing a command-line interface syntax from an xml specification
US5943674A (en) Data structure representing an interface definition language source file
CN111736813A (zh) Jpa代码的生成方法、装置、终端设备及存储介质
Bellissard et al. Component-based programming and application management with Olan
WO1998002812A1 (en) Method and apparatus for performing distributed object calls using proxies and memory allocation
Schönberger et al. Algorithmic support for model transformation in object‐oriented software development
KR100198469B1 (ko) 칠 96에서의 태스크 모드의 병행수행을 위한 칠 코드 생성방법
Südholt A model of components with non-regular protocols
Wohlstadter et al. Generating wrappers for command line programs: The cal-aggie wrap-o-matic project
CN109614320A (zh) 一种检测代码接口准确性的方法及终端
Clark PARLOG: the language and its applications
CN107885604B (zh) 异构系统间通信的方法及装置、计算机设备和存储介质
KR100212465B1 (ko) 객체지향 칠을 칠로 변환시 모레타 모드에 대한 그랜트/시즈 처 리 방법
KR100246544B1 (ko) 고속병렬컴퓨터에서 병렬 구문에 의한 쓰레드 생성 방법
Pecheur Using LOTOS for specifying the CHORUS distributed operating system kernel
Akarsu et al. DARP: Java‐based data analysis and rapid prototyping environment for distributed high performance computations
KR100194799B1 (ko) 객체 지향 칠프로그램을 구조적 칠프로그램으로 변환하기 위한 일관성 있는 변환 규칙 적용 방법
KR100703285B1 (ko) 메시르를 이용한 교환 시스템의 동적 서비스를 지원하는방법
Branstetter et al. ELROS-An Embedded Language for Remote Operations Service.
JP2002132502A (ja) 言語機能解釈による分散オブジェクト自動生成システム及び方法
Atanasov Service Creation Supporting Tools

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20040302

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee