Master Thesis Report - · PDF fileMaster Thesis Report Thesis Title: ... The whole report of...

61
Malardalen University, Vasagatan 44 72123 Vasteras, Sweden 1 Master Thesis Report Thesis Title: Evaluation of jCOLIBRI Submitted by: Nasrullah Iqbal ([email protected]) Muhammad Hassan Ashraf ([email protected]) IDE Department Supervised by: Shahina Begum Examined by: Peter Funk Start Date: 16-01- 2006

Transcript of Master Thesis Report - · PDF fileMaster Thesis Report Thesis Title: ... The whole report of...

Page 1: Master Thesis Report -  · PDF fileMaster Thesis Report Thesis Title: ... The whole report of our thesis work is consisted on 8 chapters. ... human. This statement is

Malardalen University, Vasagatan 4472123 Vasteras, Sweden

1

Master Thesis Report

Thesis Title: Evaluation of jCOLIBRI

Submitted by:

Nasrullah Iqbal ([email protected])

Muhammad Hassan Ashraf ([email protected]) IDE Department Supervised by: Shahina Begum

Examined by: Peter FunkStart Date: 16-01- 2006

Page 2: Master Thesis Report -  · PDF fileMaster Thesis Report Thesis Title: ... The whole report of our thesis work is consisted on 8 chapters. ... human. This statement is

Malardalen University, Vasagatan 4472123 Vasteras, Sweden

2

Abstract:

Artificial Intelligence is aiming to make computer behave more intelligent, therefore the endeavor in this cause are resulting in the formation of subfields among which Case-Based Reasoning, CBR is one active research area. jCOLIBRI is a tool for the development of the CBR based application. Therefore its comparison with other available tools will assist the developer to make use of the best available tool for the CBR based application. The deficiency of the previous tools involves the too much of coding and non-built in methods which is making those tool rigid and complex to use. Flexibility and theoretical comparison for the performance of the jCOLIBRI with respect to other tools has been done for its evaluation, furthermore detail description of jCOLIBRI methods, classified tasks, connectors and case structure has been discussed to understand the basic architecture of jCOLIBRI.

To make the ground for the evaluation of jCOLIBRI the basics of CBR techniques has been discussed, in which detail description of five techniques of CBR has been given and then the implementation of these five techniques has been discussed in jCOLIBRI, for the testing of jCOLIBRI the example from the medical base application has been implemented. Evaluation of jCOLIBRI resulted in the lacks the stability, but even thou, the built in methods, objected oriented framework, XML classes, java platform and implementation of CBR Onto has increased its potential for the emergence of jCOLIBRI as an excellent application for the development of CBR based systems.

Page 3: Master Thesis Report -  · PDF fileMaster Thesis Report Thesis Title: ... The whole report of our thesis work is consisted on 8 chapters. ... human. This statement is

Malardalen University, Vasagatan 4472123 Vasteras, Sweden

3

Table of Contents

1 Introduction ........................................................................................................................... 82 Background.......................................................................................................................... 10

2.1 Case-Based Reasoning (CBR) ....................................................................................... 102.1.1 Case-Based Problem Solving .................................................................................. 102.1.2 Learning in CBR ..................................................................................................... 10

2.2 CBR: an Interesting Field............................................................................................... 112.3 Advantages of CBR........................................................................................................ 122.4 Fundamentals of CBR Methods ..................................................................................... 13

2.4.1 Main Types of CBR Methods ................................................................................. 142.5 CBR cycle ...................................................................................................................... 142.6 CBR Terminology .......................................................................................................... 16

1.6.1 Matching Algorithms .............................................................................................. 161.6.2 Diagnostic Algorithms ............................................................................................ 161.6.3 Learning Algorithms ............................................................................................... 16

2.7 CBR Techniques ............................................................................................................ 162.7.1 Case Representation ................................................................................................ 162.7.2 Indexing................................................................................................................... 172.7.3 Storage..................................................................................................................... 172.7.4 Retrieval .................................................................................................................. 172.7.5 Case Adaptation ...................................................................................................... 18

3 CBR Tools ............................................................................................................................ 203.1 Types of Previous CBR Tools........................................................................................ 213.2 The Problem of Framework Learning............................................................................ 213.3 Description of CBR tools ............................................................................................... 22

3.3.1 CBR-Express ........................................................................................................... 223.3.2 ReCall...................................................................................................................... 233.3.3 ReMind.................................................................................................................... 233.3.4 ART*Enterprise ...................................................................................................... 243.3.5 CasePower............................................................................................................... 243.3.6 Kate: ........................................................................................................................ 253.3.7 CaseAdvisor ............................................................................................................ 263.3.8 Eclipse ..................................................................................................................... 263.3.9 Esteem ..................................................................................................................... 273.3.10 Case-1.................................................................................................................... 273.3.11 Casuel .................................................................................................................... 283.3.12 Caspian .................................................................................................................. 29

4 jCOLIBRI ............................................................................................................................ 304.1 Knowledge level description.......................................................................................... 304.2 Framework Design of jCOLIBRI................................................................................... 30

4.2.1 Tasks and Methods.................................................................................................. 314.2.2 Case Base ................................................................................................................ 324.2.3 Cases........................................................................................................................ 334.2.4 Problem Solving Methods....................................................................................... 33

4.3 How to use jCOLIBRI.................................................................................................... 33

Page 4: Master Thesis Report -  · PDF fileMaster Thesis Report Thesis Title: ... The whole report of our thesis work is consisted on 8 chapters. ... human. This statement is

Malardalen University, Vasagatan 4472123 Vasteras, Sweden

4

4.3.1 Create a new application ......................................................................................... 344.3.2 Task / Method configuration panel ......................................................................... 354.3.3 Define the Case Structure........................................................................................ 354.3.4 Load Case Base / Configuring the Connectors ....................................................... 364.3.5 Configure the CBR Application.............................................................................. 37

5 Implementation of an Application with jCOLIBRI......................................................... 395.1 Description of Tasks....................................................................................................... 395.2 Variable selection........................................................................................................... 415.3 Classification Tasks which are done by jCOLIBRI ....................................................... 43

5.3.1 Managing/Defining the Case Structure in jCOLIBRI............................................. 445.3.2 Managing Connectors ............................................................................................. 475.3.3 Manage Tasks.......................................................................................................... 485.3.4 Managing Methods.................................................................................................. 49

6 Evaluation of jCOLIBRI .................................................................................................... 516.1 Implementation of Real Life Application in jCOLIBRI ................................................ 516.2 Theoretical Comparison with Others CBR-Based Tools ............................................... 516.3 Advantages of jCOLIBRI............................................................................................... 536.4 Flexibility of jCOLIBRI Methods.................................................................................. 546.5 Problems with jCOLIBRI............................................................................................... 546.6 How we can modify its methods .................................................................................... 556.7 Suggestions to Improve its Performance........................................................................ 57

7 Summary and Conclusions................................................................................................. 588 References ............................................................................................................................ 60

Page 5: Master Thesis Report -  · PDF fileMaster Thesis Report Thesis Title: ... The whole report of our thesis work is consisted on 8 chapters. ... human. This statement is

Malardalen University, Vasagatan 4472123 Vasteras, Sweden

5

Acknowledgements

We are extremely grateful to our supervisor Shahina Begum for providing us an opportunityto get the in-depth knowledge of CBR-Based tools. We also acknowledge to Professor Peter Funk for his support and encouragement and give us an opportunity to work on this project. We are thankful to Mr. Mobyen for his intuitive ideas. Last but not the least we owe this achievement to our family for their encouragement though being thousands miles away.

Page 6: Master Thesis Report -  · PDF fileMaster Thesis Report Thesis Title: ... The whole report of our thesis work is consisted on 8 chapters. ... human. This statement is

Malardalen University, Vasagatan 4472123 Vasteras, Sweden

6

List of Figures

Figure 1: Learning in Case-Based Reasoning from [4]............................................................ 11Figure 2: CBR Cycle [1] .......................................................................................................... 15Figure 3: Main windows of jCOLIBRI .................................................................................... 34Figure 4: jCOLIBRI configuration interface............................................................................ 35Figure 5: jCOLIBRI window for defining Case Structures ..................................................... 36Figure 6: jCOLIBRI window for Configuring Connectors ...................................................... 37Figure 7: Configure the CBR Application ............................................................................... 38Figure 9: Patient Case in CBROnto [22]................................................................................. 46Figure 10: Connector Architecture of patient application figure ............................................. 47Figure 11: How we can add Methods....................................................................................... 56

Page 7: Master Thesis Report -  · PDF fileMaster Thesis Report Thesis Title: ... The whole report of our thesis work is consisted on 8 chapters. ... human. This statement is

Malardalen University, Vasagatan 4472123 Vasteras, Sweden

7

List of GraphsGraph 1: Range of Fluctuation ................................................................................................. 40Graph 2: Treat Vs Fluctuation.................................................................................................. 41Graph 3: Sum2 Vs Fluctuation................................................................................................. 42Graph 4: Sum3 Vs Fluctuation................................................................................................. 43

List of TablesTable 1: Description of case attributes ..................................................................................... 45

Page 8: Master Thesis Report -  · PDF fileMaster Thesis Report Thesis Title: ... The whole report of our thesis work is consisted on 8 chapters. ... human. This statement is

Malardalen University, Vasagatan 4472123 Vasteras, Sweden

8

1 Introduction

Today’s CBR-based applications are used very commonly in many different fields. It is very hot subfield of AI which is growing rapidly. In past, we have to make decision on provided general knowledge. In CBR, previous experience is also used to make a decision. CBR-based tools are used to help in building CBR-based application. jCOLIBRI is a CBR-based tool. In 2002, Belen Diaz-Agudo [19] developed domain independent architecture called COLIBRI. It was a very good tool but non-expert users cannot use that tool. Then jCOLIBRI, an object-oriented framework tool was developed. It is a technical evaluation of COLIBRI. jCOLIBRIis an object-oriented framework in Java, based on CBROnto, built to support COLIBRI architecture which has increased its usability among the CBR users. The framework design comprises a hierarchy of Java classes plus a number of XML files organized around the following elements: it includes tasks and methods, case base, cases and problem solving methods. In uses a distributed environment a DLs engine, GUI clients for assembling a CBR system from reusable components and an object-oriented framework in Java.

The goal of this thesis work is to evaluate the jCOLIBRI tool. So for this thesis “Evaluation of jCOLIBRI” we have started with the background study of the case based reasoning,describing the problem solving and learning in CBR, as well as the fundamental methods and advantages of using CBR are discussed. A brief overview of CBR cycle and the terminology, algorithm being used by the CBR process were also described. The case representation, indexing, storage, retrieval and case adaptation have been viewed. Domain dependent and domain independent CBR tools like CBR express, Recall , remind, Art Enterprise, case power, Kate, case advisor, eclipse, esteem, case 1, Casuel and Caspian have been explored with the advantages and features provided by them, so this will be helpful in theoretical comparison of these tools with jCOLIBRI.

In this thesis, jCOLIBRI is used to implement a CBR application with real world data from medical domain in Parkinson disease [24] to evaluate the performance and check how this tool can be used to develop a new CBR based application. This application is used for suggesting fluctuation by using pervious similar cases. For performing CBR classified tasks jCOLIBRI platform methods and techniques are used. Four major tasks are performed in jCOLIBRI to develop CBR application. Tasks are managing case structure, connectors, tasks and methods. At the end we evaluate jCOLIBRI, how flexible its methods are for developers to make a new application? What are the problems those have to face with jCOLIBRI? What is the limitation of jCOLIBRI? How can we modify its method? We also give some suggestions or conclusion to improve its performance.

The whole report of our thesis work is consisted on 8 chapters. Chapter 2 consists on the background knowledge of CBR, its techniques and terminologies to solve CBR problems. Chapter 3 contains the review of different CBR tools other than jCOLIBRI. Chapter 4includes the sole description of the jCOLIBRI that include how an application can be developed, how task/method can be configured, defining case structure, loading and configuration of the CBR application. Chapter 5 has description of our implementation work, about real data and application classified task. This chapter also contains information about case representation of jCOLIBRI with CBRonto concept. Chapter 6 is based on evaluation of jCOLIBRI and with some suggestion to make it more reliable. The theoretical comparison of

Page 9: Master Thesis Report -  · PDF fileMaster Thesis Report Thesis Title: ... The whole report of our thesis work is consisted on 8 chapters. ... human. This statement is

Malardalen University, Vasagatan 4472123 Vasteras, Sweden

9

this tool with other CBR bas tools also included in this chapter. Chapter 7 is about summary of our whole work and last chapter contain detailed references.

Page 10: Master Thesis Report -  · PDF fileMaster Thesis Report Thesis Title: ... The whole report of our thesis work is consisted on 8 chapters. ... human. This statement is

Malardalen University, Vasagatan 4472123 Vasteras, Sweden

10

2 Background

2.1 Case-Based Reasoning (CBR)

Case-Based Reasoning (CBR) solves new problem by remembering previous similar situation and also reuse information and knowledge of that situation [1]. It is a recent approach of AI to solve problem and learning. In CBR, new problem are often similar to previously encountered problem and the current solution mostly based on past solution. So, it also requires little knowledge acquisition. In CBR, experiences are stored in cases. Sometimes cases are not well structured and derived from pervious databases. In CBR applications, matching and retrieval algorithms used case base for past problem-solution pairs. But sometime especially in complex application it is insufficient to recall the best matching case [2]. Now-a-days CBR field is developing rapidly. It is used in many areas like diagnoses, pattern recognition, planning and troubles shooting. Today, most of the software companies start developing commercial and industrial base applications by using this technique [2].

2.1.1 Case-Based Problem Solving

The case based on pervious experience is that it can be used for future problems solving, and can referred to past case, stored or retained case [1]. Describe reasoning by reusing past cases is the most strong and common applied way to find or to solve problem of human. This statement is also supported by result of psychological research. As discussed, Case-Based Reasoning terminology usually present case on the problem situation. In other word, CBR is a group of event which happens in particular order, one following the other, which are often repeated and process of two or more combine cases which become more effective for problem solving. Similarly, the new case or unsolved is a description of new problem that is to be solved. The problem solving is not needed in order to achieve a particular correct result of an application problem; it may be expressed by the user. The term problem solving is used in wide sense, set of ideas or plans within the area of knowledge base system in general.

2.1.2 Learning in CBR

The learning term in CBR happens as natural process of problem solving. It happens like that, when an attempt to solve problem is failed then the reason of failure identified and stored in order to avoid from this mistakes in future. When new problem, is successfully solved, then experience with solution retained in order to reuse and solve in situation of similar problem. The CBR is also considered as subfield of machine learning. Because the driving force behind case-based method come from machine learning community, will use the term of learning in Case-Based for both problem solving and learning part. A well worked out requires in a set of order to get relevant knowledge from experience and index for later matching with similar cases [1]. The learning in CBR may occur in different number of ways. The addition of new cases in case bases increased the range of situation covered. Once a suitable solution was created, about the tested in reality there is some expectation (see fig 1). Some specified criteria for check and analyze performance of case success and failure is needed. [4] By using this real-world assessment CBR system can be updated to take into case-bases in the processing of the new solution.

Page 11: Master Thesis Report -  · PDF fileMaster Thesis Report Thesis Title: ... The whole report of our thesis work is consisted on 8 chapters. ... human. This statement is

Malardalen University, Vasagatan 4472123 Vasteras, Sweden

11

Figure 1: Learning in Case-Based Reasoning from [4]

2.2 CBR: an Interesting Field

As compared with Rule-Based, sometime without complexity of rules systems, new cases can be added easily. So, CBR Systems are easier to maintain as compared to Rule-Based. In CBR system reasoning step is mostly based on hypothesis that similar solutions for the similar problems or in other word we can say, solution of similar problem is good starting point for selection of a solution for problem at hand. We can be seen a case as complex object which contain solution and description of problems. Case-Based reasoning is most successful techniques for software development. This technique is rapidly making practical usage outside AI community [3]. We look at some example of applications where it shows the level of maturity:

Help-Desk SystemHelp Desk support system is an important part of any organization. For the

complexity of system and increasing demand of user, different methods of building help desk system take more attention. Case-Based reasoning is one of the best approaches which is using with knowledge discovery to make a help desk systems. For example the retrieval of related cases can be improved by using designs of CBR and genetic algorithms. Case bases are used for best variety of common help desk systems. There are many Case Bases available in the market that can be bought and used to enhance efficiency of help desk systems.

Technical Diagnosis Support SystemCase-Based Reasoning is gradually obtaining grip as compare to expert system.

Because it allow low cost and faster knowledge development, and case maintenance. The cases are much more equipment specific and cannot get from market. Diagnosis support system work like that they try to retrieve past cases whose symptom lists are similar in nature. The new case and suggest diagnoses based on the best matching retrieved cases.

Experience Feedback Support SystemsIn Case-Based reasoning, this area is naturally next step after the Diagnosis

Support System. CBR is the most successful due to the learning of past experience. So,

Page 12: Master Thesis Report -  · PDF fileMaster Thesis Report Thesis Title: ... The whole report of our thesis work is consisted on 8 chapters. ... human. This statement is

Malardalen University, Vasagatan 4472123 Vasteras, Sweden

12

the experience feedback support system is most successful by exploring the possibilities to collect this sort of information from experiences.

Advanced Planning and Design Support system Design Support system is used for support human designers in architectural and

industrial design. This is also good implementation and support of Case-Based Reasoning techniques.

2.3 Advantages of CBR

CBR has many advantages as compare to other sub fields of AI. We are going to describe some of its advantages from various points of view [4].

Reducing the knowledge acquisition taskThe knowledge acquisition task of CBR consists of collection of relative past

cases, and their representation and storage. In the rule based systems, knowledge acquisition is necessary by extracting a set of rules.

Avoiding repeating mistakes made in the pastIn CBR system failure and success record, as well as reason to failure record

kept. This information about cause of the failure is used in the future for reducing the failure outputs.

Providing flexibility in knowledge modeling CBR systems used past experience as domain knowledge and can provide

reasonable solution, appropriate solution through adaptation. But, modeled base system cannot solve problem due to fixed modeling and formulation that is on the boundary of their knowledge.

Reasoning in domains that have not been fully understood, defined or modeledCBR system can still be developed by only adding small set of causes from the

domain, in situation where too insufficient knowledge exists to build a causal model. The addition of new cases is caused of expanded knowledge of CBR System. These are used in this direction that is determined by the cases encountered in its problem solving.

Making prediction of the probable success of proffered solutionThe past solution information is stored in the bases of level of success; case-

based reasoner may be able to predict success of solution for current problem. The level of success of these solution and differentiate between pervious and current cause of applying these solution, the whole procedure is done by referring stored solution.

Learning over timeCBR systems are normally worked in learning situation as they express more

problems and get solutions. The level of success tested and determined in the real world, these solutions can be added to case bases to solve the future problems. By adding procedure of more cases the CBR systems become more and more efficient.

Page 13: Master Thesis Report -  · PDF fileMaster Thesis Report Thesis Title: ... The whole report of our thesis work is consisted on 8 chapters. ... human. This statement is

Malardalen University, Vasagatan 4472123 Vasteras, Sweden

13

Reasoning with incomplete or imprecise data of conceptsThe retrieved cases are not may be very similar solution to the current case.

When they are with in some defined potential of similarity to the present case any drought and incompleteness can be deal by Case-Based reasoner. These factors have a little impact on performance, because the increasing lack of similarity between the current and retrieved cases.

Avoiding repeating all the steps that need to be taken to arrive at a solutionReusing a pervious solution also allow the actual steps to taken to reach that

solution to be reused for solving other problems. Because in problem domain that requires a well defined process to create solution of new problem, but alternative approach of modifying an earlier solution can reduce this process.

Providing a means of explanationCBR systems can explain solution to user by explaining how pervious case was

successful in that situation, by using similarities between the cases. It is possible because, CBR system can provide information about pervious case and its successful solution to help a user.

Extending to many different purposeThe CBR system can be implemented in many different ways. It can be used in

many forms like decision support systems, creating plan, arguing a point of view and making a diagnosis. The data in CBR system can be taken in any form, techniques of retrieval and adaptation will also vary.

Extending to a broad range of domainsCBR can be applied on various numbers of application domains. This is due to

the appearing of unlimited number of ways representing, indexing, adapting and retrieving cases.

Reflecting human reasoningAs we used CBR methodology in real life at many places it is not difficult to

convince the developers, user and managers of the validity of the paradigm. So, human can understand a CBR system reasoning and explanation and are able to convince of the validity of the solution they receive from the systems.

2.4 Fundamentals of CBR Methods

All case based reasoning methods have same thing common to identify problem and purposedsolution for it, and also update from learning of past experience. Some time these are based on the specified area of problem which is very important to make new method. But we can classify CBR methods according to their properties.

Page 14: Master Thesis Report -  · PDF fileMaster Thesis Report Thesis Title: ... The whole report of our thesis work is consisted on 8 chapters. ... human. This statement is

Malardalen University, Vasagatan 4472123 Vasteras, Sweden

14

2.4.1 Main Types of CBR Methods

Some different method cases used for different purpose like organizing, retrieving, utilizing and indexing the knowledge. All CBR methods may be make purely self dependent and automatic. Each CBR method can be modified and updated according to the differences between two cases. We discuss some CBR methods type below [1]:

Exemplar-based ReasoningThis approach is used for problem solving classification task, to find the right for the unclassified exemplar.

Instance based ReasoningThis approach is especially dedicated of exemplar based reasoning into Syntactic CBR approach. Basically representation of instance is very easy. This is non generalization approach due to the concept learning problem addressed and machine learning method.

Memory-based ReasoningThe main focus of case base methods is memory organization and access. This method consists on some cases as large memory, accessing and searching in this memory. The main characteristic of this method is parallel processing technique.

Case-based Reasoning This term has some special typical CBR method that makes it different from other terms. Firstly typically case is considered to have a certain degree of richness of information contained on it. This term also have property of methods may be modify a retrieved solution when applied in a different problem solving context.

Analogy-based ReasoningThis term is often used as characterize method that solve the new problem based on past cases from a different domain. Some time it is used as a synonym to case based reasoning to describe the typical case based approach. The main focus of approach is mapping problem like finding a way to transfer and map to present problem.

2.5 CBR cycle

The problem solving cycle of CBR consists of four major processes. We discussed them below with figure. Retrieving: most similar past experience cases retrieved for similar problem. Reusing: the cases from past retrieved cases by integrating and copying. Revising: the proposed solution from attempt to solve of new problem or adopt new

proposed solution. Retaining: when the new solution was confirmed then new proposed solution was

retained.When we see these four in practical applications, distinguish between revising and reusing is very difficult. So, many researchers merged both of them and use single one adaptation. But

Page 15: Master Thesis Report -  · PDF fileMaster Thesis Report Thesis Title: ... The whole report of our thesis work is consisted on 8 chapters. ... human. This statement is

Malardalen University, Vasagatan 4472123 Vasteras, Sweden

15

in CBR adaptation is still an open question and its need require more development in this complex stage.

Figure 2: CBR Cycle [1]

The whole process of CBR cyclic in this order that new problem is solved by retrieving past experienced cases, by reusing the pervious case revising the solution, and retaining the new solution of experience in to existing knowledge system. As shown in the figure (2) that from collection of pervious cases, the new case is used RETRIEVES. The retrieved case is combined with the new case by reuse in to solve case and with the REVISE procedure the solution is also tested. In the RETAIN, useful experience is retained for future reuse, andexisting case bases or updates with this case. CBR cycle provides a global and external view of what is happening. The process oriented view is the best way to describe the real mechanism [4].

Page 16: Master Thesis Report -  · PDF fileMaster Thesis Report Thesis Title: ... The whole report of our thesis work is consisted on 8 chapters. ... human. This statement is

Malardalen University, Vasagatan 4472123 Vasteras, Sweden

16

2.6 CBR Terminology

1.6.1 Matching Algorithms

Matching algorithms are normally used to calculate degree of match between attributes of two cases. The match score may be based by weighting attributes and closest matching cases to a given case are retained for further analysis.

1.6.2 Diagnostic Algorithms

Diagnostic algorithms are used to give a set of retrieved cases and determine classification of a case.

1.6.3 Learning Algorithms

Learning algorithms are used to increase classification and optimize the weights of attributes [2].

2.7 CBR Techniques

CBR, have 5 techniques [5]. These are Case Representation, Indexing, Storage, Retrieval and Adaptation. Now, we will discuss about these techniques.

2.7.1 Case Representation

Case is a specific piece of knowledge representing an experience [5]. It contains the information which is content of case and situation where that information or experience can be used. Different type of data can be stored in a case. CBR community has a lack of consensus what information should be stored in a case. But, case should represent two things: functionality of information and the easiest way in which information is obtained in case. Whenever we want to choose representation format of a case, we have to keep in mind following factors [4]:

Language or shell in which we have to implement CBR system. Selection of shell may reduce number of formats for case representation.

Indexing and search mechanism. Format of case should be selected according to search mechanism. Case format should be able to interact with mechanism easily.

Type or structured associated with content. These types must be available in case representation.

When, we want to choose format for case representation. Cases also have to be structured for efficient case retrieval. There are two types of structures. Structures types are Common Structure and Hierarchal Structure. Memory model for chosen form of case representation depend on following factors:

o Representation used in case base.o Number of features that are used to match cases during search.o Number and complexity of cases.

Case is a combination of two components. Components are description of a problem and its solution. Problem description consists of a set of attributes and values. That attributes predict a solution.

Page 17: Master Thesis Report -  · PDF fileMaster Thesis Report Thesis Title: ... The whole report of our thesis work is consisted on 8 chapters. ... human. This statement is

Malardalen University, Vasagatan 4472123 Vasteras, Sweden

17

2.7.2 Indexing

Index is computational data structure can be held in memory and also can search quickly [5]. In general, databases use index to speed up retrieval of data. Information in a case can be two types:

1. Indexed information use for retrieval.2. Unneeded information that may provide information to user but not used in retrieval.

Let us take the example of medical systems, where patient’s age, sex, height and weight can be uses as index features. That information is helpful for future retrieval. Patient’s photograph can be includes as an unneeded feature. That can’t be use in retrieval. Picture should be helpful for doctor for remind patient. Index should have following features [5]:

Be predictive. Should show the purpose for which case will be used. It should be easy to recognize it in feature. It must address future use of case-base.

Indexes can be selected in both ways: manually and automatically. If you choose index manually then you have to decide a purpose of case. Automated indexing has many methods including:

In different-based indexing, index has to differentiate a case from another case. In inductive learning method, features are identified which latterly uses as an

indexes. Appropriate set of indexes produce by similarity and explanation-based

method for those cases which have same information.

2.7.3 Storage

One important aspect in efficient CBR system is case storage [5]. It represent logical view what is stored in case. For efficient retrieval, case-base should be organized in manageable way. These methods referred as case-memory models. Two best models are Schank’s and Kolodner’s dynamic-memory model. 2nd is category-exemplar model of Porter and Bareiss. These methods are widely used in intelligence science society. Commercially available CBR tools don’t use those methods.

2.7.4 Retrieval

Case retrieval is a process of finding cases which are closest to current case [4]. For efficient case retrieval, there should be selection criteria which will judge a case. CBR major research area is retrieval. There are 4 retrieval techniques. First two are commonly used in CBR tools.

Nearest-neighbor Retrieval Nearest-neighbor retrieval technique is to measure similarity between source case and case which we are searching [6]. If case is not matched with CBR library. Then, CBR system will return nearest match. Nearest match can be represented in following equation [5].

nSimilarity (T, S) = f (Tj ,Si)Wi

i1

Page 18: Master Thesis Report -  · PDF fileMaster Thesis Report Thesis Title: ... The whole report of our thesis work is consisted on 8 chapters. ... human. This statement is

Malardalen University, Vasagatan 4472123 Vasteras, Sweden

18

Where T= target case S= source case n= number of attributes in each case I= individual attribute from 1 to n f= similarity function for attributes I in cases T and S w= importance weighting of attribute I Nearest-neighbor is not efficient technique. Because, when new case is introduced, indexing should be performed and it could effect efficiently.

Inductive Retrieval In inductive retrieval, use past cases to extract rules or construct decision [6]. This technique finds target case based on index source case. Cases are divided into decision tree structure. Author suggests combination of both techniques [5]. Inductive retrieval used to retrieve set of matched cases and then nearest-neighbor retrieval rank these cases according to their similarity with target case.

Knowledge-Guided Approaches Knowledge-guided classification methods are simplest approach for Case-based Retrieval [4]. The case base is consists of individual historical cases and questions that are asked to help the user identifying the most suitable cases. For each case, the case base author determines the questions that will be used to determine related cases. In case search, user has to enter a problem or user has to select predefined problem. The CBR software uses a text search engine to retrieve the initial set of cases. When initial cases have been identified, CBR system asked link questions from user to get more filtered information.Validated Retrieval Validated retrieval consists of two phases [4]. In phase 1, all cases are retrieved which looks relevant to problem. Phase 2 involves more descriptive features from the initial group of retrieved cases whether these cases are valid in current situation. Advantage of validated retrieval is that inexpensive methods are used to make initial retrieval of all cases. Expensive methods are used as a subset of case base.

2.7.5 Case Adaptation

It is a technique to alter retrieved case for reproducing new solution for new problem [6]. It may be the most impotent step which adds intelligence. Case adaptation improve overall problem solving ability of CBR. These two techniques are used mostly in CBR systems [6].

Structural Adaptation In structural adaptation, formulas and rules are directly applied to stored solution in CBR library. When case is applies on these rules and formulas. Then, CBR system adapts this case and match with new problem.

Derivational Adaptation It is a technique to reuse the rules and formulas to produce a new solution of a current problem. Solutions which are retrieved must be stored as additional case in the CBR library so it reproduces new solution to new case.

Page 19: Master Thesis Report -  · PDF fileMaster Thesis Report Thesis Title: ... The whole report of our thesis work is consisted on 8 chapters. ... human. This statement is

Malardalen University, Vasagatan 4472123 Vasteras, Sweden

19

Several techniques are used in CBR for simple to complex. Techniques are following [5]:

Null Adaptation It uses no adaptation at all. It just applies whatever solution is retrieved to current problem without adapting it. Null adaptation is useful for problems which involve complex reasoning.

Parameter Adjustment It is a structured technique which compares specified parameters of retrieve and current case to give a solution in the right direction. This technique used in CBR called JUDGE.

Derivational Reply It is a technique of retracing the method to arrive at old situation which is used to give a new solution in new situation.

Model-guided Repair This technique uses a causal model to guide adaptation. In this technique, also require good understanding of problem domain.

Page 20: Master Thesis Report -  · PDF fileMaster Thesis Report Thesis Title: ... The whole report of our thesis work is consisted on 8 chapters. ... human. This statement is

Malardalen University, Vasagatan 4472123 Vasteras, Sweden

20

3 CBR Tools

In 1980, the concept of object-oriented frameworks has been introduced [7]. Framework is much more than a software library. Set of classes which are defined by a library may be used independently or in small groups. Main theme of a framework is to occupy a set of concepts related to a domain and the way they interact. It can say that framework is an incomplete application where user has to specialize some classes to develop the complete application.An object-oriented framework is “a reusable design of all or part of a system that is represented by a set of abstract classes and the way their instances interact” [14]. It is hard to make the design of framework as compared to library of reusable components. The design process is centered on the identification of hot spots [10]. These hot spots are well-defined functions of framework that can be changed into white-box hot spot or composition of black-box hot spot. In the beginning, framework only defines white-box components and a moremature framework will also provide black-box components. Framework approach is very appealing. It allows the reuse of code and design for a class of problems. It also gives the ability to non-expert to write complex applications quickly. It is very difficult to understand framework as compared to class library. Once, one understand framework then it is very easy to apply it in wide spectrum and enhancement in the framework.It is very important that the framework for CBR takes care of these axes which may be reused in different situations. Axes should be handled independently for making simple process of development and maintenance of applications. CBR tool is the software which can be used to develop CBR applications [7]. Ideal CBR tool should support the main processes of CBR. Processes are Representation, Retention, Retrieval and Revision. Frameworks are very powerful tools regarding to the development of new system. However, frameworks are very complex and not easy to learn how to use them but after awareness of any tools/framework it is very easy to develop a new system. The learning of any tool is not easy in the beginning but we can do it by self educating and training course. The use of framework reduces the cost of application creation because “using a framework is closer to maintaining an existing application than to developing a new one from scratch” [15]. Researchers are tried to work out and make research work how to make a new frame work to build a CBR systems [14]. Processes should perform following functions in developing a tool/framework for CBR system [8]:

RepresentationIt should support all data types and should structure cases relevant to the

application domain.

Retention The Case-Base should be organized in a manageable way which supports search and retrieval methods

Retrieval Cases must be properly indexed for efficient retrieval. It may be automatic butdevelopers can influence the processes. Revision Arrange it in advance within tool for case adaptation.

Page 21: Master Thesis Report -  · PDF fileMaster Thesis Report Thesis Title: ... The whole report of our thesis work is consisted on 8 chapters. ... human. This statement is

Malardalen University, Vasagatan 4472123 Vasteras, Sweden

21

CBR tool should have some functions: Support variety of retrieval mechanism. Be import data from the full range of corporate database. Provide good user interface.

3.1 Types of Previous CBR Tools

The tools can be two types: Domain independent or domain dedicated. CBR shells are application generators with graphical user interface, where some parameters can be defined by the user to develop a new application. CBR shells are a kind of tools which can be used by non-programmer user and can not extend or integrate new components in these tools.CBR Application Programming Interfaces (APIs) provide set of functions to deal with CBR algorithm [8]. Sometimes CBR APIs by using a programming language can also be extended. Some new techniques can be added. Main focus of this tool was not to provide generic components but it provides only function of input and output of a system.

3.2 The Problem of Framework Learning

Before exploring the CBR framework we need to know which problem a framework user face. There are some detected problems in framework [16]:

Knowing the framework domainThe user must know the type of application which the framework can be used.

Because user wants to use the framework for developing a new application and should understand whether or not the application could be developed based on the choice.

To know the mapping between application domain concepts and framework classesNormally domain entities do not directly map onto just one framework class. So,

the user needs to make big effort to know the classes semantic of frame work. The user has to design domain concept for his new application.

Understanding framework functionalityThis problem is closely similar to pervious problem. The framework user needs

to know behavior of elements within the framework. This knowledge is very helpful for him to identify the hierarchy of classes that will be involved in design of applications.

Understanding interactionsThe user does not know the communication between the classes of framework.

The documentation of common framework and source code formally solve this problem. The main cause of integrity problem of framework is a misunderstanding because the user does not realize the impact of his modification on another framework classes.

Framework global architecture comprehension

Page 22: Master Thesis Report -  · PDF fileMaster Thesis Report Thesis Title: ... The whole report of our thesis work is consisted on 8 chapters. ... human. This statement is

Malardalen University, Vasagatan 4472123 Vasteras, Sweden

22

Some problems like the duplication of functionality and extension of freeze parts of framework occurred when the user does not have the enough information about the architecture of framework. This is the main problem in learning the framework which user has to face. Due to the knowledge of framework architecture user can maintain integrity and non functional qualities of framework.

Choice among alternative solutionsNormally the design problem can be solved in different ways within a

framework and the user should select the best solution from the possible set of approaches. This task is not easy, because firstly, user needs to identify the correct choices and after that resolve the problem and secondly, user should judge correctly the advantages and objections included in every approach.

Technological problems When user wants to develop a new application with framework, he/she must need to know the software and hardware requirements of the framework.

3.3 Description of CBR tools

3.3.1 CBR-Express

Inference Corporation developed a CBR-Based tool Called CBR-Express [8]. CBR-Express is perhaps most successful application of CBR. The interface of CBR Express is build using Asymetrix Tool Book. It is basically a help desk system [9]. It has simple case structure and nearest neighbor matching to retrieve cases. Managers of help desk services should face problems like [5]:

1. Staff should be trained for efficient help desk system.2. Training takes time and money.3. Help desk is not best job in the world. So, staff turnover is high.

Features of CBR-Express [8]: Key feature of CBR-Express is to handle free-form text. Customers describe their

problem in own words. CBR-Express ignore word such as and, I, or, there etc. It can use synonyms and represents words as a set of trigrams.

The use of trigrams means that CBR-Express is reluctant of spelling mistakes and typing errors such as letter transpositions.

Examine user’s free form entry and matches it with cases. Development environment for case-bases. Uses a simple case structure. It stored cases in relational database. CBR-Express is network ready and cases can be shared between organization’s

networks [5]?

Interface of CBR-Express 3.0 was completely re-implemented and it provides better support for case authoring [5]. Now, case is represented in folder structure which is similar to Windows 95 explorer. CBR-Express Tester helps the case-base designer to evaluate the quality of cases. It provides static and dynamic analyses of case-base. Tester module can split a case-base into smaller subsets of cases which can be imported into new case-bases.

Page 23: Master Thesis Report -  · PDF fileMaster Thesis Report Thesis Title: ... The whole report of our thesis work is consisted on 8 chapters. ... human. This statement is

Malardalen University, Vasagatan 4472123 Vasteras, Sweden

23

3.3.2 ReCall

ISoft (AI Company) made that CBR-based tool [8]. Tool is coded in C++. ReCall tool offer a combination of nearest neighbor and inductive case retrieval. It is available on the pc under 3.1 versions of Windows, on UNIX workstations under Motif, Sun, HP series 700 and DEC Alpha, designed in open architecture that allows the user to add CBR functionality in the applications. There are some key features of ReCall [8]:

Object-oriented language with classification, inheritance, multiple inheritance and relationship between objects. This allows the user to specify the complex knowledge not only in a structured way but also in a modular way. It also allows the user to describe cases which have noise, uncompleted and uncertain information.

Multiple hierarchies used for efficient case retrieval and organization. ReCall provides different methods for automatically analyzing the cases. Automatic procedure based on inductive techniques.

ReCall support two types of adaptation mechanisms. Default mechanism based on voting principal and user defined rule. External function calls can provide more complex adaptation.

ReCall has a graphical user interface that allows the user to quickly initialize a case-base without having a prior knowledge of programming. By using special graphical editor, user can define objects and relationship between objects and adaptation rules. Users can design, modify and test applications interactively and also can work on several case bases at the same time. Tree editor allows the user to interact directly with case classification created by induction algorithm to control and modify the index tree.

ReCall can be easily interfaced to external applications especially for databases. ReCall can Diagnosis and also can diagnose failure and do maintenance. Design system include cost estimation, document layout and application size. Simulation feature include estimation, market forecast and behavioral simulation. Information Retrieval. ReCall is available as a C++ library. Its CBR functionality can integrate with other

applications.

3.3.3 ReMind

ReMind is produced by Cognitive Systems Inc., This project is supported by the US DARPA programmed [8]. It is basically developed for Macintosh. After some time, it is also developed for Windows and UNIX. ReMind offer template, nearest neighbor, inductive and knowledge-based retrieval. Template retrieval support SQL queries returning all queries. Nearest neighbor is informed by user defined important information that can be placed on case features. Inductive retrieval involves tree-based cases [12]. In knowledge-based retrieval, take information from user and then, try to implement that.

Features of ReMind: ReMind is very flexible tool which support many case retrieval methods. ReMind has text handling facility.

Page 24: Master Thesis Report -  · PDF fileMaster Thesis Report Thesis Title: ... The whole report of our thesis work is consisted on 8 chapters. ... human. This statement is

Malardalen University, Vasagatan 4472123 Vasteras, Sweden

24

API of ReMind has the ability to link with Microsoft visual c++ programming environment [13].

Domain is strong with potential cases. When a case is retrieved inductively, ReMind is able to explain why the cases were

retrieved [5]. Its limitation is retrieving speed. Nearest neighbor is very slow, on the other hand

inductive retrieval is very fast. When it creates inductive index, then it becomes slow [5].

It will able to access data in ODBC-complaint databases. It is available as a C++ library for embedding into other applications. Very influential tool. ReMind’s cases are represented as attribute. Qualitative models are created graphically to indicate which concepts are dependent

on other concepts. ReMind uses qualitative model to guide the induction algorithm.

3.3.4 ART*Enterprise

ART* Enterprise is the latest tool of Inference Corporation’s [8]. That company is one of oldest AI Company. In 1980, ART was advertised as an AI-based tool. Inference dropped the label of AI and now ART*Enterprise marker as an integrated and object-oriented development tool.

ART* Enterprise has many features [8]. Object with multiple inheritance, polymorphism, rules and cases. Procedural programming language. Ability to link with data repository. Offers cross-platform support for all operating system. CBR functionality of ART*Enterprise is more controlled than CBR-Express. It provide excellent environment to integrate CBR with others application. Whole package is very powerful. ART*Enterprise is ideal tool for embedded CBR functionality within a corporate

wide information system. It has no support for inductive indexing. Then, it is excellent for performing for

complex case adaptation [5]. It is also possible to create complex hierarchical case representation. Its package include GUI builder. ART*Enterprise CBR component is same as CBR3. It also provides sophisticated version control facilities.

3.3.5 CasePower

Inductive Solutions Inc developed CasePower tool [8]. That tool builds its cases in matrix environment provided by Microsoft Excel. Rows and columns of spread sheet are used to define cases and their attributes.

Features of CasePower [8]:

Page 25: Master Thesis Report -  · PDF fileMaster Thesis Report Thesis Title: ... The whole report of our thesis work is consisted on 8 chapters. ... human. This statement is

Malardalen University, Vasagatan 4472123 Vasteras, Sweden

25

CasePower is specialized tool used for constructing Excel spreadsheets. This can be analyzed by using CBR.

It provides basic functionality of CBR for Numeric applications. Uses nearest neighbor retrieval and reduces the search time by calculating the index

in advance. If new case is retained, then entire set of case indices must be recalculated.

Adoption can be performed by using Excel formulas and macros [5]. This tool supports almost all features of Excel such as graphing, reporting and DDE.

3.3.6 Kate:

This tool is a product of AcknoSoft, Paris [5]. Kate is made up of a set of tools. Tools are Kate-Induction, Kate-CBR, Kate-Editor and Kate-Runtime. Development should be on MS Windows. Its deployment can be on MS Windows, Mac, or SUN. Now, we discuss about Kate tools:

Kate-Induction It is an ID3-based induction system that supports object-oriented representation of cases. Cases can be imported from many databases and spread sheets. Induction algorithm can make use of background knowledge. In induction algorithm, retrieval using trees is extremely fast.In induction algorithm, retrieval using trees is extremely fast.

Kate-CBR KATE-CBR uses nearest-neighbor approach. It supports same case objects hierarchies as KATE-INDUCTION. Two techniques can be combined in a single application. Users can customize similarity assessments.

Kate-Editor It is a set of C DLLs which are integrated with Tool-Book to form a customizable developer’s interface. Forms can be deployed to assist case entry.

Kate-Runtime It is another set of interface utilities that can be used with Tool-Book to deliver an application. It is also delivered as embedded C code.

Features of Kate tools: Kate tools are powerful set of CBR tools. Retrieval is very fast. It includes some testing routines. Experienced developers can customize it. It is used successfully for several very complex diagnostic tasks. Not available as a shrink wrapped product. AcknoSoft preference is to sell it with own consultancy.

Page 26: Master Thesis Report -  · PDF fileMaster Thesis Report Thesis Title: ... The whole report of our thesis work is consisted on 8 chapters. ... human. This statement is

Malardalen University, Vasagatan 4472123 Vasteras, Sweden

26

3.3.7 CaseAdvisor

CaseAdvisor is marketed by Sentenia Software at Frazier University in Canada [5]. It is also developed by Inference’s CBR product. This software has three parts [5].

1. CaseAdvisor Authoring2. CaseAdvisor Resolution3. CaseAdvisor WebServer

CaseAdvisor AuthoringIt is a very simple tool. It is similar to Inference’s CBR-Express version 1 and 2.

It provide syntax-free environment for entering the detail of case’s name, description, solution and confirming solution. CaseAdvisor allows the user to create simple diagnostic decision tree. These trees are created by using a simple textual interface. It is more useful if that will implemented in graphical user interface.

CaseAdvisor Problem ResolutionFor this part, Netscape is required. Interface of retrieval system is similar to

Case-Point. It is divided into three parts: 1. Problem description.2. Questions.3. Solution.

User type’s description of a problem and CaseAdvisor matches this against the cases in case-base. Then question will help the user to select appropriate case from retrieved cases. After that, Netscape shows the solution. Diagnostic decision trees are navigated by using the hypertext links of the Web browser.

CaseAdvisor WebServerIt is a Java interface to case-bases which integrate with standard Web-server

software running on Windows NT and UNIX. That product is not reviewed but can get description on Sententia’s web site.

Features of CaseAdvisor: Very easy to use product. Not as powerful as CBR3. Cheaper than Inference’s products. Also does not offer many features as CBR3. Suitable for simple case-based diagnostic systems. Compatible with ODBC database. Its version 3.0 promises a C++ programming interface. It also has compatibility with Inference’s prepackaged case-bases.

3.3.8 Eclipse

Eclipse is a product of Haley Enterprises. It closes relative to ART. Functionality of ART is written in LISP. Eclipse is implemented in C by NASA. In late 1980, the former chief

Page 27: Master Thesis Report -  · PDF fileMaster Thesis Report Thesis Title: ... The whole report of our thesis work is consisted on 8 chapters. ... human. This statement is

Malardalen University, Vasagatan 4472123 Vasteras, Sweden

27

scientist of Inference developed a new language like Eclipse. Eclipse is available for Dos, Windows and UNIX platforms.

Some features of Eclipse are [8]: Eclipse is only available as C library which provides CBR functionality. It’s only suitable for experienced C programmers. Also supports usual range of variables type. Offers text handling facility similar to ART. Also uses stems to identify cases. Supports nearest-neighbor and inductive retrieval [5]. Does not provide a development environment like ART*Enterprise. Extremely fast [5]. Can be embedded within a C++ application. Offers objects which are fully compatible with C++ objects. Optimizes forward chaining using the Rete Algorithm. Can integrate data from heterogeneous databases.

3.3.9 Esteem

Esteem is from Esteem Software [5]. It is developed in Intellicorp’s Kappa-PC and now in version 1.4 is available. Esteem uses kappa’s inference engine for developers to create adaptation rules. It supports application which has multiple case-bases and nested cases. This means that one can reference another case-base through an attribute slot in a case.

There are some features of Esteem [5]: Supports many assessment methods like feature counting, weighted feature

computation and inferred feature computation. Also can generate feature weights by using either ID3 weight-generation method, or a

gradient descent weight-generation method. Interface can enable nonprogrammers to develop a case-base. Development interface consists of 5 editors. For embedding application, Esteem can be used as a DDE server. Esteem can be available as a Kappa-pc KAL code and can integrate with Kappa

applications. Can run on MS Windows. Represents exceptationally good value for money. Good tool for people who are interested in exploring the potential of CBR within the

organizations. Very slow. Inflexible interface can made it inappropriate for developing serious application for

delivery. User can incorporate his own similarity functions into Esteem if he wants to do this

work.

3.3.10 Case-1

Page 28: Master Thesis Report -  · PDF fileMaster Thesis Report Thesis Title: ... The whole report of our thesis work is consisted on 8 chapters. ... human. This statement is

Malardalen University, Vasagatan 4472123 Vasteras, Sweden

28

Astea International developed Case-1 tool. Case-1 developed with CBR-Express [8]. That is why it has many features of CBR-Express. Case is represented as free-form text describing problem, a set of weighted questions that can confirm or reject case and set of appropriate solutions. Cases can be authorized by people who have no programming experience.

Key features of Case-1 are: Cases are stored in relational database (Watcom). Interface is developed in Visual Basic. This is not a mature product as CBR-Express and does not seem to have any

significant improvements. Tools can integrate with other Astea supporting tools. It does not offer any significant functional improvements.

3.3.11 Casuel

European INRECA project developed Casuel [5]. It is a common case representation language. Basically, it is interface between all INRECA component systems. It also contributes as an interface between INRECA components and external world. Casuel version 2.0 is available in public domain from the University of Kaiserslauten. The package includes:

-Document describes Casuel version 2 syntax.-A set of case-bases in Casuel version 2.0 format.-Casuel version 2.0 parser which is written in c.

There are some features of Casuel [5]. Casuel is a flexible, object-oriented and frame like language. Designed to model complexity of real cases. Stores its cases and models in ASCII files. Also provides mechanism for defining similarity measures. Represents its domain objects in class hierarchy by using inheritance. Also support rule formulas for exchanging case completion rules and case adaptation

rules. More concise than flat feature-valued vectors for the representation of objects with

large number of potentially relevant attributes of different types. Only few of which are applicable to given case.

It allows different systems components to ignore irrelevant definitions. Reduces the number of information-gain calculations needed for inductive systems. It becomes European standard for exchanging case-bases. Casuel is very open in sense that new features cab be defined.

Page 29: Master Thesis Report -  · PDF fileMaster Thesis Report Thesis Title: ... The whole report of our thesis work is consisted on 8 chapters. ... human. This statement is

Malardalen University, Vasagatan 4472123 Vasteras, Sweden

29

3.3.12 Caspian

It is a CBR tool developed at the University of Aberystwyth in Wales [5]. It is used as the CBR component of the Wayland system. Caspian is written in C. It can run on Ms-DOS and Macintosh. Some key features of Caspian:

It has simple command line interface which can be integrated with a GUI front end if required.

Performs simple nearest-neighbor match. Uses rules for case adaptation. Stores case-base including adaptation rules, in an ASCII file. An individual case comprises a series of attributes and a solution. Caspian can be downloaded from the web (www.aber.ac.uk/cjp/getting-caspian.html)

and information can be got from Dr. Chris Price.

Page 30: Master Thesis Report -  · PDF fileMaster Thesis Report Thesis Title: ... The whole report of our thesis work is consisted on 8 chapters. ... human. This statement is

Malardalen University, Vasagatan 4472123 Vasteras, Sweden

30

4 jCOLIBRI

In 2002, Belen Diaz-Agudo developed domain independent architecture called COLIBRI [21]. It stands for Cases and Ontology Libraries Integration for Building Reasoning Infrastructures. COLIBRI helps in the design of Knowledge Intensive CBR systems. COLIBRI is basically based on knowledge gained from a library of ontologies which are application independent and also use CBROnto. CBROnto helps in case representation and permits flexible, reusable and generic Problem Solving Methods which solve CBR tasks. COLIBRI is very useful for last 2 or 3 years. But, it is not helpful to non-expert users. Then, CBR community thought to develop a new application. jCOLIBRI is an object-oriented framework and based on CBROnto. Its basic aim is to support COLIBRI architecture. It is basically technical evaluation of COLIBRI which support in distributed architecture a DLs engine, GUI clients for producing a CBR system from reusable components and object-oriented framework in java.

4.1 Knowledge level description

Useful way of describing problem solving in that sense, task should be solved and goals also achieved. Domain knowledge for these methods is called knowledge level description.

CBR Ontology

CBR ontology adopts the terminology which any CBR system provided for a new system. Our CBR ontology adopts ontology over CBR terminology. Ontology has common language to define elements which may be used to build a new CBR system. In jCOLIBRI, ontology is not represented as a new source. All concepts of CBR are mapped into classes and interfaces of framework. Classes which represent the concept of ontology serve two main purposes:

Classes serve as a hook where new CBR types should be added. They provide the tasks and abstract interface of the methods. This can be developed

independently from CBR building blocks.

Task/Method Ontology

In knowledge level description, Problem Solving Methods (PSMs) describe the behavior of PSMs in implementation manner. Authors describe CBR cycle in four general tasks: Retrieve Reuse, Revise and Retain. These tasks are divided into subtasks. jCOLIBRI framework includes task and library of PSMs to solve these tasks.

4.2 Framework Design of jCOLIBRI

Design of framework shows a hierarchy of java classes and number of XML files in these elements [17]:

Page 31: Master Thesis Report -  · PDF fileMaster Thesis Report Thesis Title: ... The whole report of our thesis work is consisted on 8 chapters. ... human. This statement is

Malardalen University, Vasagatan 4472123 Vasteras, Sweden

31

Tasks and Methods

XML files explain the task supported by framework and methods to solve these tasks.

Case Base

Several connectors are defined to support different types of cases. Numbers of possible in-memory organization case base are supported.

Cases

Abstract representation of cases is provided by number of interface and classes which can support any type of actual case structure. Problem Solving Methods

It is actually a code which supports the methods included in the framework.

Now, we will explain further about these elements.

4.2.1 Tasks and Methods

Tasks are key element which represents the method goal and can identify it by name and description in an XML file. We can add task in framework anytime. Method description includes the follow elements:

Name

Name of class used for implementation of method.

Description

Detail description of the method.

Type

jCOLIBRI supports two types of methods: Execution and decomposition.Execution methods directly solve the problem. Decomposition divides the tasks into subtasks.

Context Input Precondition

Input requirement of method are described.

Page 32: Master Thesis Report -  · PDF fileMaster Thesis Report Thesis Title: ... The whole report of our thesis work is consisted on 8 chapters. ... human. This statement is

Malardalen University, Vasagatan 4472123 Vasteras, Sweden

32

Competencies

This method can solve only these tasks.

Parameters

Method configuration parameters, can say as variable hooks of methods.

Subtasks

In decomposition methods, that method get list of tasks after dividing the original tasks.

Context Output Post condition

Output information can get from this method. Information use to know which method used as input the output of this. Execution of CBR system can be seen as a sequence method where a method used as input the output of previous. Without input/output constraint, method applicability can be determined by general constraint like requirement of organization for the case base or availability of similar function defined on case [18].

4.2.2 Case Base CBR systems access store cases in an efficient way [18]. But, problem occurs when size of case base grows. jCOLIBRI manages that problem in two ways:

1. Persistency mechanism2. In-memory organization

1. Persistency mechanism

Persistency is built around connectors which represents first layer of jCOLIBRI. Connectors are objects which know how to retrieve cases from case base and how cases can be returned to CBR system in efficient way. jCOLIBRI implements three different connectors [17]: File system connector’s retrieve cases from XML files. JDBC connectors make possible for jCOLIBRI to use with DBs in the market. RACER connectors which allows the designer to use RACER. RACER is responsible

for maintaining and giving access to cases.

2. In-memory organization An interface which assumes that whole Case Base can be read into memory for the CBR to work with it. It is not feasible for big size. That is reason, for which jCOLIBRI connectors implemented a new interface who allow retrieving cases satisfy a SQL query. Designer can decide when and what part of cases loaded into memory. Second layer of Case Base is Data structure which will organize cases after they loads into memory.

Page 33: Master Thesis Report -  · PDF fileMaster Thesis Report Thesis Title: ... The whole report of our thesis work is consisted on 8 chapters. ... human. This statement is

Malardalen University, Vasagatan 4472123 Vasteras, Sweden

33

The two layer approach is efficient that allows different strategies for retrieving cases. Key aspect of COLIBRI approach is to use of already available ontology’s as indexes for cases.

4.2.3 Cases

jCOLIBRI represent cases in very simple way. A case is individual which has number of relationship with other individuals. Framework is supported by different data types which define any simple case. Representation of cases is the one used when Case Base has interaction to RACER.

4.2.4 Problem Solving Methods

jCOLIBRI is an interesting framework for a bigger portion of the CBR community.

Key feature of the framework for methods:

1. RetrieveIts methods are organized around the tasks. Main focus of methods in this

category is find similarity between cases. Similarity function can be parameterized through system configuration.

2. ReusejCOLIBRI provides a complete design where case-based and slot-based

adaptation can be hooked. It also contributes as a bridge between CBR system and Java version of CLIPS.

3. ReviseIt is not supported by jCOLIBRI framework.

4. RetainProcess of learning, for updating the case base is totally based on

implementation of Case Base.

4.3 How to use jCOLIBRI

jCOLIBRI is used for developing a new CBR application and instantiating framework classes directly. Learning of framework and how to use it for creating a new CBR application are hard processes. Developer must need to know about framework design. We can develop new CBR application by using GUI of jCOLIBRI. Its features mostly semiautomatic tool and help developer through GUI [19].

jCOLIBRI can be started by clicking on exe file jCOLIBRIGUI.bat and then the GUI of jCOLBIRI will be appeared . GUI of jCOLIBRI helps you to create new CBR application with predefined task and methods. These predefined tasks and methods are in the files of

Page 34: Master Thesis Report -  · PDF fileMaster Thesis Report Thesis Title: ... The whole report of our thesis work is consisted on 8 chapters. ... human. This statement is

Malardalen University, Vasagatan 4472123 Vasteras, Sweden

34

task.xml and methods.xml. The main task building CBR application is configuration where users define the task and assign methods for each task [19]. The jCOLIBRI does not have full support yet to ask queries and configure similarity function. But after configuring process it will generate auto code template which you can extend till finish your application. We can configure similarity cases and ask quires by writing java code.

Figure 3: Main windows of jCOLIBRI

4.3.1 Create a new application

In fig 3, shows the main window of jCOLIBRI with upper toolbar which shows 3 menu lists file, CBR and Help. New application can be develop step by step through this GUI. For this firstly, need to click on CBR toolbar, select new CBR system and give the name of new application and press ok. Then, a new window will appear where we have to select one extension out of five for our application. Five extensions are [20]:

1. Core Extension.2. Case Retrieval Nets Extension.3. Description Logic Extension.4. Textual Extension.5. User Components Extension.

Core extension contains basics components of jCOLIBRI. 2nd extension support case retrieval nets. In description logic extension, description logic of jCOLIBRI is supported. Textual base CBR components are supported in textual extension. If, user want to define his/her own components. Then, user has to select 5th extension.

Page 35: Master Thesis Report -  · PDF fileMaster Thesis Report Thesis Title: ... The whole report of our thesis work is consisted on 8 chapters. ... human. This statement is

Malardalen University, Vasagatan 4472123 Vasteras, Sweden

35

4.3.2 Task / Method configuration panel

After selecting the extension, we have to manage tasks and methods. Name of CBR application you can see another windows interface for task method configuration panel. You must choose the methods that resolve the tasks which you want to perform. On left side in fig 4, can only see main task of CBR and when double click on any task you can see on right side new configuration windows appear. You can also see at the bottom log panel with scroll bar and can read their application messages.

Figure 4: jCOLIBRI configuration interface

4.3.3 Define the Case Structure

Before creating CBR application need to configure the case structure for this click again on the toolbar menu button CBR and select option mange case structures. Can see the new windows will appear for configuration of case structure. In fig 5, left side’s options are case structure description, solution and result. If you want to add cases in application, can do this by clicking on add simple button. Remove button will remove the cases. When click on case then it properties will appear on right side. Name, type, weight and similarity of case can be changed in properties of case. Apply changes button will apply these

Page 36: Master Thesis Report -  · PDF fileMaster Thesis Report Thesis Title: ... The whole report of our thesis work is consisted on 8 chapters. ... human. This statement is

Malardalen University, Vasagatan 4472123 Vasteras, Sweden

36

changes. This will impose on case. Local similarity is used for computing the similarity of attributes. After defining the structure of cases, case structure is saved in xml file.

Figure 5: jCOLIBRI window for defining Case Structures

4.3.4 Load Case Base / Configuring the Connectors

This step consists on configuring the connector that is going to load the case base. Again click on toolbar CBR menu and select option manage connectors. We can see Fig 6 windows will appear for the configuration of connectors. In this configuration, connector’s type should be defined. It is also necessary to give detail of case bases and path of case structure. SQL database Connector’s properties contain: DriverIt is driver of connector. Sub protocolIt is sub protocol of connector. HostContain name of host. Port

It is port number on which we are communicating. Database

Page 37: Master Thesis Report -  · PDF fileMaster Thesis Report Thesis Title: ... The whole report of our thesis work is consisted on 8 chapters. ... human. This statement is

Malardalen University, Vasagatan 4472123 Vasteras, Sweden

37

Specify database name which will be use in connector. TableTable name of database. User and PasswordIf, you have any user name and password for database. You have to enter it.In the properties plaintext file connector, File path and delimiter is necessary information. In mappings, each column of database should be map. After the whole configuration we saved file.

Figure 6: jCOLIBRI window for Configuring Connectors

4.3.5 Configure the CBR Application

This is final and important step for creating a new application where the CBR application is configured. In jCOLIBRI CBR applications are composed by a PreCycle that load cases, the typical 4 Cycle and a PostCycle that stores cases into the persistence layer [20]. In fig 2.5, see on left side shows PreCycle, CBR Cycle and PostCycle. We start with PreCycle, click on it and right side window for task configuration. Each task can be solved by several methods and can choose the most appropriate and instance it. Normally there are two types of PSMs:

Page 38: Master Thesis Report -  · PDF fileMaster Thesis Report Thesis Title: ... The whole report of our thesis work is consisted on 8 chapters. ... human. This statement is

Malardalen University, Vasagatan 4472123 Vasteras, Sweden

38

Decomposition: It is used for dividing main task into subtask. Resolution: Its solve tasks directly.

Click on PreCycle on it and obtain cases task for creating instance. After clicking on,instance button. New window will be appeared where path of connectors can be given. Normally jCOLIBRI used problem solving methods and these are domain independent. So, they need information about the domain to be completed [20]. The same procedure we do with the CBR cycle and give path of case structure file for add instance of obtain query task. We add instance with same procedure for four Retrieve Task, Reuse Task, Revise Task and Retain Task. In fig 7 little button can see on upper left corner, it is used for test PSMs configuration of your application.

Figure 7: Configure the CBR ApplicationThis dialog appears when press corner red I button and ask to user for the query. It is automatically created by the “obtain query task” method using the case structure xml file.

After giving the query when ok is pressed then we can see the results on the execution log. Like results working cases, query, PSMs result etc.

Page 39: Master Thesis Report -  · PDF fileMaster Thesis Report Thesis Title: ... The whole report of our thesis work is consisted on 8 chapters. ... human. This statement is

Malardalen University, Vasagatan 4472123 Vasteras, Sweden

39

5 Implementation of an Application with jCOLIBRI

5.1 Description of Tasks

We are going to develop a real life medical application with jCOLIBRI and evaluate jCOLIBRI at the end. This application is used for getting similarity of fluctuation of patient by matching pervious cases. The fluctuation is classified by defining a range of low, medium and high as shown in graph (1). It takes data of a patient from the user and matched with pervious cases. The best selected matched case will be retrieved and presented as a result and also shows the description of fluctuation. If any new case does not have any matched solution then it will be retained. The retain case will be solved and stored its solution for future use. The pervious cases are used to find the best solution of a problem.

Case Bases

New Case

For Match

Solution

If Matched else Retained

Retain

Figure 8: Patient Application Task Description

This application will perform typical task of Case-based Reasoning application. As shown in the fig (8), new case will be matched in case base and find past cases that bears on current problem. If attributes are compared then best matched case forwarded to the solution. Otherwise, current case retained for the solution and update case bases. So, application liable on Case-based reasoning major three tasks:

Current situation Retrieve similar cases from the library Adapt Reuse Revise

Page 40: Master Thesis Report -  · PDF fileMaster Thesis Report Thesis Title: ... The whole report of our thesis work is consisted on 8 chapters. ... human. This statement is

Malardalen University, Vasagatan 4472123 Vasteras, Sweden

40

The whole application developed using jCOLIBRI framework. This frame work has own methods for similarity, reuse, revise and retain task. But our aim is to develop this application with jCOLIBRI for evaluation of this tool. To see how much this tool is helpful and flexible for developer to make a CBR application. So, it would be a good approach to test this developing application by using the tool and analyze it.We have to classified range of fluctuation in that application. Range of fluctuation was defined like this in our application:

0

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2

1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35

fluctuation

Low

Medium

High

Range of Fluctuation

Graph 1: Range of Fluctuation

The above mentioned graph is showing us range of fluctuation. We have categories fluctuation as a low, high, medium. Average of fluctuation is 0.79. Average is calculated by adding the values of column to dividing it number of quantities in a column. Average is stated as a yellow line in the graph.Low fluctuation mean value is below than or equal to 0.75. Value betweens 0.75 to 1.25 is medium and value more than 1.25 stands in high range.

Page 41: Master Thesis Report -  · PDF fileMaster Thesis Report Thesis Title: ... The whole report of our thesis work is consisted on 8 chapters. ... human. This statement is

Malardalen University, Vasagatan 4472123 Vasteras, Sweden

41

5.2 Variable selection

Now, we do statistical analysis of data for finding significant attributes. For analysis, we first select treatment attribute.

Treatment Vs Fluctuation

X Treat

0.8 1.0 1.2 1.4 1.6 1.8 2.0 2.2

Y F

LUC

TU

AT

ION

0.2

0.4

0.6

0.8

1.0

1.2

1.4

1.6

1.8

treat 1 vs fluctuationtreat2 vs fluctuation

Graph 2: Treat Vs Fluctuation [25]

Fluctuation is compared with treat 1 and treat2 as shown in Graph (2). Treat 1 mean patient is treated orally and treatment 2 shows patient treated by Duodopa infusion. When patient is treated orally then, fluctuation is high fluctuation as compared when he/she treated byinfusion. It means treatment has an influence on patient’s fluctuation.It is most important factor.

2nd attribute for analysis is sum2. Graph 3 will show you how sum2 has influence on fluctuation.

Page 42: Master Thesis Report -  · PDF fileMaster Thesis Report Thesis Title: ... The whole report of our thesis work is consisted on 8 chapters. ... human. This statement is

Malardalen University, Vasagatan 4472123 Vasteras, Sweden

42

Sum2 Vs Fluctuation(Oral, Infusion)

X SUM2

8 10 12 14 16 18 20 22 24 26 28

Y F

luct

uatio

n

0.2

0.4

0.6

0.8

1.0

1.2

1.4

1.6

1.8

sum2 vs fluctuation (oral) Sum2 vs fluctuation (infusion)

Graph 3: Sum2 Vs Fluctuation [25]

Value of Sum2 when patient is treated orally and when he/she is treated infusion is matched with fluctuation. Fluctuation’s value is low when patient has infusion treatment. No matter, they have same value of sum2.

Third factor which has influence on fluctuation is sum3. Graph4 will show us how this factor has impact on fluctuation.

Page 43: Master Thesis Report -  · PDF fileMaster Thesis Report Thesis Title: ... The whole report of our thesis work is consisted on 8 chapters. ... human. This statement is

Malardalen University, Vasagatan 4472123 Vasteras, Sweden

43

Fluctuation Vs Sum3(Oral, Infusion)

X Sum3

10 20 30 40 50 60

Y F

luct

uatio

n

0.2

0.4

0.6

0.8

1.0

1.2

1.4

1.6

1.8

sum3 vs fluctuation (oral) sum3 vs flucctuation (infusion)

Graph 4: Sum3 Vs Fluctuation [25]

Value of fluctuation is high when sum3 and treatment is oral. Fluctuation value is influenced by sum3 as figure shows.

5.3 Classification Tasks which are done by jCOLIBRI

Development of CBR patient application with jCOLIBRI was done in four processes. These processes are dependent to each other, like connecter depends on case structure of application. Each task or process must be classified and configured properly. These classified tasks in patient application are:

1. Managing/Defining the Case structure2. Managing Connectors3. Managing Task 4. Managing Method

Page 44: Master Thesis Report -  · PDF fileMaster Thesis Report Thesis Title: ... The whole report of our thesis work is consisted on 8 chapters. ... human. This statement is

Malardalen University, Vasagatan 4472123 Vasteras, Sweden

44

5.3.1 Managing/Defining the Case Structure in jCOLIBRI

Cases are saved in text file in applications. Case attributes are age, sex, age_pd, pd_dur, group, sum1, sum2, sum3, sum4 and treat. Sum2, sum3and treat are the important attributes chosen from all attributes. These attributes have significant impact on patient fluctuation. Almost all case attributes have integer type. But local similarity of some attributes is equal and some have intervals. Global similarity of these attributes is average.

Similarity Types of Case Attributes

These similarities can be described in this way:Local Similarity

It is used to compare simple attribute values. It has three types:1. Equal

If you select equal local similarity for each attribute. Then your input and value of case base must be match. If value matches exactly then it will get result otherwise match failure.

2. IntervalWhen you select similarity interval and adjust interval value. Then, jCOLIBRI

match value keeping in mind that interval. Exact value match is not compulsory in that type. 3. Threshold

You have to set value in threshold as interval. It also compares values keeping in mind threshold.

Global SimilarityIt is linked with compound attributes and used to get similarity of collected

attributes in unique similarity value. Global similarity has two types:1. Average

All attribute has average similarity.

2. Weighted AverageAttribute should be treated by remembering its weight.

Description of Application Case Attributes

Defining case structure in jCOLIBRI are done by using simple manage case structure window. It is very easy to define with jCOLIBRI. Because just have to add attributes in description of case structure and set properties of attributes. It creates codes automatically and saved in xml file. Most significant attributes are set by declaring weight. Significant attributes have higher weight as compare to other attributes. Like in this application age_pd, sex, treat, sum2 and sum3 have more weight.

Page 45: Master Thesis Report -  · PDF fileMaster Thesis Report Thesis Title: ... The whole report of our thesis work is consisted on 8 chapters. ... human. This statement is

Malardalen University, Vasagatan 4472123 Vasteras, Sweden

45

One case of this application has 10 description attributes and 1 solution attribute. Solution attribute is used for storing solution manually. It will be used after finding best selected case and show fluctuation status within the range of low, high and medium.

Important AttributesName Data Type Weight Local SimilarityTreatment Integer 0.9 Equal Sum2 Integer 0.7 IntervalSum3 Integer 0.5 IntervalSex Integer 0.3 EqualAge_pd Integer 0.3 Interval

Other AttributesAge Integer 0.2 IntervalPd_dur Integer 0.2 IntervalGroup Integer 0.2 EqualSum1 Integer 0.2 EqualSum4 Integer 0.2 Equal

Solution AttributesFluctuation String 1.0 Equal

Table 1: Description of case attributes

Above table 1 is showing the description of case attributes regarding name, data type, weights, local and global similarity. In important attributes treatment and in solution attributes fluctuation has highest weight value 1.0. Sum2, sum3, sex and age_pd have less weight respectively 0.7, 0.6 and 0.5 and these are based on as shown on above figuresIn local similarity, five attributes have interval similarity. Three of them are important attributes. Other seven attributes have equal local similarity.

Page 46: Master Thesis Report -  · PDF fileMaster Thesis Report Thesis Title: ... The whole report of our thesis work is consisted on 8 chapters. ... human. This statement is

Malardalen University, Vasagatan 4472123 Vasteras, Sweden

46

CBROnto representation of our case base is following:

Figure 9: Patient Case in CBROnto [22]

Case base presentation according to CBRonto is shown in fig (9). Case based reasoning ontois very simple concept to show case base representation. The above mentioned diagram CBROnto is showing tree of case, components, attributes and functions. Case base has patient cases and description of cases. Case component consist of three important subcomponents case description, case result and case solution. Case description has patient description, case result has patient result and case solution has patient case solution. In case base five attributes

Page 47: Master Thesis Report -  · PDF fileMaster Thesis Report Thesis Title: ... The whole report of our thesis work is consisted on 8 chapters. ... human. This statement is

Malardalen University, Vasagatan 4472123 Vasteras, Sweden

47

are important age_pd, sex, sum2, sum3 and treat. Similarity function has two types of similarity global and local similarity. Local similarity of attributes sex and treat has equal. Because, these attribute has only 1 or 2 value (Boolean) mean that there is no need to give these attribute interval. But age_pd, sum2 and sum3 have interval. The global similarity of all attributes is equal. This application suggests the fluctuation of patient by keeping in mind these attributes of case. If fluctuation of a patient is high then patient is not recovering from disease. Patient who has low fluctuation meant that he/she is recovering significantly. jCOLIBRI represent these case attributes in xml form which is xml presentation of patient case base attributes.

5.3.2 Managing Connectors

Patient application cases are stored in plain text file. By using jCOLIBRI it is very easy to connect text case bases with application. It has four choices for connectors to connect case bases with application. Plain text, SQL and Racer connectors are already available for use. Fourth option is provided by jCOLIBRI to create own connectors of any other types.

Figure 10: Connector Architecture of patient application figure

As shown in figure (10), Developer has to manage connector. In this application, plaintext connector is chosen by us. Plain text file base connector is used for persistence of cases. In this connector, we have to specify the path of case structure and also path of text file. All the attributes of a case should be mapped. This is connector’s responsibility to retrieve data from case base and return it back to GUI or application. Connector is also saved in xml form.

Page 48: Master Thesis Report -  · PDF fileMaster Thesis Report Thesis Title: ... The whole report of our thesis work is consisted on 8 chapters. ... human. This statement is

Malardalen University, Vasagatan 4472123 Vasteras, Sweden

48

5.3.3 Manage TasksjCOLIBRI has two types of tasks packages.

1) Core.2) User defined.

We use core package tasks in our patient application. These types are already defined in previous chapter. Core tasks which are used in our application.

Precycle. Main CBR cycle. Post cycle. Retrieve tasks Reuse tasks Retain tasks

Now, further explanation of these tasks is following:

Precycle This task will execute before CBR cycle. Its task is to get all the cases in case base. Developer has to define path of connector in its subtask. Sub task name is obtain case task. Then, it will retrieve data from case base.

Main CBR cycle It is main task of CBR cycle. It also has sub tasks. We have to give path of case structure in it. It knows number of case attributes that we have. It’s called obtain query task.

Post cycle It will execute after a CBR cycle. It task is to close a connection between case base and GUI.

Retrieve TasksRetrieve tasks will retrieve CBR case. It consists of following subtasks:

Select working cases taskIt selects working cases from case base and stores them into current context.

Compute similarity taskThis task will compute similarity task.

Select best caseIt shows the best matched of cases. It means that best matched case will be shown by us.

Retain Task:

Its main aim is CBR case retention. Subtasks of this task are following:

Page 49: Master Thesis Report -  · PDF fileMaster Thesis Report Thesis Title: ... The whole report of our thesis work is consisted on 8 chapters. ... human. This statement is

Malardalen University, Vasagatan 4472123 Vasteras, Sweden

49

Select cases to store task

It will give authentication to user for storing case.

Store cases task

This will store cases into case base.

Reuse Task This will reuse CBR case. It has three subtasks. These subtasks are following:

Prepare Cases for Adaptation TaskIt will select cases from case base and stores them into context. We also specify

the path of case structure in this method. Atomic Reuse Task

It should be resolved by reuse resolution method. Reuse Task

CBR case is reused in this task.

5.3.4 Managing Methods

There is list of methods which will be used to solve tasks of our patient application. Use core methods in our application. Methods are following:

1. LoadCaseBase Method.2. ConfigureQuery Method.3. SelectBaseCase Method.4. SelectSomeCase Method.5. NumericProportion Method.6. RetainChooser Method7. ManualRevision Method

Now, we will explain these methods further.1. LoadCaseBase Method

LoadCaseBase method loads case base for you. This method use connector to retrieve case base. It has four types of connectors. You don’t have to make connector for retrieving factor. Just select the connector type; it is ready to perform your order.

2. ConfigureQuery MethodIt will automatically pick your case structure and shows a window where you

have to give input. Users don’t have to create windows for getting input.

3. SelectBaseCase Method.User will get best match case from case base. Responsibility of this method is to

provide best case after matching each attribute of case base with input values.

4. SelectSomeCase Method.

Page 50: Master Thesis Report -  · PDF fileMaster Thesis Report Thesis Title: ... The whole report of our thesis work is consisted on 8 chapters. ... human. This statement is

Malardalen University, Vasagatan 4472123 Vasteras, Sweden

50

In that method, user can get desired number of cases which are best match with your input. For example if u give 5 value to this method. Then, you will get 5 best match cases.

5. NumericProportion Method.Very important method, which calculates numeric proportion between

description attribute and solution attribute. This method is sub method of reuse method. It resolves reuse task.

6. RetainChooser MethodThis method will allow the user to choose the method. Chosen method will store

case base. User can choose that he/she want this method to store in data base.

7. ManualRevision MethodManualRevision allow the users to modify cases. User can change case

according to his/her will.

Page 51: Master Thesis Report -  · PDF fileMaster Thesis Report Thesis Title: ... The whole report of our thesis work is consisted on 8 chapters. ... human. This statement is

Malardalen University, Vasagatan 4472123 Vasteras, Sweden

51

6 Evaluation of jCOLIBRI

Now, we are going to evaluate jCOLIBRI. This part contains: Implementation of real life application in jCOLIBRI. Theoretical comparison with other CBR tools. Advantages of jCOLIBRI. Flexibility of jCOLIBRI methods Its problems. How we can modify its methods. Suggestion to improve its performance.

6.1 Implementation of Real Life Application in jCOLIBRI

Medical-domain data is used in our application. In that application, we want to get fluctuation of patient. We give input to our application. It will match this input to case base and return best match cases. First, we defined case structure and manage connector in our application. Tasks and methods were also managed by us. It is retrieving craving result for us. It is screening patient fluctuation by remembering past experience. jCOLIBRI is very good tool for the development of CBR-Based applications. This tool is user-friendly and efficient to develop a quick application. It has built-in methods. Select the method and method is ready to perform your desired task. This tool has some lacks. There should be proper book and documentation and it create problem sometime when you want to add new method in it. One lack is when you modify your connector means you do some changes in it. It sometime not adopts this change. Then, you have to delete connector and have to make another connector.

6.2 Theoretical Comparison with Others CBR-Based Tools

Now, we are going to do theoretical comparison of jCOLIBRI with other CBR-Based tools. In theoretical comparison, features of jCOLIBRI compared with other tools features. Comparison is following:

With CBR-ExpressCBR-Express support simple case structure but jCOLIBRI uses simple to

complex case structure. Cases are stored in relation database by CBR-Express and on the other hand, jCOLIBRI stores cases in text and database. Both of them have the facility to share data between networks. CBR-Express handles free-form text which is not supported by jCOLIBRI.

With ReMindReMind and jCOLIBRI are very flexible which supports many case retrieval

methods. jCOLIBRI is domain independent. This feature is not supported in ReMind. It represents cases as an attribute but jCOLIBRI supports many different ways to represent cases. ReMind dominating feature is to access data in ODBC-complaint databases.

With ReCall

Page 52: Master Thesis Report -  · PDF fileMaster Thesis Report Thesis Title: ... The whole report of our thesis work is consisted on 8 chapters. ... human. This statement is

Malardalen University, Vasagatan 4472123 Vasteras, Sweden

52

It is coded in c++ and Jcolibri is built in java. Both of them are open architecture which allows the user to add functionality of its own will. Recall supports two type of adaptation mechanism but Jcolibri supports many type of mechanism. These two can easily integrate with other applications. jCOLIBRI does not have feature to diagnose and do maintenance. This feature is supported by ReCall. Only information retrieval is supported by ReCall. jCOLIBRI supports many different techniques of retrieval.

With EclipsejCOLIBRI is very suitable for non-experienced programmers as Eclipse. There

are built-in methods. You have to just click on method and method is ready to perform your task. Eclipse is suitable for only experience programmers. Usual range of variable types is supported by these tools. jCOLIBRI use index to identify the case and stems are uses by Eclipse for this purpose. Most grooming quality of Eclipse is optimizing forward chaining using the Rete Algorithm.

With EsteemIt has feature to support multiple case-bases and nested cases like jCOLIBRI. It

also gives weight to features. These two tools are suitable for non-programmers. User can integrate his own similarity. In jCOLIBRI, user can add similarity, variable type, task, method and way to doing this task. One good feature of Esteem is it can be used as DDE server. It is very slow tool. jCOLIBRI is very fast tool. Bad feature of Esteem is inflexible interface which make this tool inappropriate for serious application.

With CaspianIt is developed in C. It uses only simple nearest-neighbor approach. Rules are

used in Caspian for case adaptation. But, jCOLIBRI has many ways to adapt a case. It save them in an ASCII file on the other hand jCOLIBRI save it in XML form. XML is interchangeable language between computers. Caspian case comprises a series of attributes and a solution.

With ART*EnterpriseART*Enterprise is platform independent like jCOLIBRI. It has more controlled

CBR functionality as compared to jCOLIBRI. These two tools are excellent environment to integrate with others application and also support complex case adaptation. The feature which differentiate ART*Enterprise with other tools is sophisticated version control facilities.

With CasePowerIt represents cases in matrix environment provided by Microsoft Excel as

compared to jCOLIBRI which represent cases in text and database. It is not efficient as jCOLIBRI. It provides basic functionality of CBR for numeric applications only. It is not flexible like jCOLIBRI which adopts new methods easily. Case adaptation in CasePower is performed by using Excel formulas and macros.

With CasualIt is used as common language for case representation and also used as a

interface between INRECA components. But when we compare it with jCOLIBRI, it is used for case representation and as well as has built tasks/methods for case retrieval,

Page 53: Master Thesis Report -  · PDF fileMaster Thesis Report Thesis Title: ... The whole report of our thesis work is consisted on 8 chapters. ... human. This statement is

Malardalen University, Vasagatan 4472123 Vasteras, Sweden

53

Reuse, Revise and Retain. It is also object-oriented framework, but you don’t need to write so much like Casuel. Casuel stores cases and models in ASCII files. In jCOLIBRI, we used text base files, SQL, Racer, etc for storing cases.

With Case-1Basically it is developed with CBR-express and has some same features like CBR express. Its interface is developed in Visual Basic. It saves cases in a database but jCOLIBRI save cases as a text or different database format. This tool is not a mature like CBR-Express. But jCOLIBRI developed in java and it has own API like java API.

6.3 Advantages of jCOLIBRI

It is good tool to use. It has graphical user interface for the help of users. It is easy to use its core methods. Advantages of jCOLIBRI are following:

jCOLIBRI is an object-oriented framework built in java. This framework support software reuses [18].

jCOLIBRI use domain-independent CBR ontology which is called CBROnto, CBROnto is much mature [23].

All configure data is stored in XML form, XML is interchangeable language between computers.

Its frame work is very powerful which supports different types of CBR systems from simple nearest neighbor to more complex knowledge approaches [18].

It’s very easy to develop CBR systems [22]. Facilitate CBR system design by providing graphical tool. Manages big case bases in a very efficient way. Key aspect of jCOLIBRI is to use available ontologies as a cases index, hence it can

retrieve efficiently. jCOLIBRI has library of PSMs to solve the CBR tasks. In knowledge level jCOLIBRI has three advantages[22]:

1. Supports frame work instance 2. Explain possible extensions.3. Guides framework design.

Provide user interface that allow the user to choose methods by his/her own will for desired tasks.

It’s an extendable framework in which new elements can easily integrate with old ones.

It facilitates us to work with different case representations. This tool is very suitable for index retrieval over the web [22]. Uses composite pattern which allows us to represent semi-structured cases. Own data type can be created in jCOLIBRI by using mange data type option. CBR application which are developed by jCOLIBRI. These are work as platform

independent. Because jCOLIBRI API is totally based on JAVA object oriented framework.

Page 54: Master Thesis Report -  · PDF fileMaster Thesis Report Thesis Title: ... The whole report of our thesis work is consisted on 8 chapters. ... human. This statement is

Malardalen University, Vasagatan 4472123 Vasteras, Sweden

54

6.4 Flexibility of jCOLIBRI Methods

jCOLIBRI has built-in methods. New methods could be added in jCOLIBRI. Built-in methods of jCOLIBRI are flexible. Here is list of some jCOLIBRI flexible methods.

1) LoadCaseBase Method.2) ConfigureQuery Method.3) SelectBaseCase Method.4) SelectSomeCase Method.5) NumericProportion Method.6) RetainChooser Method.

There is explanation of Methods keeping in mind user comfortableness. Users don’t have to write code for make a connection with case base. Just select built-

in connectors. It is ready to perform your action. jCOLIBRI has four types of connections.

jCOLIBRI automatically picks your case structure and display a window where you give input values.

Best match case can be seeing by you. Select best case method, It will show best case after matching your input with case base.

If anyone want to get desired number of cases. This feature is also supported by jCOLIBRI. For example if anyone want to get three cases. Then three most match cases are shown by this method.

User has the option to choose either he/she want to retain or this is not important case for them.

These methods are flexible in that sense, user don’t have to do anything. It is game of click with a mouse and your method is ready to perform.

6.5 Problems with jCOLIBRI

jCOLIBRI is very good tool for building a CBR base application, but it has some drawbacks. Some of them are related to its background and technical documentation, other are related to its internal framework. These are discussed below one by one:

Documentation

jCOLIBRI doesn’t have more publications and any official tutorial book. So, its overall technical documentation is not strong enough.

API

Its API’s much explanation and definition of all of its functions and methods. Its some functions are not so much explored and have bound limitation.

Unawareness of this tool

Page 55: Master Thesis Report -  · PDF fileMaster Thesis Report Thesis Title: ... The whole report of our thesis work is consisted on 8 chapters. ... human. This statement is

Malardalen University, Vasagatan 4472123 Vasteras, Sweden

55

This tool is yet not most popular in the software market. Because one of the most reasons is that it’s just going to introduce in the market. So, you can’t get more help about this tool. But it has very good GUI and built in methods which are most helpful for building CBR application.

Inactive Forums Community

In his discussion forum has not so discussion group. When you faced any problem during development then didn’t get any quick reply from its forum.

Addition of New Method

When you want to add new method in jCOLIBRI it is not an easy procedure. You have to learn its whole API and hierarchy of its built in method. Then you can add or enhance your own method.

Limitation of its connectors

jCOLIBRI has four types of connectors like racer, SQL database, text base and others. First three are built in connectors and fourth one is selected when you want to write your own connector. Like if want to connect access database then you have to write own connector.

Limitations with methods

jCOLIBRI has built predefined functions for perform classified tasks. Like similarity function just do only mapping according predefined way. If we want to do it in different way then, we have to write own method or update this method.

6.6 How we can modify its methods

jCOLIBRI has facility to update or add your new own method. It is open source code tool object oriented framework for building CBR applications. The addition of new method is little bit tedious task. Because firstly you have to define name and description of method in manage task. Then method can be written in any java framework tool.

Page 56: Master Thesis Report -  · PDF fileMaster Thesis Report Thesis Title: ... The whole report of our thesis work is consisted on 8 chapters. ... human. This statement is

Malardalen University, Vasagatan 4472123 Vasteras, Sweden

56

Figure 11: How we can add Methods

When, user wants to add a new method in jCOLIBRI. User has to choose a user extension for this purpose. User has to make a task which this method is going to perform. Then user have to click on manage methods. Then select user package and name of java class. We have to give description of new method. Write task which has done by this method. User also to select type to solve the tasks

Page 57: Master Thesis Report -  · PDF fileMaster Thesis Report Thesis Title: ... The whole report of our thesis work is consisted on 8 chapters. ... human. This statement is

Malardalen University, Vasagatan 4472123 Vasteras, Sweden

57

6.7 Suggestions to Improve its Performance

jCOLIBRI is very good tool for simple CBR applications. But, there are some suggestions to improve jCOLIBRI performance. Suggestions are:

1. There should be official tutorial book, and more technical documentation. 2. Forum community should react quickly to new user’s request. It is very important.3. Its API’S are not well expanded. There should be detailed information about its API.4. jCOLIBRI community should aware people about this tool. Because it is a very good

tool to work with.5. Tool should be more flexible. I mean that it will adopt new things easily etc methods.6. Methods should be more flexible. In this tool, if you want to get desired result. It is not

possible. You have to follow its predefined way. Then you can get result.

Page 58: Master Thesis Report -  · PDF fileMaster Thesis Report Thesis Title: ... The whole report of our thesis work is consisted on 8 chapters. ... human. This statement is

Malardalen University, Vasagatan 4472123 Vasteras, Sweden

58

7 Summary and Conclusions

The target of Artificial Intelligence to make computer behave intelligent, e.g. learn and improve their performance is causing the development of many subfields among which CBR is one of the hottest subfield of AI. In CBR stored representation of previously solved problem and the solution is used for problem solving. CBR is getting fame in the current period of Artificial Intelligence. CBR-Based applications are easy to develop as the CBR-Based tools are providing more flexibility in creating them. By using CBR based tools one can develop the best application in shorter span of time. CBR tools should be easier to develop by reusing previous design and implementation and it should have extension of component so that it can meet the specific application requirement therefore it should have the integrating component to increase it from one application to another.

jCOLIBRI is new and promising tool to incorporate the CBR Based applications. It is a domain independent tool and uses the concept of CBROnto. Advantages of jCOLIBRI include the objected oriented tool built in java which helps it in software reuse; it uses XML to configure its data which make it interchangeable between computers. The development frame work of jCOLIBRI supports the simple to most complex knowledge support. It is also suitable for index retrieval over the web and it handles the large case bases in efficient way. Flexibility of methods has also increased it capability by many folds. As the jCOLIBRI is a latest tool in CBR therefore it lacks documentation, official book and Help guide, jCOLIBRI API is also not much explored. It also needs the communication between the jCOLIBRI users. The reason which we see for this is the people are not much aware of the potential of this tool.

To explore the jCOLIBRI we have established the background information of the Case Based Reasoning (CBR), in which 4 R’s of CBR cycle, terminologies and techniques has been defined, and then the types of previous CBR tools, problem of framework learning and description of CBR tools has been done. jCOLIBRI knowledge level description, frame work design and usage of jCOLIBRI performed. Implementation of an application has been done to justify the evaluation of jCOLIBRI.

To evaluate this tool we have developed an application by taking real existence data from medical domain [24]. We want to note patient fluctuation; fluctuation depends on the severity and treatment attribute. In treatment we have 1 for Oral and 2 for Infusion and severity is determined by the Physician. This application can be used by the doctor to match the previous case for the patient and match the best case. To achieve this we have used a similarity function, built in methods, and data base connectivity, we also tried to retain the cases but cannot achieve this task due to lack of explanatory material. The application implemented by us has the option to select the number of case found similar to be retrieve/seen as a result. We make the analysis of significant variables among the many variables. During the Implementation of this application we found jCOLIBRI competitive and user-friendly and efficient to develop a quick application. The problems which are faced during the implementations are

It is not easy to include some thing new in this tool Overwriting is not allowed for connectors Lacks description of Built-in task and methods API requires more flexibility

Page 59: Master Thesis Report -  · PDF fileMaster Thesis Report Thesis Title: ... The whole report of our thesis work is consisted on 8 chapters. ... human. This statement is

Malardalen University, Vasagatan 4472123 Vasteras, Sweden

59

After the implementation we did the comparison of jCOLIBRI with other available development tools of CBR application.

jCOLIBRI seems to be competent tool in the present scenario of CBR as we hope that its future releases will keep it competent in the market. Official documentation and community interaction of this tool can increase the usability of this tool.

Page 60: Master Thesis Report -  · PDF fileMaster Thesis Report Thesis Title: ... The whole report of our thesis work is consisted on 8 chapters. ... human. This statement is

Malardalen University, Vasagatan 4472123 Vasteras, Sweden

60

8 References

1. Agnar Aamodt, Case-Based Reasoning: Fundamental Issues, Methodogical Variations, and System Approaches(1994), University of Trondhiem, College of Arts and Science, Department of Informatics , Enric Plaza, Institut d‘Investigacio en Intel’ligencia Artificial CSIC, Cami de Santa Barbara.

2. Stuart Aitken, Artificial Intelligence Applications Institute, University of Edinburgh, Appleton Tower, Crichton St Edinburgh EH8 9LE, Scotland, (2002).

3. Brigitte Bartsch-Spöl, Klaus-Dieter Althoff, Alexandre Meissonnier, Learning From and Reasoning About Case-based Reasoning Systems, In proceeding of the fourth German conference on Knowledge-Based Systems (1997), BSR Consulting GMBH, Munchen, Center of learning system and Application.

4. By Sankar K. Pal and Simon C. K. Shiu, Foundations of Soft Case-Based Reasoning.CH-1, ISBN 0-471-08635-5 Copyright @ 2004 John Wiley & Sons, Inc.

5. Ian Watson, Applying Case-Based Reasoning: Techniques for Enterprise systems, 1997.6. Seung Hwan Kang and Sim Kim Lau, Intelligent Knowledge Acquisition with Case -Based

Reasoning Techniques, University of Wollongong, NSW, Australia.7. Michel Jaczynski - Brigitte Trousse INRIA Sophia-Antipolis, An Object-Oriented Framework for

the Design and the Implementation of Case-Based Reasoner Action AID 06902 Sophia Antipolis Cedex, FRANCE.

8. Gianni Barone, Matthias Holsten, Concurrent Engineering in Practice – Demonstrating the Innovative Development of Aircraft Components in Small and Medium Enterprises Ettore Arione, Frithjof Weber 02 March 1999.

9. Chris Price, Computer-Based Diagnostic Systems, University of Wales, berystwyth.10. H. A. Schmid, Design Patterns for Constructing the Hot Spots of a Manufacturing Framework. In

Journal of Object-Oriented Programming. 9(3):25–37. June 1996.11. S. Demeyer, T.D. Meijler, O. Nierstrasz and P. Steyaert, Design Guidelines for ‘Tailorable’

Framework. Communication of the ACM, vol. 40, No 10, pages 60–64. October 1997.12. Ian Watson, AI-CBR, University of Salford, Salford, M5 4WT, UK www.ai-cbr.org.13. Dr. Michael Lehane, The use of Case–Based Reasoning for Decision Support in Engineering

Design Chapter 6.14. Johnson-R, How frame works compare to other object oriented reuse techniques. Frameworks

(Components+Patterns). Communication of the ACM, E, 40, (October, 1997) 32-38.15. Shull, M.E., Schmidt, D.C Object-Oriented application frameworks, Communications of the

ACM, 40, (October 1997) 32-38. 16. Guillermo Jimenez-Diaz, Mercedes Gomez-Albarran, A Case-Based Approach for Teaching

Frameworks: Departmento de Sistemas Informaticos y Programacion, Universidad Computense de Madrid, Juan del Rosal 8. 28040 Madrid Spain.

17. Juan A. Recio and Diaz-Adugo, JCOLIBRI: An Object-Oriented Framework for Building CBR Systems, University of Madrid, Spain.

18. A. Recio and Diaz-Adugo, Case structures in jCOLIBRI by University of Madrid, Spain.19. A. Recio and Diaz-Adugo, An introductory user guide to jCOLIBRI 0.3 by Juan, University of

Madrid, Spain, Technical report no. 144/2004.20. Tutorials of jCOLIBRI by GAIA group of Artificial Intelligence.21. jCOLIBRI help contents.22. A. Recio and Diaz-Adugo, On developing a Distributed CBR Framework through semantic Web

Services, University of Madrid, Spain.23. A. Recio and Diaz-Adugo, Jcolibri 1.0 in a nutshell a software tool for Designing CBR systems,

University of Madrid, Spain.

Page 61: Master Thesis Report -  · PDF fileMaster Thesis Report Thesis Title: ... The whole report of our thesis work is consisted on 8 chapters. ... human. This statement is

Malardalen University, Vasagatan 4472123 Vasteras, Sweden

61

24. Nyholm D, Nilsson Remahl AI, Dizdar N, Constantinescu R, Holmberg B, Jansson R, AquiloniusSM, Askmark H, Duodenal levodopa infusion monotherapy vs. oral polypharmacy in advancedParkinson disease,. (2005) ,Neuorology 2005 Jan 25; 64(2): 216-23.

25. Shahina Begum, Modeling fluctuations in advanced Parkinson's disease using statistical and soft computing methods – data mining for contributing factors, Dalarna University, Sweden.