DISCS (Diversity in Safety Critical Software) Project




This is a joint project between the two Centres for Software Reliability (CSR) at City and Newcastle Universities. The plan is to address two main issues: how to organise the diverse versions and their development processes in order to best achieve reliability, and how to evaluate the reliability that has been achieved in a particular system.
One of the directions of this research is developing a general framework for N-version programming in which diversity is introduced at the class level and demonstrating it in Ada. Several new advanced schemes have been designed since the original scheme [1] was developed. They tackle different aspects on N-version programming: faulty version recovery, exception handling, multiple callers, etc. All schemes are developed as sets of re-usable classes and templates for programmers to follow.
Another focus of the research is building frameworks for providing state restoration and persistence features in object-oriented programming languages (see [7, 8]). The approach relies on applying existing design patterns, such as Serializer, Factory Method and Strategy.

DISCS papers and technical reports:
  1. A. Romanovsky. Class Diversity Support in Object-Oriented Languages. Journal of Systems and Software. v. 48, 1999, pp. 43-57. (A preliminary version: Department of Computing Science. University of Newcastle upon Tyne, CS-TR-661. 1999. ps file.)
  2. A.Romanovsky. "On N-Version Programming and Exception Handling", in the 10th European Workshop on Dependable Computing (EWDC-10), Vienna, Austria, May, OCG, pp. 175-179, 1999.
  3. A.Romanovsky. "Abstract Object State and Version Recovery in N-Version Programming", in TOOLS Europe'99, June, Nancy, France, IEEE CS, pp. 86-95, 1999. (A preliminary version: Department of Computing Science. University of Newcastle upon Tyne, CS-TR-669. 1999. ps file.)
  4. P. Popov, L. Strigini, A. Romanovsky. "Choosing effective methods for design diversity - how to progress from intuition to science", in SafeComp'99, Toulouse, France, September, p. 272-285, 1999. (A preliminary version: Department of Computing Science. University of Newcastle upon Tyne, CS-TR-666. 1999. ps file.)
  5. A.Romanovsky. "An Exception Handling Framework for N-Version programming in Object-Oriented Systems". To be presented at the 3rd IEEE Int. Symposium on Object-oriented Real-time Distributed Computing. 2000. Newport Beach, USA. (A preliminary version: Department of Computing Science. University of Newcastle upon Tyne, CS-TR-684. 1999. ps file.)
  6. A.Romanovsky. "Faulty Version Recovery in Object-Oriented N-Version Programming". Department of Computing Science. University of Newcastle upon Tyne, CS-TR-679. 1999. ps file.
  7. J.Kienzle, A.Romanovsky. On Persistent and Reliable Streaming in Ada. in AdaEurope'2000, Berlin, Germany, LNCS, Springer, June, 2000. (A preliminary version: Technical Report 99/323, Swiss Federal Institute of Technology, November 1999.)
  8. J.Kienzle, A.Romanovsky. "A Framework Based on Design Patterns for Providing Persistence in Object-Oriented Programming Languages". University of Newcastle upon Tyne, CS-TR-688. November, 1999. ps file.
  9. A.Romanovsky. Diversely Designed Classes for use by Multiple Tasks. Ada Letters, v. XX, n. 1, March, 2000. (A preliminary version: Department of Computing Science, University of Newcastle upon Tyne, CS-TR-691. February, 2000.)

The official DISCS Newcastle web page.
The City web page of this project.
DISCS research papers by the CSR at City.

Last updated by Alexander Romanovsky on February 1, 2000 (email: alexander.romanovsky@newcastle.ac.uk)