서지주요정보
명령형 동기식 반응형 언어의 선언형 확장 = A declarative extension of an imperative synchronous reactive language
서명 / 저자 명령형 동기식 반응형 언어의 선언형 확장 = A declarative extension of an imperative synchronous reactive language / 황준형.
발행사항 [대전 : 한국과학기술원, 2011].
Online Access 원문보기 원문인쇄

소장정보

등록번호

8022791

소장위치/청구기호

학술문화관(문화관) 보존서고

MCS 11053

휴대폰 전송

도서상태

이용가능(대출불가)

사유안내

반납예정일

리뷰정보

초록정보

A reactive system is a system that reacts to stimuli from its environment in a speed determined by the environment. Because reactive systems are usually used in safety-critical contexts, they must be designed in a way that ensures the reliability of the systems. Synchronous languages are based on the synchrony hypothesis which states that the reactions of the system take no time. Synchronous languages allow programmers to separately consider the functionality of the system and the timing of the implementation. A reactive system in a synchronous language can be considered as a finite state transducer. Mixing programming paradigms appropriately often results in clearer description of the system. Many real systems have phases of operation and each phase has its rules. Phase transitions under complex control structures are appropriate for the imperative formalism. Rules expressing relations between signals are suitable for the declarative formalism. Existing synchronous reactive languages do not provide full mechanism to use imperative and declarative styles together. Programmers are required to use different languages to use different styles. Although different languages can be translated into a common language, lack of a single language with unified semantics complicates development process and degrades software quality. This thesis proposes a declarative extension of an imperative synchronous language to provide a single language supporting both imperative and declarative formalisms. As a declarative extension, “let” statement is added to the imperative synchronous reactive language Esterel. Its syntax is similar to the “signal” statement of the original Esterel. Its semantics is similar to the “let” statement of the declarative synchronous reactive language Lustre. Sequence operators of Lustre are supported in the “let” statements. Extended statements are translated into the original Esterel statements to be used in existing Esterel development environments. During the translation, the correctness of causality and clocks of the signals are checked. A simple calculator and an environment model of elevator system are developed as examples. Examples show the effectiveness of the purposed approach with short and readable codes.

반응형 시스템은 외부 환경의 자극에 대해 외부 환경에서 정한 속도로 반응하는 시스템이다. 반응형 시스템은 안전에 중요한 상황에서 자주 쓰이므로 신뢰성을 확보할 수 있는 방법으로 설계되어야 한다. 동기식 언어는 시스템 반응에 시간이 걸리지 않는다는 동기식 가설을 이용한다. 동기식 언어를 이용하면 프로그래머는 시스템의 기능과 구현된 속도를 따로 생각할 수 있다. 동기식 언어로 나타낸 반응형 시스템은 유한 상태 변환기이다. 여러 프로그래밍 패러다임을 함께 사용하면 많은 경우 시스템을 깔끔하게 표현할 수 있다. 실제 시스템 중 다수는 단계를 바꾸어 가며 동작하며 각 단계에는 해당하는 규칙이 있다. 복잡한 제어 구조에 맞추어 단계를 바꾸는 것은 명령형으로 나타내는 것이 바람직하며, 신호 사이의 관계를 나타내는 규칙은 선언형으로 나타내는 것이 바람직하다. 기존 동기식 반응형 언어에서는 명령형과 선언형 스타일을 함께 사용하는 것이 쉽지 않았다. 프로그래머는 다른 스타일을 사용하려면 다른 언어를 사용해야 했다. 다른 언어를 공통의 언어로 변환하는 것이 가능하기는 했지만, 통합된 의미론을 가진 단일 언어가 없었기 때문에 개발이 복잡해지고 시스템의 품질이 떨어지게 된다. 이 논문에서는 명령형과 선언형으로 나타내는 것을 모두 지원하는 단일 언어를 제공하기 위해 명령형 동기식 반응형 언어의 선언형 확장을 제안한다. 선언형 확장으로서 let 문장을 명령형 동기식 반응형 언어 Esterel에 추가한다. 추가한 문장의 문법은 기존 Esterel의 signal 문장과 유사하고 의미는 선언형 동기식 반응형 언어 Lustre의 let 문장과 유사하다. 추가한 let 문장에서는 Lustre의 열 연산자도 쓸 수 있다. 기존 Esterel 개발 환경에서 사용하기 위해 확장한 문장은 기존 Esterel 문장으로 변환된다. 변환 과정에서 인과 관계와 신호의 시계가 올바른지를 확인한다. 간단한 계산기와 엘리베이터 시스템의 환경 모형을 예제로서 개발하였다. 예제들은 짧고 읽기 편한 코드로 작성할 수 있었으며 제안한 방법이 효과적임을 보여준다.

서지기타정보

서지기타정보
청구기호 {MCS 11053
형태사항 v, 37 p. : 삽화 ; 26 cm
언어 한국어
일반주기 저자명의 영문표기 : Joon-Hyung Hwang
지도교수의 한글표기 : 한태숙
지도교수의 영문표기 : Tai-Sook Han
학위논문 학위논문(석사) - 한국과학기술원 : 전산학과,
서지주기 참고문헌 : p. 33-35
QR CODE

책소개

전체보기

목차

전체보기

이 주제의 인기대출도서