EXPLANATION ISSUE IN THE GET-BITS MODEL Vladan Devedzic 1 , Ljubomir Jerinic 2 , Danijela Radovic 3 1 Department of Information Systems, FON - School of Business Administration,University of Belgrade PO Box 770, Jove Ilica 154, 11000 Belgrade, Yugoslavia Tel. +381-11-2371440, Fax. +381-11-461221, Email: devedzic@galeb.etf.bg.ac.yu 2 Technical Faculty Cacak, Svetog Save 65, 32000 Cacak, Yugoslavia, Tel. +381-32-24113, Fax. +381-32-42101 Email: danijela@tfc.tfc.kg.ac.yu 3 Institute of Mathematics, University of Novi Sad, Trg Dositeja Obradovi}a 4, 21000 Novi Sad, Yugoslavia Tel. +381-21-58888, Fax. +381-11-350458 Email: jerinic@uns.ns.ac.yu Abstract. The paper discusses the issue of generating explanations in intelligent tutoring systems. Specifically, it shows how explanations are generated according to the GET-BITS model of intelligent tutoring systems. The major concern is what software components are needed in order to generate meaningful explanations to different classes of the end-users of such systems. The process of explanation is considered in the context of the types of knowledge present in the knowledge base of an intelligent tutoring system. Throughout the paper, the process of explanation generation is treated from the software engineering point of view. Some design examples, describing several classes developed in support of explanation generation based on the GET-BITS model, are also presented. 1. INTRODUCTION An important issue in modern intelligent systems is that of integration: integration of multiple knowledge sources, knowledge types, reasoning paradigms, inference models, etc. In the field of Intelligent Tutoring Systems (ITS), the integration issue spans across several important topics, such as distributed tutoring, Web-based tutoring, multiple knowledge representation techniques, multiple pedagogical strategies, and multiple ways of representing student models [3], [4], [11]. This paper discusses the integration issue in the field of ITS from the software engineering point of view, and is focussed on integrating multiple explanation techniques within ITS and the tools for building ITS (ITS shells). It describes what software components are needed for building ITS shells, as well as design of such components. Specifically, the paper shows how explanations are treated in the GET-BITS model of ITS [9]. GET-BITS stands for GEneric Tools for Building ITS. The paper is organized as follows. The next Section briefly overviews the most important ideas underlying the GET-BITS model. The overview is followed by a more detailed discussion of the kinds of knowledge incorporated in the model. Then the paper concentrates on the explanation aspects of the learning process, and shows how explanation is supported in the GET-BITS model. Since the GET-BITS model is developed using the ideas of components-based software [2], the support for explanation is provided in GET-BITS by several generic software components for building explanation-relevant modules in ITS shells. Examples of how such components are designed are also provided. 2. AN OVERVIEW OF THE GET-BITS MODEL GET-BITS is an object-oriented domain- independent model of ITS [9]. It is based on a number of design patterns [10] and class hierarchies that have been discovered for ITS teaching and learning processes. In support of the patterns, appropriate C++ class libraries have been developed. The class hierarchies start from the universal, abstract, and unifying concept of knowledge element. It reflects the possibility of representing all data, information and knowledge in an intelligent system in a unified way [7]. Many meaningful subclasses that are needed for building a wide range of ITS are derived directly or indirectly from the knowledge element class (concepts like lessons, questions, tasks, answers, rules, plans, assessments, exercises, etc.). However, classes for knowledge representation are not the only tools needed to build an object-oriented ITS. Apart from knowledge of various kinds, in each such ITS there must also exist some control objects that functionally connect the system's modules, handle messages, control each session with the system, monitor student's reactions, etc. In other words, such objects provide control and