Method and device for diagnosing bad performance in a computer system

Abstract: The present invention relates to an Expert System (ES) shell that diagnoses computer performance problems. The object of the invention is to present to a system programmer a set of possible dia­ gnoses for a performance problem, including variables derived from measurement data that either favor or refute the diagnosis in question. The system comprises a knowledge data base, and an 'inference engine' which analyzes data in re­ lation to the knowledge in the KB, for producing a set of diagnoses one of which is selected as the most probable for the given measurement data.

Description: The present invention relates in general to performance management in computer installations, and in particular to diagnosing bad performance on the basis of measurement data, by means of an Expert System (ES) shell, and it is embodied in a method and device for carrying out said diagnosing. Performance management seems be to an activity that is needed in every computer installation, but for which the necessary resources rarely are available. Typical symptoms indicating a performance problem are: Large trivial response time Large page delays Large master IO-path wait. The requirements for diagnosing a performance problem are the following: Knowledge of the computer system Understanding of measurement data Availability of measurement data Experience. Experience and knowledge of the computer system are hard to obtain. It is these two functions that the present invention attempts to provide. SLR (Service Level Reporter, is a log processor and is described in IBM General Information Manual, order number GH19-6529) performance management, offers a solution to the problem of making measurement data available. To use SLR of course requires that the user have an understanding of measurement data (by measurement data is understood system variable values as logged during operation of the installation). Most difficulties with diagnosing computer performance problems arise because there is insufficient knowledge of the computer system and the person doing the analysis most often lacks the experience, required to interpret measurement data. Performance management is a tedious task, and therefore the productivity of the experts is usually low. By means of the present invention it will be possible to analyze large amounts of data and present the result of the analysis to the user. The invention makes the expert more productive and makes the novice/inexperienced person more skilled. Those installations that already have an experienced performance analyst can still use the invention as a tool to solve the trivial, everyday type of problem, thus making the experienced expert more productive as he/she gets more time to spend on the nontrivial problems. The novice/inexperienced person may use the invention and by doing so achieve some of the experience needed to become an expert himself/herself. Background art is described in the following publications: IBM Research Report RC12511, 1987 by J. Hellerstein "KnowledgeTool User's Guide and Reference", IBM Manual order number SH20-9251 "Rule Based Expert Systems", Addison-Wesley by Buchanan and Shortliffe "Building Expert Systems", Addison-Wesley by Hayes-Roth, Waterman and Lenat "Human Diagnostic Reasoning By Computer: An Illustration from Financial Analysis", Vol. 29 no 6 Management Science, pp 653-672 by M. J. Bouwman Reference is also made to EP-A-0 259 224 relating to a method and device for diagnosing bad performance in a computer system, achieving performance management. Bad performance diagnoses are performed on the basis of measurement data by means of an expert shell called advisor. A set of diagnoses explaining the bad performances together with a justification for each diagnosis is also generated. The object of the present invention is to offer a means for determining why performance in relation to one set of measurement data is worse than in relation to another set of data. The invention generates a set of diagnoses explaining the bad performance, together with a justification for each diagnosis. Another important aspect is to provide generality, that is, one must be able to analyse performance problems in different computer installations without major modifications. This is done by avoiding the use of fixed thresholds of the variables, and also by avoiding making recommendations and instead just diagnosing the problem, which makes the invention more transportable between many installations. The invention compares measurement data with reference data and produces diagnostic explanations for bad performance. The measurement data is the data to be analyzed, that is, the data reflecting the problem situation. Reference data is data from a comparable situation where the service level agreements were met (by service level agreements is understood performance objectives as defined in SLR). By means of the invention, hypothetical reasoning by using three different sets of relationships to derive the evidence needed to justify or refute a hypothesis is performed. The relationship sets are: Qualitative relationships Exception relationships Distributive relationships. Each hypothesis uses a unique set of 'evidence'. Thereafter the actual evidence present in the data is derived by using the above-mentioned relationships. This derivation can be regarded as a cause-effect derivation, i.e. the relationships give the cause for a directional change or the exception of a variable. This cause can then be shown to have its cause in some other variable by using other relationships. When the relationships are exhausted, that is, when all the 'ultimate causes' have been found, an evaluation of the hypothesis takes place. This is done by comparing the set of evidence with what has and has not been derived, thus giving a measure of the confidence of the hypothesis. The invention utilizes a knowledge data base (KB) and an expert system shell, implemented in KnowledgeTool (IBM KnowledgeTool is a licensed IBM product and is described in "KnowledgeTool User's Guide and Reference") as a meta-interpreter, and an important feature of the invention is to separate the KB from the shell. This can best be understood if one regards the KB as a set of knowledge-carrying rules (formalized in a convenient representation) and the shell as a set of meta-rules describing the reasoning process. During execution the latter set of rules act on the former set of rules to derive a diagnosis using data (measurement data) extracted from the computer installation. Because of the simplicity of representing knowledge through relationships between system variables, there is no need to use any sophisticated languages to formalize the knowledge-carrying rules. Instead the rules could be encoded in formatted data sets, thus making it possible to provide a knowledge base editor interface. The knowledge base is divided into ten partitions. This is done to ease the task of knowledge engineering and to separate the knowledge into what is intuitively felt as different parts. The partitions all belong to one of three subcategories, namely service levels, context-dependent knowledge, or context-independent knowledge. Service levels are the service level agreements (in SLR terminology). The service levels consist of objectives and analysis requests, which together define the criteria for good performance. For example, the response time TRESP for a certain transaction should be below 10 s. It can be argued whether or not service levels have a proper place in the knowledge base, but they are in fact used by the shell to trigger an analysis. Context dependent knowledge consists of diagnosis, search roots, evidence expected to be derived, and evidence not expected to be derived. These are context dependent in the sense that an objective, that is, a service level agreement, forms the context under which a diagnosis can be formulated. A diagnosis for a too long response time TRESP may be that there is a private area paging problem. A specific diagnosis only makes sense together with the (violated) objective it tries to diagnose. The same thing is true for search roots and evidence. Each search root 'belongs' to a specific diagnosis and vice versa for the evidence. Context independent knowledge makes up the rest of the knowledge base. The components are context independent in the sense that they are not tied together with any objective, diagnosis, or search root. The context independent knowledge can be regarded as the 'axioms' for performance analysis, whereas the context-dependent knowledge is the 'heuristic' knowledge. Thus, the invention offers a solution to the problem of handling multiple diagnoses. In previous implementations symptoms related to diagnoses are used to give a higher lower credibility to the diagnosis. However, when a symptom applies to many diagnoses difficulties arise. That is, all diagnoses where the symptom applies gets a higher/lower credibility, thus causing great difficulty in validating which of the different diagnoses is the correct one. The method according to the invention actually derives which symptoms that are or are not present under the context of a diagnosis. This greatly improves the ability to separate different competing diagnoses from each other. This enhances the quality of the diagnostic capability. The invention is disclosed in the attached patent claims. Below follows a more detailed description of the different constituents of the invention, with reference to the drawings, in which Fig. 1 is a conceptual overview of a system for carrying out the invention, and Fig. 2 is a chart showing the steps of the method. In figure 2 a single arrow denotes that a comparison or other action is performed on the data in the respective memory elements, and a double arrow denotes that the result of the comparison or action is stored in a memory element. Fig. 1 is an outline of the system according to the invention. The data interface per se is not included in the invention, and neither are the KB editor, the user dialog nor the user interface, which form part of prior art and are thus not discussed herein. The invention resides in the combination of the ES shell including what is called an 'inference engine' (to be described later) and the knowledge data base (KB). Before the invention is described with reference to figure 2, a description of the different relations constituting the knowledge base will be given. An OBJECTIVE is a system variable with an associated value. The value most often is identical to a service level agreement. The OBJECTIVE is assigned a unique identity identical to the OBJECTIVE variable. ANALYSIS REQUESTS are used to describe the direction of change of a variable with respect to the threshold as defined through the OBJECTIVE. Thus the OBJECTIVES describe the absolute value of a service level, and the ANALYSIS REQUEST defines which type of EXCEPTION (either greater or less than) triggers an analysis of the violated OBJECTIVE. A DIAGNOSIS is an explanation of the cause of a violated OBJECTIVE. It is the DIAGNOSIS that plays the role of the hypothesis during the data inference phase. There may be any number of DIAGNOSES associated with a certain OBJECTIVE violation, but each DIAGNOSIS specifies which OBJECTIVE identity it applies to. SEARCH ROOTS constitute a special set of variable relationships, namely the relations between the OBJECTIVE variable and a set of Left Hand Side (LHS) variables in the part of the KB that contains the variable relationships and the expected directional changes of the variables. A SEARCH ROOT is a necessary but not sufficient condition for considering a diagnosis. Thus a SEARCH ROOT may be regarded as an 'activating rule' for the diagnosis/hypothesis. Thus the SEARCH ROOTs are 'entry points' in the set of variable relationships. Each root defines the start of a search map. The paths in the map are derived through inference using the different variable relationships. An EXCEPTION is a variable threshold and the information stating whether the threshold is trespassed by values above or below it. EVIDENCE EXPECTED to be derived are variables the presence of which justifies or refutes a certain DIAGNOSIS. That a variable has been derived means that it can be found in the search tree produced under the data inference phase. However, if the variable is not found in the search tree nothing is inferred. An evidence variable can either justify or refute a DIAGNOSIS, depending on what is specified in the KB. EVIDENCE NOT EXPECTED to be derived are variables that are not expected to be derived under the data inference phase. If this is the case (the variable is not found in the search tree), it is taken as an evidence variable. If the variable is found in the search tree nothing is inferred (see the paragraph "Evidence Expected to be Derived"). As for evidence variables, either they justify or refute a DIAGNOSIS, depending on what is specified in the KB. Assume that we have a hypothesis stating a paging problem. The fact that we do not derive a specific variable indicating a channel problem can be interpreted as favorable evidence for the paging hypothesis. However, it is not certain that the variable, if it was derived, could be interpreted in the context of the paging hypothesis at all. The two partitions of the knowledge base, 'EVIDENCE EXPECTED' and 'EVIDENCE NOT EXPECTED', are not mutually exclusive. That is, a variable that favors a given hypothesis if it is derived, does not necessarily refute the same hypothesis if it is not derived. There are so called variable relationships which can be divided into three different subgroups, namely qualitative, EXCEPTION and distributive relationships. Qualitative relationships describe how directional changes in variables are related to each other when there is a monotonic relation (either increasing or decreasing) between the variables. Then, without stating the actual mathematical function that governs this relation, a qualitative relation can be formulated describing the expected directional change between the variables. Exception relationships explain the cause of an EXCEPTION of a variable through another EXCEPTION. Distributive relationships explain the cause of a variable that is either excepted or has a directional change. The explanation is expressed as a variable with a value contributing to more than or less than a specified percentage of the first mentioned variable's value. In figure 2 is shown a schematic picture of a device according to the invention, and there is also shown by means of arrows how the method according to the invention is carried out, and below a detailed description thereof will be given. The device comprises a working memory W and a knowledge data base, each comprising a plurality of memory element or partitions. Measurement data are collected (step a)) by means of any suitable data log and data are stored in a memory element or log L in the working memory W of the computer installation. These measurement data are compared with reference data representing the normal performance of the installation (step b)), stored in a memory element 1 in said working memory W. The result of the comparison is stored in a second memory element 2. In a preferred embodiment the measurement data are further compared with tolerance factors in a tolerance factor table, stored in a memory element T in the knowledge data base KB. By means of the tolerance factors significant changes in measurement data with respect to reference data can be detected. The tolerance factors thus allow for slight variations in measurement data without yielding an outcome of the comparison that is stored in the second memory element 2. A third memory element 3 contains system variable values defining objectives for the installation, i.e. desired values in order that the installation function properly. Measurement data are compared (step c)) with these objectives to find those objectives that are violated in a given situation of bad performance. The result of the comparison, i.e. the violated objectives are stored in a separate memory element VO in the working memory W. A fourth memory element 4 in the knowledge data base KB contains a set of possible diagnoses of malfunctions in the installation. These diagnoses are each associated with a violated objective. There can be several different diagnoses associated with one violated objective. This memory element is searched for one or more diagnoses applicable to the present violated objective/objectives (step d)). Any such found applicable diagnoses are stored in a additional memory element AD. A fifth memory element 5 contains a plurality of relations between system variables. Each such relation is associated with a specific diagnosis, and expresses a necessary but not sufficient condition for the associated diagnosis to be considered under the present violated objective. This memory element is searched (step e)) in order to find one or more such relations that can be assigned to the diagnoses found in step d). The result of the search, i.e. one or more such relations between system variables is stored in a still further memory element R. The relations from step e) are compared with the qualitative data in the second memory element 2, for finding out whether one or more of the necessary but not sufficient conditions mentioned above are met (step f)). The result, i.e. all such conditions are selected as search roots for the continued analysis and stored in a sixth memory element 6. An eigth memory element 8 contains cause-effect relations between system variables. This relations are context independent in the sense that they are valid without having regard to any diagnosis or any violated objective. This memory element is searched (step g)) in order to find a match between the search roots from step f) and the relations in said eigth memory elements, whereby the relations thus found are stored in still another memory element CR (step h)). A tenth memory element 10 in the knowledge data base contains a plurality of relations between system variable, said relations defining or expressing evidence for a specific diagnosis being considered. Each time a search root or a qualitative data as expressed by the relations stored in memory element CR is found, a comparison between the evidence partition and said search root or qualitative data is performed (step i)). If a match occurs the inference is terminated and the evidence thus found is stored in a ninth memory element 9. Finally, steps d)-i) are repeated until no inference is possible because the data are exhausted and only evidence remain. All this evidence is assigned a probability for the validity of the diagnosis to which the evidence referers. The evidence for each diagnosis are combined and weighed in accordance with their respective assigned probabilities, and the most probable diagnosis is selected. This could be done automatically. In the device there is also a module M containing a program for carrying out the method described above. Below a more general description of the invention. The process of diagnosing a violated OBJECTIVE has been divided into four different phases. The first thing the shell does is to identify all OBJECTIVES that have been violated and to translate input data into qualitative data, that is, it detects significant directional changes in the data. Secondly, the hypothesis, that is, the DIAGNOSIS explaining the OBJECTIVE violation, is extracted from the DIAGNOSIS partition of the KB, and 'activated' if at least one of the SEARCH ROOTS matches the measurement data. The hypothesis is then evaluated in the third and fourth phases. In the third phase the evidence needed to justify or refute the DIAGNOSIS is derived, using the context-independent subcategory of the KB. Finally, the fourth phase assembles the derived evidence for each DIAGNOSIS, making it possible for the user to select the most appropriate explanation for the OBJECTIVE violation. To do this the two evidence partitions of the KB are used. Each of the above mentioned phases is represented by a set of KnowledgeTool rules. These rules perform an act of inference that is controlled by the rules in the knowledge base. That is, from each violated OBJECTIVE the shell infers a set of possible DIAGNOSES, and for each DIAGNOSIS a set of search roots are inferred. By using the context-independent variable relations the EVIDENCE EXPECTED to be derived is inferred from each SEARCH ROOT. The DIAGNOSIS is evaluated by checking off what has and has not been derived. Thus the shell is in fact an 'inference engine' acting on the rules in the knowledge base. This is understood by the fact that the shell selects and 'fires' valid rules, which in turn causes other rules to be fired. It must be pointed out that this has nothing to do with the recognize act cycle performed by the inference engine in KnowledgeTool. The term inference engine is only used here as an analogy. A more detailed description of each phase follows. The first phase could be labelled initialization and qualitative translation. During this phase the data sets containing the reference and the measurement data are read in and loaded into the internal data structure of the system according to the present invention. Using the reference data and the measurement data, another class of data is created, namely qualitative data. The qualitative data contains the information about directional changes of the measurement data with respect to the reference data. To distinguish significant changes, a tolerance factor is defined for each variable. This factor specifies the minimum change in absolute magnitude to be considered. If the absolute magnitude of the change falls within the tolerance factor, the variable will be regarded as unchanged with respect to the reference data. The initialization phase also includes the loading of the KB into an internal data structure of the system. Each partition of the KB is read in as a separate data set and loaded into a specific data structure. In the second phase, OBJECTIVE evaluation and DIAGNOSIS formulation is carried out, and the violated OBJECTIVES are detected. This is done by using the information in the KB regarding which measurement variable is coupled with which OBJECTIVE, and the threshold that constitutes the actual OBJECTIVE. The OBJECTIVE thresholds are compared directly with the value of the associated measurement variables. For each OBJECTIVE that is violated, the KB is searched for the DIAGNOSIS that is defined as applicable to the violated OBJECTIVE. That is, for each violation there will be a set of potential DIAGNOSES explaining the cause of the violation. The evaluation of the DIAGNOSIS will take place in the phases that follow, and a DIAGNOSIS is considered or 'activated' if at least one of its associated SEARCH ROOTS, as specified in the KB, matches the qualitative data. Data inference is the third phase, and is performed by building tree-like structures using the variable relationships. The purpose of this phase is to derive relevant variables from the qualitative data and from the measurement data that can be used to evaluate the DIAGNOSIS (this will be done in the following phase). The starting points for the trees are determined through the SEARCH ROOTs, that is the SEARCH ROOTS that matched the measurement data. These can be regarded as 'entry points' into the set of variable relationships. The structure that is built starts off with a violated OBJECTIVE as the root. The next level in the tree will be the DIAGNOSIS/DIAGNOSES that is/are associated with this particular OBJECTIVE. Next level alter the DIAGNOSIS/DIAGNOSES are the SEARCH ROOTs. These SEARCH ROOTs are necessary but not sufficient conditions for considering the DIAGNOSIS in question. It also should be noted that these SEARCH ROOTs are not to be regarded as symptoms in the ordinary sense. Each SEARCH ROOT matches one or many LHS in the variable relations. The relations that hold will generate a descendant. The descendant is either a leaf or a node. If it is a leaf, then there is no matching LHS (match by name); otherwise, the descendant will be a node. Thus the variable relationships will generate a tree-like structure under each SEARCH ROOT. A special case is when a branch in the tree prematurely terminates. By this we mean a node that has no descendants, that is, there were relations in the KB that had the node as LHS, but none of the relations were valid. This information can either be interpreted as an indication of missing relationships in the KB, or as a totally abnormal situation that could not be formalized as a variable relation. It must be pointed out that the tree is context dependent from the SEARCH ROOTs and above, where the primary context is the violated OBJECTIVE that defines a set of possible DIAGNOSES. For each DIAGNOSIS another set of SEARCH ROOTs is defined. However, the structure below the SEARCH ROOT is context independent; that is, any variable relationship is equally applicable independent of which OBJECTIVE has been violated and which DIAGNOSIS is used to explain the violation. In the fourth and final phase DIAGNOSIS evaluation is carried out. For each DIAGNOSIS the associated tree structure(s) will be searched for variables occurring as evidence expected to be derived. Each such occurrence will be used to evaluate the DIAGNOSIS. Similarly the trees will be searched for non-occurrences of variables defined as EVIDENCE NOT EXPECTED to be derived. Any such non-occurrence will be taken into account when evaluating the DIAGNOSIS. The measurement and reference data is collected on two separate sequential files. To collect the needed data from the various system logs there are a number of suitable methods available, such as SLR. The system and method according to the present invention has been tested on real measurement data. The results were very encouraging in the sense that the derived diagnoses were reasonable. By interviewing domain experts and comparing the experts' problem solving approach with the approach according to the invention, one comes to the conclusion that they seem to coincide in many cases. Therefore the conclusion is that the invention is a functional expert system, provided the KB contains a sufficient amount of knowledge.

Claims: Method of diagnosing bad performance in a computer installation in terms of violated objectives, wherein the objectives are considered as violated only if measurements differ from reference data by a predetermined tolerance factor, comprising the steps of: a) measuring and logging measurement data indicative of the state of the computer installation in a data log memory (L) within at least one working memory (W), b) comparing said measurement data with reference data representing the normal function of the computer installation, said reference data being stored in a first memory element (1) in said at least one working memory (W), for creating qualitative data containing information about changes in measurement data in relation to reference data, and storing said qualitative data in a second memory element (2) in said at least one working memory, c) comparing said measurement data with predefined objectives expressed as system variable values, stored in a third memory element (3) within a knowledge data base (KB), for detecting violated objectives, and storing said violated objectives in a violated objective memory element (VO) within said at least one working memory (W), d) searching applicable diagnoses in a first partition of said knowledge data base (KB), containing a set of possible diagnoses of malfunctions, said possible diagnoses being associated with violated objectives and stored in a fourth memory element (4), in order to find one or more diagnoses applicable to the present violated objectives, stored in said violated objective memory element (VO), and storing said applicable diagnoses in an applicable diagnosis memory element (AD), e) in a second partition of said knowledge data base, containing context dependent relations between the computer installation variables, said context dependent relations each being associated with a specific diagnosis, and expressing necessary but not sufficient conditions for a diagnosis to be considered or activated, said context dependent relations being stored in a fifth memory element (5), searching one or more such diagnosis associated relations that are assignable to the applicable diagnoses (AD) found in step d), and storing said diagnosis associated relations in a further memory element (R), f) comparing said diagnosis associated relations (R) with said qualitative data (2), in order to find out whether one or more of said necessary but not sufficient conditions are met, whereby such conditions are selected as search roots and are stored in a sixth memory element (6) within said second partition of said knowledge data base (KB), g) in a third partition of said knowledge data base containing diagnosis context independent cause-effect relations between the computer installation variables, stored in an eighth memory element (8), searching one or more relations between said search roots (6) stored in step f) and said context independent cause-effect relations of the computer installation variables, and storing the found relations in an additional memory element (CR), h) comparing said found relations of step g) with the qualitative data (2), whereby the matched qualitative data is stored in a seventh memory element (7) within said knowledge data base (KB), i) comparing said matched qualitative stored data (7) and the search roots (6) of step f) with a set of evidence relations between the computer installation variables, stored in a tenth memory element (10) within said knowledge data base (KB), said evidence relations expressing evidence for a given diagnosis, and if there is a match between the matched qualitative stored data, the said search roots and said evidence relations, meaning an evidence has been found and the inference is terminated, storing that found evidence in a ninth memory element (9) within said knowledge data base (KB), and j) repeating steps d) to i) for every violated objective of said violated objective memory (VO) until no more inference is possible as said violated objectives are exhausted. Method as claimed in claim 1, wherein the comparison in step b) comprises comparison of measurement data with a tolerance factor table, for detecting significant changes in relation to reference data, said tolerance factors being stored in a memory element (T) in the knowledge data base. Method as claimed in claim 1 or 2, wherein each said evidence has been assigned a probability for the validity of the diagnosis in question. Method as claimed in any of claims 1 to 3, wherein the evidence are comprised of the computer installation variables with accompanying information about the change of the variable value that is required for the diagnosis in question to be considered or activated. Method as claimed in any of claims 1 to 4, wherein all evidence derived in steps a) to j) for each diagnosis are combined and weighed in accordance with their respective assigned probabilities. Method as claimed in any of claims 1 to 5, wherein the most probable diagnosis is automatically selected. Device for diagnosing bad performance in a computer installation in terms of violated objectives, wherein the objectives are considered as violated only if measurements differ from reference data by a predetermined tolerance factor, said device comprising at least one working memory (W), and a knowledge data base (KB), and comprising: a data log memory (L) for logging measurement data in the form of system variable values indicative of the computer installation, a first memory element (1) in the working memory, said first memory element containing reference data representing normal function of the computer installation, a second memory element (2) in the working memory, for storing qualitative data containing information of changes in measurement data with respect to reference data, a violated objective memory element (VO) for storing data representing violated objectives, said knowledge data base (KB) comprising a plurality of partitions or memory elements (3-10), wherein: a third memory element (3) contains predefined data objectives of the performance of said computer installation, a fourth memory element (4) contains a set of diagnoses of possible malfunctions, each diagnosis being associated with at least one violated objective (VO). an applicable diagnosis memory element (AD) is adapted for storing data as a result of a comparison between the data in the violated objective memory element (VO) and the data in the fourth memory element (4), a fifth memory element (5) contains data in the form of relations between system variables, said relations being associated with a respective diagnosis, a further memory element (R) is provided for storing data as a result of a comparison between the data in the applicable diagnosis memory element (AD) and the data in the fifth memory element (5), a sixth memory element (6) is adapted for storing the result of a comparison between the qualitative data in the second memory element (2) and data in the further memory element (R), an eight memory element (8) contains data in the form of diagnosis context independent cause-effect relations between system variables, an additional memory element (CR) is adapted for storing data as a result of a comparison between the data in the sixth and eight memory elements respectively, a seventh memory element (7) is adapted for storing qualitative data as a result of a comparison between the qualitative data in the second memory element (2) and data in the additional memory element (CR), a ninth memory element (9) is adapted for storing the result of a comparison between data stored in the sixth and seventh memory elements (6,7) respectively, and a tenth memory element (10) contains data in the form of evidence for a specific diagnosis, said device further comprising a memory module (M), containing a program for carrying out the operations according to the method of claim 1. Device as claimed in claim 7, comprising a tolerance factor memory element (T) in the knowledge data base, for use together with the first memory element (1) in step b), for detecting significant changes in measurement data.

Inventors: OLSSON JAN ERIK, OLSSON, JAN ERIK
Applicants: IBM, INTERNATIONAL BUSINESS MACHINES CORPORATION
Application year: 1989
Main classification: G06F11
IPC codes: G06F11