A Remote Trace Debugger for Multi-Task Programs in Qplus-T Embedded Internet System

Qplus-T내장형 인터넷 시스템에서 멀티 태스크 프로그램을 위한 원격 트레이스 디버거

  • 이광용 (한국전자통신연구원 인터넷정보가전연구부) ;
  • 김흥남 (한국전자통신연구원 인터넷정보가전연구부)
  • Published : 2003.04.01

Abstract

With the rapid growth of Internet, many devices such as Web TVs, PDAs and Web phones, begin to be directly connected to the Internet. These devices need real-time operating systems (RTOS) to support complex real-time applications running on them. Development of such real-time applications called embedded internet applications, is difficult due to the lack of adequate tools, especially debuggers. In this paper we present a new tracepoint debugging tool for the Qplus-T RTOS embedded system, which facilitates the instrumentations of the real-time software applications with timing trace-points. Compared with traditional breakpoint debugger, this trace-point debugger provides the ability to dynamically collect and record application data for on-line examination and for further off-line analysis. And, the trace-points can also provide the means for assigning new values to the running application's variables, without neither halting its execution nor interfering with its natural execution flow. Our trace-point debugger provides a highly efficient method for adding numerous monitoring trace-points within a real time target application such as Qplus-T internet applications, utilizing these trace-points to monitor and to analyze the application's behavior while it is running. And also, our trace debugger is different from previous one in that we can specify and detect the timing violations using its RTL (Real-Time Logic) trace experiments.

최근 인터넷의 급속한 성장으로 Web TV, PDA 및 Web phone과 같은 장치들이 인터넷에 연결되기 시작하고 있다. 그러나, 이러한 장치들은 복잡한 실시간 응용 시스템을 지원하기 위해 RTOS와 같은 실시간 운영체제가 필요로 하게 되었으며, 특히, 내장형 인터넷 응용 시스템을 개발하기 위한 디버거 등과 같은 적절한 도구들의 부족으로 개발하는데 어려움을 겪고 있다. 이에, 본 논문에서는 Qplus-T 실시간 운영 체제 내장형 시스템을 위한 새로운 트레이스포인트 디버깅 도구를 제안하다. 이 도구는 타이밍 트레이스포인트들을 이용하여 실시간 응용 소프트웨어의 디버깅을 쉽게 한다. 전통적인 브레이크포인트 디버거에 비해, 이 트레이스포인트 디버거는 온라인 및 오프라인 분석을 위해 응용 프로그램의 데이터를 동적으로 수집하고 기록하는 기능을 제공한다. 그리고, 응용프로그램의 실행을 멈추거나 원래의 실행 속도에 참견이 거의 없이 실행중인 응용프로그램의 변수들에 새로운 값을 할당해 보기 위한 수단으로도 제공된다. 본 논문에서 제시하는 트레이스포인트 디버거는 Qplus-T 인터넷 응용프로그램과 같은 타겟 실시간 응용 프로그램에 수많은 모니터링 트레이스포인트들을 추가하기 위한 효과적인 방법을 제공하며, 실행 중에 응용프로 그램의 행위를 모니터하고 분석하기 위한 트레이스포인트를 설정할 수 있다. 또한, RTL(Real-Time Logic) 표현을 이용하여 타이밍 문제를 명세화하고 검출할 수 있어 기존 트레이스포인트 디버거와는 다르다.

Keywords

References

  1. 김흥남, '사용자개발도구연구,' 정보가전용 실시간 OS컨피런스(RTOS'99)자료집, pp. 178-196, Nov. 17, 19999
  2. Kwangyon Lee, Chaedeok Lim, Kisok Kong and Heung-Nam Kim, 'A Design and Implementation of a Remote Debugging Environment for Embedded Internet Software,' Proceedings of the ACM SIGPLAN 2000 Workshop on Languages Compilers, and Tools for Embedded Systems, Jun. 18, 2000, pp. 105
  3. Kwangyong Lee, Chaedeok Lim, Kisok Kong and Heung-Nam Kim, 'A Design and Implementation of a Remote Debugging Environment for Embedded Internet Software,' Lecture Notes in Computer Science, vol. 1985, Springer-Verlag, 2001, pp. 199-203 https://doi.org/10.1007/3-540-45245-1_13
  4. Hideyuki Tokuda and Makoto Kotera, 'A Real-Time Tool Set for the ARTS Kernel,' Proceedings of Real-Time Systems Symposium, 1988 https://doi.org/10.1109/REAL.1988.51124
  5. T. Yasuda and K. Ueki, 'A Debugging Technique Using Event History,' Proc. of the Conference on Real-Time Computing Systems and Applications, pp. 137-141, 1994
  6. Jack G. Ganssle, 'Debuggers for Modern Embedded Systems,' Embedded Systems Programming, Nov. 1998
  7. Eldad Maniv, 'New Trends in Real-Time Software Debugging,' Real-Time Magazine 99-2(http://www/realtime-info.com), pp. 23-25, 1999
  8. Jonathan B. Rosenberg, How Debuggers Work, John Wiley & Sons, 1996
  9. Mike Loukides and Andy Oram, Programming with GNU Software, O'REILLY, 1997
  10. Michael Snyder and Jim Blandy, 'The Heisenberg Debugging Technology,' http://sources.redhat.com/gdb/talks/esc-west-1999/INTROSPECT.html, 1999
  11. Shem-Tov Levi and Ashok K. Agrawala, Real-Time System Design, 'McGraw-Hill Publishing Company, 1990
  12. Farnam Jahanian and Aloysius K. Mok, 'Safety Analysis of Timing Properties in Real-Time Systems,' IEEE Trans. on Software Engineering, Vol. 12, No. 9, Sep. 1986, pp. 890-904 https://doi.org/10.1109/TSE.1986.6313045
  13. Sarah E. Chodrow, Farnam Jahanian and Marc Donner, 'Run-Time Monitoring of Real-Time Systems,' Monitoring and Debugging of Distributed Real-Time Systems, 1995, pp. 103-112
  14. Sitaram C.V. Raju and Farnam Jahanian, 'Timing Constraints Monitoring in Distributed Real-time Systems,' Monitoring and Debugging of Distributed Real-time Systems, 1995, pp. 356-367
  15. Jeffrey J.P. Tsai, Yao-Dong Bi and Steve Jennhwa Yang, 'Debugging for Timing-Constraint Violations,' IEEE Software, pp. 89-99, 1996 https://doi.org/10.1109/52.506465
  16. Aloysius K. Mok and Guangtian Liu, 'Early Detection of Timing Constraint Violation at Runtime, IEEE, 1997 https://doi.org/10.1109/REAL.1997.641280
  17. Microtec, Spectra Boot and VRTX Real-Time OS, 1996
  18. 이광용, 오영배, 'ToyLotos/Ada:실시간 Ada소프트웨어 개발을 위한 정형적 객체행위 시뮬레이션 시스템,' 한국정보처리학회 논문지, 제6권, 제7호, 한국정보처리학회, 1999. 7, pp. 1789-1804
  19. WindRiver, WindView 2.0, http://www.windriver.com/products/html/windview2.html
  20. WindRiver, pRISM+, http://www.windriver.com/products/html/prism_ds3.html