DOI QR코드

DOI QR Code

인공심장의 예측 가능한 제어를 위한 실시간 소프트웨어 설계 구조의 개선

Architectural Refactoring of Real-Time Software Design for Predictable Controls of Artificial Heart

  • 정세훈 (고려대학교 컴퓨터학과) ;
  • 김희진 (이화여자대학교 컴퓨터공학과) ;
  • 박상수 (이화여자대학교 컴퓨터공학과) ;
  • 차성덕 (고려대학교 정보통신대학)
  • 투고 : 2011.09.20
  • 심사 : 2011.10.07
  • 발행 : 2011.12.31

초록

실시간 소프트웨어 설계 구조 중의 하나인 시간 구동 구조 (TTA: Time-Triggered Architecture)는 미리 정해진 시간에 따라 특정 태스크를 수행하기 때문에 소프트웨어의 동작을 예측하기 쉽지만 이의 적용을 위해서는 시스템의 시간 제약성을 만족시키는 설계 과정이 필수적이다. 반면 이벤트 구동 구조 (ETA: Event-Triggered Architecture)는 외부의 이벤트가 발생함에 따라 대응되는 태스크를 수행하는 방식으로 소프트웨어의 구조가 직관적이고 이벤트에 대한 반응 시간이 빠르며 확장이 용이하다. 그러나 이 구조는 다양한 이벤트 발생 상황에 대한 시스템 동작의 예측이 어려워서 높은 안전도가 필요한 시스템 구현에 많이 사용되고 있지 않다. 많은 관련 연구에서 높은 안전도가 필요한 안전 지향 시스템에 TTA를 적용 할 것을 권장되지만, 실제 구현에 있어서는 이의 적용에 필요한 실시간성 분석에 많은 노력이 소요되고, 소프트웨어 공학기술 적용에 대한 인식 부족으로 TTA의 적용이 많지 않은 실정이다. 본 논문은 인간의 생명과 직결되어 이에 따른 실시간성과 안전성이 요구되는 인공심장 제어 시스템에 내장된 소프트웨어 구조를 TTA 기반으로 개선한 연구를 기술한다. 본 연구에서는 인터럽트 측정 소프트웨어를 구현하여 기존에 내장된 실시간 소프트웨어가 가진 태스크의 시간적 속성을 파악하고 RMA (Rate-Monotonic Analysis) 실시간 분석 기법을 통해 시스템의 실시간성을 만족할 수 있도록 설계를 개선하였다. 또한, 이를 바탕으로 인공심장 제어 소프트웨어의 구현을 개선하여 다양한 실험을 통해 개선된 TTA 기반의 소프트웨어를 탑재한 인공심장 시스템은 시스템의 동작 예측도를 획기적으로 높여주면서 기존의 인공심장 시스템과 동일하게 동작함을 확인하였다.

Time-Triggered Architecture (TTA), one of real-time software design paradigms which executes tasks in timely manner, has long been advocated as being better suited in fore-sighting system behavior than event-triggered architecture (ETA). To gain this valuable feature of TTA, however, precise task designing process is mandatory. Alternatively, ETA tries to execute tasks whenever paired events are occurred. It provides intuitive and flexible basement to add/remove tasks and, moreover, better response time performance. However ETA is difficult to analyze because system behavior might be different depending on the order of interrupts detected by the system. Many previous researches recommended TTA when developing safety-critical real-time systems, but cost problem of task designing process and insufficient consensus for applying rigorous software engineering practice are still challenging in practice. This paper describes software refactoring process which applying TTA approach into ETA based embedded software in artificial heart system. We implemented dedicated interrupt monitoring program to capture existing tasks' real-time characteristics. Based on the captured information, proper task designing process is done. Real-time analysis using RMA (Rate-Monotonic Analysis) verified that new design guarantees timeliness of the system. Empirical experiments revealed that revised design is as efficient, when measured in terms of system's external output, as the old design and enhances predictability of the system behavior as well.

키워드

참고문헌

  1. American Heart Association, Heart disease and stroke statistics 2010 update at-a-glance.
  2. US Department of Health and Human Services, The 2008 annual report of the OPTN and SRTR: heart transplantation.
  3. US Department of Health and Human Services, Organ procurement and transplantation network national data.
  4. Texas Instruments, Inc., "Digital Signal Processors (DSP)", http://www.ti.com/home_tsw_dsp.
  5. Analog Devices, Inc., "Motor and Power Control", http://motorcontrol.analog.com/.
  6. D. Frund, "Toward a formal definition of timing predectability," Talk at Workshop on Reconciling Performance with Predictability, October, 2009.
  7. G. Candea, "Predictable software-a shortcut to dependable computing?," CoRR, 2004.
  8. M. Short, "Development guidelines for dependable real-time embedded systems," Computer Systems and Applications, 2008. AICCSA 2008. IEEE/ACS International Conference on, pp.1032-1039, 31 2008-april 4 2008.
  9. M. Pont, "Patterns for time-triggered embedded systems: Building reliable applications with the 8051 family of microcontrollers," ACM Press/Addison-Wesley Publishing Co., 2001.
  10. A. Albert, "Comparison of event-triggered and time-triggered concepts with regard to distributed control systems," Embedded World, vol.2004, pp.235-252, 2004.
  11. I. Bate, "Scheduling and timing analysis for safety critical real-time systems," UNIVERSITY OF YORK DEPARTMENT OF COMPUTER SCIENCE-PUBLICATIONS-YCST SCIENCEPUBLICATIONS-YCST, 1999.
  12. H. Kopetz, "Event-triggered versus time-triggered real-time systems," Operating Systems of the 90s and Beyond, pp.86- 101, 1991.
  13. G. Jeong, C. Hwang, K. Nam, C. Ahn, J. Lee, J. Choi, and H. Son, "Development of a closed air loop electropenumatic cctuator for driving a penumatic blood pump," Artificial Organs, Vol.33, pp.657-662, 2009. https://doi.org/10.1111/j.1525-1594.2009.00783.x
  14. J. Lee, B. Kim, J. Choi, and C. Ahn, "Optimal pressure regulation of the penumatic ventricular assist device with bellows-type driver," Artificial Organs, Vol.33, pp.627-633, 2009. https://doi.org/10.1111/j.1525-1594.2009.00780.x
  15. C.L. Liu and J. Layland, "Scheduling algorithms for multiprogramming in a hard-real-time environment," Journal of the ACM, Vol.20, No.1, pp.46-61, January, 1973. https://doi.org/10.1145/321738.321743
  16. T. Pop, P. Eles, Z. Peng, "Holistic scheduling and analysis of mixed time/event-triggered distributed embedded systems," CODES '02 Proceedings of the tenth international symposium on Hardware/software codesign, 2002.
  17. A. Albert, "Comparison of Event-Triggered and Time-Triggered Concepts with Regard to Distributed Control Systems," Embedded World, pp.235-252, 2004.
  18. H. Kopetz, A. Damm, C. Koza, M. Mulazzani,W. Schwabl, C. Senft, and R. Zainlinger, "Distributed fault-tolerant real-time systems: the mars approach," Micro, IEEE, Vol.9, No.1, pp.25-40, Feb., 1989. https://doi.org/10.1109/40.16792
  19. K. Sandstrom, C. Eriksson, G. Fohler, "Handling interrupts with static scheduling in an automotive vehicle control system," Fifth International Conference on Real-Time Computing Systems and Applications, pp.158-165, 1998.
  20. G. LeLann, "Critical issues in real-time computing," Proceedings of Workshop on Communication Networks and Distributed Operating Systems within the Space Environment, October, 1989.
  21. Y. Itami, T. Ishigooka, T. Yokoyama, "A Distributed Computing Environment for Embedded Control Systems with Time-Triggered and Event-Triggered Processing," Embedded and Real-Time Computing Systems and Applications, pp.45-54, 2008.
  22. S. Cha, S. Jeong, J. Yoo, and Y. Kim, "Testing of safety-critical software embedded in an artificial heart," Advances in Systems Safety, pp.143-153, 2011. https://doi.org/10.1007/978-0-85729-133-2_9
  23. A. Mok, "The design of real-time programming systems based on process models," Proc. of IEEE Real-Time Systems Symposium, pp.5-17, 1984.
  24. M. Park, "Non-preemptive fixed priority scheduling of hard realtime periodic tasks," Computational Science-ICCS 2007, pp.881-888, 2007.