Abstract:
A computer implemented method and apparatus for simulating an intelligent tutor for interactive adaptive training of learners in any domain includes a Domain Module, a Tutor Module and an Interface. Items to be learned, and their prerequisite and other dependency relationships are represented in a fuzzy graph, together with a fuzzy logic computational engine, which dynamically adapts the available sequence of training actions (such as presentations/explanations, simulations, exercises and tasks/questions) to a current assessment of the learner&#39;s knowledge skill, the level of difficulty of the presented material, and preferences and learning style of the individual learner. Fuzzy logic is used as the basis of arc weightings, and the computations, but the general methodology is applicable to other approaches to weighting in computation.

Description:
[0001]    This application claims the priority of Provisional Patent Application Serial No. 60/187,865, filed Mar. 8, 2000, the disclosure of which is expressly incorporated by reference herein. 
     
    
     
       BACKGROUND OF THE INVENTION  
         [0002]    The present invention is directed to a computer implemented method and apparatus for simulating an intelligent tutor for interactive adaptive training of learners in any domain (that is, field of learning) under study.  
           [0003]    Known computer-based training systems generally may be divided into two groups: classical Computer Based Training (CBT) and advanced Intelligent Tutoring Systems (ITS). Classical CBT systems are based on “manual” design of training “scripts”, which predefine what the CBT system should to do in any learning situation for each learner. Because of the enormous number of possible situations and diversity of learners, it is practically impossible to design quality training systems by manual scripting.  
           [0004]    Intelligent Tutoring Systems, on the other hand, include two opposite approaches: Case-Based and Model-Based training systems. Case-Based Training systems are learnable and can be trained by expert-tutors how to teach learners. In the training stage, they memorize the most effective actions of the tutor in current learning situations from examples (cases) given by designer (author). After that “training”, in the implementation stage, such ITS can teach learners itself by taking the same teaching actions in the same and close situations by recalling the cases from memory. In practice learners encounter a large number of learning situations, so that the number of cases to train the system must be large as well. In contrast, short and affordable authoring can provide only very rough simulation of tutor&#39;s activity. Case-Based Training systems may be regarded as useful when applied complementary to the following model-based approach.  
           [0005]    Model-Based Training systems need neither scripts to enter nor cases to learn. Rather, they are based directly on generalized tutoring knowledge and experience represented with models. Models can be represented in the form of empirical rules, decision tables, and theoretical relations. A part of these models can be reusable for different training paradigms/domains/learners. Reusability allows reducing the authoring labor. Examples are REDEEM, XAIDA, SIMQUEST, MOBIT.  
           [0006]    Within Model-Based Training systems it is possible to distinguish empirical and theoretical modeling. Empirical model-based ITSs are designed usually by rule-based authoring. This is similar to rather high-level programming with production systems, which can be supported with some commercial tools for knowledge-based systems design. Such systems provide authors with capability to design and implement reusable rules and save their labor in this manner, but do not provide them with ready-made reusable models. See REDEEM, XAIDA, SIMQUEST.  
           [0007]    Theoretical model-based ITSs are based on ready-made models that are specific for a training field and are generic within this field. These models comprise the best pedagogical experience materialized in a form of a reusable model-based Shell, which can be used by different authors to save on authoring for different training paradigms/domains/learners. However, there are at present no ready-made theoretical models, shells and tools for theoretical model based ITS&#39;s. Accordingly, some authors have partially solved this problem using a bottom up approach, for example, providing authors with specific templates within which blanks can be filled in. However, no known system has heretofore used a top=down approach and imprecise tunable modeling, as achieved by the system according to the invention.  
           [0008]    Prior art model-based intelligent training systems have included:  
           [0009]    a Domain Module for presentation and/or simulation of domain under study;  
           [0010]    an expert system for presentation of ideal task performing;  
           [0011]    a learner model defining personal knowledge, skills, and traits for training individualization,  
           [0012]    an instructional or tutorial module defining objectives, strategy, style, and modes of training, and  
           [0013]    an interface for system interaction with learner and author.  
           [0014]    These prior intelligent tutoring systems suffer, however, from a number of important deficiencies. First, they are empirical (not theoretical) model-based systems. Moreover, their tutorial module does not comprise a generic and reusable ITS Shell, so that authors need to re-design the ITS tutorial module for different training paradigms/domains/learners from scratch Altogether this means a high cost of ITSs and an absence of their quality guarantee.  
           [0015]    Accordingly, a primary goal of the present invention is to provide a reusable, training paradigms/domains/learners-independent, theoretical, actively adaptive, fuzzy, domain/learner/tutor model-based Shell with checking/prognosis/diagnosis-based dynamic planning capability.  
           [0016]    Another object of the invention is to provide an ITS of the type described above, which, being filled in with concrete meta and media data by an author, can automatically realize intelligent, high quality, and efficient interactive adaptive training at low cost.  
           [0017]    Yet another important objective of the invention is to provide a theoretical model based ITS on the basis of a top down approach and imprecise tunable modeling.  
           [0018]    Additional objectives of the invention are:  
           [0019]    to support learner-driven training;  
           [0020]    to provide reuse of ready-made CBT, simulators, and games learning materials;  
           [0021]    to supervise (control over) functioning of traditional ready-made CBT, simulators, games, and other training systems and applications;  
           [0022]    to support plug in of existing web, CBT, simulation, game, and other applications authoring tools for learning/training content media design;  
           [0023]    to support plug in of existing pre-authoring tools for job/task cognitive analysis;  
           [0024]    to realize the system&#39;s self-improvement capability.  
         SUMMARY OF THE INVENTION  
         [0025]    These and other objects and advantages are achieved by the intelligent tutoring system according to the invention which includes some of the same standard modules as other ITS&#39;s (Domain Module, Tutor Module, and interface) but with new properties, functions, structure, modes and in a new interrelation among them. In this regard, an important feature of the invention resides in the methodology used to structure and represent items to be learned and their pre-requisite and other dependency relationships (in any subject domain for any category of learners, and on the basis of any training paradigm and theory) in a (fuzzy) graph, together with a (fuzzy logic) computational engine (learner model) which dynamically adapts the available sequence of training actions (such as presentations/explanations, simulations, exercises, tasks/questions) to a current assessment of the learner&#39;s knowledge/skills, the level of difficulty of the presented material, and preferences and learning style of the individual learner. According to the invention, fuzzy logic is used as the basis of arc weightings and the computations, but the general methodology is applicable to other approaches to weighting and computation. Details of the programming functionality for important features of the invention are set forth in Table I (including a glossary) at the conclusion of this specification, of which it is a part.  
           [0026]    The Intelligent Tutoring Systems Shell and Authoring Tool according to the invention is implemented in the form of a computer program for the following purposes:  
           [0027]    For easy design of cost-effective Intelligent Tutoring Systems by filling in training paradigm/domain/learner—specific data into blanks of training paradigm/domain/learner—generic system Shell;  
           [0028]    For executing cost-effective adaptive training of learners tailored to individual learner&#39;s current knowledge/skills, difficulty level, control level, preferences, and learning style in accordance with training objectives, strategy, and style of training pre-defined by the author.  
           [0029]    The main system properties are:  
           [0030]    The system can deliver realistic domain content in interactive multimedia, simulation, VR media.  
           [0031]    It can be used any time and in any place, through the Internet as well.  
           [0032]    It is a mixed initiative system providing a learner with capability to learn on his own and to use instructional support of an embedded tutor when it is necessary to resolve learning problems and/or achieve learning objectives by the most effective way,  
           [0033]    The system provides a complete set of basic instructional modes: pre-test, instruction, practice, remediation, post-test.  
           [0034]    The system makes learning/training logic transparent for learners by displaying the current assessment of learner&#39;s knowledge/skills mastery and corresponding system&#39;s training action.  
           [0035]    High quality and effectiveness of training that can be expressed in terms of meeting objectives and learners&#39; satisfaction in shortest time.  
           [0036]    Low cost of system design, that can be expressed in terms of effort, time, and recourses of authors for course design and development.  
           [0037]    Low cost of training that can be expressed in terms of consuming time and resource for achieving learning/training objectives.  
           [0038]    The system simulates the best tutor that adapts to a learner.  
           [0039]    The system pre-tests student to ensure that he/she is ready to learn the course unit selected.  
           [0040]    The system dynamically plans and executes an individual training process in one-on-one interaction with learner.  
           [0041]    The system gives to learner new knowledge/skills by providing him/her with necessary learning materials and/or domain situations for knowledge/skills construction.  
           [0042]    The system realizes the optimal teaching strategy and style for the courseware available.  
           [0043]    The system adapts to learner&#39;s personal knowledge, skills, preferences, and learning style.  
           [0044]    The system can check learner&#39;s knowledge/skills tracking his/her progress and detecting errors.  
           [0045]    The system assists learner by finding the causes of his/her errors and correcting them by appropriate re-training.  
           [0046]    The system lets a learner control the pace and progress of his/her own learning.  
           [0047]    The system post-tests a learner to make sure he/she successfully achieved the course or unit&#39;s training objectives.  
           [0048]    The system supports the following author&#39;s operations:  
           [0049]    (1) Login;  
           [0050]    (2) Create a new course or open an existing course;  
           [0051]    (3) Specification of a customer order for course design in terms of a target audience, particular domain, job/tasks, and training objectives;  
           [0052]    (4) Pre-authoring session for an analysis of target audience, particular domain, job/tasks, and training objectives;  
           [0053]    (5) Authoring session of the course synthesis (design and development) for target audience, particular domain, job/tasks, and training objectives;  
           [0054]    (6) Course release, testing, and debugging;  
           [0055]    (7) Implementation results analysis. Course correction.  
           [0056]    (8) Close a course;  
           [0057]    (9) Logout.  
           [0058]    The system supports the following learner&#39;s operations:  
           [0059]    Login;  
           [0060]    Open course and unit;  
           [0061]    Start unit  
           [0062]    Learning/Training session;  
           [0063]    Stop unit;  
           [0064]    Close unit and course;  
           [0065]    Logout. 
       
    
    
       [0066]    Other objects, advantages and novel features of the present invention will become apparent from the following detailed description of the invention when considered in conjunction with the accompanying drawings.  
       BRIEF DESCRIPTION OF THE INVENTION  
       [0067]    [0067]FIG. 1 is a conceptual diagram which illustrates the composition of the overall ITS according to the invention;  
         [0068]    [0068]FIG. 2 is a conceptual diagram which illustrates the composition of the Domain Module according to the invention;  
         [0069]    [0069]FIG. 3 is a conceptual diagram which illustrates the composition of the Tutor Module according to the invention;  
         [0070]    [0070]FIG. 4 depicts the functional interconnections among the components of the Tutor module and its functional scheme;  
         [0071]    [0071]FIG. 5 is a conceptual diagram which illustrates the hierarchal structure of the tutoring modes according to the invention;  
         [0072]    [0072]FIG. 6 is a flow chart which illustrates the operation process implemented by the Tutor module;  
         [0073]    [0073]FIG. 7 is a conceptual diagram that illustrates the functional scheme of the behavior recognition component of the Tutor module;  
         [0074]    [0074]FIG. 8 illustrates an example of the author&#39;s interface for the entry of unit properties;  
         [0075]    [0075]FIG. 9 illustrates an instance of the author&#39;s interface for training (testing) action properties with embedded behavior (performance) prediction model;  
         [0076]    [0076]FIG. 10 is a conceptual diagram which illustrates the cognitive interpretation model according to the invention;  
         [0077]    [0077]FIG. 11 shows an example of the author&#39;s interface to enter the cognitive interpretation model;  
         [0078]    [0078]FIG. 12 depicts a particular example of a fuzzy graph according to the invention, which embodies a learner&#39;s interface to present cognitive items assessment and a focus of the next training action in a particular domain;  
         [0079]    [0079]FIG. 13 is an example of domain content presentation to the learner in the system according to the invention;  
         [0080]    [0080]FIG. 14 is an illustration of an interface screen which shows the system adaptation of difficulty level according to the invention;  
         [0081]    [0081]FIG. 15 is a diagram which illustrates the mapping of a training action into cognitive items in the system according to the invention; and  
         [0082]    [0082]FIG. 16 shows the generic system architecture. 
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0083]    The system  1 , which represents a computer program comprising a Domain Module and Tutor Module that interact with each other and with users (authors and learners), is illustrated in FIG. 1. It includes a CPU  2  (with memory  2 A) operated by systems software  3 , including a Domain Module  4  and a Tutor Module  25 . Both of the latter modules include a graphic user interface (GUI) for communication with both authors and learners.  
         [0084]    The Domain Module  4 , which is illustrated in FIG. 2, provides users with interactive presentation of a part of the world (subject matter) under study that can include text, pictures, sounds, video, animation, multimedia, expert systems, simulations, games, 3D, VR, Internet resources. An authoring tool  4   a  is used to design and develop these interactive presentations. The Domain Module includes a user interface with learner and an author. In a preferred embodiment, the learner&#39;s interaction with domain occurs through domain windows, which can include control/navigation and task performance means. Authors can interact with the Domain Module through the same windows but extended with a capability to edit, check, verify, and debug data entered.  
         [0085]    The Domain Module can be closed or open for tutor observation and control. In an open embodiment the Domain Module includes special observation and control means to support Tutor Module&#39;s control over the Domain Module.  
         [0086]    The Tutor Module is illustrated in FIG. 3. It simulates a tutor&#39;s activity and provides monitoring and control over a learner&#39;s study of the domain and tasks performance. To design and develop these specific capabilities it includes an authoring tool  5   a . The Tutor Module includes also a user interface with a learner and an author. Learner&#39;s interaction with the Tutor Module is realized through a tutor window, which can contain control and communication means as well. Authors can interact with the Tutor Module through the same window but extended with a capability to edit, check, verify, and debug course designed. The Tutor Module contains also means for capturing learner&#39;s behavior and control over Domain Module through direct and indirect communication means.  
         [0087]    Overview of System Operation  
         [0088]    An entire cycle of system operation consists of the following phases:  
         [0089]    (1) Specification of customer order for course design in terms of target audience, particular domain, job/tasks, and training objectives;  
         [0090]    (2) Pre-authoring session for an analysis of target audience, particular domain, job/tasks, and training objectives;  
         [0091]    (3) Authoring session of the course synthesis (design and development) for target audience, particular domain, job/tasks, and training objectives;  
         [0092]    (4) Course release, testing, and debugging;  
         [0093]    (5) Course implementation on audience (with at least one learner);  
         [0094]    (6) Course outcome analysis. If the outcome does not match the order specification, then returning to (2) for the next iteration of the system operation.  
         [0095]    A course order specification includes at least definitions of  
         [0096]    (1) target audience,  
         [0097]    (2) domain,  
         [0098]    (3) job/tasks, and  
         [0099]    (4) objectives;  
         [0100]    (5) Post-testing threshold.  
         [0101]    A pre-authoring phase includes  
         [0102]    (1) An analysis of the target audience and filling out and audience database with the audience profile data;  
         [0103]    (2) Iterative Job/tasks decomposition aimed to meet predefined audience profile and filling out the job/task database;  
         [0104]    (3) Mapping of job/tasks decomposition results into the audience profile to check mutual correspondence. If there is no mutual correspondence, return to (1-2) for corrections;  
         [0105]    (4) Training objectives definition inside the job/tasks and outside of the audience profile;  
         [0106]    (5) Decomposition of each training objective into sub-objectives;  
         [0107]    [0107] 1 (6) Splitting each sub-objective into behavioral sub-objective (behavior patterns) and cognitive sub-objective (cognitive items);  
         [0108]    (7) Interactive mapping of behavioral sub-objectives into job/tasks to check their necessity and sufficiency for job/tasks. Corrections if it is necessary.  
         [0109]    (8) Interactive mapping of cognitive sub-objectives into audience profile to check sufficiency of audience profile for these cognitive objectives. Corrections if it is necessary.  
         [0110]    A course authoring includes the following steps  
         [0111]    (1) Presenting the author a template “Course properties” to fill out. It includes course name, ID, author&#39;s name, version name, short description, course status, modes statuses, difficulty levels, style parameters, and association with corresponding Domain Module;  
         [0112]    (2) Presenting to the author a generic template to design a specific map of the course. The template includes pre-test, introduction, units, post-test, and conclusion. An author should select at least one of them for the course.  
         [0113]    (3) If the author selected a pre-test, then pre-test authoring is performed;  
         [0114]    (4) If the author selected an introduction, then presenting him/her a set of introduction templates for choice. Each template may have a specific appearance, but the same content structure identifying pre-defined target audience, job/tasks, training objectives, and recommendations what to do;  
         [0115]    (5) If the author selected a post-test, then post-test is performed;  
         [0116]    (6) If the author selected a conclusion, then presenting to him/her a set of conclusion templates for a choice. Each template may has specific appearance, but the same content structure including congratulations to the learner, the objectives achieved, a list of job/task/needs relevant, and recommendations what to do next;  
         [0117]    (7) If the author selected Units, then course structuring by entering and editing a unit list and prerequisite relations among units (unit flowchart);  
         [0118]    (8) Checking, verification, and correction of entered data.  
         [0119]    In the course implementation phase each learner goes through the login procedure to begin. After that the system presents him/her a list of available courses and units. The learner makes his/her choice and starts the selected course/unit. Within the course/unit run the learner has a choice to use the Domain Module only or together with the Tutor Module. Using the Domain Module only, the learner can navigate and act in it through a “domain window”. In this case he/she studies the domain via a self-driven mode without any control from the Tutor Module. It is not an effective way for learning and very often learners encounter learning problems. To resolve these problems in the present system the learner can activate the Tutor Module at any time (even before encountering any problem).  
         [0120]    Even when not activated (in the self-driven learning mode of the Domain Module), the Tutor Module is not entirely passive. It observes the learner&#39;s behavior and makes its own “understanding” of what is going on with the learner and how he/she meets learning objectives and resolves learning problems. When the learner achieves terminal objectives, the Tutor Module informs the learner about it. So the present system in its passive state represents an “Intelligent Learning Environment”.  
         [0121]    In its activated state, the Tutor Module begins to communicate with the learner through a “tutor window” which appears, navigating and directing the learner in the domain to meet learning objectives and resolve the learner&#39;s problems in the most effective way.  
         [0122]    In the learning stage, the learner has an extra capability of control over the tutor&#39;s module as well as by selection of currently preferred tutoring modes and styles.  
         [0123]    The Domain Module  
         [0124]    Definition. The Domain Module (FIG. 2) is a computer application program representing a part of the system&#39;s computer program, which provides authors with the capability to enter and edit domain content, and learners with the capability to navigate through course content and study it in his/her own way; and in one preferred embodiment, it provides the Tutor Module with observations about domain situations and learner&#39;s actions in the Domain Module. The domain content generated by the Domain Module can include any text, pictures, sound, animations, and video. It can comprise multimedia interactive presentations, interactive simulations, games, expert systems, 3D environment, and Virtual Reality with appropriate control/navigation and task performance means. In some embodiments the Domain Module can include Intranet and Internet resources.  
         [0125]    The Domain Module can be represented by another training system of lower level (such as CBT, case-based ITS, rule-based ITS, . . . ), which can be open enough for learner behavior observation and control over it by the present Tutor Module.  
         [0126]    Properties. To be able to support easy authoring and high quality of learning/tutoring, the Domain Module possesses certain properties:  
         [0127]    In the preferred embodiment the Domain Module can deliver to a learner realistic content in interactive multimedia, simulation, VR media form.  
         [0128]    It can be used autonomously for self-driven learning;  
         [0129]    For easy design by non-programmer authors, it allows plug in of the existing media editors and authoring systems.  
         [0130]    For easy access and effective learning, domain content should be structured by author and provided with browsing and navigation capability.  
         [0131]    It should include interactive task performance means as well to activate learning.  
         [0132]    For the best learning/training, complex domains should be represented by authors on a different level of abstraction: from textual/graphic abstract presentations to more realistic simulations and virtual reality.  
         [0133]    For adaptation to different learners, a domain should be represented in several levels of difficulty and be oriented to different learning styles and preferences. So, as a rule, the domain representation should be redundant.  
         [0134]    It can contain pre-stored and/or generated materials; the former can increase the speed, the latter can reduce redundant storage.  
         [0135]    In preferred embodiment Domain Module should allow embedding of specific “observation objects” for informing the Tutor Module about the domain situations and learner behavior.  
         [0136]    A Domain Module should allow the Tutor Module control over the domain content presentation to the learner.  
         [0137]    Functionality.  
         [0138]    The Domain Module has at least two main stages of functioning: content authoring support and content delivery to the learner. In addition, one embodiment includes the additional functionality of informing the Tutor Module.  
         [0139]    Authoring Function:  
         [0140]    The Domain Module supports the authoring process, in which authors enter and edit domain content data. The Domain Module checks entered data, and supports testing and debugging of domain content as a whole.  
         [0141]    Delivery Function:  
         [0142]    The Domain Module delivers specific content to learner in response to his/her control/navigation actions (and dependent on Tutor Module control actions).  
         [0143]    Communicative Function:  
         [0144]    In one embodiment the Domain Module delivers a domain situation, learner&#39;s control actions, and task performance data to the Tutor Module to inform it what is going on.  
         [0145]    Composition.  
         [0146]    The Domain Module comprises an application program, a simulator, CBT, a low level ITS, or part of virtual world under study, including in a preferable “open” embodiment:  
         [0147]    Domain data (content) defining specific domain content under learner&#39;s study;  
         [0148]    A Domain shell representing generic computer program for the domain data organization and interactive domain simulation including:  
         [0149]    A Domain database  4   b  (FIG. 2) defining generic (domain-independent relations) structure, and for containing specific domain data, its recording, storing, and retrieving capabilities. It is organized in Courses and Course Units (or at least allows mapping data into separate courses and course units). Data can represent domain objects and domain agents under learner&#39;s study.  
         [0150]    A Domain player  4   c  (FIG. 2) defining generic domain procedures with domain data and its runtime engine. Different domain players are used to deliver media data such as sound, video, animation, multimedia. In preferred embodiment it includes a tunable computer program for interactive domain simulation, 3D, VR;  
         [0151]    Domain-User interface including  
         [0152]    Domain-author interface  
         [0153]    Domain-learner interface  
         [0154]    In one embodiment Domain-Tutor interface (as a domain part of Direct Communicator);  
         [0155]    The Domain authoring tool  4   a  supporting the domain data input into the domain database by an author. The authoring tool comprises a diversity of media editors that are used to enter new and edit existing domain content in different media form.  
         [0156]    Particularly the system&#39;s Domain Module can represent and/or include some autonomous systems (such as software packages, applications, simulators, expert systems, and co-learner models) and tutors (such as electronic textbooks, tutorials, tests, CRT, low level ITS) that can be under control of present system&#39;s Tutor Module. See FIG. 2.  
         [0157]    The domain database  4   b  organizes and contains the domain data including in the most advanced embodiment the following fields within each course/unit data:  
         [0158]    A plurality of domain objects capable of interacting with each other, domain agents, learner, and Tutor Module;  
         [0159]    A plurality of domain agents solving their tasks by possibly interacting with each other, domain objects, learner, and Tutor Module;  
         [0160]    In one embodiment, a plurality of observation objects providing the Tutor Module with data about domain situations and learner&#39;s behavior in these situations;  
         [0161]    Specific interface among domain objects, domain agents, learner, and Tutor Module.  
         [0162]    The domain player in a preferred “open” embodiment, defines generic domain procedures and provides runtime simulation of domain under learner study for every course/unit comprising  
         [0163]    Players of domain objects, domain agents, and (in one embodiment) observation objects (generic object/agent&#39;s programs working with database filled in with specific said domain data);  
         [0164]    Inter-object interface (generic interface to be filled in with specific interface from the said domain database);  
         [0165]    The domain-learner interface (generic interface to be filled in with specific interface from the domain database);  
         [0166]    Runtime manager;  
         [0167]    Timer.  
         [0168]    The Domain Module interface includes a domain-author interface, a domain-learner interface, and a domain—tutor interface. The Domain-Author Interface provides an author with a capability to enter, check up, and edit media data. The Domain Module can use plugged in existing media-authoring tool with ready-made computer-human interface that is familiar to potential authors. As a rule all media authoring tools include specific windows delivering content presentation, navigation, request, and interaction means (buttons, menus, multiple choice questions, filing in the blank, hot spots, and so on) with extra capability to edit them and use media templates available.  
         [0169]    In one embodiment, to support Domain—Tutor interaction, the author enters specific “observation objects” into the Domain Module and predefines certain commands from Tutor Module to the Domain Module. So the domain-author interface provides the author with this capability as well.  
         [0170]    The Domain-Learner Interface provides the learner with flexible access to any part of the Domain Module allowed by the Tutor Module. Because the present Domain Module can use plugged in media editors and multimedia authoring tools, they provide their own players, browsers with their own learner&#39;s interface. It includes the domain windows delivering presentations with navigation and interaction means (buttons, menus, multiple choice questions, filing in the blank, hot spots, and so on) but without editing capability of author.  
         [0171]    In a preferred embodiment the Domain Module includes observation objects  4   d  to send control/situation/performance data into the Tutor Module. From the other side, the Domain Module is able to receive and fulfill commands from the Tutor Module.  
         [0172]    The domain authoring tools  4   a  support domain data input into the domain shell including  
         [0173]    The domain-author interface including  
         [0174]    Generic templates of domain objects, domain agents and (in one embodiment) observation objects to fill in with specific data;  
         [0175]    In one embodiment, generic templates of observation objects to fill in with specific data;  
         [0176]    Generic template of said inter-object/agent interface to fill in with specific data;  
         [0177]    Generic templates of the said domain-learner interface to fill in with specific data;  
         [0178]    Means to input and edit said domain data into domain database;  
         [0179]    Means to check and verify the domain data;  
         [0180]    Means to debug the course/unit of the Domain Module.  
         [0181]    Operation of the Domain Module. There are two main stages of Domain Module operation: authoring and content delivery (or self-driven learning). In the authoring stage the author enters, checks, edits, and debugs a domain content with its control/navigation and interaction means. In the learning stage each learner can navigate through the domain and perform domain task using control and interaction means predefined by authors. In both stages an author or learner can browse the domain database through “domain windows”. They can also run any presentations, play sound and video records, run simulations and interact with them. In this manner, a learner can use the Domain Module on his/her own for self-driven learning. An author has the same capability with an extension to edit, check, test, and debug a domain content.  
         [0182]    A control over the Domain Module that is “open” for authoring includes:  
         [0183]    (1) In the authoring stage, definition of control commands to send to Domain Module;  
         [0184]    (2) In the learning/training stage, commands to be sent to Domain Module for execution.  
         [0185]    On the other hand, a control over Domain Module that is “closed” for authoring, includes  
         [0186]    (1) In the authoring stage, capturing/recording interface messages of the user to the Domain Module during user control over the Domain module;  
         [0187]    (2) If it is not enough, then capturing/recording of control messages from the operational system to the Domain Module during user control over the Domain Module;  
         [0188]    (3) In the learning/training stage, emulation/playing back of captured/recorded messages.  
         [0189]    In a preferred embodiment, the “open” Domain Module provides a learner (through a tutor interface) with a choice of  
         [0190]    (1) Domain glossary (explain me words);  
         [0191]    (2) Domain reference material describing (explain me);  
         [0192]    (3) Presenting objects and agents in the domain field (show me);  
         [0193]    (4) Interactive simulation of objects and agents behavior in the domain to investigate (let me investigate);  
         [0194]    (5) Capability to select mission/job/tasks and perform selected mission/job/task by him/herself (let me try myself).  
         [0195]    The Tutor Module  
         [0196]    Definition. The Tutor Module (FIG. 3) is a computer program representing a part of a system computer program, which simulates human-tutor activity and can be authored by author and activated by learner at any time to manage his/her learning by the most effective way.  
         [0197]    Properties. “Intelligence” is the most important property of the Tutor Module. Even before authoring, the Tutor Module has its own pedagogical “knowledge/skills”. An intelligent Tutor Module knows exactly “how to teach” learners (how to manage a learning process in order to deliver new experience to the learner, to test mastery, to diagnose and remedy learning problems) by itself without authors. The Tutor Module has also specific knowledge about “whom to teach” (the audience). Learners themselves, in the login step of a learning session, will deliver this information to the Tutor Module, inputting their ID, personal preferences and learning styles. All other personal data (learner&#39;s current assessment, achievements, pre-history) the Tutor Module can generate itself and keep in its memory.  
         [0198]    To be ready to teach each particular learner, the Tutor Module needs to know concrete audience, domain, course/unit, training objectives, strategy, and style to use. It is going to get information from authors.  
         [0199]    In addition to above-mentioned skills (how to teach) and knowledge (whom to teach), the Tutor Module embeds certain knowledge (templates, frameworks) for media domain-related data from authors. The templates and frameworks make authoring process much easier, providing a process of “filling in the blanks” of the shell. As a result, entered data can be automatically checked and interactively verified by the author for consistency and sufficiency. The author can also run and debug a course/unit designed on a different level of detail. All these features significantly simplify authoring, allow the input data to be verified, exclude mistakes and reduce the cost of course design.  
         [0200]    In the training delivery session the Tutor can be in passive and active state. In the passive state, Tutor Module “watches over the learner &#39;s shoulder” and can capture, recognize, and interpret a learner&#39;s behavior in order to understand what is going on with learner&#39;s knowledge/skills. The present system with the Tutor Module in a passive state represents a new solution to the so-called “Intelligent Learning Environment”. In the active state, on the other hand, the Tutor Module can individually plan, re-plan, and execute training actions delivered through the Domain Module and/or directly to the learner, pursuing predefined training objectives, realizing predefined strategy of training, and realizing predefined tutoring style. The Tutor Module provides learners with a choice of its operations modes.  
         [0201]    Functionality.  
         [0202]    The Tutor Module supports the main functions as follows.  
         [0203]    Pre-authoring:  
         [0204]    Input:  
         [0205]    Raw data from an author entered through generic templates of author interface;  
         [0206]    Result:  
         [0207]    Entered, tested, and debugged tutor data in a tutor database including target audience,  
         [0208]    domain,  
         [0209]    job/tasks,  
         [0210]    objectives, and  
         [0211]    Post-testing threshold.  
         [0212]    authoring:  
         [0213]    Input:  
         [0214]    Pre-authoring data from previous stage; Raw materials and data from an author entered through generic templates of author interface;  
         [0215]    Result:  
         [0216]    Entered, tested, and debugged tutor data in a tutor database.  
         [0217]    In the passive state the main Tutor Module monitors:  
         [0218]    Input:  
         [0219]    Domain situation data;  
         [0220]    Learner&#39;s control actions;  
         [0221]    Learner&#39;s task performance;  
         [0222]    Output:  
         [0223]    Performance comments, if requested;  
         [0224]    Performance advice, if requested;  
         [0225]    In a case of “fatal” faults, Tutor Module activation for a remediation session.  
         [0226]    In the active state the main Tutor Module function is training:  
         [0227]    Input:  
         [0228]    Learner personal data and assessments;  
         [0229]    Domain situation data;  
         [0230]    Learner&#39;s control actions in the Domain Module;  
         [0231]    Learner&#39;s task performance;  
         [0232]    Learner&#39;s control actions in the Tutor Module;  
         [0233]    Output:  
         [0234]    The next training action (presentation of a learning material, exercise, task/question, . . . );  
         [0235]    Learner&#39;s performance Comments;  
         [0236]    Performance advice, if requested;  
         [0237]    Results:  
         [0238]    Switching the modes of training;  
         [0239]    Updated assessments of learner&#39;s personal data.  
         [0240]    Composition  
         [0241]    The Tutor Module includes the following components:  
         [0242]    Tutor data defining training paradigm/domain/learner/—specific knowledge of tutor;  
         [0243]    a Tutor shell comprising ready-made training paradigm/domain/learner/—generic pedagogical knowledge and skills including:  
         [0244]    Tutor database  5   b  (FIG. 3) for defining and organizing generic tutor data (domain-independent) structure and containing specific tutoring media and metadata (declarative models), its recording, storing, and retrieving capabilities;  
         [0245]    Tutor player  5   c  (FIG. 3), for defining generic tutoring procedural models and runtime engine. It represents a run-able computer program for tutoring simulation;  
         [0246]    Interface;  
         [0247]    a Tutor pre-authoring tool supporting analysis of target audience, job/tasks, and training objectives;  
         [0248]    Tutor authoring tool Sa supporting the tutor data design, input into the tutor database 5b, and editing by an author;  
         [0249]    The tutor database includes sub-databases as follows:  
         [0250]    Audience database provides the Tutor Module with a knowledge of a target audience to orient course to;  
         [0251]    Job/tasks database that support preauthoring sessions and provides a basis for training objective definition;  
         [0252]    Media database filled out by the author with a concrete course/unit structure, objectives, strategy, style parameters, training actions, and models provides the Tutor Module with paradigm/domain specific pedagogical knowledge;  
         [0253]    Learner Database filled out by the author with data providing the Tutor Module with knowledge of its audience, person by person.  
         [0254]    The tutor player  5   c  (FIG. 3) provides a runtime simulation of tutor activity for any course/unit. As shown in FIG. 4, it comprises the following components:  
         [0255]    a Behavior recognition component  6 , which compares any captured action of learner in the domain and/or tutor windows with predefined patterns, and decides which one of them has been realized;  
         [0256]    a Cognitive Interpretation function  7  for mapping recognized performance patterns ID of the learner into his/her cognitive items assessment with Cognitive Interpretation model.  
         [0257]    a Decision Making component  8  for making decisions about sufficiency of training in different modes (learning, pre-test, instruction, practice, remediation, and post-test) and sub-modes (delivery, testing, and diagnosing) and which sub-mode and/or mode to switch next;  
         [0258]    an Actions Planning component  9  for planning and selection of the next training action (message to learner, command to Domain Module);  
         [0259]    an Action Generation unit  10  for generation of the next training action in a media form;  
         [0260]    The Tutor-Learner interface  11  (generic interface template to be filled in with specific interface from the said Tutor Database);  
         [0261]    The Runtime Manager  22  (with a timer for a generation of an internal time flow) provides runtime environment for cooperative working of all components in any state (passive or active) and in different modes of active state (pre-test, instruction, practice, remediation, and post-test); and  
         [0262]    An authoring tool  23 .  
         [0263]    The Interface  11  includes a Tutor-User interface that provides  
         [0264]    Tutor-learner interface (available only in the active state of Tutor Module) A learner communicates with the Tutor Module using the same “tutor window”, through which he/she can get any messages such as introduction, task/question posing, explanation, hint, comment, and conclusion.  
         [0265]    Tutor-author interface. An author communicates with the Tutor module through a “tutor window”, which contains edit, check, verify, and debugging functions. This interface allows the author to fill in all databases and models of Tutor Module.  
         [0266]    The Interface also includes a Tutor-Domain Communicator capturing Domain Module situations and learner behavior, and for sending control commands to Domain Module including at least one of the following  
         [0267]    Direct Communicator between the Domain and Tutor modules. The Tutor Module communicates with the Domain Module in the run-time sessions of course debugging or learning. In both of the Tutor Module states (active and passive), the Domain Module transfers the learner&#39;s control actions, domain situations, and learner&#39;s performance into the Tutor Module. In the active state, the Tutor Module transfers control events into the Domain Module. This interface is provided with tutor&#39;s observation objects  4   d  (FIG. 2) embedded in the Domain Module  4  (FIG. 2) and the domain&#39;s actions predefined in action library of Tutor Module. The observation objects send predefined events into Tutor Module. The Tutor Module captures them and its training actions send control commands to Domain Module.  
         [0268]    Domain-Learner Interface Communicator providing interception and emulation of Domain-Learner exchange;  
         [0269]    Finally, the Interface also includes a Domain-Operational System Communicator providing interception and emulation of Domain-Operational system exchange.  
         [0270]    A tutor pre-authoring tool supports a detailed analysis of target audience, job/tasks, and training objectives and includes  
         [0271]    The tutor-author interface including  
         [0272]    Generic template for specific course order representation;  
         [0273]    Generic template for specific target audience profile representation;  
         [0274]    Generic template for specific jobs/tasks representation;  
         [0275]    Generic template for specific training objectives representation including  
         [0276]    Cognitive items template;  
         [0277]    Behavioral patterns template;  
         [0278]    A component for input, editing and checking of specific data in tutor database;  
         [0279]    Analysis means supporting decomposition of audience profile, job/tasks, and objectives;  
         [0280]    A component for classifying each leaf objective into cognitive item and behavioral patterns (behavior predictive model);  
         [0281]    A component for mapping  
         [0282]    job/tasks analysis results into audience profile to check mutual correspondence;  
         [0283]    behavioral patterns of training objectives (behavioral predictive model) into job/tasks to check their necessity and sufficiency for job/tasks;  
         [0284]    cognitive items of training objectives into audience profile to check sufficiency of audience background, experience, and other cognitive items for these objectives.  
         [0285]    The tutor authoring tools  5   a  (FIG. 3) provide entry and editing capability for the tutor data including  
         [0286]    The tutor-author interface including  
         [0287]    Generic templates of the said metadata including  
         [0288]    Template with audience data to orient authoring to;  
         [0289]    Template with cognitive items to orient authoring to;  
         [0290]    Generic templates of the said media data;  
         [0291]    A component to structure a course into units and flowcharting them;  
         [0292]    A component to input and edit specific said tutor data into tutor database;  
         [0293]    A component to check and verify the tutor data;  
         [0294]    A component to run and debug the course/unit of the Tutor Module.  
         [0295]    Operation of Tutor Module. The main operating stages of the Tutor Module are pre-authoring, authoring, and learning/training implementation. In the pre-authoring stage, the authoring component of the Tutor Module supports the author&#39;s specification of course order, audience profiling, job/tasks analysis, and training objectives definitions. The author can edit, check, and verify entered data as well. On the other hand, in the authoring stage, the authoring component of the Tutor Module supports the author&#39;s course structuring, training strategy and style definition, entering of training actions (messages, commands), models, performance patterns, and comments into the tutor database. The author can edit, check, and verify entered data as well.  
         [0296]    A course implementation phase includes the following steps:  
         [0297]    (1) Providing a learner with a registration means;  
         [0298]    (2) Providing a system with the learner personal data;  
         [0299]    (3) Providing a learner with a choice of a course/unit to study;  
         [0300]    (4) Providing a learner with a domain and tutoring module for the course selected;  
         [0301]    (5) Providing a system with the learner&#39;s initial assessment within the course/unit selected;  
         [0302]    (6) Providing an interaction of the learner with domain for course study;  
         [0303]    (7) Providing an interaction of the learner with tutoring module for its activation, mode selection, objectives selection, and style adjusting;  
         [0304]    (8) Checking if a current assessment of the learner matches the objective or the learner exits it, and stopping training if so; otherwise continue;  
         [0305]    (9) If learner has not activated the Tutor Module, then the Tutor Module realizes a passive state;  
         [0306]    (10) If learner has activated the Tutor Module, then the Tutor Module realizes an active state;  
         [0307]    (11) Providing a learner with capability to stop the system anytime;  
         [0308]    (12) Storing of updated learner&#39;s data.  
         [0309]    In the passive state the Tutor Module “observes” learner&#39;s behavior in the Domain Module without any interruption and training actions, unless the learner requests it. It captures learner&#39;s behavior data transferred from domain observation objects through domain-tutor interface, including control/navigation actions by the learner in the domain, the current domain situation, and the learner&#39;s task performance in the Domain Module.  
         [0310]    Learner activity (control/situation/intentionsa performance) is recognized by the behavior recognition component of the Tutor Module, on the basis of patterns predefined by an author. Recognized learner&#39;s behavior is interpreted by the cognitive interpretation component of the Tutor Module that provides mapping of each performance pattern into the assessment of learners&#39; current knowledge/skills. The result of interpretation is a personal assessment of the learner&#39;s current cognitive items (knowledge/skills). The learner can ask the system to comment on his/her performance (comment me), to evaluate his/her performance (evaluate me), and to advise what to do next (advise me). The Tutor Module provides this service. The Tutor Module wakes up automatically in case of the learner&#39;s “fatal” faults.  
         [0311]    In the active state the Tutor Module extends its passive state operation with decision making and planning capabilities in accordance with objectives, strategy, tactics, and style predefined by the author, and mode pre-selected by the learner (on strategic control level). The current assessment of the learner&#39;s knowledge/skills is used further in the decision making component to make (tactical control level) decisions on what to do next (begin, continue, or stop content delivery, checking knowledge, or diagnosing bugs). This decision and the current assessment are then used by the planning component to define the next tutoring action (on operational control level).  
         [0312]    The active state of the Tutor Module includes f ive operational modes, including pre-testing, instruction, practice, remediation and post-testing, as shown in FIGS. 5 and 6.  
         [0313]    The goal of the pre-test mode  31  (FIG. 6) in the course/unit is to check that the learner has all necessary background for the particular course/unit of study. It is not necessary to have a pre-test for every course unit. But if the author has prescribed it for the particular course/unit, then all learners should pass it. The Tutor Module commences operation in this mode every time, independently of the learner&#39;s control (if the student did not pass it successfully before).  
         [0314]    In the pre-testing mode the planning component uses tasks and questions as training actions assigned for “pre-test” in their properties windows. In accordance with the author&#39;s choice, pre-testing tasks and questions can be presented to the learner in differing styles:  
         [0315]    at once (batch);  
         [0316]    in a preset sequence that is the same for all learners (linear);  
         [0317]    in a preset script that is the same for all learners, wherein the next task/question depends on previous performance of the learner (branching), and  
         [0318]    by intelligent adaptive sequencing, wherein the next task/question depends on the current assessment of the learner&#39;s knowledge/skills.  
         [0319]    It is up to the author which style of presentation to pre-define for learners. (In the absence of a selection, the system selects intelligent adaptive sequencing as a default).  
         [0320]    Planning of batch testing is realized by the learner him/herself.  
         [0321]    There is no need to plan linear tests because the whole sequence of tasks/questions is fixed. All that is necessary is to decide when the learner has passed the test. That is exactly what the decision component is doing by comparing a learner&#39;s current assessment of pre-tested items with a predefined pre-testing threshold.  
         [0322]    Planning of the adaptive test is done in three stages:  
         [0323]    Filtering of pre-test tasks/questions;  
         [0324]    Weighting of each task/question&#39;s power (coverage of non-tested items yet);  
         [0325]    Selection of the task/question with the maximal power  
         [0326]    Each task/question is generated and presented to the learner; and the learner&#39;s performance is captured, and recognized. In the intelligent option it is also interpreted and assessed. In this case the decision component stops pre-testing when the current assessment for all pre-tested items becomes higher then the predefined threshold “Pre-testing threshold”.  
         [0327]    The goal of the instruction mode  13  (FIG. 5; see steps  33 - 34  in FIG. 6) is to manage delivery and mastery of new content in accordance with predefined objectives, strategy and style.  
         [0328]    This mode represents a combination of the Delivery sub-mode  13   a  and the Practice mode  14  (FIG. 5; see steps  37 - 39  in FIG. 6).  
         [0329]    In the Delivery sub-mode of the Instruction mode  13   a  (FIG. 5; see step  34  in FIG. 6), the planning component of the Tutor Module can select all training actions assigned to the Instruction mode in the action properties window by destination “Instruction”. These training actions are called here “teaching actions”. In accordance with author&#39;s choice of Delivery Style they can be presented to the learner in differing style:  
         [0330]    at once (batch),  
         [0331]    in a preset sequence that is the same for all learners (linear),  
         [0332]    in a preset script that is the same for all learners, wherein each next action depends of previous performance of the learner (branching); and  
         [0333]    by intelligent adaptive sequencing, wherein each next action depends on the current assessment of the learner&#39;s current knowledge/skills, his/her personal preferences and learning style.  
         [0334]    It is up to the author which presentation style to pre-define for learners. (Absent his/her selection, the last option takes place automatically).  
         [0335]    The Batch instruction requires no planning at all. It is realized by the learner him/herself. Also, there is no need to plan a linear instructional sequence, because it is fixed. All that is necessary to do is decide when the learner has passed certain thresholds. This function is performed by the decision component, by comparing the learner&#39;s current assessment of expected knowledge/skills items mastery with a threshold “Delivery threshold”.  
         [0336]    Planning of the intelligent adaptive Delivery on the other hand is done in three stages:  
         [0337]    Filtering of teaching actions;  
         [0338]    Weighting of each teaching action&#39;s current power; and  
         [0339]    Selection of teaching action with the maximal weight and difficulty level (that is still appropriate for the learner).  
         [0340]    The selected teaching action is realized, the learner&#39;s responsive performance is captured and recognized. In intelligent delivery, it is also interpreted and assessed. In this case the decision component  35  (FIG. 6) stops the instruction to begin the practice mode when a gap between current assessments of expected and demonstrated cognitive items becomes higher than a predefined threshold.  
         [0341]    The goal of the practice mode  14  (FIG. 5; step  37  in FIG. 6) is to manage mastery of the unit knowledge/skills delivered before, detect mistakes of the learner and remedy their causes in accordance with predefined training strategy, training style, the learner&#39;s personal preferences and learning style. This mode represents a combination of Testing sub-mode  14   a  and Remediation mode  15 . (See steps  36  and  40  in FIG. 6.)  
         [0342]    In the Testing sub-mode of Practice (step  36  in FIG. 6) the planning component can use all training actions with destination “Practice” in an action Properties window. Usually these actions (“testing actions”) are of a testing type: tasks or questions. In accordance with author&#39;s choice they can be presented to the learner in differing styles:  
         [0343]    All at once (batch),  
         [0344]    in a preset sequence that is the same for all learners (linear);  
         [0345]    in a preset script that is the same for all learners, wherein each successive problem choice depends on the prior performance of the learner (branching); and  
         [0346]    by intelligent adaptive sequencing, wherein each next problem choice depends on the current assessment of the learner&#39;s knowledge/skills, his/her personal preferences and learning styles.  
         [0347]    It is up to the author which one to pre-define for learners in the course unit. (As a default the system selects the intelligent option.)  
         [0348]    Batch instruction requires no planning at all. It is realized by a learner him/herself. Also, there is no need to plan the linear instructional sequence, because it is fixed. All that is necessary is decide when the learner has passed mastery thresholds, which is done by the decision component by comparing a learner&#39;s current assessment of demonstrated knowledge/skills mastery with a threshold “Testing threshold”. (See step  41  in FIG. 6.)  
         [0349]    Planning of the intelligent adaptive Testing is done in three stages:  
         [0350]    Filtering of testing actions;  
         [0351]    Weighting of each testing action&#39;s current power;  
         [0352]    Selection of testing action with the maximal power.  
         [0353]    The selected problem is realized, the learner&#39;s responsive performance is captured and recognized. In the intelligent testing it is also interpreted and assessed. In this case it continues until the current assessment of demonstrated knowledge exceeds an expected knowledge/skills assessment for all knowledge/skills items (step  41  in FIG. 6). Then the decision component stops the practice and switches to remediation mode when the learner has made more mistakes than set by the author in the parameter “Tolerance threshold” (step  42  in FIG. 6).  
         [0354]    The goal of the remediation mode  15  (step  40  in FIG. 6) is to manage the search of learning problems (knowledge/skills bugs—causes of mistakes made) and fix them by an instruction at a reduced level of difficulty in accordance with a predefined strategy and style. For this purpose, remediation comprises a Diagnosing sub-mode  15   a  (FIG. 5; step  43  in FIG. 6) and corrective re-instruction mode  15   b  at a reduced level of difficulty that begins from causes of mistakes. (See steps  46 - 48  in FIG. 6.)  
         [0355]    In the Diagnosing sub-mode of Remediation, the planning component can use all training actions with destination “Practice” and “Explanation” in their properties window. Usually these actions are of a testing type (tasks and questions) and explanation type (training actions and/or messages on reduced level of difficulty). In accordance with author&#39;s choice they can be presented to the learner in differing styles:  
         [0356]    at once (as a batch of available explanations for self-remediation);  
         [0357]    in a preset sequence that is the same for all learners (linear procedure);  
         [0358]    in a preset script that is the same for all learners, wherein each next action depends of previous performance of learner (branching); and  
         [0359]    by adaptive sequencing, wherein each successive action depends of current assessment of learner&#39;s knowledge/skills, his/her personal preferences and learning styles.  
         [0360]    It is up to the author which style to pre-define for learners in the course unit. (The default is the last, intelligent choice).  
         [0361]    Batch remediation requires no planning, being by learner him/herself.  
         [0362]    There is no need to plan linear instructional sequences predefined by author as well, because they are fixed. All that is necessary to do is to decide when the learner has reached the required level of mastery. This is done by the decision component, by comparing the learner&#39;s current assessment of demonstrated knowledge/skills mastery with a predefined threshold “Testing threshold”.  
         [0363]    Planning of the intelligent adaptive Diagnosing is done in three stages:  
         [0364]    Filtering of diagnosing actions;  
         [0365]    Weighting of each diagnosing action&#39;s current diagnostic and/or explanative power; and  
         [0366]    Selection of diagnosing action with a maximal diagnostic power.  
         [0367]    The selected diagnosing action is realized and learner&#39;s responsive performance is captured and recognized. In intelligent remediation, it is also interpreted and used for learner&#39;s knowledge/skills assessment. In this case the decision making component (steps  45  in FIG. 6) stops the remediation and returns to the practice mode, when all suspected knowledge/skills have been remedied.  
         [0368]    The goal of the post-test mode  16  (FIG. 5; step  44  in FIG. 6) is to assure that the learner has mastered all knowledge/skills of the course unit. It is not necessary to have the post-test in every unit of the course. But if the author has designed the post-test in the course unit, then all learners can use it in order to bypass regular instruction, if they believe they know the unit material enough.  
         [0369]    In the post-test mode the planning component uses training actions of testing type: tasks and questions with destination “Post-Test”. In accordance with author&#39;s choice they can be presented to the learner in differing styles:  
         [0370]    at once (batch),  
         [0371]    in a preset sequence that is the same for all learners (linear);  
         [0372]    in preset script that is the same for all learners and depends on previous performance of the learner (branching); and  
         [0373]    by intelligent adaptive sequencing, that depends on current assessment of the learner&#39;s knowledge/skills.  
         [0374]    It is up to the author which style to pre-define for learners. (The last option is the default).  
         [0375]    Planning of batch testing is realized by learner him/herself.  
         [0376]    There is no need to plan linear tests because the sequence of tasks and questions is fixed. All that is necessary to do is just to decide when the learner has passed the test. The decision component does this by comparing the learner&#39;s current assessment of demonstrated knowledge/skills items with predefined threshold “post-test threshold”.  
         [0377]    Planning of the intelligent adaptive post-test is done in three stages:  
         [0378]    Filtering of post-test tasks/questions only (particularly, only a task/question with destination “post-test” in its properties window);  
         [0379]    Weighting of each task/question;  
         [0380]    Selection of the task/question with maximal weight.  
         [0381]    Each task/question is presented to the learner; and his/her performance is captured and recognized. In intelligent post-test, it is also interpreted and assessed. In this case the decision making component stops post-testing, when the current assessment of demonstrated knowledge/skills items exceeds the threshold “post-test threshold” for every item.  
         [0382]    The Tutor Module self-improvement capability is realized through the following steps:  
         [0383]    1. Delivery of new knowledge/skills to the learner;  
         [0384]    2. Testing of learner&#39;s knowledge/skills (and storing of unexpected answers of the learner);  
         [0385]    If testing result is positive, then:  
         [0386]    Increment fuzzy mapping (DM1j*l*v*, DM2j*l*v*, DM3j*l*v*,) of all teaching actions (which participated in this successful passage) outcomes into cognitive items predefined in cognitive interpretation model;  
         [0387]    Update prospective fuzzy mapping (DM4) of these teaching actions outcomes;  
         [0388]    Increment fuzzy mapping (OM1j*i*v*) of those parts of pre-stored testing actions/outcomes that are direct prerequisites (constitutes a background) to this success;  
         [0389]    Update background fuzzy mapping (OM2) of these testing actions/outcomes;  
         [0390]    Store fuzzy mapping (OM1j*i*v*) of all testing actions/outcomes which participated in positive assessment of new knowledge/skills;  
         [0391]    If testing result is negative, then go to the next item; otherwise, repeat.  
         [0392]    3. Diagnosing of the learner&#39;s Knowledge/skills;  
         [0393]    4. Diagnosis posing;  
         [0394]    5. Corrective instruction;  
         [0395]    6. Checking of re-instruction success;  
         [0396]    If Checking result is positive:  
         [0397]    increment fuzzy mapping (OM2j*i*v*) of testing action/outcome that have detected this Diagnosis;  
         [0398]    increment fuzzy mapping (OM2j*i*v*) of all testing actions/outcomes that have been used in Diagnosing procedure.(in distinguishing this diagnosis from others possible and localizing it);  
         [0399]    increment fuzzy mapping (DM1 j*l*v*, DM2 j*l*v*, DM3j*l*v*) of all teaching actions/outcomes which have successfully corrected this Diagnosis;  
         [0400]    update prospective fuzzy mapping (DM4) of these teaching actions outcomes;  
         [0401]    save fuzzy mapping (OM1j*i*v*) of testing action/outcome which has positively checked Diagnosis correction;  
         [0402]    If Checking result is negative, then go to the next item.  
         [0403]    7. Interactive author investigation and diagnosing of ITS Fault Reasons on the basis of automatically system recorded history of unsuccessful ITS solutions.  
         [0404]    8. Manual Correction of ITS metadata by an author.  
         [0405]    9. Interactive Testing of Correction Success.  
         [0406]    Where:  
         [0407]    DM k j*l*v*—fuzzy mapping of teaching actions (l)/outcomes (v) into cognitive items (j);  
         [0408]    OM k j*i*v*—fuzzy mapping of testing/diagnosing actions (i)/outcomes (v) into cognitive items (j);  
         [0409]    l—is a number of teaching action;  
         [0410]    i—is a number of testing/diagnosing action;  
         [0411]    v—is a number of performance pattern extended with a case of unrecognizable performance of learner (that considered as a fault performance);  
         [0412]    k—(the first index) is a interpretation modality index having value: effect (expected knowledge/skills), background (demonstrated knowledge/skills), fault causes (suspected knowledge/skills);  
         [0413]    k=1 means cognitive effect of learner&#39;s v-th performance predefined by the author;  
         [0414]    k=2 means background of learner&#39;s performance learner&#39;s v-th predefined by the author;  
         [0415]    k=3 means possible causes of learner&#39;s v-th performance predefined by the author;  
         [0416]    k=4 means full-scale cognitive effect of learner&#39;s performance automatically calculated by the system for l-th or i-th training action;  
         [0417]    k=5 means full-scale background of learner&#39;s performance automatically calculated by the system for l-th or i-th training action;  
         [0418]    k=6 means full-scale possible causes of learner&#39;s performance automatically calculated by the system for l-th or i-th training action.  
         [0419]    The Tutor Module Database  
         [0420]    As previously noted the Tutor Module database includes the following sub-databases:  
         [0421]    Audience database;  
         [0422]    Job/tasks database including;  
         [0423]    Meta database;  
         [0424]    Media database; and  
         [0425]    Learner&#39;s database;  
         [0426]    Audience Database.  
         [0427]    The audience database defines the Tutor Module&#39;s knowledge of its audience including the following main record fields.  
         [0428]    Registration data defining at least an average age, education, and experience of the audience.  
         [0429]    Domain-independent data of the audience defining  
         [0430]    Stable data to take into account in training process including  
         [0431]    Learning preferences (theoretical, practical; . . . )  
         [0432]    learning Style (for instance: verbal, visual, kinesthetic);  
         [0433]    Unstable data to adapt training including  
         [0434]    Background recall;  
         [0435]    Generic knowledge/skills recall;  
         [0436]    Prerequisite courses/units recall;  
         [0437]    Initial difficulty/granularity level;  
         [0438]    Initial control level.  
         [0439]    Dynamic data to maintain in training process  
         [0440]    Attention;  
         [0441]    Intentions;  
         [0442]    Motivation.  
         [0443]    Domain-dependent data of the audience defining for each course the current status of course learning, including current status of unit learning for each unit within the course.  
         [0444]    For each objective/cognitive item within the unit, this includes a personal assessment of  
         [0445]    Expected mastery of cognitive item;  
         [0446]    Demonstrated mastery of cognitive item;  
         [0447]    Suspected mastery of cognitive item for single cause of errors made;  
         [0448]    Job/Tasks database.  
         [0449]    The job/tasks database includes the record fields in following hierarchy:  
         [0450]    Job including:  
         [0451]    Task that may include a sequence of subtasks;  
         [0452]    Subtask that may include a sequence of subtasks;  
         [0453]    Meta database.  
         [0454]    The meta database comprises data about media data. Within each course it includes:  
         [0455]    Course Properties including  
         [0456]    ID,  
         [0457]    Title;  
         [0458]    author&#39;s name,  
         [0459]    version name,  
         [0460]    short description,  
         [0461]    target audience profile (mapping),  
         [0462]    job/tasks (mapping),  
         [0463]    status (ready to use, under development),  
         [0464]    Modes statuses:  
         [0465]    Pre-Test (available, not available)  
         [0466]    Instruction (available, not available)  
         [0467]    Practice (available, not available)  
         [0468]    Remediation (available, not available)  
         [0469]    Post-Test (available, not available)  
         [0470]    Mode/submode styles:  
         [0471]    Pre-Test style (bunch, linear, branching, intelligent)  
         [0472]    Delivery style (bunch, linear, branching, intelligent)  
         [0473]    Testing style (bunch, linear, branching, intelligent)  
         [0474]    Diagnosing style (bunch, linear, branching, intelligent)  
         [0475]    Post-Test style (bunch, linear, branching, intelligent)  
         [0476]    Sub-mode tactics:  
         [0477]    adaptive delivery (teaching) planning:  
         [0478]    Objectives are the first to achieve (challenging tactics);  
         [0479]    Background are the first to create (grounding tactics);  
         [0480]    Create minimally necessary background for the next available objective (by default)  
         [0481]    adaptive testing planning:  
         [0482]    The first items delivered—the first tested;  
         [0483]    The last items delivered—the first tested;  
         [0484]    The maximal coverage of delivered items (by default).  
         [0485]    adaptive diagnosing planning for an author and a learner choice:  
         [0486]    The closest causes—the first to check;  
         [0487]    The deepest causes—the first to check;  
         [0488]    The maximal distinguishing of all suspected causes (by default).  
         [0489]    Style parameters  
         [0490]    Delivery Threshold (0-100%)  
         [0491]    Testing Threshold (0-100%)  
         [0492]    Diagnosing Threshold (0-100%)  
         [0493]    Delivery/Testing Threshold (0-1000)  
         [0494]    Tolerance threshold (0-1000)  
         [0495]    Difficulty range,  
         [0496]    Difficulty switching threshold;  
         [0497]    Association with corresponding Domain Module and media data;  
         [0498]    Course pre-test (optional) metadata;  
         [0499]    Course Introduction (recommended) metadata (audience, job, tasks, objectives);  
         [0500]    Course post-test (optional) metadata;  
         [0501]    Course Conclusion (recommended) metadata (job, tasks, objectives achieved, next courses for new objectives, tasks, jobs);  
         [0502]    Units flowchart defining a course training strategy:  
         [0503]    Unit list;  
         [0504]    Unit prerequisite relations;  
         [0505]    For each unit:  
         [0506]    Unit Properties including:  
         [0507]    ID,  
         [0508]    Title;  
         [0509]    author&#39;s name,  
         [0510]    version name,  
         [0511]    short description,  
         [0512]    target audience profile (mapping),  
         [0513]    job/tasks (mapping),  
         [0514]    status (ready to use, under development),  
         [0515]    Modes statuses:  
         [0516]    Pre-Test (available, not available)  
         [0517]    Instruction (available, not available)  
         [0518]    Practice (available, not available)  
         [0519]    Remediation (available, not available)  
         [0520]    Post-Test (available, not available)  
         [0521]    Mode styles:  
         [0522]    Pre-Test style (batch, linear, branching, intelligent)  
         [0523]    Instruction style (batch, linear, branching, intelligent)  
         [0524]    Practice style (batch, linear, branching, intelligent)  
         [0525]    Remediation style (batch, linear, branching, intelligent)  
         [0526]    Post-Test style (batch, linear, branching, intelligent)  
         [0527]    Sub-mode tactics:  
         [0528]    adaptive delivery (teaching) planning;  
         [0529]    Objectives are the first to achieve (challenging tactics);  
         [0530]    Background are the first to create (grounding tactics);  
         [0531]    Create minimally necessary background for the next available objective (by default).  
         [0532]    adaptive testing planning:  
         [0533]    The first items delivered—the first tested;  
         [0534]    The last items delivered—the first tested;  
         [0535]    The maximal coverage of delivered items (by default).  
         [0536]    adaptive diagnosing planning for an author and a learner choice:  
         [0537]    The closest causes—the first to check;  
         [0538]    The deepest causes—the first to check;  
         [0539]    The maximal distinguishing of all suspected causes (by default).  
         [0540]    Style parameters  
         [0541]    Delivery Threshold (0-100%)  
         [0542]    Testing Threshold (0-100%)  
         [0543]    Diagnosing Threshold (0-100%)  
         [0544]    Delivery/Testing Threshold (0-1000)  
         [0545]    Tolerance threshold (0-1000)  
         [0546]    Difficulty range,  
         [0547]    Difficulty switching threshold;  
         [0548]    Association with corresponding Domain Module and media data;  
         [0549]    Unit pre-test (optional) metadata;  
         [0550]    Unit Introduction (recommended) metadata (audience, job, tasks, objectives);  
         [0551]    Unit post-test (optional) metadata;  
         [0552]    Unit Conclusion (recommended) metadata (job, tasks, objectives achieved, next units for new objectives, tasks, jobs);  
         [0553]    Objectives flowchart defining a unit training strategy;  
         [0554]    Objective list;  
         [0555]    Objectives prerequisite relations;  
         [0556]    For each objective:  
         [0557]    Objective properties including  
         [0558]    ID,  
         [0559]    Title;  
         [0560]    short description,  
         [0561]    target audience profile (mapping),  
         [0562]    job/tasks (mapping),  
         [0563]    Style parameters  
         [0564]    Post-Testing Threshold (0-100%)  
         [0565]    Difficulty range,  
         [0566]    Behavioral patterns:  
         [0567]    Post-test tasks/questions;  
         [0568]    Standard Performance;  
         [0569]    Cognitive Items flowchart including:  
         [0570]    Cognitive items list:  
         [0571]    Prerequisite relations among cognitive items (training strategy);  
         [0572]    For each cognitive item:  
         [0573]    Cognitive Item properties including  
         [0574]    ID,  
         [0575]    Title;  
         [0576]    short description,  
         [0577]    Type:  
         [0578]    Knowledge element with a desired mastery degree or  
         [0579]    Skills element with a desired mastery degree or  
         [0580]    Mental model aspect with a desired mastery degree or  
         [0581]    Unintentional knowledge/skills deficiencies (misconceptions, misunderstanding, or bugs);  
         [0582]    target audience profile (mapping),  
         [0583]    Style parameters  
         [0584]    Post-Testing Threshold (0-100%)  
         [0585]    Difficulty range,  
         [0586]    Learner control actions:  
         [0587]    Navigation actions;  
         [0588]    Domain controls (buttons)  
         [0589]    Training Actions including the following record fields:  
         [0590]    ID;  
         [0591]    Title;  
         [0592]    Type (teaching, testing);  
         [0593]    Form (message, command, both);  
         [0594]    Pre-conditions;  
         [0595]    Post-Conditions;  
         [0596]    Difficulty Level;  
         [0597]    Learning Time;  
         [0598]    Destination Modes (Pre-Test, Instruction, Practice, Remediation, Post-Test);  
         [0599]    Sub-actions script (optional);  
         [0600]    Association with a media level of the training action (message, command).  
         [0601]    Behavior predictive model (may be case-based model, neural net model, . . . ):  
         [0602]    Domain behavior model (may he case-based model, neural net model, . . . ):  
         [0603]    Tutor&#39;s command ID list to the Domain Module;  
         [0604]    Learner&#39;s control action ID list;  
         [0605]    Domain situation pattern ID list;  
         [0606]    Mapping of command IDs and control IDs into situation Ids (depends on the Domain Module state)  
         [0607]    Learner behavior model (may be case-based model, neural net model, . . . ):  
         [0608]    Learner intention model (may be case-based model, neural net model):  
         [0609]    Tutor message ID list;  
         [0610]    Learner&#39;s control action ID list;  
         [0611]    learner&#39;s intention ID list;  
         [0612]    Mapping of tutor&#39;s messages IDs and/or learner&#39;s control actions IDs into learner&#39;s intentions IDs;  
         [0613]    Learner performance model (may be case-based model, neural net model):  
         [0614]    learner&#39;s intentions ID list;  
         [0615]    domain situations ID list;  
         [0616]    learner&#39;s performance patterns IDs;  
         [0617]    Mapping of learner&#39;s intention ID and/or domain situation ID into learner&#39;s performance patterns IDs (that depends on current assessment of learner&#39;s cognitive items).  
         [0618]    Cognitive Interpretation model (may be case-based model, neural net model):  
         [0619]    Behavioral patterns ID;  
         [0620]    Cognitive Items ID;  
         [0621]    Mapping of the behavioral patterns IDs into the cognitive items IDs;  
         [0622]    Mapping of the behavioral patterns IDs into the job/tasks;  
         [0623]    Particularly, the cognitive interpretation model can be represented in pre-stored form by two four-dimensional matrices of numbers from 0 till 100%:  
         DM[m][l][j][v] and OM[m][i][j][v].  
         [0624]    Where:  
         [0625]    l—is a number of teaching action;  
         [0626]    i—is a number of testing/diagnosing action;  
         [0627]    v—is a number of a behavioral pattern;  
         [0628]    m—is a interpretation modality index having value: effect, background, causes;  
         [0629]    m=1 means cognitive effect of learner&#39;s performance (expected knowledge/skills);  
         [0630]    m=2 means background of learner&#39;s performance (demonstrated knowledge/skills);  
         [0631]    m=3 means possible causes of learner&#39;s fault performance (suspected knowledge/skills);.  
         [0632]    To simplify use of this model in a learning/training session, the system initially extends it into DM[k] [l] [j] [v] and OM[k] [i] [j] [v].  
         [0633]    Where:  
         [0634]    l—is a number of teaching action;  
         [0635]    i—is a number of testing action;  
         [0636]    v—is a number of performance pattern extended with a case of unrecognizable performance of learner (that is considered as a faulty performance);  
         [0637]    k—is a interpretation modality index having value: effect, background, causes;  
         [0638]    k=m=1 means cognitive effect of learner&#39;s v-th performance predefined by the author;  
         [0639]    k=m=2 means background of learner&#39;s performance learner&#39;s v-th predefined by the author;  
         [0640]    k=m=3 means possible causes of learner&#39;s v-th performance predefined by the author;  
         [0641]    k=4 means full-scale cognitive effect of learner&#39;s performance automatically calculated by the system for l-th or i-th training action;  
         [0642]    k=5 means full-scale background of learner&#39;s performance automatically calculated by the system for l-th or i-th training action;  
         [0643]    k=6 means full-scale possible causes of learner&#39;s performance automatically calculated by the system for l-th or i-th training action.  
         [0644]    Media Database.  
         [0645]    The media database comprises for each course/unit:  
         [0646]    Course properties (how to display it);  
         [0647]    Pre-test media;  
         [0648]    Introduction media;  
         [0649]    Post-Test media;  
         [0650]    Conclusion media;  
         [0651]    Units flowchart media (how to display the flowchart);  
         [0652]    Within each unit:  
         [0653]    Unit media data:  
         [0654]    Unit properties (how to display)  
         [0655]    Pre-test media;  
         [0656]    Introduction media;  
         [0657]    Post-Test media;  
         [0658]    Conclusion media;  
         [0659]    Objective flowchart media (how to display the flowchart);  
         [0660]    Objective properties (how to display)  
         [0661]    Cognitive items flowchart media (how to display the flowchart);  
         [0662]    Cognitive item properties (how to display)  
         [0663]    Training actions library:  
         [0664]    Tutor commands Library (for injection into the Domain Module) with type of communication to use with Domain Module;  
         [0665]    Tutor&#39;s Message Library (for presentation to a learner) with type of communication to use with learner;  
         [0666]    Learner control actions library (for injection into the Domain Module);  
         [0667]    Domain situation patterns Library/Simulation (for recognition);  
         [0668]    Performance/Response patterns library (for a recognition);  
         [0669]    Tutor comments library (to comment on the learner&#39;s performance, intentions).  
         [0670]    The tutor commands library (above) keeps all necessary control actions of the Tutor to control the Domain Module. In the authoring stage, the author should predefine all these actions to the Domain Module. The library supports data entry and editing as well.  
         [0671]    In the learning/training stage, the library provides a source of commands of the Tutor Module to control over Domain Module.  
         [0672]    In the Tutor Message library, each message represents a partial case or a part of the training action that is being given to the learner directly through the tutor&#39;s window. The meta description of the message is in the training action library; but the media presentation of all messages is collected separately in the message library. This library, which is prepared by the author, provides a media form of introductions, explanations, hints, tasks posing, and conclusions to the learner within the course unit. Initially, the message library contains domain-independent message templates, which can be extended and specified by an author at will.  
         [0673]    The control actions library keeps all possible control/navigation actions of the learner in domain and tutor&#39;s windows within the course unit. In the authoring stage, the author should predefine all these actions of learner. The control library supports data entry and editing as well. In the learning/training stage, the library provides control patterns for learner&#39;s control actions recognition.  
         [0674]    The tutor&#39;s situation patterns library keeps patterns that are necessary for a current domain situation recognition. In the authoring stage, the author should predefine all these patterns on the basis of the available Domain Module. The library supports data entry and editing as well. In the learning/training stage, the library provides a source of media patterns for domain situation recognition.  
         [0675]    The tutor&#39;s performance/response patterns library keeps patterns that are necessary for the learner&#39;s task performance recognition. In the authoring stage, the author should predefine all these patterns. The library supports data entry and editing as well. In the learning/training stage, the library provides a source of media performance/response patterns for learner&#39;s task performance recognition.  
         [0676]    The comment library, which is prepared by the author, provides a media presentation of the tutor&#39;s direct reaction (such as confirmation, encouragement, . . . ) on the learner&#39;s performance and intentions within the course unit. So, each performance comment should be tailored to a particular performance pattern or its absence, predefined in the behavior predictive model. Initially, the comment library contains domain-independent comments, which can be extended and specified by author at will.  
         [0677]    Learners database. Learners database provides the Tutor Module with the learners&#39; personal data (which are not included in the audience database). This is a standard database, which is compatible with computer platform, operational system, and software environment of the system.  
         [0678]    The learner database includes the following main record fields:  
         [0679]    Registration data of the learner defining at least his/her ID, Name, User name, Password (and may be: Sex, Age, Affiliation, . . . )  
         [0680]    Domain-independent data of the learner defining  
         [0681]    Stable properties to take into account including  
         [0682]    Personal preferences:  
         [0683]    Personal learning Style (for instance: verbal, visual, kinesthetic);  
         [0684]    Unstable capabilities to adapt training including  
         [0685]    Current mastery of prerequisite courses/units;  
         [0686]    Current difficulty/granularity level;  
         [0687]    Current control level.  
         [0688]    Dynamic features to maintain:  
         [0689]    Learner Attention;  
         [0690]    Learner Intentions;  
         [0691]    Learner Motivation.  
         [0692]    Domain-dependent data of the learner defining for each course the following records:  
         [0693]    Current status of course learning (not permitted, permitted, ready, not attempted, browsed, delivered, incomplete, completed, failed, passed);  
         [0694]    For each unit within the course defining:  
         [0695]    Current status of a unit learning (not permitted, permitted, ready, not attempted, browsed, delivered, incomplete, completed, failed, passed);  
         [0696]    For each objective/cognitive item within the unit, a personal assessment of  
         [0697]    MB[j]—assessment of expected mastery of j-th knowledge/skills item;  
         [0698]    MU[j]—assessment of demonstrated mastery of j-th knowledge/skills item;  
         [0699]    MBOD[J]—assessment of knowledge/skills item mastery suspected to be a single cause of errors made;  
         [0700]    MBDN[J]—assessment of knowledge/skills item mastery suspected to be one of multiple causes of errors made (the negative part only);  
         [0701]    MDEF[j]—assessment of knowledge/skills item mastery suspected to be on e of multiple causes of errors made;  
         [0702]    MI[j]—Membership of item to “start line”. (It is not stored in learner database);  
         [0703]    MT[j]—Membership of item to “stop line”. (It is stored in learner database);  
         [0704]    MH[j]—Membership of item to a set of necessary items to learn. (It is not stored in learner database);  
         [0705]    P[j] is a weight of item in tutoring path taken;  
         [0706]    MFLTR[l] is a teaching action filter value;  
         [0707]    MFLTR[i] is a testing action filter value;  
         [0708]    PrMFLTR is a previous value of a training action filter  
         [0709]    An example of a cognitive items assessment display is shown in FIG. 10.  
         [0710]    The current assessment of learner&#39;s knowledge/skills is represented to the learner for his/her inspection. It represents his/her knowledge/skills progress and deficiency, which serves as a deep-level feedback to learner from the system to support his/her self-driven learning. As shown, for example, in FIG. 12, which depicts a particular embodiment of the fuzzy graph in a particular domain, the nodes (vertices) of the fuzzy graph represent the items to be learnt and the arcs represent dependency relationships. Associated with each arc is a number between 0 and 100 representing the author&#39;s structuring the degree of dependency he/she thinks exists between vertices connected by the arc. (In FIG. 12 all such numbers are shown as 100. In practice, however, these numbers would vary between 0 and 100, as noted.) Thus a number of 50 between two nodes indicates that the item represented by the first node needs to be mastered only partly in order to master the item represented by the second node. When a presentation is shown relating to a particular node or a set of nodes, this is tracked by the engine and the nodes are marked “shown, mastery expected”. The level of difficulty or “granularity” of the material presented by the items is also noted, in terms of level of difficulty required and actual level of material available for instruction for that item. (Thus associated with each node is tutoring material at a few different levels of difficulty as shown in FIG. 14.) When questions are answered correctly or actions taken correctly, the nodes covered by those answers/actions are marked “mastery demonstrated”. However the mastery may not rise to a score of 100 until later answers/actions are recorded correctly. When an error is made at some node, all prior nodes that relate to that error are marked “mastery doubtful, or suspect”. The engine tracks and updates the state of the learner as depicted on the graph and directs the learner&#39;s navigating through the graph on his/her own individual path until mastery of the terminal learning objective is achieved. The Tutor Module Player  
         [0711]    The Tutor Player is a computer program realizing training functions by use of the Tutor Module database. It comprises the following components:  
         [0712]    Behavior recognition;  
         [0713]    Cognitive Interpretation;  
         [0714]    Decision making;  
         [0715]    Actions planning;  
         [0716]    Actions generation;  
         [0717]    Interface;  
         [0718]    Runtime manager.  
         [0719]    Behavior Recognition.  
         [0720]    The behavior recognition component is illustrated in FIG. 7. It uses the behavior recognition model pre-stored in the database and generates an output in the form of a learner&#39;s performance ID, based on the learner&#39;s response on a training massage, his/her control actions, the domain situation, and his/her performance data (captured by the Tutor Module from the Domain Module). In a simulated-based embodiment, the behavior recognition component consists of the following sub-components:  
         [0721]    (1) Control recognition  17 ;  
         [0722]    (2) Domain behavior prediction  18 ;  
         [0723]    (3) Situation recognition  19 ;  
         [0724]    (4) Learner intentions prediction  20 ;  
         [0725]    (5) Intention recognition  21 ;  
         [0726]    (6) Learner performance prediction  22 ;  
         [0727]    (7) Performance recognition  23 .  
         [0728]    Operation of behavior recognition sub-component includes the following steps:  
         [0729]    (8) In the authoring stage, establishing a recognition threshold;  
         [0730]    (9) Definition of a specific patterns set as a basis for a recognition;  
         [0731]    (10) In the learning/training stage, receiving captured data;  
         [0732]    (11) comparison of captured data with predefined patterns and calculation of similarity score;  
         [0733]    (12) Making a decision whether or not captured data is similar to one of the patterns available with predefined threshold.  
         [0734]    (13) If Not, then continue observation;  
         [0735]    (14) If Yes, generate the result of recognition in terms of the most similar pattern ID.  
         [0736]    The functional progression of the subcomponents of the Behavior Recognition component is shown in FIG. 7.  
         [0737]    Control recognition  17  is a fully automatic sub-component of the Tutor Module. No authoring is needed. All actions of a learner in the tutor window and/or the domain window are captured and compared with controls patterns predefined in tutor media database. The ID of the nearest pattern represents a recognition result, and is output as the learner&#39;s control ID.  
         [0738]    The role of the domain situations prediction sub-component  18  is to provide a Domain situation pattern set for the following domain situation recognition, based on the training message ID; and the Learner&#39;s control ID. This function is realized automatically based on the intention model, in the following steps:  
         [0739]    (1) running of domain behavior model;  
         [0740]    (2) Input tutor&#39;s command ID;  
         [0741]    (3) Input learner&#39;s control ID;  
         [0742]    (4) Output generation of domain situation patterns.  
         [0743]    Situation recognition  19  is a fully automatic component of the Tutor Module. The domain situation depends not only on the actions of the Tutor Module, but also on some uncontrollable learner&#39;s actions and domain pre-history. In general, the current domain situation tends to go beyond the tutor&#39;s control and needs tutor&#39;s efforts to bring it back under control. The domain situation recognition is a computer program, part of the Tutor Module, which provides this capability, based on the current situation captured by the Tutor Module from the Domain Module and situation patterns from the domain situation prediction.  
         [0744]    The situation recognition component consists of a comparison part and a decision making part. The latter can include an adjustable parameter (a sort of threshold) to adjust necessary reliability of recognition.  
         [0745]    The Learner intentions prediction sub-component  19  provides a pattern set for learner intention recognition. It generates learner intention ID&#39;s, based on the training message ID, the learner&#39;s control ID, and the Domain situation ID. This function is performed automatically on the basis of learner intention model in following steps:  
         [0746]    (1) running of learner intention model  
         [0747]    (2) Input training message ID;  
         [0748]    (3) Input domain situation ID;  
         [0749]    (4) Input learner&#39;s control action ID;  
         [0750]    (5) Output generation of learner&#39;s intention ID.  
         [0751]    Intention recognition  21  is also a fully automatic component of the Tutor Module. The learner intentions depend on tutor&#39;s messages, domain situations, but also on some uncontrollable learner&#39;s actions and domain pre-history. In general, the current domain situation tends to go beyond the tutor&#39;s control, and needs tutor&#39;s efforts to bring it back under control. The intention recognition  21  is a computer program which provides this capability. It generates an output in the form of a learner intention ID, based on the learner&#39;s control action IDs pre-recognized and Domain situation IDs pre-recognized.  
         [0752]    It consists of comparison part and decision making part. The latter can include an adjustable parameter to adjust necessary reliability of recognition.  
         [0753]    The Learner performance prediction sub-component  22  provides a pattern set for the following learner performance recognition, based on the Learner&#39;s intention ID and the Domain situation ID. A learner performance prediction is realized on the  
         [0754]    basis of the learner behavior model by the following steps:  
         [0755]    (1) running of learner performance model;  
         [0756]    (2) Input situation ID;  
         [0757]    (3) Input learner&#39;s intention ID;  
         [0758]    (4) Output generation of learner&#39;s behavior patterns  
         [0759]    Performance recognition  23  is a fully automatic component of Tutor Module. In any domain situation, the learner can behave by following his/her own intentions. In order to understand better what and how learner is doing, the Tutor Module needs to know a domain situation and an intention of a learner in this situation. This task is solved by the performance recognition sub-component of the Tutor Module, which generates a Learner performance pattern ID, based on the Learner&#39;s actions in the tutor window and/or the domain window, and Performance patterns from Learner performance prediction sub-components.  
         [0760]    This component consists of a comparison part and decision making part. The latter can include an adjustable parameter to adjust necessary reliability of recognition.  
         [0761]    Here the index “v” (indicating the number of a behavioral pattern) is determined.  
         [0762]    Cognitive Interpretation.  
         [0763]    Cognitive interpretation of learner&#39;s behavior provides an assessment of learner&#39;s current knowledge/skills based on the cognitive interpretation model (contained in the Meta database) and the learner&#39;s behavior ID pre-recognized.  
         [0764]    Such cognitive interpretation includes the following steps:  
         [0765]    (1) Generation of a conditional assessment of cognitive items:  
         [0766]    Running cognitive interpretation model;  
         [0767]    Input learner behavior ID into the cognitive interpretation model;  
         [0768]    Output generation of conditional assessment of cognitive items by this model.  
         [0769]    (2) Retrieval of the current assessment of the learner&#39;s cognitive items from the learner database;  
         [0770]    (3) Calculation of new assessments by:  
         [0771]    Combining of the assessment of expected cognitive items MB[j] with conditional assessment of expected cognitive items DM[3] [l] [j] [v].  
           MB[j]=MB[j]+DM [ 3 ][l][j][v]−MB[j]*DM[ 3 ][l][j][v]/ 100;  
         [0772]    Combining of the assessment of demonstrated cognitive items MU[j] with author&#39;s conditional assessment of demonstrated cognitive items OM [2] [i] [j] [v]. MU[j]=MU[j]+OM [2] [i] [j] [v]−MU[j]*OM [2] [i] [j] [v]/100;  
         [0773]    if for any item the assessment of expected cognitive item MB[j]happens to he less then assessment of demonstrated cognitive item MU[j], then expected assessment MB[j] is made equal to demonstrated one MU[j] MB[j]=Max (MB[j]: MU[j]);  
         [0774]    Intersection of the assessment of cognitive items single deficiency MBOD[j] with author&#39;s conditional assessment of suspected cognitive items OM[2] [i] [j] [v];  
         [0775]    MBOD[j]=MBOD[j]*(100—OM[2] [i] [j] [v])/100 (for correct part of performance);  
         [0776]    MBOD[j]=(MBOD[j]+OM[3] [i] [j] [v])*(100—OM[2] [i] [j] [v])/100. (for incorrect part of performance);  
         [0777]    MBOD[j]=MBOD[j]*OM[2] [i] [j] [v]/100. (for unexpected=incorrect performance).  
         [0778]    Combining of the assessment cognitive items multiple deficiency with author&#39;s conditional assessment of suspected cognitive items.  
           MDEF[j]=MBDN [j]*( 100 −MU[j])/ 100.  
         [0779]    (4) Replacing of all current assessments with new ones in the learner database.  
         [0780]    In more detail the whole procedure of an assessment calculation looks like:  
         [0781]    For teaching type of training actions:  
           MB[j]=MB[j]+DM[ 3 ][l][j][v]−MB[j]*DM[ 3 ][l][j][v]/ 100;  
         [0782]    For testing/diagnosing type of training actions:  
         [0783]    For Correct expected part of performance  
           MU[j]=MU[j]+OM[ 2 ][i][j][v]−MU[j]*OM[ 2 ][i][j][v]/ 100;  
           MBOD[j]=MBOD[j]* (100 −OM[ 2 ][i][j][v] )/100;  
           MB[j]= Max( MB[j], MU[j] );  
         [0784]    For incorrect expected part of performance  
           MBOD[j]= ( MBOD[j]+OM[ 3 ][i][j][v] )*(100− OM[ 2 ][i][j][v] )/100;  
           MBDN[j]=MBDN[j]+OM[ 4 ][i][j][v]−MBDN[j]*OM[ 4] [i][j][v]/ 100;  
         [0785]    For Unexpected=Incorrect performance  
           MBOD[j]=MBOD[j]*OM[ 2 ][i][j][v]/ 100;  
           MEDN[j]=MBDN[j]+OM[ 2] [i][j][v]−MBDN[j]*OM[ 2 ][i][j][v]/ 100;  
         [0786]    In any case  
           MDEF[j]=MBDN[j]*( 100− MU[j] )/100.  
         [0787]    A learner model includes a set of the following sub-models:  
         [0788]    1. Learner behavior model:  
         [0789]    Learner intention model;  
         [0790]    Learner performance model;  
         [0791]    2. Learner database items;  
         [0792]    3. Multi-modal fuzzy relation (conditional assessment) of learner database items with learner&#39;s performance;  
         [0793]    4. Multi-modal fuzzy assessments of learner&#39;s database items (this is traditional “overlay learner model”).  
         [0794]    Decision Making.  
         [0795]    The decision making component of the Tutor Module Player is a computer program (a part of Tutor Module), which simulates decision making activity of a tutor and provides all necessary training decisions on the basis of a current assessment of the learner&#39;s cognitive items, objectives, strategy, and style parameters predefined by the author for the course unit.  
         [0796]    This is a fully automated component of the Tutor Module. No authoring needed, but adjusting and tuning is possible.  
         [0797]    The functionality of decision making component is as follows:  
         [0798]    Input:  
         [0799]    Current cognitive items assessment from the learner database or the cognitive interpretation component;  
         [0800]    Course metadata from the tutor meta database;  
         [0801]    Unit metadata from the tutor meta database;  
         [0802]    Training objectives metadata from the tutor meta database;  
         [0803]    Modes available in the course/unit from the tutor meta database;  
         [0804]    Style parameters from the tutor meta database;  
         [0805]    Learner control actions over the Tutor Module (selection of course, unit, objectives, state, Start-Stop conditions, mode);  
         [0806]    Current state (passive, active);  
         [0807]    Current mode (pre-test, instruction, practice, remediation, post-test)  
         [0808]    Current sub-mode (Delivery, Testing, Diagnosing)  
         [0809]    Result:  
         [0810]    Training Decisions:  
         [0811]    Set the Tutor Module in a particular state, mode, sub-mode:  
         [0812]    Passive state;  
         [0813]    No intervention;  
         [0814]    Commenting;  
         [0815]    Advising;  
         [0816]    Active state:  
         [0817]    Set a mode:  
         [0818]    Set a Pre-test;  
         [0819]    Set a Instruction:  
         [0820]    Set a Practice;  
         [0821]    Set a Remediation;  
         [0822]    Set a Post-test;  
         [0823]    Set a sub-mode:  
         [0824]    Set a Delivery;  
         [0825]    Set a Testing;  
         [0826]    Set a Diagnosing;  
         [0827]    Set a difficulty level;  
         [0828]    Set a control level;  
         [0829]    Define global sufficiency of the training mode;  
         [0830]    Define “Start-Stop” Sufficiency of the training mode;  
         [0831]    Define local sufficiency of the training mode.  
         [0832]    The training style of the system is flexible and the author can modify it at will. It is predefined by several variable parameters, which the author can set at the authoring stage, via an input window such as is shown in FIG. 8, by specifying the following information.  
         [0833]    Delivery Threshold.  
         [0834]    Defines how thoroughly author wants the system to deliver new knowledge and skills to learners. The Delivery Threshold is defined as a percentage from 0 to 100. When the author sets the value higher, the system becomes more “persuasive”, and may repeat content presentation more often to confirm the same knowledge and skill items. When the author sets this value lower, the system presents content less thoroughly and more superficially.  
         [0835]    Testing Threshold.  
         [0836]    Defines how thoroughly the author wants the system to check newly delivered knowledge/skills. The Testing Threshold is defined as a percentage from 0 to 100. When the author sets the value higher, the system will be more demanding, quizzing the learner more often to evaluate mastery; when the author sets this value lower, the system becomes more trusting and superficial.  
         [0837]    Diagnosing Threshold.  
         [0838]    Defines how thoroughly the author wants the system to diagnose the causes of learner mistakes. The Diagnosing Threshold is defined as a percentage from 0 to 100. When the author sets the value higher, the system becomes more precise and exact, diagnosing frequently by using more questions; if overdone, this may prove annoying to the learner. On the other hand, when the author sets the value lower, diagnosis may be superficial or wrong; consequently, remediation may be redundant and annoying.  
         [0839]    Delivery/Testing Threshold.  
         [0840]    Defines how often the author wants the system to check newly delivered knowledge/skills. This threshold is expressed in integers from 0 to 1000, with each knowledge/skill item having a standard value of 100. Thus, if the threshold is set to 100, the system will check each new knowledge/skills item after it is delivered, at 200 every two delivered item will be checked, and so on. When the author sets this value at a higher level, corresponding to more knowledge/skills items, the system will deliver more knowledge/skills items before beginning to check their mastery. In this case the knowledge/skills assessment will be updated less often, meaning less individual adaptation, but more freedom for the learner. When the author sets the Delivery/Testing threshold lower, the control over learning is stronger, the assessment is updated more often, providing a higher degree of adaptation to the individual learner, but also less freedom for the individual learner to control his or her own pace and progress. This parameter defines a control level, in the other words.  
         [0841]    Tolerance Threshold.  
         [0842]    Defines the system&#39;s tolerance to learner mistakes without interrupting the learning process. The Tolerance Threshold is measured in integers from 0 to 1000, with each error having a standard value of 100. Thus, when the Tolerance Threshold is set at 100, the system will interrupt delivery after detecting at least one error and begin to remedy it. Setting the value at 200 tolerates two errors without interruption, and so on. The higher the value, the more errors the system will allow before entering remediation; the lower the value, the fewer errors will be allowed.  
         [0843]    Difficulty Range.  
         [0844]    Defines a diversity of difficulty levels an author wants a system to realize in audience training. (See FIG. 14.)  
         [0845]    Difficulty Switching Threshold.  
         [0846]    Defines how much evidence an author wants a system to accumulate for switching a learner to the next difficulty level. This parameter thus defines the degree of inertia of the system in the decision to switch to the next level of difficulty.  
         [0847]    Post-testing Threshold.  
         [0848]    Pre-defines how thoroughly an author wants a system to post-test learners. It can be taken from the course order specification.  
         [0849]    One of the roles of the decision making component is Training Mode administration. It includes the following steps:  
         [0850]    (1) If an author predefined a pre-test, then the Tutor Module begins from the pre-test, and all other modes are unavailable for a learner&#39;s choice. (Self-driven learning and passive training is always possible). Only after the learner has passed pre-test successfully, all other modes become available for a learner&#39;s choice in the Tutor Module.  
         [0851]    If the pre-test has not been passed, then the learner is advised which prerequisite course/units/items to learn;  
         [0852]    If the pre-test has been passed (learner is ready for the course unit), then the Tutor Module presents to learner a menu to choose from: instruction, practice, remediation, and post-test (self-driven study is always possible), whichever has been provided for the current course unit by the author;  
         [0853]    (2) The learner makes his/her choice;  
         [0854]    (3) If the learner&#39;s choice was a post-test, then the post-test is administered;  
         [0855]    If the learner passed the post-test, then active training of the course unit is over;  
         [0856]    If the learner did not pass the post-test, the Tutor Module returns the learner to step (3) and recommends him/her certain mode for choice;  
         [0857]    (4) If the learner&#39;s choice was the instruction (“teach me”), then the instruction is realized;  
         [0858]    (5) If the learner&#39;s choice was the practice (“exercise me”), then the practice is realized;  
         [0859]    (5) If the learner&#39;s choice was the remediation (“remediate me”), then the remediation is realized.  
         [0860]    Actions Planning.  
         [0861]    The training actions planning component is a computer program which simulates the capability of a human-tutor. Simply speaking the component defines which training action to execute next. This is a fully automated component, no authoring is needed, but adjusting is possible.  
         [0862]    The planning function is as follows:  
         [0863]    Input:  
         [0864]    objectives from the tutor meta database;  
         [0865]    Strategy from the tutor meta database;  
         [0866]    Training mode (pre-test, instruction, practice, remediation, post-test) from decision making component;  
         [0867]    Sub-mode (delivery, testing, diagnosing) from decision making component;  
         [0868]    Sub-mode style from the tutor metadatabase;  
         [0869]    Adaptive tactics of sub-modes from the tutor metadatabase;  
         [0870]    Style parameters (threshold set) from the tutor metadatabase;  
         [0871]    Domain behavior model from the tutor metadatabase;  
         [0872]    Learner behavior model from the tutor metadatabase;  
         [0873]    Cognitive interpretation model from the tutor metadatabase;  
         [0874]    Learner&#39;s personal data from the tutor&#39;s learner database;  
         [0875]    Start-Stop conditions;  
         [0876]    Current assessment of learner&#39;s knowledge/skills;  
         [0877]    Current values of difficulty and control level;  
         [0878]    Personal preferences and learning style of learner;  
         [0879]    The previous training/learning actions;  
         [0880]    Output:  
         [0881]    ID of the next training action to generate for an execution.  
         [0882]    Planning is different for different modes (pre-test, instruction, practice, remediation, post-test), sub-modes (delivery, checking, diagnosing), and sub-mode styles (batch, linear, branching, and adaptive/intelligent).  
         [0883]    For adaptive style of sub-modes there are different tactics as well. The author can predefine the Delivery tactics by selection from the list offered by the system in authoring stage:  
         [0884]    Breakthrough to the terminal objectives is the first thing to do (Challenging, risky tactics);  
         [0885]    Providing a general background is the first thing to do (Guarded, safe tactics);  
         [0886]    Provide minimally necessary background for the next step on the way to the current objective (by default).  
         [0887]    The author can predefine the Testing tactics by selection from the list offered by the system in authoring stage:  
         [0888]    The first items delivered—the first checked;  
         [0889]    The last items delivered—the first checked;  
         [0890]    The maximal coverage of delivered items—the first.  
         [0891]    The author can predefine the Diagnosing tactics by selection from the list offered by the system in authoring stage:  
         [0892]    The closest causes—the first to check;  
         [0893]    The deepest causes—the first to check;  
         [0894]    The maximal distinguishing of suspected causes—the first to try.  
         [0895]    By default the system selects the last tactics (above) automatically in each case.  
         [0896]    Realization of the last (most efficient) tactics for all sub-modes (delivery, testing, diagnosing) comprises the same steps:  
         [0897]    Filtering;  
         [0898]    Weighting;  
         [0899]    Selection.  
         [0900]    Filtering allows exclusion of obviously inappropriate training actions from consideration, and this reduces the dimension of the planning problem. This is a strict pre-selection. Weighting on the other hand means evaluation of current pedagogic power of remaining training actions. (This is a soft pre-selection.) Finally, selection is a final decision of what to select from remaining and weighted training actions.  
         [0901]    Planning of adaptive delivery (teaching) selects a next teaching action and includes the following steps:  
         [0902]    (1) Filtering of training actions to reduce the scope of the planning task;  
         [0903]    (2) Weighting of training actions;  
         [0904]    (3) Selection of the next training action.  
         [0905]    Teaching actions filtering represents a first (strict pre-selection) step of an adaptive delivery planning and in turn includes the following sequence of sub-steps:  
         [0906]    1. rejection of teaching actions with properties (target mode) that are inappropriate to current training mode;  
         [0907]    2. rejection of teaching actions with start-stop conditions that are inappropriate to current domain situation;  
         [0908]    3. rejection of teaching actions which deliver knowledge/skills (expected) outside of learner&#39;s current concern expressed him in the training boundaries (zone) predefined;  
         [0909]    4. rejection of teaching actions for which current difficulty level is higher then personal level of the learner;  
         [0910]    5. allowing teaching actions that will be able to remedy currently suspicious knowledge/skills items;  
         [0911]    6. rejection of teaching actions that are not able to contribute in learner&#39;s progress (in non-mastered (non-demonstrated) yet cognitive items within training boundaries and the nearest zone of delivery before mastery checking); and  
         [0912]    7. rejection of teaching actions that are not grounded on delivered (expected) or mastered (demonstrated) cognitive items.  
         [0913]    An illustration of teaching action mapping into cognitive items is shown in FIG. 15.  
         [0914]    Teaching actions weighting is a second (soft pre-selection) step of an adaptive delivery planning and includes a sequence of the following rules in a weight calculation:  
         [0915]    1. The more a teaching action is capable of contributing to new cognitive items delivery, the more weight it will have;  
         [0916]    2. The more a teaching action continues the path to the objective predefined by previous training actions, the more its weight will be;  
         [0917]    3. The more a teaching action matches the preferences and learning style of the learner, the more weight it will have.  
         Power        (   1   )       =       Fltr        (   1   )       *       Max       j   =   0     ,   1   ,     …                 J                 m              [       (       DM                 4      jlVm     +   1     )     *     (     100   -   MBj     )     *     MH        (   j   )       *       ∑   h   Jm                     Ph   *   PM2jh         ]                               
 
         [0918]    wherein: Vm=number of total performance patterns  
         [0919]    Ph=assessment value of learning on the tutoring path, initially set to 100 and updated during presentation.  
         [0920]    Teaching action selection is a concluding step of delivery planning and includes a sequence of the following sub-steps:  
         [0921]    1. select training actions with maximum weight  
         L   =     arg                   Max   l          Power        (   1   )           ;                         
 
         [0922]    2. select a training action with maximum level of difficulty, which previously has been adaptively limited by a system for the learner.  
         [0923]    Adaptive testing planning includes the following steps:  
         [0924]    (1) Filtering of testing actions;  
         [0925]    (2) Weighting of testing actions;  
         [0926]    (3) Selection of testing actions.  
         [0927]    Testing actions filtering represents a first (strict pre-selection) step of adaptive testing planning and includes a sequence of the following sub-steps:  
         [0928]    (1) rejection of testing actions with properties (target mode) that are inappropriate to current training mode. (Only appropriate testing actions remain after that);  
         [0929]    (2) rejection of testing actions with start-stop conditions that are inappropriate to current domain and training situation;  
         [0930]    (3) rejection of testing actions that lie entirely outside of the predefined training boundaries;  
         [0931]    (4) rejection of testing actions that cannot check cognitive items unchecked yet within the predefined training boundaries;  
         [0932]    (5) rejection of testing actions presented before;  
         [0933]    (6) allowing testing actions that cover delivered/expected cognitive items within the predefined training boundaries;  
         [0934]    (7) If this is a remediation mode, then  
         [0935]    scanning and passing of testing actions that are related to suspicious or reliably demonstrated cognitive items;  
         [0936]    scanning and passing of testing actions that are inside suspicious cognitive items;  
         [0937]    scanning and passing of testing actions that are related to suspicious cognitive items;  
         [0938]    (8) rejection of testing actions that are not reliably grounded on demonstrated cognitive items;  
         [0939]    (9) passing of testing actions that cover reliably delivered cognitive items within the predefined training boundaries;  
         [0940]    (10) rejection of testing actions with difficulty level higher then learner&#39;s current (maximal) level of difficulty.  
         [0941]    An illustration of testing action mapping into cognitive items is shown in FIG. 15.  
         [0942]    Testing actions weighting represents a second (soft pre-selection) step of adaptive testing planning and includes a sequence of the following rules in a weight calculation:  
         [0943]    (1) The more the testing action covers unchecked or ill-checked knowledge/skills items within the predefined training boundaries, the more weight it will have;  
         [0944]    (2) The more the testing action covers the most expected knowledge/skills items within the predefined training boundaries, the more weight it will have;  
         [0945]    (3) The more the testing action covers the path of previous training actions within the predefined training boundaries, the more its weight will be.  
         [0946]    (4) The more the testing action matches the preferences and learning style of the learner the more its weight will be.  
         Power        (   i   )       =         Fltr        (   i   )       *       ∑   j     Jm   -   b                       MHj   *     (     100   -   MUj     )     *   MBj   *   Pj   *   OM                 2      jiVm         +   1                           
 
         [0947]    Testing action selection is a concluding step of adaptive testing planning and includes a sequence of the following sub-steps:  
         [0948]    (1) selecting testing actions with maximum weight;  
         [0949]    (2) selecting testing action N with maximum level of difficulty adapted for the learner individually.  
       N   =     arg                   Max   i          Power        (   i   )                               
 
         [0950]    Adaptive diagnosing planning includes a cycle of the following steps:  
         [0951]    (1) Diagnosis readiness check-up.  
         [0952]    If Yes, then diagnosis posing and stop;  
         [0953]    If Not, then continue;  
         [0954]    (3) Diagnosing search;  
         [0955]    (4) Return to (1).  
         [0956]    Diagnosing search represents a core of adaptive diagnosing planning and includes the following steps:  
         [0957]    1. Filtering of diagnosing actions;  
         [0958]    2. Weighting of diagnosing actions;  
         [0959]    3. Selection of the next diagnosing action;  
         [0960]    4. Realization of the selected diagnosing action;  
         [0961]    5. Monitoring of learning with a cognitive assessment.  
         [0962]    Diagnosing actions filtering is a first (strict pre-selection) step of diagnosing search and includes a sequence of the following steps:  
         [0963]    1. rejection of diagnosing actions with start-stop conditions that are inappropriate to current domain and training situation;  
         [0964]    2. rejection of diagnosing actions that cover only demonstrated knowledge/skills items;  
         [0965]    3. rejection of diagnosing actions presented before in current search pass;  
         [0966]    4. rejection of diagnosing actions that relate to unexpected or unsuspicious knowledge/skills items.  
         [0967]    Diagnosing actions weighting is a second (soft pre-selection) step of diagnosing search including a calculation of a current power of diagnosing action  
           Power        (   i   )       =       Fltr        (   i   )       *       ∑   s   Sm                       ∑   j   Jm                       ∑     r   =     j   +   1       Jm                            MNjis   -   MNris          *     (     MBODj   +   MBj     )     *     (     MBODr   +   MBr     )                 ;                         
 
         [0968]    Or in a recursive form:  
           Sum=Sum+Math.abs ( MN[i][j][s]−MN[i][r][s] )*( MBOD[j]+MB[j] )*( MBOD[r]+MB[r] );  
         [0969]    A diagnosing action selection is a concluding step of diagnosing search and in the most simple embodiment it selects a testing action with maximal Power (i)  
         N   =     arg                   Max   i          Power        (   i   )           ;                         
 
         [0970]    Training Actions Generation.  
         [0971]    As a rule training actions do not exist in a form ready to be implemented. It wastes system&#39;s memory. When a time delay is not critical, then it is better to generate them when it is necessary. In one embodiment, it is possible to assemble training actions from pre-stored set of building blocks (such as templates, backgrounds, text windows, different kind of buttons, hot spots, and menus). In other embodiment, content of training actions can be automatically generated from a formal presentation of a domain under study, such as semantic networks, decision tables. In simulation-based embodiment, training actions can have a form of a command triggering certain processes and causing certain situations in the Domain Module.  
         [0972]    Runtime Manager with a Timer.  
         [0973]    Runtime manager with a timer provides a synchronized interaction of all tutor domain components.  
         [0974]    Generic System Architecture  
         [0975]    A conceptual diagram of the generic system architecture is represented in FIG. 16. In this architecture all above-mentioned databases are combined into one integrated database. The generic player includes the domain player and the tutor-learner interface. The generic decision making component includes interpretation, decision making, and planning components of the Tutor Module.  
         [0976]    The foregoing disclosure has been set forth merely to illustrate the invention and is not intended to be limiting. Since modifications of the disclosed embodiments incorporating the spirit and substance of the invention may occur to persons skilled in the art, the invention should be construed to include everything within the scope of the appended claims and equivalents thereof.