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...

Full description

Saved in:
Bibliographic Details
Published inThe Journal of systems and software Vol. 50; no. 3; pp. 237 - 255
Main Authors Rogers, P., Wellings, A.J.
Format Journal Article
LanguageEnglish
Published New York Elsevier Inc 15.03.2000
Elsevier Sequoia S.A
Subjects
Online AccessGet 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