This Article 
 Bibliographic References 
 Add to: 
A Tool for Analyzing and Fine Tuning the Real-Time Properties of an Embedded System
April 2003 (vol. 29 no. 4)
pp. 311-326
David B. Stewart, IEEE Computer Society

Abstract—This paper describes a computer-aided software engineering (CASE) tool that helps designers analyze and fine-tune the timing properties of their embedded real-time software. Existing CASE tools focus on the software specification and design of embedded systems. However, they provide little, if any, support after the software has been implemented. Even if the developer used a CASE tool to design the system, their system most likely does not meet the specifications on the first try. This paper includes guidelines for implementing analyzable code, profiling a real-time system, filtering and extracting measured data, analyzing the data, and interactively predicting the effect of changes to the real-time system. The tool is a necessary first step towards automating the debugging and fine tuning of an embedded system's temporal properties.

[1] Applied Microsystems Corporation,http:/, 2002.
[2] J.P. Calvez and O. Pasquier, “Performance Monitoring and Assessment of Embedded Hardware/Software Systems,” Design Automation for Embedded Systems, vol. 3, no. 1, pp. 5-22, Jan. 1998.
[3] J.P. Calvez and O. Pasquier, “Real-Time Behavior Monitoring for Multi-Processor Systems,” Microprocessing and Microprogramming, vol. 38, pp. 213-230, 1993.
[4] M. Humphrey and J.A. Stankovic, “CAISARTS: A Tool for Real-Time Scheduling Assistance,” Proc. IEEE Real-Time Technology and Applications Symp., June 1996.
[5] K. Jeffay, D.F. Stanat, and C.U. Martel, “On Non-Preemptive Scheduling of Periodic and Sporadic Tasks,” Proc. Real-Time Systems Symp., pp. 129-139, 1991.
[6] K. Jeffay and D.L. Stone, “Accounting for Interrupt Handling Costs in Dynamic Priority Task Systems,” Proc. IEEE Real-Time System Symp., pp. 212-221, Dec. 1993.
[7] D. Katcher, H. Arakawa, and J. Strosnider, “Bridging the Gap Between Scheduling Theory and Reality,” Proc. 1991 Workshop Architectural Aspects of Real-Time Systems, 1991.
[8] D. Katcher, “Engineering and Analysis of Real-Time Operating Systems,” PhD dissertation, Dept. of Electrical and Computer Eng., Carnegie Mellon Univ., Pittsburgh, Penn., Aug. 1994.
[9] D.I. Katcher, H. Arakawa, and J.K. Strosnider, “Engineering and Analysis of Fixed Priority Schedulers,” IEEE Trans. Software Eng., vol. 19, no. 9, pp. 920–934, Sept. 1993.
[10] K.A. Kettler, D.I. Katcher, and J.K. Strosnider, “A Modeling Methodology for Real-Time/Multimedia Operating Systems,” Proc. Real-Time Technology and Applications Symp., 1995.
[11] J. Lang, “An O(1) Distributed Exception Handling Mechanism for Dynamically Reconfigurable Real-Time Software,” masters thesis (D. Stewart, Advisor), Dept. of Electrical and Computer Eng., Univ. of Maryland, Aug. 1997.
[12] J. Lang and D.B. Stewart, “A Study of the Applicability of Existing Exception-Handling Techniques to Component-Based Real-Time Software Technology,” ACM Trans. Programming Languages and Systems, vol. 20, no. 2, pp. 274-301, Mar. 1998.
[13] J. Lehoczky, L. Sha, and Y. Ding, The Rate Monotonic Scheduling Algorithm: Exact Characterization and Average Case Behavior Proc. IEEE Real-Time Systems Symp., pp. 166-171, 1989.
[14] C.L. Liu and J.W. Layland, “Scheduling Algorithms for Multiprogramming in a Hard Real-Time Environment,” J. ACM, vol. 20, no. 1, pp. 40-61, 1973.
[15] J.W.S. Liu, J.L. Redondo, Z. Deng, T.S. Tia, R. Bettati, A. Silberman, M. Storch, R. Ha, and W.K. Shih, “PERTS: A Prototyping Environment for Real-Time Systems,” Proc. 14th IEEE Real-Time Systems Symp., pp. 184-188, Dec. 1993.
[16] S. O'Reilly, “Debugging Drivers with Emulators and Logic Analyzers,” Embedded Systems Programming, vol. 11, no. 2, pp. 84-95, 1998.
[17] B. Sprunt, L. Sha, and J. Lehoczky, “Aperiodic Task Scheduling for Hard Real-Time Systems,” J. Real-Time Systems, vol. 1, no. 1, pp. 27-60, Nov. 1989.
[18] J. Stankovic, A. Burns, K. Jeffay, M. Jones, G. Koob, I. Lee, J. Lehoczky, J. Liu, A. Mok, K. Ramamritham, J. Ready, L. Sha, and A. van Tilborg, “Strategic Directions in Real-Time and Embedded Systems,” ACM Computing Surveys, vol. 28, no. 4, pp. 751-763, Dec. 1996.
[19] D.B. Stewart, “Software Components for Real-Time,” Embedded Systems Programming, vol. 13, no. 13, pp. 100-138, Dec. 2000.
[20] D.B. Stewart, R.A. Volpe, and P.K. Khosla, Design of Dynamically Reconfigurable Real-Time Software Using Port-Based Objects IEEE Trans. Software Eng., vol. 23, no. 12, pp. 759-776, Dec. 1997.
[21] D.B. Stewart and P.K. Khosla, “Mechanisms for Timing Error Detection and Handling,” Comm. ACM, vol. 40, no. 1, Jan. 1997.
[22] D.B. Stewart and P.K. Khosla, “Policy-Independent RTOS Mechanisms for Timing Error Detection, Handling, and Monitoring,” Proc. IEEE High Assurance Systems Eng. Workshop, Oct. 1996.
[23] D.B. Stewart, “Real-Time Software Design and Analysis of Reconfigurable Multi-Sensor Based Systems,” PhD dissertation, ECE Dept., Carnegie Mellon Univ., Apr. 1994, .
[24] K. Knight and S. Luk, "Building a Large-Scale Knowledge Base for Machine Translation," Proc. Am. Assoc. Artificial Intelligence, AAAI Press, Menlo Park, Calif., 1994.
[25] D.B. Stewart, “Measuring Execution Time and Real-Time Performance,” Proc. Embedded Systems Conf., Apr. 2001.
[26] D.B. Stewart and P.K. Khosla, “Policy-Independent Real-Time Operating System Mechanism for Timing Error Detection, Handling, and Monitoring,” Proc. IEEE Workshop High Assurance Systems Eng., Oct. 1996.
[27] TimeSys Corportation,, 2002.
[28] H. Tokuda and M. Kotera, “A Real-Time Tool Set for the ARTS Kernel,” Proc. Nineth IEEE Real-Time Systems Symp., Dec. 1988.
[29] Wind River Systems,, 2002.
[30] L.C. Wolf, W. Burke, and C. Vogt, “Evaluation of a CPU Scheduling Mechanism for Multimedia Systems,” Software—Practice and Experience, vol. 26, no.4, pp. 375-398, Apr. 1996.

Index Terms:
Real-time systems theory, operating systems, graphical user interface, simulation, aperiodic servers, periodic threads, priority, deadline, timing error, logic analyzer, profiling, performance monitors, in-circuit emulator.
David B. Stewart, Gaurav Arora, "A Tool for Analyzing and Fine Tuning the Real-Time Properties of an Embedded System," IEEE Transactions on Software Engineering, vol. 29, no. 4, pp. 311-326, April 2003, doi:10.1109/TSE.2003.1191796
Usage of this product signifies your acceptance of the Terms of Use.