Rule-driven approach for adaptable e-learning content delivery

Boyan Bontchev, Dessislava Vassileva Faculty of Mathematics and Informatics, Sofia University, 5, J. Baurchier blv., Sofia 1164, Bulgaria, [email protected], [email protected]

Abstract: In recent years, the number of adaptive systems for e-learning content delivery increased immensely. Usually, such applications use adaptive engines to control adaptive content management. Therefore, it appears necessary to design and construct an adaptation engine in a way enabling it to be flexible and manageable. The present paper is aimed precisely at this problem. It describes formalization of an adaptation model for hypermedia learning courseware. Next, there is given a formal definition of both adaptive rules and adaptive process based on our model. We provide a way for adaptive engine’s construction, which is consistent with this formalization and follows a rule-driven approach. The benefit of this suggestion is separation of adaptive rules from business logic. This allows easy implementation of the system and possibility of editing adaptive rules at any time.

revise and retain. Usually this approach is used to assess 1. Introduction learner knowledge and perform instructional tasks [6]. From learner point of view, the most effective e-learning Disadvantages of CBR are that: systems are the adaptive ones. They do not just place o it is dependant on the cases and suffers from a lake materials on the web space as conventional hypertext systems of reuse/repurposing of the instructional strategy (it do; they have the purpose to provide educational content in a is depend from the cases). way most satisfying student needs [1]. They are entirely o high implementation complexity and lack of oriented to individual user’s goals, preferences and interoperaility. knowledge [2]. Each adaptive hypermedia system (AHS) has • IMS Learning Design (IMS LD) [7] – this is a its own decision mechanism and method of assuring metalanguage for learning scenarios description adaptation. Some applications achieve it using one or several maintained by IMS Global Learning Consortium. The of the most widespread techniques such as adaptive language is represented through XML notation. It allows navigation, structural adaptation, adaptive presentation and scenarios to be separated from learning materials. historical adaptation. Other of them focus on adaptability to Adaptation can be provided by defining conditions for learners’ current knowledge based on the theory of the presentation of learning content and sequencing of knowledge spaces or introduce additional level of system self learning activities. The most prominent implementations adaptability based on the idea that different forms of learner of IMS LD are the IMS LD engine for playing LD called model can be used to adapt content and links of hypermedia CopperCore [7] and, also, the RELOAD editor which pages to given user. can be used to author learning designs in IMS LD The above techniques facilitate adaptive format. Disadvantages of IMS LD are that: presentation of information. They could be used for o pre-defined adaptation – learners’ assessment and/or implementation of static adaptation or of dynamic one - feedback cannot affect the choice of a pedagogical driven by an engine controlling the adaptation. The strategy. More self-adaptation is not feasible. adaptation engines not only choose what adaptive technique o implementation -IMS LD imposes higher to apply but also they manage the entire process of complexity. adaptation. There are various well-established ways for The main problem described in this article concerns ensuring adaptation. Following these ways, the adaptation various ways for an effective and flexible construction of engine can be constructed by means of: adaptation engine, with easy control over adaptation based on • symbolic rules – this is one of the most illustrative declarative rule description. After investigating several methods for presenting adaptation. The adaptation is approaches described over, we chose the apparatus of described by setting rules of type . The rules set symbolic rules as they do not suffer from drawbacks stated conditions and actions to be implemented when these over because of their high level of independence, self- conditions are observed. For rules’ description, there can adaptation and interoperability and, also, low implementation be used XML based languages such as RuleML [3], complexity. Therefore, we find them most suitable among the Semantic Web Rule Language (SWRL) [4] or others three means given above, for implementing our conceptual appropriate means as for example UML diagrams or model of self-adaptive hypermedia system. As well, first-order logic predicates. implementation based on symbolic rules is most universal • case-based reasoning (CBR) [5] – an approach that regarding possible redevelopment targeted to other stores a set of past situations with their solutions and, in adaptation models. The paper is structured as follows: it similar or same cases, uses them or a similar solution. provides a brief description of our triangular conceptual There are four phases of implementation: retrieve, reuse, model of AHS used further for determining the adaptation process and featuring main functionalities of the engine for nodes within course storyboard graph. Content pages adaption control. In order to facilitate creation of a clearer delivery is controlled by the adaptation engine (AE) for specification of the adaption engine, we will describe choosing most appropriate content for presenting it to the adaption engine functionality in a formal way. Based on this user with given learning model. Instead of choosing formalization, next we will offer two ways for construction dynamically a page (i.e. node of the storyboard graph) with of the adaption engine – one by using Drools rule engine [8] its content, we propose choice of best working path within and another one by rule description in SWRL [4]. Finally, we the graph for specific learner with given learning style on one conclude that both these ways allow software construction hand, and shown prior knowledge and performance on the assuring flexibility, easy expandable functionality and other. improved adaptations. The adaptation model (AM) captures the semantics of the pedagogical strategy employed by a course and 2. Our conceptual model of AHS describes the selection logic and delivery of learning The AHS model described in details in [9] follows a activities/concepts. AM includes a narrative storyboard sub- metadata-driven approach, explicitly separating narrative model supporting course story-board graphs, which may storyboard from the content and adaptation engine (AE). Fig. differ for different learning styles. It consists of control 1 represents the triangular structure of our model which points (CP) and work paths (WP). Moreover, AM should refines the AHAM reference model [10] by dividing in three provide a schema of storyboard rules used for controlling the each one of the learner’s (or, generally speaking – user’s), e-learning process. Storyboard rules determine sequencing of domain, and adaptation models. This is a new hierarchical the course pages upon inputs from learner sub-models and organizational model for building AHS. At first level, the are separated from the narrative storyboard as in order to be model is based on a precise separation between learner, used independently. The narrative metadata sub-model maps content and adaptation model, while at second level each of rules to storyboard pages such as rules for passing a CP (e.g., these sub-model is divided into three others sub-models [11] as threshold level of assessment performance at that CP) or for different purposes of effective and flexible adaptability. for returning back to the previous CP. The core of our model is the adaptation engine (AE) which is responsible for generating the actual adaptation outcomes by manipulating link anchors or fragments of the pages’ content before sending the adapted pages to a browser. The AE uses an event-driven mechanism for controlling the storyboard execution based on the storyboard rules applied to the inputs from the learner model. AE selects the best storyboard WP within the graph by evaluating weight coefficient of the pages within the WP for the given learner style [13]. The AE is responsible for performing all necessary adaptation mechanism for content delivery to a specific learner. This includes content selection, content hiding, link annotation, link hiding, etc. When learner starts a new course, adaptive engine finds the best path for him/her in the course graph. The best path is that one with the highest

weighed score. For a particular user, the best path is Fig. 1: Principal structure of the triangular conceptual model . calculated by a sum of multiplications between page parameters values and weights of their correspondent Fig. 1 represents the triangular structure of the learner’s characters. This path is stored for learner as current model. Unlike other approaches, in the learner model we work path. When learner asks for the next page, adaptive separate goals and preferences from shown knowledge and engine may hide objects that are not important for this user. It performance, as the first sub-model is used for may also select proper link annotations. As many users are personalization while the second one is used for adaptive passing through the courses, adaptive engine has to content selection. The model of learning style (such as remember user tracks. If a user abandons the work path activist, reflector, pragmatist and theorist) is detached as determined by AE (by clicking on a link leading to another another learner sub-model because it is used for used for page outside of the path), the AE continues tracking pages adaptive navigation throughout the narrative storyboard. the user has passed through giving the user ability to return While the learning style can be determined in the very back to the path by adding the link “Return to the WP” to beginning of the learning explicitly by the learner or by each of the pages. As well, AE may store some statistics of appropriate pre-tests, other tests should be exercised during learner feedbacks to determine which pages are useful for the e-learning process in order to assess prior or gained which kind of users. This gives the adaptation engine ability knowledge and performance results of each individual to learn from their skills and perform better estimations for student. paths for further learners. The domain model is composed of domain ontology, content itself (granulized in learning objects (LOs) 3. Formal specification of the model according to the SCORM standard) [12] and LO’s metadata In this chapter we will give a formal description of adaptation (LOM) [11] and ontology metadata. The ontology forms a process based on the triangle model. For description of logical taxonomy for the knowledge domain built during the formal model can be used Object Constraint Language [14] content composition process by the author and is used for like in the Munich Reference Model [15], descriptive browsing and searching of LOs. The content LOs are placed language for specification like in GAHM or predicate logic by the instructor on course pages, while pages represent like in the Dexter Hypertext Reference Model [16, 17]. In this paper for the formal model description will be used be divided into three main groups in accordance to their predicate logic [18]. It is extension of propositional logic purpose: with separate symbols for predicates, subjects and • starting rules - these rules describe learner quantifiers. Its formulas contain variables which can be knowledge and the initial conditions for starting a new quantified. Predicate logic uses a wholly unambiguous course. formal language interpreted by mathematical structures. This If the user knows all learning objects contained in a enables for clearer adaptive process understanding and more domain/subject, then she/he knows that domain/subject – precise adaptive rules description. (1), (2): We claim that an adaptive hypermedia system can (1) ∀user i ∃domain j(∀lo k domain_lo(domain j , lo k)∧ presents like a quadruple (LM, DM, AM, AE). Every user_knows_learning_object(user i , lo k)) → element of it presents a sub-model of the triangular model user_knows_domain(user i, domain j) and its core - adaptive engine. For each of the items in the ∀ ∃ ∀ ∧ set (LM, DM, AM, AE) will be defined predicates that (2) user i subject j( lo k lo_4_subject(subject j , lo k) → describe main functionalities of respective sub-model: user_knows_learning_object(user i , lo k)) • LM presents the learning model. For user’s user_knows_subject(user i , subject j) learning style can be defined by constants . The predicate If the learner knows all subjects, which participate in that shows the level of belonging of a user to given precondition for given subject, then the learner can start learning style is: learning it – (3), (4): o user_learning_style(user_id, learning_style, value) where learning_style={theorist, activist, (3) ∀subject j ∃user i(user_knows_subject(user i, subject j) ∧ pragmatist, reflector}. sub_precondition(subject k , subject j)) → Predicates representing knowledge and performance user_precondition(user i, subject k) of the learner are for example: (4) ∀user (user_precondition(user , subject )) → o i i j user_knows_learning_object(user_id, lo_id) - next_cp_path(user i, subject j, null) similar to the above predicates, it returns true if the user with identificator user_id knows learning • pass-through graph rules – consist of rules for the object with identificator lo_id , graph crawling. o user_performance(user_id, subject_id, control_ If the learner passes or not the test at a control point, she/he point_id, value) as value ={ pass, fail, notReach } – continues respectively forward (5) or backward (6): the test result value can be pass if the student passes ∃ test in related control point successfully, can be fail (5) k(user_performance(user i, subject j, control_point k, → else and notReach if the learner is not doing this pass)) next_cp_path(user i, subject j, control_point k) test. (6) ∃k(user_performance(user i, subject j, control_point k, • DM defines predicates related with the domain fail)) → next_cp_path(user i, subject j, control_point k-1) model. This predicates can be divided into two groups. • The first group presents hierarchical links in particular rules updating learner model – this rules are domain graph. The second group presents that a related to learner knowledge and performance. particular test question belongs to a given learning object If the learner passes all control point’s tests for particular and the answers for a question together with its subject then the learner knows this subject – (7): assessment points ( value ). ∀ • (7) k(user_performance(user i, subject j, control_point k, AM includes predicates representing → functionalities from the adaptation model such as: pass)) user_knows_subject(user i , subject j) o graph composition If the learner passes particular control point’s test then o subject content she/he knows learning objects contained in the selected o page sequencing and page link annotation presented control point path – (8): by relevant predicates: (8) ∀k ∃i(user_performance(user i, subject j, control_point t,

 link_pages(current_page_id, next_page_id) pass) ∧ page_4_cp_path(path m, page d) ∧  link_pages_annotation(learning_style, link_id, lo_4_page(page d, lo k) → annotation) user_knows_learning_object(user i , lo k)Construction of • AE defines predicates related to the triangular the adaptation engine model core – adaptation engine: o next_cp_path(user_id, subject_id, 4. Construction of the adaptation previous_cp_id) – it defines the path for student engine with user_id to next control point In this chapter, we will present a proposal for construction of o sub_precondition(subject_new_id, adaptation engine by means of symbolic rules. For realizing subject_old_id) – it describes preconditions or the such a goal, the most suitable means to be used are a rule courses ( subject_old_id ) that need to know to start a description language such as SWRL [4] and RuleML [18] new subject subject_new_id . and its execution engine, or a rule execution platform such as o precondition_subject(subject_new_id) – it Drools [8], Jess [18], Java Rules Engine [19], Jena-2 [20], returns true if all preconditions are realized. etc. We have chosen to present our rules both through Drools o user_precondition(user_id, subject_id) – it and SWRL. Motives to select exactly them are that on the checks if user user_id is realized all necessary one hand, for Drools and SWRL, there are available very preconditions to start the subject with subject_id . good and convenient graphical editors and tools for Once we have defined the predicates describing main presentation, editing and reviewing rules such as Protégé for functionalities of the triangular model we can begin giving SWRL [4] and RuleFlow for Drools [8]. On the other hand, adaptive rules. They can be presented by defining SWRL aims to be the standard rule language of the Semantic relationships between the predicates. The adaptive rules can Web, which will allow interoperability between different rule engines. Also, Drools is an open source rule engine written in rule "Pass the test in control point on level k" Java language and JSR 94 compliant, which enables it to be when embedded and used in a Java based application. Moreover, UserPerformance(user_i:user_id, Drools can reduce complexity of components that implement subject_j:subject_id, the business rules logic in Java applications, and it is easy to control_point_k:control_point_id, value==”pass”) maintain or extend the business logic by declarative then programming. eval(NextCpPath(user_i, subject_j, control_point_k)); 4.1. Execution rules in Drools end; The Drools is an open source rules Java engine provides an application for managing rules called Business Rules where in the section when is described the left hand side of Management System (BRMS), which allows to create, formulas (6) and in the section then is described right hand modify, delete, branch and persist rules. Adapting the Rete side of (6). Similarly, there can be rewritten all the other algorithm to an object-oriented interface allows for more rules. natural expression of business rules with regards to business Thereby, all the formulas formally defined by objects. Drools expresses business logic rules in a declarative predicates should be converted to DRL rules. The resulted way. The Drools architecture is based on three main DRL rules are used by the inference engine together with the components: production memory that stores the rules, facts (e.g., data about both the learning model and the working memory that stores the facts and the inference adaptation model) as shown in fig. 3. The inference engine engine. The rules can be written using a non-XML native itself contains a pattern matcher which produces agenda of language – Drools Rule Language (DRL) [8], a XML native rules to be executed for given facts. This agenda is executed language as an alternative of DRL which allows capturing by an execution engine which may execute some actions for and managing rules as XML data and in a spreadsheet format giver rules and produce some result facts. (supported formats are Excel and CSV). Drools development platform comes in two flavors: as an Eclipse plug-in Drools IDE and as Web application Predicates Drools BRMS [8]. The Drools IDE provides developers with an environment to edit and test rules in various formats, and integrate it deeply with their applications from within Eclipse. The IDE has a textual/graphical rule editor, a Convertor RuleFlow graphical editor, a domain specific language editor. Other advantages of the Drools are: • it separates your application from conditions which control the flow DRL Rules Facts o rules are stored in separate files o changing rules does not require to recompile or to redeploy the whole application o putting all rules into one place makes it easier Pattern Execution to control or manage the flow of the application Agenda • Matcher Engine problems are not solved using a complicated algorithm, but via rules, which are easier to read and understand Inference Engine than code Adaptable • Drools is supported by an active community and gaining Content popularity among Java developers Delivery

Fig. 3: Principal structure of the rule engine.

4.2. Execution rules in SWRL SWRL [4] is intended to be the rule language of the Semantic Web. The specification was submitted by the National Research Council of Canada, Network Inference, and Stanford University in association with the Joint US/EU ad hoc Agent Markup Language Committee. SWRL is based on OWL and all rules are expressed in terms of OWL concepts. A SWRL file is an OWL ontology, whose axioms are extended with rule axioms. It thus extends the set of OWL axioms to include Horn-like rules and enables Horn-like rules Fig. 2: Structure of a sample Drools’ rule [8]. to be combined with an OWL knowledge base. The SWRL rules can be described through Abstract Syntax, XML The structure of a Drools’ rule (fig. 2) includes one or more Concrete Syntax and RDF Concrete Syntax. SWRL allows attributes providing a declarative way to influence the users to write Hornlike rules expressed in terms of OWL behavior of the rule, one or more conditions (in when concepts to reason about OWL individuals. The rules can be section), and a list of actions (in then section). For example, used to infer new knowledge from existing OWL knowledge the rule (6) given within the previous chapter can be written bases. as Drools’ rule like this: The SWRL Specification does not impose user_i restrictions on how reasoning should be performed with SWRL rules. Thus, investigators are free to use a variety of rule engines to reason with the SWRL rules stored in an subject_j OWL knowledge base. They are also free to implement their own editing facilities to create SWRL rules. In common with many other rule languages, SWRL rules are written as antecedent-consequent pairs. In SWRL , terminology, the antecedent is referred to as the rule body (rule_eml:_body tag) and the consequent is referred to as the where in the tag is described the left hand head (ruleml:_head tag). The head and body consist of a side of formulas (6) and in the section is conjunction of one or more atoms. At present, SWRL does described right hand side of (7). Similarly, can be written and not support more complex logical combinations of atoms. our other rules. Moreover, for our rules description in SWRL, SWRL also supports literals, built-in predicates, which we can use the Protégé-OWL editor, through SWRL Tab greatly expand its expressive power. For example our rule (7) plug-in. Protégé provides a possibility the rules to be can be written in SWRL XML Concrete Syntax like that: described in a way very similar to first-order logic predicates, which removes necessity from rewriting them. After we have SWRL rules, rule engine is needed to process them. As the most suitable for this purpose can be stated the Jess rule SWRLJessTab can to be transfer all SWRL rules to Jess. user_i This is a rule engine for Java platform and can be embedded subject_j between SWRL rules and Jess, over the Drools is in interoperability support. control_point_k 4.3. Comparison between Drools and Jess rule engines result Now, we will do a comparison between the two rules engines selected above (Drools and Jess) for construction of our adaptive engine. More, we will compare to them some other popular rule engines, namely Jena-2 [20] and Algernon [21]. For the purpose of comparison we have defined 10 criteria as given in table 1. Here, rules tools are for creating and editing describes rule engines properties for each defined criterion.

Table 1: Rule engine comparison. Criteria Inter- Rules JSR94 Maturity Algorithm Availability Mode of working Classes and opera- tools Support level instances Rule bility Engines yes (special ReteOO, Drools No IDE, yes ++++ open source run from JVM Java objects forward chaining Rule- Flow) commercial enhanced Rete, shell or batch, Jess No no yes +++ with academic CLIPS file forward chaining plug-in in Protégé license

forward chaining, Protégé database/ Jena-2 Yes no no + backward open source run from JVM CLIPS files from chaining Protégé

yes forward chaining, plug-in in Protégé RDF file (Protégé Algernon No (trough no + backward open source or stand-alone format) Protégé) chaining

As we see in table 1, both Drools and Jess have the highest maturity level and support JSR 94 specification. 5. Conclusions Drools outweighs Jess especially because of availability of Adaptive e-learning platforms tend to open one of the most very good means for rule creating and editing. However, the promising research areas in next several years. In this paper, combination of Jess and Protégé fills this gape and adds there was introduced a conceptual approach for self adaptive possibility for interoperability between SWRL rules. hypermedia applications using triangular conceptual model. The main benefit of the proposed model is in assuring strong [7] Adriana J. Berlanga , Francisco J. García and Jorge independence of any of the building models and, at the same Carabias: Authoring Adaptive Learning Designs Using time, in facilitating a flexible adaptation of content delivery. IMS LD, Lecture Notes in Computer Science, Volume It can be supported by different system architectures not 4018/2006, ISBN 978-3-540-34696-8, pp. 31-40 limiting application of various adaptation techniques, such as [8] Proctor, M., Neale, M., Frandsen, M., Griffith S., Tirelli, adaptive presentation, navigation support and content E., Meyer, F., and Verlaenen, K.: Drools 4.0.5., selection. http://downloads.jboss.com/drools/docs/4.0.5.19064.GA/ The adaptive process for e-learning content delivery html_single/index.html, January 2008. was formalized through usage of predicates and relationships [9] Vassileva D., Bontchev B.: Self adaptive hypermedia between them. On the base of such predicates, there were navigation based on learner model characters, Proc. of built formal rules controlling the adaptation process and IADAT-e2006, Barcelona, Spain, July 12-14, 2006, executed by the adaptation engine. For describing the rules, pp.46-52. two approaches have been considered – Drools Rule [10] De Bra P., Houben G.-J., Wu H.: AHAM: A Dexter- Language and SWRL. Both the approaches are supported by based Reference Model of Adaptive Hypermedia. rule engines which executes rules described in correspondent Proceedings of the tenth ACM Conf. on Hypertext and language. It has been stated, that both of them are suitable for hypermedia, ISBN: 1-58113-064-3, pp. 147-156. constructing an adaptation engine supporting the conceptual [11] Vassileva D., B. Bontchev: Modelling reusable adaptive model. This is thanks to the fact they do support rules defined hypermedia for e-learning platforms, Proc. of IADATe- by first order logic predicates. 2004, Bilbao, Spain, July 7-9, 2004, pp. 225-229. The main innovation of the proposed approach for [12] Rey-López, M.,Fernández-Vilas A.,Díaz-Redondo R., adaptive engine construction is that unlike others it is based Pazos-Arias J.: Providing SCORM with adaptivity. on a strong separation of adaptation rules from business Proceedings of the 15th international conference on logic. Thus, it enables easy implementation and rules World Wide Web, ISBN:1-59593-323-9, pp.981-982. modification, which allows a flexible adaptation process. [13] Vassileva, D., B. Bontchev, S. Grigorov. Mastering There have been compared several rule engines Adaptive Hypermedia Courseware, Proc. of 6th Int. according to some preliminary selected criteria. Based on this Conf. on Emerging eLearning Technologies and comparison showing the weaknesses and advantages of the Applications ICETA2008, September 11-13, Slovakia, rule engines, we may choose Drools for the ongoing 2008 implementation of the adaptation engine. The choice of [14] Richters M., Gogolla M.: On Formalizing the UML Drools is strongly influenced by the facts it provides Object Constraint Language OCL, LNCS Vol. 1507, advanced rule management tools with sophisticated GUI, 1998, ISBN: 3-540-65189-6, pp. 449 - 464. detailed documentation, and open source license. Moreover, [15] Koch N., Wirsing M.: The Munich Reference Model for Drools is supported by a steadily growing community of end Adaptive Hypermedia Applications. Proc. of the Int. users. Next, the adaptation engine is going to be integrated Conf. on Adaptive Hypermedia and Adaptive Web- and tested within a adaptive e-learning platform providing an Based Systems, 2002, ISBN: 3-540-43737-1, pp. 213 – authoring tool for construction of learning courseware as 222. SCORM compliant learning objects and, also, an instructor [16] Halasz, F., Schwartz, M.: The Dexter hypertext tool for structuring the narrative storyboards and planning the reference model. Communications of the ACM, Vol. 37, instructional design – both developed at Sofia University Issue 2, pp: 30 - 39, 1994, ISSN:0001-0782. [9,11,13]. [17] Ohene-Djan, J., Gorle, M., Bailey, C. P., Wills, G. B. and Davis, H. C. (2003) Understanding Adaptive References Hypermedia: An Architecture for Personalisation and [1] Dagger, D., Wade, V., Conlan, O.: Personalisation for Adaptivity. In: Workshop on Adaptive Hypermedia and All: Making Adaptive Course Composition Easy. Adaptive Web-Based Systems AH2003, August 26-30, Special issue of the Educational Technology and So- 2003, Nottingham, UK. ciety journal, IEEE IFETS, 2005. [18] E. J. F. Hill, “Jess, the Rule Engine for the Java [2] Brusilovsky P.: Adaptive Hypermedia: An attempt to Platform”, http://www.jessrules.com/jess/docs/70/, analyze and generalize. Proc. of First International Conf. Sandia, National Laboratories, October 2007. on Multimedia, Hypermedia and Virtual Reality 1994. [19] Selman, D., Majoor, J., "The Java Community and Rule Brusilovsky P. & Streitz N. (Eds.) LNCS 1077, Springer Engine Standards", http://www.w3.org/2004/12/rules- Verlag, pp.288-304. ws/paper/107/ [3] Yevgen Biletskiy, Harold Boley, Girish R Ranganathan. [20] Sun-Young Heo, Eun-Gyung Kim, "A Study on the RuleML-based Learning Object Interoperability on the Improvement of Query Processing Performance of OWL Semantic Web, Interactive Technologies and SMART Data Based on Jena2," ichit, Int. Conf. on Convergence Education, Emerald, volume 5 issue 1, pp. 39-58, 2008 and Hybrid Information Technology, 2008, pp.678-681 [4] Jing Mei, Harold Boley: Interpreting SWRL Rules in [21] Crawford J., B. Kuipers. Algernon—a tractable system RDF Graphs. Electr. Notes Theor. Comput. Sci. 151(2), for knowledge-representation, ACM SIGART Bulletin 2006, pp. 53-69 archive, ISSN:0163-5719, Vol. 2, Issue 3, June 1991, [5] Zongmin Ma (Ed), Web-Based Intelligent e-Learning pp.35-44 Systems: Technologies and Applications (ISBN 1- 59140-729-3), Chapter IX, pp. 175-193 Acknowledgments [6] Guin-Duclosson, N., Jean-Daubias,S., Nogry S.: The The work reported in this paper is supported by the AMBRE ILE: How to Use Case-Based Reasoning to ADOPTA project funded by the Bulgarian National Science Teach Methods, Lecture Notes in Computer Science, Fund under agreement no. D002/155. ISBN 978-3-540-43750-5 , Volume 2363/2002, pp. 782- 791