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

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]  George Candea,et al.  Predictable Software - A Shortcut to Dependable Computing? , 2004, ArXiv.

[2]  Chung Laung Liu,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[3]  Jaesoon Choi,et al.  Optimal pressure regulation of the pneumatic ventricular assist device with bellows-type driver. , 2009, Artificial organs.

[4]  Hermann Kopetz,et al.  Event-Triggered Versus Time-Triggered Real-Time Systems , 1991, Operating Systems of the 90s and Beyond.

[5]  Takanori Yokoyama,et al.  A Distributed Computing Environment for Embedded Control Systems with Time-Triggered and Event-Triggered Processing , 2008, 2008 14th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications.

[6]  Petru Eles,et al.  Holistic scheduling and analysis of mixed time/event-triggered distributed embedded systems , 2002, Proceedings of the Tenth International Symposium on Hardware/Software Codesign. CODES 2002 (IEEE Cat. No.02TH8627).

[7]  Young-Gab Kim,et al.  Testing of Safety-Critical Software Embedded in an Artificial Heart , 2011, SSS.

[8]  Jung Joo Lee,et al.  Development of a closed air loop electropneumatic actuator for driving a pneumatic blood pump. , 2009, Artificial organs.

[9]  Michael Short Development guidelines for dependable real-time embedded systems , 2008, 2008 IEEE/ACS International Conference on Computer Systems and Applications.

[10]  Gerhard Fohler,et al.  Handling interrupts with static scheduling in an automotive vehicle control system , 1998, Proceedings Fifth International Conference on Real-Time Computing Systems and Applications (Cat. No.98EX236).

[11]  Michael J. Pont Patterns for Time-Triggered Embedded Systems: Building Reliable Applications with the 8051 Family of Microcontrollers , 2001 .

[12]  Hermann Kopetz,et al.  Distributed fault-tolerant real-time systems: the Mars approach , 1989, IEEE Micro.

[13]  Robert Bosch,et al.  Comparison of Event-Triggered and Time-Triggered Concepts with Regard to Distributed Control Systems , 2004 .