ABSTRACT

At this late stage in the book there are a number of things that should be crystal clear. To begin with, engineering practical AI software is a very difficult task, and we are only just beginning to sort out the individual problems that need to be solved. Part of the difficulty here stems from the apparent similarities between conventional software engineering and AIsoftware engineering. There are indeed some real and useful similarities, but there are also some deep differences masquerading as similarities. The presence of these differences does not mean that we should abandon the challenge, nor that we must ‘re-model’ the AI systems to fit the conventional mould; recognition of these differences should lead to the development of new techniques and to radical changes of emphasis in order to devise an appropriate methodology for the engineering of artificially intelligent software.