CAPLab

HOPES

Parallel and Distributed Embedded Software Design and Code Generation Framework, HOPES (Hope Of Parallel Embedded Software).

About

The current practice of embedded software design resorts to test or simulation to verify the correctness of the design, which is very time-consuming and incapable of covering all cases. Existent software engineering techniques are not concerned about real-time performance and resource requirements that embedded systems should satisfy for correct operation. To solve this problem, we developed a model-based embedded software design framework, called HOPES supporting all design steps from behavior specification to target code synthesis, including performance estimation and design space exploration.  Distinguished from other model-based software design framework, we define a universal execution model (UEM) of heterogeneous multiprocessor embedded systems and design the software based on the UEM that hides the underlying system architecture from the programmer. UEM puts restrictions on how to communicate and synchronize tasks that conventional operating systems deal with. We define the UEM by extending well-known formal models such as Synchronous Dataflow (SDF) and finite state machine (FSM). There are several benefits to use formal models for software design. First, we can detect critical design errors such as deadlock and buffer overflow by static analysis of formal models. Second, we can estimate the resource requirement and real-time performance at compile time. Last, not the least, we can synthesize the target code from the UEM automatically minimizing the manual coding efforts. By preserving the semantics of the UEM, the synthesized code will be correct by construction. The HOPES also provides several analysis tools to estimate the system performance, which includes worst-case response time analysis and design space exploration tool. 


Currently, HOPES is available as freeware, and its code generation framework is open as open source software.





Publication

  • Woosuk Kang, EunJin Jeong, Kyonghwan Yoon, Soonhoi Ha, "A Framework for Multi-Robot Programming: From High-Level Specification to Retargetable Deployment", ACM Transactions on Embedded Computing Systems, Vol. 24, pp. 1-45, Oct, 2025.
  • Woosuk Kang, EunJin Jeong, Kyonghwan Yoon, Soonhoi Ha, "Software Synthesis From High-level Specification for Swarm Robotic Applications", IEEE Embedded Systems Letters, Vol. 16, pp. 243-246, Dec, 2023.
  • Jangryul Kim, Jaewoo Son, Soonhoi Ha, "A Novel Technique to Support Deep Learning Applications in a Model-Based Embedded Software Design Methodology", IEEE Access, Vol. 11, pp. 54869-54880, Jun, 2023.
  • Kyonghwan Yoon, EunJin Jeong, Woosuk Kang, Soonhoi Ha, "Memory Usage Estimation for Dataflow Model-based Software Development Methodology", IEEE Design & Test, Vol. 42, Issue 1, pp. 60-69, Jun, 2023.
  • 손재우, 김장률, 정은진, 하순회, "모델 기반 소프트웨어 개발 프레임워크에서의 보안 통신 코드 자동 생성", KIISE Transactions on Computing Practices, Vol. 49, No. 9, pp. 669-676, Sep, 2022.
  • Mari-Liis Oldja, Jangryul Kim, Dowhan Jeong, Soonhoi Ha, "Hierarchical Scheduling of an SDF/L Graph onto Multiple Processors", ACM Transactions on Design Automation of Electronic Systems, Vol. 27, No. 3, May, 2022.
  • 손재우, 김장률, 정은진, 하순회, "모델 기반 소프트웨어 개발 방법론에서의 다양한 통신 암호화 코드 생성", 2021 한국소프트웨어종합학술대회 (KSC2021), Dec, 2021.
  • EunJin Jeong, Dowhan Jeong, Soonhoi Ha, "Dataflow Model–based Software Synthesis Framework for Parallel and Distributed Embedded Systems", ACM Transactions on Design Automation of Electronic Systems, Vol. 26. Issue 5, pp. 1-38, Jun, 2021.
  • Dowhan Jeong, Jangryul Kim, Mari-Liis Oldja, Soonhoi Ha, "Parallel Scheduling of Multiple SDF Graphs onto Heterogeneous Processors", IEEE Access, Vol. 9, Jan, 2021.
  • Hyesun Hong, Woosuk Kang, Soonhoi Ha, "Software Development Framework for Cooperating Robots with High-level Mission Specification", 2020 IEEE/RSJ International Conference on Intelligent Robots and Systems(IROS), Oct, 2020.
  • 정도환, "Parallel Scheduling of Multiple SDF Graphs onto Heterogeneous Processors", 서울대학교, Aug, 2020.
  • 정도환, 김장률, 하순회, "멀티 응용의 실시간 성능 분석을 위한 스케줄 기반 SDF (Synchronous Dataflow) 모델 변환 기법", 2020 한국 소프트웨어공학 학술대회, Feb, 2020.
  • 강우석, 홍혜선, 정은진, 마리리스 올드자, 하순회, "데이터 플로우 모델 기반 임베디드 소프트웨어 플랫폼에 서의 공유 정보 관리 기술", 2020 한국 소프트웨어공학 학술대회, Feb, 2020.
  • 홍혜선, "Service-oriented and Model-based Software Development Methodology for Cooperating Robots", 서울대학교, Feb, 2020.
  • 정은진, "Model-based Code Generation Framework for Parallel and Distributed Embedded Systems", 서울대학교, Feb, 2020.
  • 한동식, 정승재, 홍혜선, 하순회, 장병탁, "이종 딥 뉴럴 네트워크와 태스크 그래프 인터페이스를 이용한 실시간 장면 서술", 2018 한국 군사과학 기술학회 추계학술대회, Nov, 2018.
  • Hyesun Hong, Hanwoong Jung, KangKyu Park, Soonhoi Ha, "SeMo: Service-oriented and Model-based Software Framework for Cooperating Robots", IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems (TCAD), Vol. 37, Issue 11, pp. 1-12, Nov, 2018.
  • 홍혜선, 류승완, 이종구, 이주은, 성진우, 조동일, 김현진, 하순회, "서비스-모델 기반 프로그래밍 방법론을 통한 DASH 로봇 제어", 2018 한국 군사과학 기술학회 추계학술대회, Nov, 2018.
  • Hyesun Hong, Hanwoong Jung, KangKyu Park, Yeonggyo Yoon, Soonhoi Ha, "Service-Oriented Robot Software Development Framework for Distributed Heterogeneous Platforms", Proceedings of the 17th International Conference on Autonomous Agents and Multiagent Systems (AAMAS 2018), Jul, 2018.
  • Soonhoi Ha, EunJin Jeong, "Embedded Software Design Methodology Based on Formal Models of Computation", Lecture Notes in Computer Science, Vol. 10760, pp. 306-325, Jul, 2018.
  • 윤영교, "모바일 로봇의 자가 적응 컴퓨팅을 위한 시뮬레이션 환경", 서울대학교, Feb, 2018.
  • Hyesun Hong, Hyunok Oh, Soonhoi Ha, "Hierarchical Dataflow Modeling of Iterative Applications", Proceedings of the 54th Annual Design Automation Conference, Jun, 2017.
  • Hanwoong Jung, Hyunok Oh, Soonhoi Ha, "Multiprocessor Scheduling of a Multi-Mode Dataflow Graph Considering Mode Transition Delay", ACM Transactions on Design Automation of Electronic Systems, Vol. 22, Issue 2, Mar, 2017.
  • Hanwoong Jung, Hyunok Oh, Soonhoi Ha, "Multiprocessor Scheduling of an SDF Graph with Library Tasks Considering the Worst Case Contention Delay", 14th International Symposium on Embedded Systems for Real-time Multimedia (ESTIMedia), pp. 84-93, Oct, 2016.
  • 홍혜선, 정한웅, 하순회, "로봇 협업 운용을 위한 프로그래밍 모델 및 코드 생성 기술", 한국컴퓨터종합학술대회, Jun, 2015.
  • Hanwoong Jung, Chanhee Lee, Shin-Haeng Kang, Sungchan Kim, Hyunok Oh, Soonhoi Ha, "Dynamic Behavior Specification and Dynamic Mapping for Real-Time Embedded Systems: HOPES Approach", ACM Transactions on Embedded Computing Systems (TECS), Vol. 13, Jul, 2014.
  • 정한웅, 하순회, "모델 기반 설계 기법에서의 동적 행위 명세를 위한 멀티 모드 지원", 제 39회 한국정보과학회 추계학술발표회, Nov, 2012.
  • 정한웅, "CUDA 아키텍처를 위한 프로세스 네트워크 그래프로부터의 자동 코드 생성 기법", 서울대학교, Aug, 2011.
  • Hae-woo Park, Hanwoong Jung, Hyunok Oh, Soonhoi Ha, "Library Support in an Actor-Based Parallel Programming Platform", IEEE Transactions on Industrial Informatics, Vol.7, Issue 2, pp. 340-353, May, 2011.
  • 김호근, 정은진, 박해우, 하순회, "임베디드 소프트웨어 개발을 위한 빠른 기능-시간 시뮬레이션 기법", 한국정보처리학회 추계학술발표대회 논문집, pp. 1595-1598, Nov, 2010.
  • EunJin Jeong, Hae-woo Park, Soonhoi Ha and Hyunok Oh, "Task-level Timed-functional Simulation for Multi-core Embedded Systems", ESTIMEDIA, Oct, 2010.
  • 김경현, "Cell 프로세서를 위한 CIC 모델 기반의 병렬 프로그래밍", 서울대학교, Feb, 2010.
  • 김진우, 박해우, 윤덕용, 정은진, 하순회, "CIC 기반 병렬 임베디드 소프트웨어 설계를 위한 제어 응용 명세 기법", 한국컴퓨터종합학술대회, pp. 296-297, Jul, 2009.
  • 권성남, "Parallel Code Generation from Dataflow Specification for MPSoC System", 서울대학교, Feb, 2009.
  • Seongnam Kwon, Yongjoo Kim, Woo-Chul Jeun, Soonhoi Ha, Yunheung Paek, "A Retargetable Parallel-Programming Framework for MPSoC", ACM Transactions on Design Automation of Electronic Systems (TODAES), Vol. 13, pp. 1-18, Jul, 2008.
  • Demo Videos

    DAC 2018
    Demo video for S...
    2018-05-08 13:21
    DAC 2016
    Demo video for S...
    2016-09-01 14:59
    DAC 2014
    HOPES
    2014-10-02 15:03
    DAC 2013
    HOPES
    2014-10-02 14:30

    Contributor

  • 하순회(Soonhoi Ha)
  • 오현옥(Hyunok Oh)
  • 윤덕용(Dukyoung Yun)
  • 박해우(Hae-woo Park)
  • 김진우(Jinwoo Kim)
  • 이재원(JaeWon Lee)
  • 김경현(KyungHyun Kim)
  • 이찬희(Chanhee Lee)
  • 정한웅(Hanwoong Jung)
  • 홍혜선(Hyesun Hong)
  • 정은진(EunJin Jeong)
  • 신동걸(DongGeol Shin)
  • 김장률(Jangryul Kim)
  • 박강규(KangKyu Park)
  • 정도환(Dowhan Jeong)
  • 강우석(Woosuk Kang)
  • 마리리스(Mari-Liis Oldja)
  • 손재우(Jaewoo Son)
  • 윤경환(Kyonghwan Yoon)