DOTS: Diversity with Off-The-Shelf Components

Navigation
- Overview -
- Project Aims -
- Bibliography -



Technical Results
- Key Advances -
- Probabilistic Modelling -
- Information Modelling -
- Architecture -



Links
- CSR home -

...Bibliography

Reports and papers from the DOTS project are listed below.

Bibliographies related to previous research on diversity, and on dependability are also available.

dots_ref.bib

@TECHREPORT{Anderson03error,
  AUTHOR = {T. Anderson and M. Feng and S. Riddle and A. Romanovsky},
  TITLE = {{Error Recovery for a Boiler System with OTS PID Controller}},
  ABSTRACT = {We have previously presented initial results of a case study which illustrated
		an approach to engineering protective wrappers as a means of detecting
		errors or unwanted behaviour in systems employing an OTS (Off-The-Shelf)
		item. The case study used a Simulink model of a steam boiler system together
		with an OTS PID (Proportional, Integral and Derivative) controller. The
		protective wrappers are developed for the model of the system in such a
		way that they allow detection and tolerance of typical errors caused by
		unavailability of signals, violations of range limitations, and oscillations.
		In this paper we extend the case study to demonstrate how forward error
		recovery based on exception handling can be systematically incorporated
		at the level of the protective wrappers.},
  INSTITUTION = {Dept of Computer Science, Univ. of Minnesota, USA},
  YEAR = {2003},
  NUMBER = {{\it ECOOP '03 Workshop on Exception Handling in Object-Oriented Systems},
		TR 03-028},
  PAGES = {74-83},
  EDITOR = {A. Romanovsky},
  PUBLISHER = {Dept of Computer Science, Univ. of Minnesota, USA},
  PDF = {http://www.cs.ncl.ac.uk/research/pubs/trs/papers/798.pdf},
  PS = {http://www.cs.ncl.ac.uk/research/pubs/trs/papers/798.ps}
}
@TECHREPORT{Anderson03investigative,
  AUTHOR = {T. Anderson and M. Feng and S. Riddle and A. Romanovsky},
  TITLE = {{Investigative Case Study: Protective Wrapping of OTS items in Simulated
		Environments}},
  ABSTRACT = {This practical experience report summarises the lessons learned during investigation
		of a case study which focused on engineering protective wrappers as a means
		of detecting and tolerating errors or undesirable behaviour in systems
		employing OTS components. We developed a protective wrapper capable of
		dealing with typical errors caused by unavailability of signals, violations
		of range limitations, and oscillations. The work was carried out in a simulation
		environment using a Simulink model of an industrial steam boiler system
		together with an OTS PID (Proportional, Integral and Derivative) controller.
		The lessons learned from the development of, and experimentation with,
		our case study are categorised as: those relating specifically to the use
		of Simulink for system modelling; those that concern the use of simulation
		more generally, as a means of analysing design options; and those that
		inform the development of protective wrappers.},
  INSTITUTION = {School of Computing Science, Univ. of Newcastle, UK},
  YEAR = {2003},
  NUMBER = {CS-TR 821},
  PDF = {http://www.cs.ncl.ac.uk/research/pubs/trs/papers/821.pdf}
}
@INBOOK{Anderson03protective,
  AUTHOR = {T. Anderson and M. Feng and S. Riddle and A. Romanovsky},
  TITLE = {{Protective Wrapper Development: A Case Study}},
  ABSTRACT = {We have recently proposed a general approach to engineering protective wrappers
		as a means of detecting errors or unwanted behaviour in systems employing
		an OTS (Off-The-Shelf) item, and launching appropriate recovery actions.
		This paper presents results of a case study in protective wrapper development,
		using a Simulink model of a steam boiler system together with an OTS PID
		(Proportional, Integral and Derivative) controller. The protective wrappers
		are developed for the model of the system in such a way that they allow
		detection and tolerance of typical errors caused by unavailability of signals,
		violations of constraints, and oscillations.},
  YEAR = {2003},
  PUBLISHER = {Springer},
  PAGES = {1-14},
  VOLUME = {2580 (2nd Int. Conf. on COTS-Based Software Systems, Ottawa, Canada -- ICCBSS
		'03)},
  SERIES = {LNCS},
  PDF = {http://www.cs.ncl.ac.uk/research/pubs/inproceedings/papers/404.pdf}
}
@ARTICLE{Anderson03wrapping,
  AUTHOR = {T. Anderson and M. Feng and S. Riddle and A. Romanovsky},
  TITLE = {{Wrapping it up}},
  ABSTRACT = {Many siren voices, and some harsh economic facts, argue in favour of off-the
		shelf (OTS) components as a way to reduce the costs of software system
		development. Compared to bespoke design and development, the OTS option
		offers a number of potential benefits, including: immediate availability,
		proven in use, low price due to amortisation. The increasing scale and
		complexity of modern software systems is a powerful driver for modularity
		in design, which clearly chimes with a structured and therefore component
		(or sub-system) based approach.},
  JOURNAL = {Safety Systems},
  VOLUME = {13},
  YEAR = {2003},
  PAGES = {8-10},
  NUMBER = {1},
  PDF = {http://www.cs.ncl.ac.uk/research/pubs/articles/papers/667.pdf}
}
@INPROCEEDINGS{Anderson04wrapping,
  AUTHOR = {T. Anderson and B. Randell and A. Romanovsky},
  TITLE = {{Wrapping the Future}},
  ABSTRACT = {Enclosing a component within a software “wrapper” is a well-established
		way of adapting components for use in new environments. This paper presents
		an overview of an experimental evaluation of the use of a wrapper to protect
		against faults arising during the (simulated) operation of a practical
		and critical system; the specific context is a protective wrapper for an
		off-the-shelf software component at the heart of the control system of
		a steam raising boiler. Encouraged by the positive outcomes of this experimentation
		we seek to position protective wrappers as a basis for structuring the
		provision of fault tolerance in component-based open systems and networks.
		The paper addresses some key issues and developments relating wrappers
		to the provision of dependability in future computing systems.},
  BOOKTITLE = {18th IFIP World Computer Congress},
  YEAR = {2004},
  ADDRESS = {Toulouse, France},
  PAGES = {165-173},
  PDF = {http://www.cs.ncl.ac.uk/research/pubs/inproceedings/papers/778.pdf}
}
@INBOOK{Bentley04empirical,
  AUTHOR = {J.G.W. Bentley and P.G. Bishop and M. van der Meulen},
  TITLE = {{An Empirical Exploration of the Difficulty Function}},
  ABSTRACT = {The theory developed by Eckhardt and Lee (and later extended by Littlewood
		and Miller) utilises the concept of a difficulty function to estimate the
		expected gain in reliability of fault tolerant architectures based on diverse
		programs. The difficulty function is the likelihood that a randomly chosen
		program will fail for any given input value. To date this has been an abstract
		concept that explains why dependent failures are likely to occur. This
		paper presents an empirical measurement of the difficulty function based
		on an analysis of over six thousand program versions implemented to a common
		specification. The study derived a "score function" for each version. It
		was found that several different program versions produced identical score
		functions, which when analysed, were usually found to be due to common
		programming faults. The score functions of the individual versions were
		combined to derive an approximation of the difficulty function. For this
		particular (relatively simple) problem specification, it was shown that
		the difficulty function derived from the program versions was fairly flat,
		and the reliability gain from using multi-version programs would be close
		to that expected from the independence assumption.},
  YEAR = {2004},
  PUBLISHER = {Springer},
  PAGES = {60-71},
  VOLUME = {3219 (SAFECOMP '04, Potsdam, Germany)},
  SERIES = {LNCS},
  PDF = {http://www.csr.city.ac.uk/people/meine.van.der.meulen/Papers/SCOMP04_difficulty_v15.pdf}
}
@INBOOK{deLemos03architectural,
  AUTHOR = {R. de Lemos and C. Gacek and A. Romanovsky},
  TITLE = {{Architectural Mismatch Tolerance}},
  ABSTRACT = {The integrity of complex software systems built from existing components
		is becoming more dependent on the integrity of the mechanisms used to interconnect
		these components and, in particular, on the ability of these mechanisms
		to cope with architectural mismatches that might exist between components.
		There is a need to detect and handle (i.e. to tolerate) architectural mismatches
		during runtime because in the majority of practical situations it is impossible
		to localize and correct all such mismatches during development time. When
		developing complex software systems, the problem is not only to identify
		the appropriate components, but also to make sure that these components
		are interconnected in a way that allows mismatches to be tolerated. The
		resulting architectural solution should be a system based on the existing
		components, which are independent in their nature, but are able to interact
		in well-understood ways. To find such a solution we apply general principles
		of fault tolerance to dealing with architectural mismatches.},
  YEAR = {2003},
  PUBLISHER = {Springer},
  PAGES = {175-194},
  VOLUME = {2677},
  SERIES = {LNCS},
  PDF = {http://www.cs.ncl.ac.uk/research/pubs/books/papers/204.pdf},
  BOOKTITLE = {Architecting Dependable Systems}
}
@INPROCEEDINGS{Gashi04,
  AUTHOR = {I. Gashi and P. Popov and L. Strigini},
  TITLE = {{Fault diversity among off-the-shelf SQL database servers}},
  ABSTRACT = {Fault tolerance is often the only viable way of obtaining the required system
		dependability from systems built out of "off-the-shelf" (OTS) products.
		We have studied a sample of bug reports from four off-the-shelf SQL servers
		so as to estimate the possible advantages of software fault tolerance -
		in the form of modular redundancy with diversity - in complex off-the-shelf
		software. We checked whether these bugs would cause coincident failures
		in more than one of the servers. We found that very few bugs affected two
		of the four servers, and none caused failures in more than two. We also
		found that only four of these bugs would cause identical, undetectable
		failures in two servers. Therefore, a fault-tolerant server, built with
		diverse off-the-shelf servers, seems to have a good chance of delivering
		improvements in availability and failure rates compared with the individual
		off-the-shelf servers or their replicated, non-diverse configurations.},
  BOOKTITLE = {Int. Conf. on Dependable Systems and Networks (DSN '04)},
  YEAR = {2004},
  ADDRESS = {Florence, Italy},
  PAGES = {389-398}
}
@INBOOK{Gashi04designing,
  AUTHOR = {I. Gashi and P. Popov and V. Stankovic and L. Strigini},
  TITLE = {{On Designing Dependable Services with Diverse Off-The-Shelf SQL Servers}},
  ABSTRACT = {The most important non-functional requirements for an SQL server are performance
		and dependability. This paper argues, based on empirical results from our
		on-going research with diverse SQL servers, in favour of diverse redundancy
		as a way of improving both. We show evidence that current data replication
		solutions are insufficient to protect against the range of faults documented
		for database servers; outline possible fault-tolerant architectures using
		diverse servers; discuss the design problems involved; and offer evidence
		of the potential for performance improvement through diverse redundancy.},
  YEAR = {2004},
  PUBLISHER = {Springer},
  PAGES = {196-220},
  VOLUME = {3069 (Architecting Dependable Systems)},
  SERIES = {LNCS},
  PDF = {http://www.csr.city.ac.uk/people/ilir.gashi/Papers/2004/LNCS3069/LNCS_2004_SQL_Diversity.PDF}
}
@INPROCEEDINGS{Guerra03fault-tolerant,
  AUTHOR = {P.A. de C. Guerra and C.M.F. Rubira and A. Romanovsky and R. de Lemos},
  TITLE = {{A Fault-Tolerant Software Architecture for COTS-Based Software Systems}},
  ABSTRACT = {This paper considers the problem of integrating Commercial off-the-shelf
		(COTS) components into systems with high dependability requirements. Such
		components are built to be reused as black boxes that cannot be modified.
		The system architect has to rely on techniques that are external to the
		component for resolving mismatches between the services required and provided
		that might arise in the interaction of the component and its environment.
		The paper puts forward an approach that employs the layer-based C2 architectural
		style for structuring error detection and recovery mechanisms to be added
		to the component during system integration.},
  BOOKTITLE = {4th ESEC/SIGSOFT FSE Conf.},
  YEAR = {2003},
  ADDRESS = {Helsinki, Finland},
  PAGES = {375-378}
}
@INPROCEEDINGS{Guerra03integrating,
  AUTHOR = {P.A. de C. Guerra and C.M.F. Rubira and A. Romanovsky and R. de Lemos},
  TITLE = {{Integrating COTS Software Components into Dependable Software Architectures}},
  ABSTRACT = {This paper considers the problem of integrating commercial off-the-shelf
		(COTS) software components into systems with high dependability requirements.
		These components, by their very nature, are built to be reused as black
		boxes that cannot be modified. Instead, the system architect has to rely
		on techniques external with respect to the component for resolving mismatches
		of the services required and provided that might arise in the interaction
		of the component and its environment. This paper proposes an architectural
		solution to turning COTS components into idealised fault-tolerant COTS
		components by adding protective wrappers to them.},
  BOOKTITLE = {6th IEEE Int. Symp. on Object-Oriented Real-Time Distributed Computing (ISORC
		'03)},
  YEAR = {2003},
  ADDRESS = {Hakodate, Japan},
  PAGES = {139-142},
  PDF = {http://www.cs.ncl.ac.uk/research/pubs/inproceedings/papers/568.pdf}
}
@INBOOK{Guerra04integrating,
  AUTHOR = {P.A. de C. Guerra and C.M.F. Rubira and A. Romanovsky and R. de Lemos},
  TITLE = {{A Dependable Architecture for COTS-Based Software Systems using Protective
		Wrappers}},
  ABSTRACT = {Commercial off-the-shelf (COTS) software components are built to be used
		as black boxes that cannot be modified. The specific context in which these
		COTS components are employed is not known to their developers. When integrating
		such COTS components into systems, which have high dependability requirements,
		there may be mismatches between the failure assumptions of these components
		and the rest of the system. For resolving these mismatches, system integrators
		must rely on techniques that are external to the COTS software components.
		In this paper, we combine the concepts of an idealised architectural component
		and protective wrappers to develop an architectural solution that provides
		an effective and systematic way for building dependable software systems
		from COTS software components.},
  YEAR = {2004},
  PUBLISHER = {Springer},
  PAGES = {147-170},
  VOLUME = {3069 (Architecting Dependable Systems II)},
  SERIES = {LNCS},
  PDF = {http://www.cs.ncl.ac.uk/research/pubs/books/papers/257.pdf}
}
@UNPUBLISHED{Jefferson03towards,
  AUTHOR = {N. Jefferson and S. Riddle},
  TITLE = {{Towards a formal semantics of a composition language}},
  ABSTRACT = {Although several composition environments exist that are built on top of
		object-oriented languages, they fail to supply the level of abstraction
		required to specify compositions of components. There is therefore a need
		for pure component-based languages in order to allow the composition developer
		to focus on the composition from a clear viewpoint, free of any obscurities
		imposed by existing programming languages that essentially operate at the
		individual component level. In this paper we make a clear distinction between
		a composition language and a composition representation. A composition
		language is any language that allows the specification of a piece of software
		in terms of its composition whereas a composition representation is the
		abstract, general, architectural description of a composition. This position
		paper sets out to formally express the basis for a composition representation.
		The definition of an abstract representation is necessary in order to derive
		the formal semantics of a composition language. We believe that this semantic
		definition should be the initial step in the construction of a high level
		component-based language.},
  NOTE = {Accepted at 3rd Int. Workshop on Composition Languages, Darmstadt, Germany
		[updated TR to appear]},
  YEAR = {2003},
  PDF = {http://www.cs.ncl.ac.uk/research/pubs/inproceedings/papers/719.pdf}
}
@INPROCEEDINGS{Kharchenko04dependability,
  AUTHOR = {V. Kharchenko and P. Popov and A. Romanovsky},
  TITLE = {{On Dependability of Composite Web Services with Components Upgraded Online}},
  ABSTRACT = {Ensuring dependability of composite Web services, dynamically composed of
		component Web services, is an open issue. One of the main difficulties
		here is due to the fact that component Web services can and will be upgraded
		online. The challenge is then to ensure that the overall dependability
		of the composite service is not undermined. The solutions we propose in
		this position paper make use of natural redundancy present in systems containing
		a new and an old release of the component.},
  BOOKTITLE = {Int. Conf. on Dependable Systems and Networks (DSN '04 - Workshop supplement)},
  YEAR = {2004},
  ADDRESS = {Florence, Italy},
  PAGES = {287-291},
  PDF = {http://www.cs.ncl.ac.uk/research/pubs/inproceedings/papers/798.pdf}
}
@INBOOK{Littlewood04redundancy,
  AUTHOR = {B. Littlewood and L. Strigini},
  TITLE = {{Redundancy and Diversity in Security}},
  ABSTRACT = {Redundancy and diversity are commonly applied principles for fault tolerance
		against accidental faults. Their use in security, which is attracting increasing
		interest, is less general and less of an accepted principle. In particular,
		redundancy without diversity is often argued to be useless against systematic
		attack, and diversity to be of dubious value. This paper discusses their
		roles and limits, and to what extent lessons from research on their use
		for reliability can be applied to security, in areas such as intrusion
		detection. We take a probabilistic approach to the problem, and argue its
		validity for security. We then discuss the various roles of redundancy
		and diversity for security, and show that some basic insights from probabilistic
		modelling in reliability and safety indeed apply to examples of design
		for security. We discuss the factors affecting the efficacy of redundancy
		and diversity, the role of "independence" between layers of defense, and
		some of the trade-offs facing designers.},
  YEAR = {2004},
  PUBLISHER = {Springer},
  PAGES = {423-438},
  VOLUME = {3193 (9th European Symposium on Research in Computer Security, Sophia Antipolis,
		France -- ESORICS '04)},
  SERIES = {LNCS},
  PDF = {http://www.csr.city.ac.uk/people/lorenzo.strigini/ls.papers/_03_FTsecurity/sec_FT_v21_IEEEstyleShor.pdf}
}
@INPROCEEDINGS{Popov00diversity,
  AUTHOR = {P. Popov and L. Strigini and A. Romanovsky},
  TITLE = {{Diversity for Off-The-Shelf Components}},
  ABSTRACT = {'Commercial-off-the-shelf' (COTS) or, generally, 'off-the-shelf' (OTS) software
		items are increasingly used in building systems, instead of only relying
		on bespoke software items. This trend is driven by a wish to reduce costs,
		and by some hope that greater re-use of software may lead to higher quality
		(via more feedback from use). Thus, for instance, the U.S. Dept of Defence
		policy is now to encourage the use of COTS items. This trend extends to
		critical systems with high dependability requirements, like a computer-based
		railway signalling systems by Alcatel (Austria).},
  BOOKTITLE = {Int. Conf. on Dependable Systems and Networks (DSN '00 - Fast Abstracts
		supplement)},
  YEAR = {2000},
  ADDRESS = {New York, USA},
  PAGES = {B60-B61},
  PDF = {http://www.csr.city.ac.uk/diversity/Papers/div_COTS/DNS_dots.pdf}
}
@INPROCEEDINGS{Popov01protective,
  AUTHOR = {P. Popov and L. Strigini and S. Riddle and A. Romanovsky},
  TITLE = {{Protective Wrapping of OTS Components}},
  ABSTRACT = {Off-the-shelf (OTS) components are increasingly used in application areas
		with high dependability requirements. We propose a general approach to
		developing protective wrappers, in order to integrate OTS items with the
		rest of the system without reducing the system dependability.},
  BOOKTITLE = {4th ICSE Workshop on Component-Based Software Engineering: Component Certification
		and System Prediction},
  YEAR = {2001},
  MONTH = {Toronto, Canada}
}
@INPROCEEDINGS{Popov01systematic,
  AUTHOR = {P. Popov and S. Riddle and A. Romanovsky and L. Strigini},
  TITLE = {{On Systematic Design of Protectors for Employing OTS Items}},
  ABSTRACT = {Off-the-shelf (OTS) components are increasingly used in application areas
		with stringent dependability requirements. Component wrapping is a well
		known structuring technique used in many areas. We propose a general approach
		to developing protective wrappers that assist in integrating OTS items
		with a focus on the overall system dependability. The wrappers are viewed
		as redundant software used to detect errors or suspicious activity and
		to execute appropriate recovery when possible; wrapper development is considered
		as a part of system integration activities. Wrappers are to be rigorously
		specified and executed at run time as a means of protecting OTS items against
		faults in the rest of the system, and the system against the OTS item{\~O}sfaults.
		Possible symptoms of erroneous behaviour to be detected by a protective
		wrappe, and possible actions to be undertaken in response are listed and
		discussed. The information required for wrapper development is provided
		by traceability analysis. Possible approaches to implementing {\`O}protectors{\'O}
		in the standard current component technologies are briefly outlined.},
  BOOKTITLE = {Workshop on Component-Based Software Engineering, 27th Euromicro Conf.},
  YEAR = {2001},
  ADDRESS = {Warsaw, Poland},
  PAGES = {22-29},
  PDF = {http://www.cs.ncl.ac.uk/research/pubs/inproceedings/papers/79.pdf}
}
@INBOOK{Popov02reliability,
  AUTHOR = {P. Popov},
  TITLE = {{Reliability Assessment of Legacy Safety-Critical Systems Upgraded with
		Off-the-Shelf Components}},
  ABSTRACT = {Reliability assessment of upgraded legacy systems is an important problem
		in many safety-related industries. Some parts of the equipment used in
		the original design of such systems are either not available off-the-shelf
		(OTS) or have become extremely expensive as a result of being discontinued
		as mass production components. Maintaining a legacy system, therefore,
		demands using different OTS components. Trustworthy reliability assurance
		after an upgrade with a new OTS component is needed which combines the
		evidence about the reliability of the new OTS component with the knowledge
		about the old system accumulated to date. In these circumstances Bayesian
		approach to reliability assessment is invaluable. Earlier studies have
		used Bayesian inference under simplifying assumptions. Here we study the
		effect of these on the accuracy of predictions and discuss the problems,
		some of them open for future research, of using Bayesian inference for
		practical reliability assessment.},
  YEAR = {2002},
  PUBLISHER = {Springer},
  PAGES = {139-150},
  VOLUME = {2434 (SAFECOMP '02, Catania, Italy)},
  SERIES = {LNCS},
  PDF = {http://www.csr.city.ac.uk/projects/diversity/Papers/SAFECOMP2002/SAFECOMP2002_Copyright.pdf}
}
@INPROCEEDINGS{Popov03diversity,
  AUTHOR = {P. Popov and L. Strigini},
  TITLE = {{Diversity with Off-The-Shelf Components: A Study with SQL Database Servers}},
  ABSTRACT = {Fault tolerance is often the only feasible remedy available to a user or
		integrator when using insufficiently dependable off-the-shelf software
		products. In particular, modular redundancy with diversity, as e.g. in
		N-version software, may be an affordable solution, but there has been little
		study of its practical effectiveness and implementation difficulties with
		off-the-shelf components. We have started an experiment to help to remedy
		this situation. We report preliminary observations from the development
		and early use of the experimental set-up.},
  BOOKTITLE = {Int. Conf. on Dependable Systems and Networks (DSN '03 - Fast Abstracts
		supplement)},
  YEAR = {2003},
  ADDRESS = {San Francisco, USA},
  PAGES = {B84-B85},
  PDF = {http://www.csr.city.ac.uk/people/lorenzo.strigini/ls.papers/DSN03_DOTS/PopovCSRmultiSQL_v7.pdf}
}
@INPROCEEDINGS{Popov04software,
  AUTHOR = {P. Popov and L. Strigini and A. Kostov and V. Mollov and D. Selensky},
  TITLE = {{Software Fault-Tolerance with Off-the-Shelf SQL Servers}},
  ABSTRACT = {With off-the-shelf software, software fault tolerance is almost the only
		means available for assuring better dependability than the off-the-shelf
		software offers, without the much higher costs of bespoke development or
		extra V&V. We report our experience with an experimental setup we have
		developed with off-the-shelf SQL database servers. First, we describe the
		use of a protective wrapper to mask the effects of a bug in one of the
		servers, without depending on an adequate fix from the vendors. We then
		discuss how to combine the diverse off-the-shelf servers into a diverse
		modular redundant configuration (N-version software or N-self-checking
		software). A wrapper guarantees the consistency between the diverse replicas
		of the database, serving multiple clients, by restricting the concurrency
		between the client transactions We thus show that diverse modular redundancy
		with protective wrapping is a viable way of achieving fault-tolerance with
		even complex off-the-shelf components, like database servers.},
  BOOKTITLE = {3rd Int. Conf. on COTS-Based Software Systems (ICCBSS '04)},
  YEAR = {2004},
  ADDRESS = {Redondo Beach, USA},
  PAGES = {117-126},
  PDF = {http://www.csr.city.ac.uk/people/peter.popov/papers/ICCBSS04/ICCBSS04_Copyright.pdf}
}
@INPROCEEDINGS{Romanovsky01exception,
  AUTHOR = {A. Romanovsky},
  TITLE = {{Exception Handling in Component-based System Development}},
  ABSTRACT = {Designers of component-based software face two problems related to dealing
		with abnormal events: developing exception handling at the level of the
		integrated system and accommodating (and adjusting, if necessary) exceptions
		and exception handling provided by individual components. Our intention
		is to develop an exception handling framework suitable for component-based
		system development by applying general exception handling mechanisms which
		have been proposed and successfully used in concurrent/distributed systems
		and in programming languages. The framework is applied in three steps.
		Firstly, individual components are wrapped in such a way that the wrappers
		perform activity related to local error detection and exception handling,
		and signal, if necessary, external exceptions outside the component. At
		the second step the execution of the overall system is structured as a
		set of dynamic actions in which components take parts. Such actions have
		important properties which facilitate exception handling: they are atomic,
		contain erroneous information and serve as recovery regions. The last step
		is designing exception handling at the action level: each action (i.e.
		all components participating in it) handles exceptions signalled by individual
		wrapped components.},
  BOOKTITLE = {25th Int. Computer Software and Application Conf. (COMPSAC '01)},
  YEAR = {2001},
  ADDRESS = {Chicago, USA},
  PAGES = {580-586},
  PDF = {http://www.cs.ncl.ac.uk/research/pubs/inproceedings/papers/78.pdf}
}
@ARTICLE{Romanovsky02version,
  AUTHOR = {A. Romanovsky},
  TITLE = {{On version state recovery and adjudication in class diversity}},
  ABSTRACT = {The paper proposes a general approach to recovering faulty versions and
		adjudicating complete states of versions in object-oriented N-version programming
		which is based on the concepts of the abstract version state and mapping
		functions. Our recent progress in developing recovery features is reported
		(the previous results are presented in [1, 2]). We propose employing adjudication
		of version states as a means for advanced error detection. The properties
		which the abstract version state and mapping functions should have, in
		order to be used in both version recovery and state adjudication, are formulated.
		We introduce state and result adjudication which are useful for object-oriented
		programming, demonstrate how they can serve the purpose of error detection
		and discuss situations when the former can be effective (assuming that
		the latter is always used to guarantee the correctness of results). The
		paper describes the engineering of abstract version states: we consider
		three types of programmers involved in N-version programming and show how
		they share responsibilities and cooperate while applying the approach proposed.
		The paper discusses important practical issues related to implementation
		and application of the concepts proposed and demonstrates, with numerous
		examples, the usability of the approach. A thorough comparison of the existing
		schemes with our proposal concludes the paper.},
  JOURNAL = {Computer Systems Science and Engineering},
  VOLUME = {17},
  YEAR = {2002},
  PAGES = {159-168},
  NUMBER = {3},
  PDF = {http://www.cs.ncl.ac.uk/research/pubs/articles/papers/451.pdf}
}
@INPROCEEDINGS{Strigini04fault,
  AUTHOR = {L. Strigini},
  TITLE = {{Fault Tolerance Against Design Faults}},
  ABSTRACT = {This chapter surveys techniques for tolerating the effects of design defects
		in computer systems, paying special attention to software. Design faults
		are a major cause of failure in modern computer systems, and their relative
		importance is growing as techniques for tolerating physical faults gain
		wider acceptance. Although design faults could in principle be eliminated,
		in practice they are inevitable in many categories of systems, and designers
		need to apply fault tolerance for mitigating their effects. Limited degrees
		of fault tolerance in software - "defensive programming" - are common,
		but systematic application of fault tolerance for design faults is still
		rare and mostly limited to highly critical systems. However, the increasing
		dependence of system designers on off-the-shelf components often makes
		fault tolerance a necessary, feasible and probably cost-effective solution
		for achieving modest dependability improvements at affordable cost. This
		chapter introduces techniques and principles, outlines similarities and
		differences with fault tolerance against physical faults, provides a structured
		description of the space of design solutions, and discusses some design
		issues and trade-offs.},
  BOOKTITLE = {Dependable Computing Systems: Paradigms, Performance Issues, and Applications},
  YEAR = {2004},
  PUBLISHER = {Wiley},
  EDITOR = {H. Diab and A. Zomaya}
}
@INPROCEEDINGS{vanderMeulen04exploration,
  AUTHOR = {M.J.P. van der Meulen and P.G. Bishop and M. Revilla},
  TITLE = {{An Exploration of Software Faults and Failure Behaviour in a Large Population
		of Programs}},
  ABSTRACT = {A large part of software engineering research suffers from a major problem—there
		are insufficient data to test software hypotheses, or to estimate parameters
		in models. To obtain statistically significant results, a large set of
		programs is needed, each set comprising many programs built to the same
		specification. We have gained access to such a large body of programs (written
		in C, C++, Java or Pascal) and in this paper we present the results of
		an exploratory analysis of around 29,000 C programs written to a common
		specification. The objectives of this study were to characterise the types
		of fault that are present in these programs; to characterise how programs
		are debugged during development; and to assess the effectiveness of diverse
		programming. The findings are discussed, together with the potential limitations
		on the realism of the findings.},
  BOOKTITLE = {ISSRE '04, Rennes, France},
  YEAR = {2004}
}
@UNPUBLISHED{vanderMeulen04smart,
  AUTHOR = {M.J.P. van der Meulen},
  TITLE = {{On the use of smart sensors, common cause failure and the need for diversity}},
  ABSTRACT = {The use of smart sensors in highly critical (safety) applications is still
		being debated. In this paper, we compare the dependability aspects of deploying
		smart sensors vs. conventional ones using an FMEA. There appear to be some
		significant differences. Some failure modes do not exist in conventional
		sensors, e.g. those involving information overload and timing aspects.
		Other failure modes emerge through the use of different technologies, e.g.
		those involving complexity, data integrity and human interface. When using
		smart sensors we suggest the use of a set of guidelines for their deployment:
		1. Do not send data to the smart sensor. 2. Use the smart sensor in burst
		mode only. 3. Use a smart sensor with the least possible number of operational
		modes. 4. Use the simplest possible sensor for the application. In redundant
		sensor configurations, common cause failure becomes the dominant failure
		scenario. The failure modes of smart sensors suggest that smart sensors
		might be more susceptible to common cause failure than conventional ones.
		Dominant are failures having their origin in the human interface, complexity
		and information overload. The guidelines given will also reduce the probability
		of common cause failure. In redundant sensor configurations a possible
		design method is the use of diversity. Diversity has the advantage that
		it can reduce the probability that two or more sensors fail simultaneously,
		although this effect is limited by the fact that diverse sensors may still
		contain the same faults. A disadvantage of diversity can be the increased
		complexity of maintenance, which in itself can lead to a higher probability
		of failure of the smart sensors. Whether the use of diversity is advisable
		depends on the design of the smart sensors and the details of their application.},
  NOTE = {6th Int. Symp. Programmable Electronic Systems in Safety Related Applications,
		Cologne, Germany, TUV},
  YEAR = {2004},
  PDF = {http://www.csr.city.ac.uk/people/meine.van.der.meulen/Papers/TUV04.pdf}
}
@INPROCEEDINGS{vanderMeulen05protective,
  AUTHOR = {M.J.P. van der Meulen and S. Riddle and L. Strigini and N. Jefferson},
  TITLE = {{Protective Wrapping of Off-the-Shelf Components}},
  ABSTRACT = {System designers using off-the-shelf components (OTSCs), whose internals
		they cannot change, often use add-on "wrappers" to adapt the OTSCs' behaviour
		as required. In most cases, wrappers are used to change "functional" properties
		of the components they wrap. In this paper we discuss instead "protective
		wrapping", the use of wrappers to improve the dependability - i.e., "non-functional"
		properties like availability, reliability, security, and/or safety - of
		a component and thus of a system. Wrappers can improve dependability by
		adding fault tolerance, e.g. graceful degradation, or error recovery mechanisms.
		We discuss the rational specification of such protective wrappers in view
		of system dependability requirements, and highlight some of the design
		trade-offs and uncertainties affecting system design with OTSCs and wrappers,
		and differentiating it from other forms of fault-tolerant design.},
  BOOKTITLE = {4th Int. Conf. on COTS-Based Software Systems (ICCBSS '05), Bilbao, Spain
		[to appear]},
  YEAR = {2005},
  PDF = {http://www.cs.ncl.ac.uk/research/pubs/trs/papers/857.pdf}
}

This file has been generated by bibtex2html 1.69