본문 바로가기
KERD
논문KCI 등재

임베디드 시스템을 위한실시간 함수형 반응적 프로그램 변환기

Real-Time Functional Reactive Program Translatorfor Embedded Systems

1

조회

0

다운로드

0

인용

0

참고문헌

키워드

주제분류컴퓨터학

초록

함수형 반응적 프로그래밍(FRP: Functional Reactive Programming)은 하스켈(Haskell)에 내장된 언어로서 두 핵심 고차 타입인 행위(Behavior)와 이벤트(Event)를 기반으로 반응적 시스템을 선언적으로 프로그래밍 한다. 이 논문은 다양한 제약사항을 가진 임베디드 시스템에 FRP를 이용하기 위해 실시간 함수형 반응적 프로그래밍(RT-FRP: Real-time Functional Reactive Programming) 변환기를 설계하고 구현한다. RT-FRP 변환기는 RT-FRP 언어의 기능적 의미론을 기반으로 RT-FRP 프로그램에서 C 프로그램을 생성한다.RT-FRP 변환기의 효과적인 변환을 입증하기 위해, 변환기에서 생성된 테스트 프로그램을 실제 임베디드 시스템, 레고 마인드스톰(LEGO Mindstorm)에 탑재하고 수행하였다. 실험 결과, RT-FRP를 이용할 경우 목적파일의 크기가 조금 증가하였으나 명령형 언어를 이용한 프로그램 보다 간결하게 반응적 시스템 소프트웨어를 프로그래밍 할 수 있었다.

Abstract

FRP(Functional Reactive Programming) is a kind of embedded language in Haskell, it declaratively program reactive system based on two essential high-order types named behavior and events. This paper design and implementation RT-FRP(Real-time Functional Reactive Programming) translator for using FRP in embedded systems with many constraints. The RT-FRP translator generates a C Program from an RT-FRP program according to the operational semantics of the RT-FRP language.To show the effectiveness of the RT-FRP translator, we loaded and executed the test program generated by the translator onto a real embedded system, LEGO Mindstorm. According to the experimental result, the reactive system software can be programmed more concisely using RT-FRP than using an imperative counter part although the size of the binary code is rather increased.

참고문헌 (21)

  1. "Signal: A declarative language for synchronous programming of real-time systems. In Gilles Kahn, editor", pp.257~277 (1987)
  2. "LUSTRE: a declarative language for real-time programming", pp.178~188
  3. "The Esterel v5 Language Primer Version 5.21 release 2.0" (1999)
  4. "초보자를 위한 Esterel 프로그래밍", pp.3~101 (2005), 홍릉과학출판사
  5. "Functional Reactive Programming from first principles", pp.242~252 (2000)
  6. C. Elliott, "Functional reactive animation", pp.163~173 (1997)
  7. A. Courtney, "Genuinely functional user interfaces" (2001)
  8. J. Peterson, "FVision: A declarative language for visual tracking", pp.304~321 (2001)
  9. J. Peterson, "Lambda in motion: Controlling robots with haskell", 1551, pp.91~105 (1999)
  10. Z. Wan, "Functional Reactive Programming for Real-time Reactive System" (2002)
  11. P. Hudak, "Modular domain specific languages and tools", pp.134~142 (1998)
  12. "The Glorious Glasgow Haskell Compilation System User's Guide, Version 6.4.2"
  13. "RCX Internal"
  14. "Real-time FRP", pp.146~156 (2001)
  15. "Generalising monads to arrows", 37, pp.67~11 (2000)
  16. "A new notation for arrows", pp.229~240 (2001), ACM Press
  17. "애로우를 이용한 오류 처리 기법", 33(1(B)), pp.397~399 (2006)
  18. "BrickOS Homepage"
  19. "iFunctional reactive programming, continued", pp.51~64 (2002), ACM Press
  20. "Arrows, robots, and functional reactive programming", pp.159~187 (2003)
  21. "Compiling real time functional reactive programming", pp.83~93 (2002), ACM Press

관련 논문AI추천

이 간행물의 다른 논문 (20건)