Development of a Case-based Reasoner as a tool to Facilitate Ethical Understanding

Harjinder Rahanu, Jennifer Davies and Simon Rogerson


The operation of computer systems and their associated communications systems is central to the economies of the developed world. Yet, failures in such computer systems and their development are more than commonplace. In the last few years there has been increasing concern in the computer industry about a neglect of professional ethics which has become manifest in various computer systems failures which have been much hyped in the media. From the study of failed computer systems development and implementation cases like RISP, TAURUS and LASCAD an understanding of the concept of such failures can be determined.

The key conclusion to be drawn from the study of failed computer systems development and implementation cases is that the idea of failure can rarely be understood satisfactorily solely from a technical perspective. This is because a definition of the success or failure of a given case of computer systems development and implementation is as much reliant on the social, economic, political and ethical setting within which it is developed as it is on the technical quality of its construction. Case histories are a particularly valuable means of helping to understand the success or failure of computer systems development and implementation in terms of professional ethics.

In case-based reasoning, when faced with a situation, individuals typically use “case histories”, similar to the present one, to guide their actions. Case histories are stored in long term memory and are recalled into short term memory when triggered by the current situation. Moreover, the current situation need not be identical to the previous situation but may simply be perceived by the individual to have important similarities. In attempting to understand a current failed computer systems development and implementation project, a past case history can be recalled to ascertain why the case failed. Reasons for failure can shape future actions so that events are not repeated.

Case-based reasoning is also a technique used in computer science to incorporate intelligent reasoning into a system. This project involves developing a case-based reasoner (CBR) computer system which can offer ethical advice with reference to cases of failed computer systems development and implementation. This is accomplished by ethically analysing cases of failed computer systems projects to determine whether a neglect of professional ethics contributed towards their failure. The conclusions drawn from the ethical analysis will serve towards the understanding of computer systems development and implementation failure in terms of professional ethics, serving as a tool to facilitate understanding of professional ethics in both academia and industry. The schematic logic of the case-based reasoner is presented in figure 1.

A case-based reasoner needs to understand new cases in terms of old experiences held in a library. This implies the processes of recalling and interpreting are required. To recall the suitable and closest matching case involves indexing the cases according to a set of features. We have indexed the library of cases in terms of cultural factors and critical success factors. The cultural factors determine a profile of the organisation’s culture: how things are done around the organisation. The critical success factors determine a profile of the failed computer project implemented in the organisation. Once the new experience has been itself defined in terms of cultural and critical success factors, it is interpreted in terms of the recalled experiences, by compare and contrast. The closest case is retrieved by the search engine and the ethical, legal and professional lessons of the case are adapted to the new case.

There has been an attempt by academia to make computer science curricula address these professional ethics issues in their “courses, laboratories, and other undergraduate experiences”. The computer industry has developed and implemented professional codes of conduct to address professional ethics. It is intended that the case-based reasoner developed will be used as a teaching tool in both academia and industry so as to address these issues of highlighting the importance of professionalism in an industry that often fails to demonstrate it.