skip to main content
article
Open Access

A study of the applicability of existing exception-handling techniques to component-based real-time software technology

Published:01 March 1998Publication History
Skip Abstract Section

Abstract

This study focuses on the current state of error-handling technology and concludes with recommendations for further research in error handling for component-based real-time software. With real-time programs growing in size and complexity, the quality and cost of developing and maintaining them are still deep concerns to embedded software industries. Component-based software is a promising approach in reducing development cost while increasing quality and reliability. As with any other real-time software, component-based software needs exception detection and handling mechanisms to satisfy reliability requirements. The current lack of suitable error-handling techniques can make an application composed of reusable software nondeterministic and difficult to understand in the presence of errors.

References

  1. BARNES, J. 1995. Programming in Ada 95. Addison-Wesley, Reading, Mass. Google ScholarGoogle Scholar
  2. BIHARI, T. E. AND GOPINATH, P. 1992. Object-oriented real-time systems: Concepts and examples. IEEE Comput. 25, 12, 25-32. Google ScholarGoogle Scholar
  3. BLACK, D. L., GOLUB, D. B., HAUTH, K., TEVANIAN, A., AND SANZI, R. 1988. The Mach exception handling facility. Tech. Rep. CMU-CS-88-129, School of Computer Science, Carnegie Mellon Univ. Pittsburgh, Pa.Google ScholarGoogle Scholar
  4. BORGIDA, A.1986. Exceptions in object-oriented languages. ACM SIGPLAN Not. 21, 10, 107-119. Google ScholarGoogle Scholar
  5. CAMERON, D., FAUST, P., LENKOV, D., AND MEHTA, M. 1992. A portable implementation of C + + exception handling. In Proceedings of the USENIX C+ + Technical Conference. USENIX, Berkeley, Calif., 225-243.Google ScholarGoogle Scholar
  6. CAMPIONE, M. AND WALRATH, K. 1996. The Java Tutorial: Object-Oriented Programming for the Internet. The Java Series. Addison-Wesley, Reading, Mass. Google ScholarGoogle Scholar
  7. CARDELLI, L., DONAHUE, J., GLASSMAN, L., JORDAN, M., KALSOW, B., AND NELSON, G. 1988. Modula-3 report. Tech. Rep. 31, Systems Research Centre, Digital Equipment Corp., Cupertino, Calif.Google ScholarGoogle Scholar
  8. Cocco, N. AND DULLI, S. 1982. A mechanism for exception handling and its verification rules. Comput. Lang. 7, 2, 89-102.Google ScholarGoogle Scholar
  9. Cox, I. g. AND GEHANI, N.H. 1989. Exception handling in robotics. IEEE Comput. 22, 3, 43-49. Google ScholarGoogle Scholar
  10. CRISTIAN, F. 1982. Exception handling and software fault tolerance. IEEE Trans. Comput. C-31, 6, 531-540.Google ScholarGoogle Scholar
  11. CuI, Q. 1989. Data-oriented exception handling. Ph.D. thesis, Univ. of Maryland. Google ScholarGoogle Scholar
  12. CUSTER, H. 1993. Inside Windows NT. Microsoft Press, Bellevue, Wash. Google ScholarGoogle Scholar
  13. DEPARTMENT OF DEFENSE. 1983. Reference manual for the Ada programming language. MIL-STD 1815A. United States Dept. of Defense, Washington, D.C.Google ScholarGoogle Scholar
  14. DONY, C. 1988. An object-oriented exception handling system for an object-oriented language. In ECOOP '88, European Conference on Object-Oriented Programming. Lecture Notes in Computer Science, vol. 322. Springer-Verlag, New York. Google ScholarGoogle Scholar
  15. DONY, C. 1990. Exception handling and object-oriented programming: Towards a synthesis. ACM SIGPLAN Not. 25, 10, 322-330. Google ScholarGoogle Scholar
  16. ELLIS, M. AND CARROLL, M. 1995. Tradeoffs of exceptions. C+ + Rep. 7, 3, 12 and 14, 16.Google ScholarGoogle Scholar
  17. GAUTHIER, M. 1995. Exception handling in Ada-94: Initial users' requests and final features. ACM SIGADA Ada Lett. 15, 1, 70-82. Google ScholarGoogle Scholar
  18. GEHANI, N. H. 1992. Exceptional C or C with exceptions. Softw. Pract. Exper. 22, 10, 827-848. Google ScholarGoogle Scholar
  19. GERTZ, M. W., MAXION, R. A., AND KHOSLA, P.K. 1995. Visual programming and hypermedia implementation within a distributed laboratory environment. Int. J. Intell. Automat. Soft. Comput. 1, 1, 43-62.Google ScholarGoogle Scholar
  20. GOLDBERG, A. AND ROBSON, D. 1983. Smalltalk-80: The Language and Its Implementation. Addison-Wesley, Reading, Mass. Google ScholarGoogle Scholar
  21. GOODENOUGH, J.B. 1975a. Exception handling: Issues and a proposed notation. Commun. ACM 18, 12, 683-696. Google ScholarGoogle Scholar
  22. GOODENOUGH, J.B. 1975b. Structured exception handling. In Conference Record of the 2nd Annual ACM Symposium on Principles of Programming Languages 204-224. Google ScholarGoogle Scholar
  23. ISHIKAWA, Y., TOKUDA, H., AND MERCER, C. W. 1990. Object-oriented real-time language design: Constructs for timing constraints. In Proceedings of the OOPSLA/ECOOP '90 Conference on Object-Oriented Programming Systems, Languages and Applications. ACM SIGPLAN Not. 25, 10, 289-298. Google ScholarGoogle Scholar
  24. KENNY, K. B. AND LIN, K.-J. 1991. Building flexible real-time systems using the Flex language. IEEE Comput. 24, 5, 70-78. Google ScholarGoogle Scholar
  25. KLIGERMAN, E. AND STOYENKO, A.D. 1986. Real-time Euclid: A language for reliable realtime systems. IEEE Trans. Softw. Eng. 12, 9, 941-949. Google ScholarGoogle Scholar
  26. KNUDSEN, J.L. 1987. Better exception-handling in block-structured systems. IEEE Softw. 4, 3, 40-49.Google ScholarGoogle Scholar
  27. KOENIG, A. AND STROUSTRUP, B. 1990. Exception handling for C++. In C++ Conference Proceedings. USENIX, Berkeley, Calif., 149-176.Google ScholarGoogle Scholar
  28. LEE, P.A. 1983. Exception handling in C programs. Softw. Pract. Exper. 13, 5, 389-405.Google ScholarGoogle Scholar
  29. LEVIN, R. 1977. Program structures for exceptional condition handling. Ph.D. thesis, Carnegie Mellon Univ., Pittsburgh, Pa. Google ScholarGoogle Scholar
  30. LIN, K.-J. AND NATARAJAN, S. 1988. Expressing and maintaining timing constraints in FLEX. In Proceedings of the 9th IEEE Real-time Systems Symposium. IEEE Computer Society Press, Los Alamitos, Calif., 96-105.Google ScholarGoogle Scholar
  31. LINDSAY, B. G. 1977. Exception processing in computer systems. Ph.D. thesis, Univ. of California, Berkeley, Calif. Google ScholarGoogle Scholar
  32. LISKOV, B. H. AND SNYDER, A. 1979. Exception handling in CLU. IEEE Trans. Softw. Eng. SE-5, 6, 546-558.Google ScholarGoogle Scholar
  33. MILNER, R. AND TOFTE, M. 1991. Commentary on Standard ML. MIT Press, Cambridge, Mass. Google ScholarGoogle Scholar
  34. MITCHELL, J. G., MAYBURY, W., AND SWEET, R. 1979. Mesa language manual. Tech. Rep. CSL-79-3, Xerox Palo Alto Research Center, Palo Alto, Calif.Google ScholarGoogle Scholar
  35. MOON, D.A. 1974. MACLISP reference manual. MIT AI Lab., Cambridge, Mass.Google ScholarGoogle Scholar
  36. NACKMAN, L. R. AND TAYLOR, R.H. 1984. A hierarchical exception handler binding mechanism. Softw. Pract. Exper. 14, 10, 999-1003.Google ScholarGoogle Scholar
  37. NIEZGODA, S., HOLT, L., AND WOJCIECH, D. 1993. Some assembly required: NT's structured exception handling: The reality of structured exception handling in Windows NT may not live up to its promise. BYTE 18, 12, 317-322. Google ScholarGoogle Scholar
  38. NOBLE, J. M. 1968. The control of exceptional conditions in PL/I object programs. In Proceedings of the IFIP Congress 68. C78-C88.Google ScholarGoogle Scholar
  39. OUSTERHOUT, J. K. 1980. Partitioning and cooperation in a distributed multiprocessor operating system: Medusa. Ph.D. thesis, Computer Science Dept., Carnegie-Mellon Univ., Pittsburgh, Pa. Google ScholarGoogle Scholar
  40. PAULSON, L. 1991. ML for the Working Programmer. Cambridge University Press, Cambridge, UK. Google ScholarGoogle Scholar
  41. PRADHAN, D.K. 1996. Fault-Tolerant Computer System Design. Prentice-Hall, Upper Saddle River, N.J. Google ScholarGoogle Scholar
  42. RASHID, R. F. AND ROBERTSON, a. a. 1981. Accent: A communication oriented network operating system kernel. In Proceedings of the 8th ACM Symposium on Operating System Principles. ACM, New York, 64-75. Google ScholarGoogle Scholar
  43. ROBERTS, E. S. 1989. Implementing exceptions in C. Tech. Rep. 40, Systems Research Center, Digital Equipment Corp., Cupertino, Calif.Google ScholarGoogle Scholar
  44. SCHNEIDER, S. A., CHEN, V. W., AND PARDO-CASTELLOTE, G. 1995. The ControlShell component-based real-time programming system. In Proceedings of the IEEE Conference on Robotics and Automation. 2381-2388. Google ScholarGoogle Scholar
  45. STANKOVIC, g.A. 1988. Misconceptions about real-time computing--A serious problem for next-generation systems. IEEE Comput. 21, 10, 10-19. Google ScholarGoogle Scholar
  46. STEWART, D.B. 1994. Real-time software design and analysis ofreconfigurable multi-sensor based systems. Ph.D. thesis, Carnegie Mellon Univ., Pittsburgh, Pa. Google ScholarGoogle Scholar
  47. STEWART, D. B. AND KHOSLA, P. K. 1997. Mechanisms for detecting and handling timing errors. Commun. ACM 40, 1, 87-93. Google ScholarGoogle Scholar
  48. STEWART, D. B., SCHMITZ, D. E., AND KHOSLA, P. K. 1992a. The CHIMERA II real-time operating system for advanced sensor-based control applications. IEEE Trans. Syst. Man Cybernet. 22, 6, 1282-1295.Google ScholarGoogle Scholar
  49. STEWART, D. B., VOLPE, R. A., AND KHOSLA, P.K. 1992b. Integration of real-time software modules for reconfigurable sensor-based control systems. In Proceedings of the IEEE/ RSJ International Conference on Intelligent Robots and Systems. IEEE, New York, 325-333.Google ScholarGoogle Scholar
  50. STEWART, D. B., VOLPE, R. A., AND KHOSLA, P.K. 1997. Design of dynamically reconfigurable real-time software using port-based objects. IEEE Trans. Softw. Eng. 23, 12. Google ScholarGoogle Scholar
  51. STRONG, D. M. AND MILLER, S.M. 1995. Exceptions and exception handling in computerized information processes. ACM Trans. Inf. Syst. 13, 2, 206-233. Google ScholarGoogle Scholar
  52. STROUSTRUP, B. 1991. The C++ Programming Language. 2nd ed. Addison-Wesley, Reading, Mass. Google ScholarGoogle Scholar
  53. TANG, L. S. 1992. A comparison of Ada and C++. In Proceedings of the Conference for Industry, Academia and Government. ACM Press, New York, 338-349. Google ScholarGoogle Scholar
  54. TEITELMAN, W. 1974. InterLISP reference manual. Xerox Palo Alto Research Center, Palo Alto, Calif.Google ScholarGoogle Scholar
  55. THEKKATH, C. A. AND LEVY, H. M. 1994. Hardware and software support for efficient exception handling. In Proceedings of the 6th International Conference on Architectural Support for Programming Languages and Operating Systems. 110-119. Google ScholarGoogle Scholar
  56. WANG, T. 1994. Better C: An object-oriented C language with automatic memory manager suitable for interactive applications. ACM SIGPLAN Not. 29, 12, 104-111. Google ScholarGoogle Scholar
  57. WEINREB, D. AND MOON, D.A. 1981. LISP machine manual. 4th ed. MIT AI Lab., Cambridge, Mass. Google ScholarGoogle Scholar
  58. WILENSKY, R. 1984. Common LISPcraft. Norton. Google ScholarGoogle Scholar
  59. WOLFE, V., DAVIDSON, S., AND LEE, I. 1991. RTC: Language support for real-time concurrency. In Proceedings of the Real-Time Systems Symposium--1991. IEEE Computer Society Press, Los Alamitos, Calif., 43-52.Google ScholarGoogle Scholar
  60. YEMINI, S. AND BERRY, D. M. 1985. A modular verifiable exception-handling mechanism. A CM Trans. Program. Lang. Syst. 7, 2, 214-243. Google ScholarGoogle Scholar

Index Terms

  1. A study of the applicability of existing exception-handling techniques to component-based real-time software technology

                        Recommendations

                        Comments

                        Login options

                        Check if you have access through your login credentials or your institution to get full access on this article.

                        Sign in

                        Full Access

                        PDF Format

                        View or Download as a PDF file.

                        PDF

                        eReader

                        View online with eReader.

                        eReader