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.
- BARNES, J. 1995. Programming in Ada 95. Addison-Wesley, Reading, Mass. Google Scholar
- BIHARI, T. E. AND GOPINATH, P. 1992. Object-oriented real-time systems: Concepts and examples. IEEE Comput. 25, 12, 25-32. Google Scholar
- 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 Scholar
- BORGIDA, A.1986. Exceptions in object-oriented languages. ACM SIGPLAN Not. 21, 10, 107-119. Google Scholar
- 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 Scholar
- CAMPIONE, M. AND WALRATH, K. 1996. The Java Tutorial: Object-Oriented Programming for the Internet. The Java Series. Addison-Wesley, Reading, Mass. Google Scholar
- 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 Scholar
- Cocco, N. AND DULLI, S. 1982. A mechanism for exception handling and its verification rules. Comput. Lang. 7, 2, 89-102.Google Scholar
- Cox, I. g. AND GEHANI, N.H. 1989. Exception handling in robotics. IEEE Comput. 22, 3, 43-49. Google Scholar
- CRISTIAN, F. 1982. Exception handling and software fault tolerance. IEEE Trans. Comput. C-31, 6, 531-540.Google Scholar
- CuI, Q. 1989. Data-oriented exception handling. Ph.D. thesis, Univ. of Maryland. Google Scholar
- CUSTER, H. 1993. Inside Windows NT. Microsoft Press, Bellevue, Wash. Google Scholar
- DEPARTMENT OF DEFENSE. 1983. Reference manual for the Ada programming language. MIL-STD 1815A. United States Dept. of Defense, Washington, D.C.Google Scholar
- 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 Scholar
- DONY, C. 1990. Exception handling and object-oriented programming: Towards a synthesis. ACM SIGPLAN Not. 25, 10, 322-330. Google Scholar
- ELLIS, M. AND CARROLL, M. 1995. Tradeoffs of exceptions. C+ + Rep. 7, 3, 12 and 14, 16.Google Scholar
- GAUTHIER, M. 1995. Exception handling in Ada-94: Initial users' requests and final features. ACM SIGADA Ada Lett. 15, 1, 70-82. Google Scholar
- GEHANI, N. H. 1992. Exceptional C or C with exceptions. Softw. Pract. Exper. 22, 10, 827-848. Google Scholar
- 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 Scholar
- GOLDBERG, A. AND ROBSON, D. 1983. Smalltalk-80: The Language and Its Implementation. Addison-Wesley, Reading, Mass. Google Scholar
- GOODENOUGH, J.B. 1975a. Exception handling: Issues and a proposed notation. Commun. ACM 18, 12, 683-696. Google Scholar
- GOODENOUGH, J.B. 1975b. Structured exception handling. In Conference Record of the 2nd Annual ACM Symposium on Principles of Programming Languages 204-224. Google Scholar
- 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 Scholar
- KENNY, K. B. AND LIN, K.-J. 1991. Building flexible real-time systems using the Flex language. IEEE Comput. 24, 5, 70-78. Google Scholar
- 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 Scholar
- KNUDSEN, J.L. 1987. Better exception-handling in block-structured systems. IEEE Softw. 4, 3, 40-49.Google Scholar
- KOENIG, A. AND STROUSTRUP, B. 1990. Exception handling for C++. In C++ Conference Proceedings. USENIX, Berkeley, Calif., 149-176.Google Scholar
- LEE, P.A. 1983. Exception handling in C programs. Softw. Pract. Exper. 13, 5, 389-405.Google Scholar
- LEVIN, R. 1977. Program structures for exceptional condition handling. Ph.D. thesis, Carnegie Mellon Univ., Pittsburgh, Pa. Google Scholar
- 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 Scholar
- LINDSAY, B. G. 1977. Exception processing in computer systems. Ph.D. thesis, Univ. of California, Berkeley, Calif. Google Scholar
- LISKOV, B. H. AND SNYDER, A. 1979. Exception handling in CLU. IEEE Trans. Softw. Eng. SE-5, 6, 546-558.Google Scholar
- MILNER, R. AND TOFTE, M. 1991. Commentary on Standard ML. MIT Press, Cambridge, Mass. Google Scholar
- 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 Scholar
- MOON, D.A. 1974. MACLISP reference manual. MIT AI Lab., Cambridge, Mass.Google Scholar
- NACKMAN, L. R. AND TAYLOR, R.H. 1984. A hierarchical exception handler binding mechanism. Softw. Pract. Exper. 14, 10, 999-1003.Google Scholar
- 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 Scholar
- NOBLE, J. M. 1968. The control of exceptional conditions in PL/I object programs. In Proceedings of the IFIP Congress 68. C78-C88.Google Scholar
- 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 Scholar
- PAULSON, L. 1991. ML for the Working Programmer. Cambridge University Press, Cambridge, UK. Google Scholar
- PRADHAN, D.K. 1996. Fault-Tolerant Computer System Design. Prentice-Hall, Upper Saddle River, N.J. Google Scholar
- 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 Scholar
- ROBERTS, E. S. 1989. Implementing exceptions in C. Tech. Rep. 40, Systems Research Center, Digital Equipment Corp., Cupertino, Calif.Google Scholar
- 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 Scholar
- STANKOVIC, g.A. 1988. Misconceptions about real-time computing--A serious problem for next-generation systems. IEEE Comput. 21, 10, 10-19. Google Scholar
- STEWART, D.B. 1994. Real-time software design and analysis ofreconfigurable multi-sensor based systems. Ph.D. thesis, Carnegie Mellon Univ., Pittsburgh, Pa. Google Scholar
- STEWART, D. B. AND KHOSLA, P. K. 1997. Mechanisms for detecting and handling timing errors. Commun. ACM 40, 1, 87-93. Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- STROUSTRUP, B. 1991. The C++ Programming Language. 2nd ed. Addison-Wesley, Reading, Mass. Google Scholar
- 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 Scholar
- TEITELMAN, W. 1974. InterLISP reference manual. Xerox Palo Alto Research Center, Palo Alto, Calif.Google Scholar
- 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 Scholar
- 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 Scholar
- WEINREB, D. AND MOON, D.A. 1981. LISP machine manual. 4th ed. MIT AI Lab., Cambridge, Mass. Google Scholar
- WILENSKY, R. 1984. Common LISPcraft. Norton. Google Scholar
- 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 Scholar
- YEMINI, S. AND BERRY, D. M. 1985. A modular verifiable exception-handling mechanism. A CM Trans. Program. Lang. Syst. 7, 2, 214-243. Google Scholar
Index Terms
- A study of the applicability of existing exception-handling techniques to component-based real-time software technology
Recommendations
Software release management for component-based software
Software release management is the process through which software is made available to and obtained by its users. Until now, this process has been relatively straightforward. However, the emergence of component-based software is complicating software ...
Some observations on software processes for CBSE
Component-based development (CBD), an approach to develop a software system with the help of reusable software components, has its own challenges because its parallel development process, coding style, system life cycle, etc. are required to be ...
Towards architecture-level middleware-enabled exception handling of component-based systems
CBSE '11: Proceedings of the 14th international ACM Sigsoft symposium on Component based software engineeringException handling is a practical and important way to improve the availability and reliability of a component-based system. The classical code-level exception handling approach is usually applied to the inside of a component, while some exceptions can ...
Comments