State restoration in Ada 95: a portable approach to supporting software fault tolerance
Studies indicate that techniques for tolerating hardware faults are so effective that software design errors are the leading cause of all faults encountered. To handle these unanticipated software faults, two main approaches have been proposed: N-version programming and recovery blocks. Both are bas...
Saved in:
Published in | The Journal of systems and software Vol. 50; no. 3; pp. 237 - 255 |
---|---|
Main Authors | , |
Format | Journal Article |
Language | English |
Published |
New York
Elsevier Inc
15.03.2000
Elsevier Sequoia S.A |
Subjects | |
Online Access | Get full text |
Cover
Loading…
Abstract | Studies indicate that techniques for tolerating hardware faults are so effective that software
design
errors are the leading cause of all faults encountered. To handle these
unanticipated software faults, two main approaches have been proposed:
N-version
programming and
recovery
blocks. Both are based on the concept of
design
diversity: the assumption that different designs will exhibit different faults (if any) for the same inputs and will, therefore, provide alternatives for each other. Both approaches have advantages, but this paper focuses upon recovery blocks; specifically, the requirement to save and restore application state. Judicious saving of state has been described as “checkpointing” for over a decade. Using the object-oriented features of the revised Ada language (Ada 95) – a language widely used in this domain – we present three portable implementations of a checkpointing facility and discuss the trade-offs offered by each. Results of the implementation of these mechanisms are used to highlight both the strengths and weaknesses of some of the object-oriented features of Ada. We then show a reusable implementation of recovery blocks illustrating the checkpointing schemes. A performance analysis is made and measurements are presented in support of the analysis. |
---|---|
AbstractList | Studies indicate that techniques for tolerating hardware faults are so effective that software design errors are the leading cause of all faults encountered. To handle these unanticipated software faults, two main approaches have been proposed: N-version programming and recovery blocks. Both are based on the concept of design diversity: the assumption that different designs will exhibit different faults (if any) for the same inputs and will, therefore, provide alternatives for each other. Both approaches have advantages, but this paper focuses upon recovery blocks; specifically, the requirement to save and restore application state. Judicious saving of state has been described as `checkpointing' for over a decade. Using the object-oriented features of the revised Ada language (Ada 95) - a language widely used in this domain - we present three portable implementations of a checkpointing facility and discuss the trade-offs offered by each. Results of the implementation of these mechanisms are used to highlight both the strengths and weaknesses of some of the object-oriented features of Ada. We then show a reusable implementation of recovery blocks illustrating the checkpointing schemes. A performance analysis is made and measurements are presented in support of the analysis. Studies indicate that techniques for tolerating hardware faults are so effective that software design errors are the leading cause of all faults encountered. To handle these unanticipated software faults, two main approaches have been proposed: N-version programming and recovery blocks. Both are based on the concept of design diversity: the assumption that different designs will exhibit different faults (if any) for the same inputs and will, therefore, provide alternatives for each other. Both approaches have advantages, but this paper focuses upon recovery blocks; specifically, the requirement to save and restore application state. Judicious saving of state has been described as “checkpointing” for over a decade. Using the object-oriented features of the revised Ada language (Ada 95) – a language widely used in this domain – we present three portable implementations of a checkpointing facility and discuss the trade-offs offered by each. Results of the implementation of these mechanisms are used to highlight both the strengths and weaknesses of some of the object-oriented features of Ada. We then show a reusable implementation of recovery blocks illustrating the checkpointing schemes. A performance analysis is made and measurements are presented in support of the analysis. Studies indicate that techniques for tolerating hardware faults are so effective that software design errors are the leading cause of faults encountered. To handle these unanticipated software faults, two main approaches have been proposed: N-version programming and recovery blocks. This paper focuses upon recovery blocks; specifically, the requirement to save and restore application state. Judicious saving of state has been described as checkpointing for over a decade. Using the object-oriented features of the revised Ada language three portable implementations of a checkpointing facility are presented and the trade-offs offered by each are discussed. Results of the implementation of these mechanisms are used to highlight both the strengths and weaknesses of some of the object-oriented features of Ada. A reusable implementation of recovery blocks illustrating the checkpointing schemes is then shown. A performance analysis is made and measurements are presented in support of the analysis. |
Author | Rogers, P. Wellings, A.J. |
Author_xml | – sequence: 1 givenname: P. surname: Rogers fullname: Rogers, P. email: progers@acm.org – sequence: 2 givenname: A.J. surname: Wellings fullname: Wellings, A.J. email: andy@cs.york.ac.uk |
BookMark | eNqFkM9LHTEQgENR6NP6Jwihh6KHrUn2Rza9FHmoFQQPT_EYZpNJG1k32yRb8b83z1d66MXLDMx8M8x8B2RvChMScszZV854d7Ypoam44OJEqVPGOGNV84GseC_rUhb9Hln9Qz6Sg5QeGWNSMLEiD5sMGWnElEOE7MNE_UTPLVDVfqNA5xAzDCNSmOcYwPyiOdC0zNu6n37SFFx-hojUwTLm0hwxwmTwE9l3MCY8-psPyf3lxd36R3Vze3W9Pr-pTN21uRK2cdZBIxwMpqt7JyVHZEwYrho7KGeUGuoWLHfAjABu1eBa2cieW9krVh-SL7u95brfS_lCP_lkcBxhwrAkLaQUneJtAT__Bz6GJU7lNi2EajtRc1mgdgeZGFKK6PQc_RPEF82Z3rrWb671VqRWSr-51k2Z-76bw_LqH49RJ-OxaLA-osnaBv_OhldeHofq |
CODEN | JSSODM |
CitedBy_id | crossref_primary_10_1145_568965_568966 |
Cites_doi | 10.21236/ADA301073 10.1109/TC.1980.1675618 10.1109/12.24266 10.1109/32.585500 10.1109/32.44387 10.1145/240678.240688 10.1016/S1383-7621(97)00029-5 10.1109/TSE.1983.237017 10.1109/TSE.1975.6312842 10.1145/7474.7528 10.1109/TSE.1986.6312919 10.1109/32.83905 10.1109/TSE.1986.6312984 10.1007/978-3-642-79789-7_6 10.1109/MC.1984.1659219 10.1109/TC.1976.1674598 10.1049/sej.1995.0027 10.1109/FTCS.1988.5291 10.1007/978-3-7091-9198-9_10 10.1007/BFb0029359 10.1007/3-540-63114-3_23 |
ContentType | Journal Article |
Copyright | 2000 Elsevier Science Inc. Copyright Elsevier Sequoia S.A. Mar 15, 2000 |
Copyright_xml | – notice: 2000 Elsevier Science Inc. – notice: Copyright Elsevier Sequoia S.A. Mar 15, 2000 |
DBID | AAYXX CITATION 7SC 8FD JQ2 L7M L~C L~D |
DOI | 10.1016/S0164-1212(99)00100-4 |
DatabaseName | CrossRef Computer and Information Systems Abstracts Technology Research Database ProQuest Computer Science Collection Advanced Technologies Database with Aerospace Computer and Information Systems Abstracts Academic Computer and Information Systems Abstracts Professional |
DatabaseTitle | CrossRef Computer and Information Systems Abstracts Technology Research Database Computer and Information Systems Abstracts – Academic Advanced Technologies Database with Aerospace ProQuest Computer Science Collection Computer and Information Systems Abstracts Professional |
DatabaseTitleList | Computer and Information Systems Abstracts Computer and Information Systems Abstracts |
DeliveryMethod | fulltext_linktorsrc |
Discipline | Computer Science |
EISSN | 1873-1228 |
EndPage | 255 |
ExternalDocumentID | 51898724 10_1016_S0164_1212_99_00100_4 S0164121299001004 |
Genre | General Information |
GroupedDBID | --K --M -~X .DC .~1 0R~ 1B1 1~. 1~5 29L 4.4 457 4G. 5GY 5VS 7-5 71M 8P~ 9JN 9M8 AABNK AACTN AAEDT AAEDW AAIKJ AAKOC AALRI AAOAW AAQFI AAQXK AAXUO AAYFN AAYOK ABBOA ABEFU ABFNM ABFRF ABFSI ABJNI ABMAC ABTAH ABXDB ABYKQ ACDAQ ACGFO ACGFS ACGOD ACNNM ACRLP ACZNC ADBBV ADEZE ADHUB ADJOM ADMUD AEBSH AEFWE AEKER AENEX AFKWA AFTJW AGHFR AGUBO AGYEJ AHHHB AHZHX AI. AIALX AIEXJ AIKHN AITUG AJBFU AJOXV ALMA_UNASSIGNED_HOLDINGS AMFUW AMRAJ AOUOD ASPBG AVWKF AXJTR AZFZN BKOJK BKOMP BLXMC CS3 DU5 E.L EBS EFJIC EFLBG EJD EO8 EO9 EP2 EP3 FDB FEDTE FGOYB FIRID FNPLU FYGXN G-Q G8K GBLVA GBOLZ HLZ HVGLF HZ~ IHE J1W KOM LG9 M41 MO0 MS~ N9A O-L O9- OAUVE OZT P-8 P-9 P2P PC. PQQKQ Q38 R2- RIG RNS ROL RPZ RXW SBC SDF SDG SDP SES SEW SPC SPCBC SSV SSZ T5K TAE TN5 TWZ UHS UNMZH VH1 WUQ XPP ZMT ZY4 ~G- AAXKI AAYXX AFJKZ AKRWK CITATION 7SC 8FD JQ2 L7M L~C L~D ABDPE |
ID | FETCH-LOGICAL-c365t-2d4fdfa42fabc638f771ee002c194db9fc99b35ad1fa0c2a1d9bf574781d78903 |
IEDL.DBID | .~1 |
ISSN | 0164-1212 |
IngestDate | Fri Oct 25 21:53:54 EDT 2024 Thu Oct 10 20:46:53 EDT 2024 Thu Sep 26 17:43:26 EDT 2024 Fri Feb 23 02:34:14 EST 2024 |
IsPeerReviewed | true |
IsScholarly | true |
Issue | 3 |
Language | English |
LinkModel | DirectLink |
MergedId | FETCHMERGED-LOGICAL-c365t-2d4fdfa42fabc638f771ee002c194db9fc99b35ad1fa0c2a1d9bf574781d78903 |
Notes | ObjectType-Article-2 SourceType-Scholarly Journals-1 ObjectType-Feature-1 content type line 23 |
PQID | 229562317 |
PQPubID | 45802 |
PageCount | 19 |
ParticipantIDs | proquest_miscellaneous_27726915 proquest_journals_229562317 crossref_primary_10_1016_S0164_1212_99_00100_4 elsevier_sciencedirect_doi_10_1016_S0164_1212_99_00100_4 |
PublicationCentury | 2000 |
PublicationDate | 2000-03-15 |
PublicationDateYYYYMMDD | 2000-03-15 |
PublicationDate_xml | – month: 03 year: 2000 text: 2000-03-15 day: 15 |
PublicationDecade | 2000 |
PublicationPlace | New York |
PublicationPlace_xml | – name: New York |
PublicationTitle | The Journal of systems and software |
PublicationYear | 2000 |
Publisher | Elsevier Inc Elsevier Sequoia S.A |
Publisher_xml | – name: Elsevier Inc – name: Elsevier Sequoia S.A |
References | Kim, Welch (BIB18) 1989; 38 Barnes (BIB6) 1995 SPC, 1995. Ada 95 Quality and Style: Guidelines for Professional Programmers. SPC-94093-CMC, Software Productivity Consortium, Herndon, VA Hecht, Hecht (BIB13) 1986; 12 Intermetrics, 1995. Ada 95 Reference Manual, ANSI/ISO/IEC-8652:1995, International Organization for Standardization (ISO) Rubira-Calsavara, Stroud (BIB29) 1994; 1 Avizienis, Kelly (BIB4) 1984; 17 Anderson, T., Lee, P.A., 1981. Fault Tolerance Principles and Practice. Prentice-Hall, Englewood Cliffs, NJ Anderson, Knight (BIB1) 1983; 9 Romanovsky, A., 1997. A Study of Atomic Action Schemes Intended for Standard Ada, Technical Report 600, Computer Science Department, University of Newcastle upon Tyne, Newcastle upon Tyne, UK Cohen, N., 1996. Ada as a Second Language, 2nd ed. McGraw-Hill, New York Avizienis (BIB3) 1976; 25 Gray, J., 1986. Why do computers stop and what can be done about it? In: Proceedings of the IEEE Fifth Symposium on Reliability in Distributed Software and Database Systems, pp. 3–12 Randell (BIB23) 1975; 1 Lee, Gahani, Heron (BIB20) 1980; 29 Leveson (BIB21) 1986; 18 Randell, B., Romanovsky, A., Rubira, C., Stroud, R., Wu, Z., Xu, J., 1995. From recovery blocks to concurrent atomic actions. In: Randell, B., Laprie, J.-C., Kopetz, H., Littlewood, B. (Eds.), Predictably Dependable Computing Systems. Springer, Berlin, pp. 87–101 Horning, J.J., Lauer, H.C., Melliar-Smith, P.M., Randell, B., 1974. A program structure for error detection and recovery. In: Gelenbe, E., Kaiser, C. (Eds.), Lecture Notes In Computer Science, vol. 6. Springer, Berlin, pp. 171–187 Campbell, Randell (BIB8) 1986; 12 Kermarrec, Y., Nana, L., Pautet, L., 1996. Providing fault-tolerant services to distributed Ada95 applications. In: Proceedings of the ACM TRI-Ada'96, Philadelphia, Pennsylvania, USA, pp. 39–47 Wellings, Burns (BIB31) 1997; 23 Romanovsky, Strigini (BIB28) 1995; 10 Randell, B., Romanovsky, A., Stroud, R.J., Xu, J., Zorzo, A.F., 1997. Coordinated Atomic Actions: from Concept to Implementation. Technical Report 595, Computer Science Dept., University of Newcastle upon Tyne, Newcastle upon Tyne, UK Xu, J., Randell, B., Romanovsky, A., Rubira, C., Stroud, R., Wu, Z., 1995. Fault tolerance in concurrent object-oriented software through coordinated error recovery. In: Proceedings of the IEEE 25th Annual International Symposium on Fault Tolerant Computing (FTCS), Pasadena, California, pp. 499–508 Eckhardt, Caglayan, Knight, Lee, McAllister, Vouk, Kelly (BIB11) 1991; 17 Knight, J.C., Leveson, N.G., St. Jean, L.D., 1985. A large scale experiment in N-version programming. In: Proceedings of the IEEE Fifteenth Annual International Symposium on Fault Tolerant Computing (FTCS), Michigan, USA, pp. 135–139 Kim, K.H., 1995. The distributed recovery block scheme. In: Lyu, M. (Ed.), Software Fault Tolerance, vol. 3, Trends In Software. Wiley, New York, pp. 189–210 Avizienis, A., Lyu, M., Schutz, W., 1988. Multi-Version Software Development: A UCLA/Honeywell Joint Project for Fault-Tolerant Flight Control Systems. Technical Report CSD-880034, Department of Computer Science, University of California, Los Angeles, USA Cristian, F., 1979. A recovery mechanism for modular software. In: Proceedings of the IEEE Fourth International Conference on Software Engineering, Munich, 42-50A Brilliant, Knight, Leveson (BIB7) 1990; 16 Lyu, M., Avizienis, A., 1992. Assuring design diversity in N-version software: a design paradigm for N-version programming. In: Dependable Computing and Fault Tolerant Systems. Springer, Berlin, pp. 197–218 Romanovsky, A., Mitchell, S., Wellings, A., 1997. On programming atomic actions in Ada 95. In: Ada Europe, vol. 1251, Lecture Notes in Computer Science. Springer, Berlin, pp. 254–265 Anderson (10.1016/S0164-1212(99)00100-4_BIB1) 1983; 9 Eckhardt (10.1016/S0164-1212(99)00100-4_BIB11) 1991; 17 Romanovsky (10.1016/S0164-1212(99)00100-4_BIB28) 1995; 10 10.1016/S0164-1212(99)00100-4_BIB12 Kim (10.1016/S0164-1212(99)00100-4_BIB18) 1989; 38 10.1016/S0164-1212(99)00100-4_BIB10 10.1016/S0164-1212(99)00100-4_BIB32 10.1016/S0164-1212(99)00100-4_BIB16 Barnes (10.1016/S0164-1212(99)00100-4_BIB6) 1995 10.1016/S0164-1212(99)00100-4_BIB15 10.1016/S0164-1212(99)00100-4_BIB14 Lee (10.1016/S0164-1212(99)00100-4_BIB20) 1980; 29 Randell (10.1016/S0164-1212(99)00100-4_BIB23) 1975; 1 10.1016/S0164-1212(99)00100-4_BIB30 Campbell (10.1016/S0164-1212(99)00100-4_BIB8) 1986; 12 Rubira-Calsavara (10.1016/S0164-1212(99)00100-4_BIB29) 1994; 1 Avizienis (10.1016/S0164-1212(99)00100-4_BIB3) 1976; 25 Wellings (10.1016/S0164-1212(99)00100-4_BIB31) 1997; 23 10.1016/S0164-1212(99)00100-4_BIB5 10.1016/S0164-1212(99)00100-4_BIB19 10.1016/S0164-1212(99)00100-4_BIB2 Avizienis (10.1016/S0164-1212(99)00100-4_BIB4) 1984; 17 10.1016/S0164-1212(99)00100-4_BIB17 Leveson (10.1016/S0164-1212(99)00100-4_BIB21) 1986; 18 10.1016/S0164-1212(99)00100-4_BIB9 10.1016/S0164-1212(99)00100-4_BIB22 Brilliant (10.1016/S0164-1212(99)00100-4_BIB7) 1990; 16 10.1016/S0164-1212(99)00100-4_BIB27 10.1016/S0164-1212(99)00100-4_BIB26 10.1016/S0164-1212(99)00100-4_BIB25 10.1016/S0164-1212(99)00100-4_BIB24 Hecht (10.1016/S0164-1212(99)00100-4_BIB13) 1986; 12 |
References_xml | – volume: 38 start-page: 626 year: 1989 end-page: 636 ident: BIB18 article-title: Distributed execution of recovery blocks: an approach for uniform treatment of hardware and software faults in real-time applications publication-title: IEEE Transactions on Computers contributor: fullname: Welch – volume: 1 start-page: 220 year: 1975 end-page: 232 ident: BIB23 article-title: System structure for software fault tolerance publication-title: IEEE Transactions on Software Engineering contributor: fullname: Randell – volume: 1 start-page: 61 year: 1994 end-page: 86 ident: BIB29 article-title: Forward and backward error recovery in C++ publication-title: Object-Oriented Systems contributor: fullname: Stroud – volume: 12 start-page: 811 year: 1986 end-page: 826 ident: BIB8 article-title: Error recovery in asynchronous systems publication-title: IEEE Transactions on Software Engineering contributor: fullname: Randell – volume: 25 start-page: 1304 year: 1976 end-page: 1312 ident: BIB3 article-title: Fault tolerant systems publication-title: IEEE Transactions on Computers contributor: fullname: Avizienis – volume: 12 start-page: 51 year: 1986 end-page: 58 ident: BIB13 article-title: Software reliability in the systems context publication-title: IEEE Transactions on Software Engineering contributor: fullname: Hecht – volume: 17 start-page: 692 year: 1991 end-page: 702 ident: BIB11 article-title: An experimental evaluation of software redundancy as a strategy for improving reliability publication-title: IEEE Transactions on Software Engineering contributor: fullname: Kelly – volume: 9 start-page: 355 year: 1983 end-page: 364 ident: BIB1 article-title: A framework for software fault tolerance in real-time systems publication-title: IEEE Transactions on Software Engineering contributor: fullname: Knight – year: 1995 ident: BIB6 publication-title: Programming in Ada 95 contributor: fullname: Barnes – volume: 23 start-page: 107 year: 1997 end-page: 123 ident: BIB31 article-title: Implementing atomic actions in Ada 95 publication-title: IEEE Transactions on Software Engineering contributor: fullname: Burns – volume: 17 start-page: 67 year: 1984 end-page: 80 ident: BIB4 article-title: Fault tolerance by design diversity: concepts and experiments publication-title: IEEE Computer contributor: fullname: Kelly – volume: 18 start-page: 125 year: 1986 end-page: 163 ident: BIB21 article-title: Software safety: why, what and how publication-title: ACM Computing Surveys contributor: fullname: Leveson – volume: 10 start-page: 219 year: 1995 end-page: 232 ident: BIB28 article-title: Backward error recovery via conversations in ada publication-title: Software Engineering Journal contributor: fullname: Strigini – volume: 16 start-page: 238 year: 1990 end-page: 247 ident: BIB7 article-title: Analysis of faults in an N-version software experiment publication-title: IEEE Transactions on Software Engineering contributor: fullname: Leveson – volume: 29 start-page: 546 year: 1980 end-page: 549 ident: BIB20 article-title: A recovery cache for the PDP-11 publication-title: IEEE Transactions on Computers contributor: fullname: Heron – ident: 10.1016/S0164-1212(99)00100-4_BIB30 doi: 10.21236/ADA301073 – ident: 10.1016/S0164-1212(99)00100-4_BIB9 – ident: 10.1016/S0164-1212(99)00100-4_BIB32 – volume: 29 start-page: 546 issue: 6 year: 1980 ident: 10.1016/S0164-1212(99)00100-4_BIB20 article-title: A recovery cache for the PDP-11 publication-title: IEEE Transactions on Computers doi: 10.1109/TC.1980.1675618 contributor: fullname: Lee – ident: 10.1016/S0164-1212(99)00100-4_BIB15 – ident: 10.1016/S0164-1212(99)00100-4_BIB17 – ident: 10.1016/S0164-1212(99)00100-4_BIB19 – volume: 38 start-page: 626 issue: 5 year: 1989 ident: 10.1016/S0164-1212(99)00100-4_BIB18 article-title: Distributed execution of recovery blocks: an approach for uniform treatment of hardware and software faults in real-time applications publication-title: IEEE Transactions on Computers doi: 10.1109/12.24266 contributor: fullname: Kim – volume: 23 start-page: 107 issue: 2 year: 1997 ident: 10.1016/S0164-1212(99)00100-4_BIB31 article-title: Implementing atomic actions in Ada 95 publication-title: IEEE Transactions on Software Engineering doi: 10.1109/32.585500 contributor: fullname: Wellings – year: 1995 ident: 10.1016/S0164-1212(99)00100-4_BIB6 contributor: fullname: Barnes – volume: 16 start-page: 238 issue: 2 year: 1990 ident: 10.1016/S0164-1212(99)00100-4_BIB7 article-title: Analysis of faults in an N-version software experiment publication-title: IEEE Transactions on Software Engineering doi: 10.1109/32.44387 contributor: fullname: Brilliant – ident: 10.1016/S0164-1212(99)00100-4_BIB16 doi: 10.1145/240678.240688 – ident: 10.1016/S0164-1212(99)00100-4_BIB25 doi: 10.1016/S1383-7621(97)00029-5 – volume: 9 start-page: 355 issue: 3 year: 1983 ident: 10.1016/S0164-1212(99)00100-4_BIB1 article-title: A framework for software fault tolerance in real-time systems publication-title: IEEE Transactions on Software Engineering doi: 10.1109/TSE.1983.237017 contributor: fullname: Anderson – volume: 1 start-page: 220 issue: 2 year: 1975 ident: 10.1016/S0164-1212(99)00100-4_BIB23 article-title: System structure for software fault tolerance publication-title: IEEE Transactions on Software Engineering doi: 10.1109/TSE.1975.6312842 contributor: fullname: Randell – volume: 18 start-page: 125 issue: 2 year: 1986 ident: 10.1016/S0164-1212(99)00100-4_BIB21 article-title: Software safety: why, what and how publication-title: ACM Computing Surveys doi: 10.1145/7474.7528 contributor: fullname: Leveson – ident: 10.1016/S0164-1212(99)00100-4_BIB26 – volume: 12 start-page: 51 issue: 1 year: 1986 ident: 10.1016/S0164-1212(99)00100-4_BIB13 article-title: Software reliability in the systems context publication-title: IEEE Transactions on Software Engineering doi: 10.1109/TSE.1986.6312919 contributor: fullname: Hecht – ident: 10.1016/S0164-1212(99)00100-4_BIB12 – volume: 17 start-page: 692 issue: 7 year: 1991 ident: 10.1016/S0164-1212(99)00100-4_BIB11 article-title: An experimental evaluation of software redundancy as a strategy for improving reliability publication-title: IEEE Transactions on Software Engineering doi: 10.1109/32.83905 contributor: fullname: Eckhardt – ident: 10.1016/S0164-1212(99)00100-4_BIB10 – volume: 12 start-page: 811 issue: 8 year: 1986 ident: 10.1016/S0164-1212(99)00100-4_BIB8 article-title: Error recovery in asynchronous systems publication-title: IEEE Transactions on Software Engineering doi: 10.1109/TSE.1986.6312984 contributor: fullname: Campbell – ident: 10.1016/S0164-1212(99)00100-4_BIB24 doi: 10.1007/978-3-642-79789-7_6 – volume: 17 start-page: 67 issue: 8 year: 1984 ident: 10.1016/S0164-1212(99)00100-4_BIB4 article-title: Fault tolerance by design diversity: concepts and experiments publication-title: IEEE Computer doi: 10.1109/MC.1984.1659219 contributor: fullname: Avizienis – volume: 25 start-page: 1304 year: 1976 ident: 10.1016/S0164-1212(99)00100-4_BIB3 article-title: Fault tolerant systems publication-title: IEEE Transactions on Computers doi: 10.1109/TC.1976.1674598 contributor: fullname: Avizienis – volume: 10 start-page: 219 issue: 8 year: 1995 ident: 10.1016/S0164-1212(99)00100-4_BIB28 article-title: Backward error recovery via conversations in ada publication-title: Software Engineering Journal doi: 10.1049/sej.1995.0027 contributor: fullname: Romanovsky – volume: 1 start-page: 61 issue: 1 year: 1994 ident: 10.1016/S0164-1212(99)00100-4_BIB29 article-title: Forward and backward error recovery in C++ publication-title: Object-Oriented Systems contributor: fullname: Rubira-Calsavara – ident: 10.1016/S0164-1212(99)00100-4_BIB2 – ident: 10.1016/S0164-1212(99)00100-4_BIB5 doi: 10.1109/FTCS.1988.5291 – ident: 10.1016/S0164-1212(99)00100-4_BIB22 doi: 10.1007/978-3-7091-9198-9_10 – ident: 10.1016/S0164-1212(99)00100-4_BIB14 doi: 10.1007/BFb0029359 – ident: 10.1016/S0164-1212(99)00100-4_BIB27 doi: 10.1007/3-540-63114-3_23 |
SSID | ssj0007202 |
Score | 1.5987617 |
Snippet | Studies indicate that techniques for tolerating hardware faults are so effective that software
design
errors are the leading cause of all faults encountered.... Studies indicate that techniques for tolerating hardware faults are so effective that software design errors are the leading cause of faults encountered. To... Studies indicate that techniques for tolerating hardware faults are so effective that software design errors are the leading cause of all faults encountered.... |
SourceID | proquest crossref elsevier |
SourceType | Aggregation Database Publisher |
StartPage | 237 |
SubjectTerms | Ada Fault tolerance Studies Systems analysis |
Title | State restoration in Ada 95: a portable approach to supporting software fault tolerance |
URI | https://dx.doi.org/10.1016/S0164-1212(99)00100-4 https://www.proquest.com/docview/229562317 https://search.proquest.com/docview/27726915 |
Volume | 50 |
hasFullText | 1 |
inHoldings | 1 |
isFullTextHit | |
isPrint | |
link | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwnV1LS8QwEA6iFy--xfWZgwc9xN20Sdt4W0RZFb2o6C3kCQtLd9nt4s3f7iRtfYEIXidpWiaZbyZ05huEjgUHH6RcShxXKWG8x8DmEkYSZ4pcKaVp5C24u88GT-zmhb8soIu2FiakVTbYX2N6ROtG0m202Z0Mh92HQA5FAXkBT3u05gQNZFtwps_ePtM88iTmHYbJJMz-rOKpV4jCEyFO4yKE_eaffiB1dD9Xa2iliRtxv_60dbTgyg202vZkwI2JbqLnGD3iaWwYE7WOhyXuW4UFP8cKx3BbjxxuycRxNcaz-STIwYvhGcDyq5o67NV8VMHgyIXWG24LPV1dPl4MSNM8gZg04xVJLPPWK5Z4pQ0Ymc9z6hzgn6GCWS28EUKnXFnqVc8kilqhPQ9s-tSG4th0Gy2W49LtIJxm1hldOJVYyjjc55zVPDOWJ94UutAddNaqTE5qjgz5JXksYzLoWAoho44l66CiVaz8ttkScPyvR_fajZCNtc1kaEkOYRzNO-joYxTMJPz7UKUbz2EK3CIyQfnu_1-9h5brOvyUUL6PFqvp3B1ARFLpw3jkDtFS__p2cP8Oq3XbmA |
link.rule.ids | 315,783,787,4511,24130,27938,27939,45599,45693 |
linkProvider | Elsevier |
linkToHtml | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwnV1LT-MwELYQHNjL8lq05VUfOLAHb-vETmJuFQK1PHpZENwsP6VKVVq1qfj7jJ2El7RC4upXorHnm7E88w1Cp4KDDVIuJY6rlDDeZ6BzCSOJM0WulNI08hbcjbPhA7t-4k9r6KLNhQlhlQ3215ge0bpp6TXS7M0nk96_QA5FAXkBT_s0coJugDcg4LBvDEY3w_ErIOdJDD0M40mY8JbIUy8SG8-E-BPXIex_JuoTWEcLdLWNfjauIx7Uf7eD1ly5i7basgy40dI99BgdSLyINWOi4PGkxAOrsODnWOHoceupwy2fOK5meLmah3YwZHgJyPysFg57tZpW0Dl1ofqG-4Ueri7vL4akqZ9ATJrxiiSWeesVS7zSBvTM5zl1DiDQUMGsFt4IoVOuLPWqbxJFrdCeB0J9akN-bLqP1stZ6X4jnGbWGV04lVjKOFzpnNU8M5Yn3hS60B30txWZnNc0GfJd_FjGZJCxFEJGGUvWQUUrWPlhvyVA-VdTD9uNkI3CLWWoSg6eHM07qPvaC5oSnj9U6WYrGAIXiUxQfvD9T3fR5vD-7lbejsY3h-hHnZafEsqP0Hq1WLljcFAqfdIcwBdlP95V |
openUrl | ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=State+restoration+in+Ada+95%3A+a+portable+approach+to+supporting+software+fault+tolerance&rft.jtitle=The+Journal+of+systems+and+software&rft.au=Rogers%2C+P.&rft.au=Wellings%2C+A.J.&rft.date=2000-03-15&rft.pub=Elsevier+Inc&rft.issn=0164-1212&rft.eissn=1873-1228&rft.volume=50&rft.issue=3&rft.spage=237&rft.epage=255&rft_id=info:doi/10.1016%2FS0164-1212%2899%2900100-4&rft.externalDocID=S0164121299001004 |
thumbnail_l | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=0164-1212&client=summon |
thumbnail_m | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=0164-1212&client=summon |
thumbnail_s | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=0164-1212&client=summon |