Toggle Main Menu Toggle Search

Open Access padlockePrints

An Exception Handling Framework for N-Version programming in Object Oriented Systems

Lookup NU author(s): Professor Alexander RomanovskyORCiD



Structuring complex systems out of components with both normal and exceptional outcomes and using exception handling for dealing with abnormal events are well-accepted practices. This paper proposes an approach for introducing exception handling into object-oriented N-version programming (NVP). We start with outlining general principles of structuring systems with diversity and show why it is important to use exceptions while developing and using diversely-developed software. Internal version exceptions and external exceptions, which the diversely-designed class can propagate, are clearly separated in our framework: each version has its own internal exceptions but the external exceptions of all versions have to be the same and identical to the interface exceptions of the whole class. This scheme requires an adjudicator of a special kind to allow interface exception signalling when a majority of versions have signalled the same exception. We demonstrate these ideas using a general framework for introducing NVP into object-oriented systems which we have developed recently. This framework follows all principles of structured NVP: software diversity is introduced here at the level of classes and encapsulated into the diversely-designed class. We discuss the internal structure of this class and the interfaces of its subcomponents; and show how the NVP controller works, version execution is coordinated and re-use operates here. This framework makes use of many advantages object-oriented programming has. For the demonstration, it has been implemented in Ada. The paper finishes with a comparison of our proposal with some existing NVP schemes and with a discussion of our future work.

Publication metadata

Author(s): Romanovsky A

Publication type: Report

Publication status: Published

Series Title: Department of Computing Science Technical Report Series

Year: 2000

Pages: 22

Report Number: 684

Institution: Department of Computing Science, University of Newcastle upon Tyne

Place Published: Newcastle upon Tyne