When diagnosing a cause of a symptom in any system, the key to accurate diagnosis is obtaining information on system functionality, common problems related to the system, system diagrams, and the like. A lot of the time this information is not readily available in one location. For example, during vehicle diagnostics a repair technician may sometimes be required to consult a variety of different technical references to locate information related to a diagnostic test procedure. Similarly, a medical doctor or technician may sometimes be required to consult a diverse set of references to aid in the diagnosis of a patient.
An embodiment in accordance with the present invention provides an information object generator that can gather and organize information corresponding to an optimized diagnostic test plan from a diverse set of information sources. For example, the information object can include information from technical or medical manuals, technical drawings, wiring schematics, anatomical diagrams, and the like. In addition, the information object can be created using data available from optimized diagnostic procedures, for example, an estimated difficulty, time, or cost required to perform a procedure or repair, statistical probability information based on historical diagnostic results, or the like.
Furthermore, the information object can be organized in a sequence or data structure that corresponds to the optimized diagnostic test plan. Thus, the information object can be interpreted as a dynamically-created manual that has been customized in accordance with a specific optimized diagnostic test plan. The resultant information object can provide valuable, readily-available information to aid a vehicle repair technician, a medical doctor or technician, or the like, during diagnosis and repair, or treatment.
A user can choose to access the information object during execution of the corresponding diagnostic test plan, or at any time during diagnosis and repair, or treatment. Thus, the information object can provide value in diagnosis of the given symptom, and, which presents optimally ordered and structured information concerning a particular problem. The invention will now be described with reference to the drawing figures, in which like reference numerals refer to like parts throughout.
The processor 12, the memory 14, and the input/output device 16 can be part of a general computing device, such as a personal computer (PC), a notebook, a UNIX workstation, a server, a mainframe computer, a personal digital assistant (PDA), or some combination of these. Alternatively, the processor 12, the memory 14 and the input/output device 16 can be part of a specialized computing device, such as a vehicle diagnostics scan tool. The remaining components can include programming code, such as source code, object code or executable code, stored on a computer-readable medium that can be loaded into the memory 14 and processed by the processor 12 in order to perform the desired functions of the information object generator 10.
In various embodiments, the information object generator 10 can be coupled to a communication network, which can include any viable combination of devices and systems capable of linking computer-based systems, such as the Internet; an intranet or extranet; a local area network (LAN); a wide area network (WAN); a direct cable connection; a private network; a public network; an Ethernet-based system; a token ring; a value-added network; a telephony-based system, including, for example, T1 or E1 devices; an Asynchronous Transfer Mode (ATM) network; a wired system; a wireless system; an optical system; a combination of any number of distributed processing networks or systems or the like.
An embodiment of the information object generator 10 can be coupled to the communication network by way of the local data link, which in various embodiments can incorporate any combination of devices—as well as any associated software or firmware—configured to couple processor-based systems, such as modems, network interface cards, serial buses, parallel buses, LAN or WAN interfaces, wireless or optical interfaces and the like, along with any associated transmission protocols, as may be desired or required by the design.
An embodiment of the information object generator 10 can communicate information to the user and request user input by way of an interactive, menu-driven, visual display-based user interface, or graphical user interface (GUI). The user interface can be executed, for example, on a personal computer (PC) with a mouse and keyboard, with which the user may interactively input information using direct manipulation of the GUI. Direct manipulation can include the use of a pointing device, such as a mouse or a stylus, to select from a variety of selectable fields, including selectable menus, drop-down menus, tabs, buttons, bullets, checkboxes, text boxes, and the like. Nevertheless, various embodiments of the invention may incorporate any number of additional functional user interface schemes in place of this interface scheme, with or without the use of a mouse or buttons or keys, including for example, a trackball, a touch screen or a voice-activated system.
The information object generator 10 can produce an information object in relation to the dynamic generation or traversal of an optimized diagnostic test plan. The resulting information object can contain diverse information related to a sequence of diagnostic procedures that comprise the test plan. The information can originate from a variety of different information sources, and can be organized according to the sequence of the optimized diagnostic test plan.
The taxonomy generator 18 can define a component taxonomy corresponding the vehicle, for example, in the form of an connected acyclic directed graph, such as that shown in
In association with the component taxonomy, the taxonomy generator 18 can also define a fault taxonomy, by associating one or more failure modes with each component node, FMn*={FMn1, . . . , FMnm}. For example, each associated failure mode can describe a specific modality of failure for the component, and the set of failure modes associated with a particular component, FMn*, can represent all known ways the particular component can fail.
In addition, the taxonomy generator 18 can define a diagnostic taxonomy by associating at least one failure mode test, FMTxy, with each failure mode, FMxy, which can be interpreted as an elementary diagnostic procedure intended to prove or disprove (conclusively or inconclusively) a hypothesis regarding the presence of a particular failure mode. Furthermore, the taxonomy generator 18 can define a repair taxonomy by associating at least one repair procedure with each failure mode.
Moreover, the taxonomy generator 18 can define an information taxonomy (or service information taxonomy) by associating with each node in the component taxonomy relevant information and documents pertaining to the particular component, as well as connected or otherwise related components.
For example, in the case of a vehicle diagnostic test plan, the information may include, but is not limited to, relevant portions of information such as the following:
Thus, the information object can include, but is not limited to, information such as the following:
The static test sequence reader 20 can import or interpret a static diagnostic procedure, for example, a diagnostic procedure in the form of a tree graph, such as that shown in
The static diagnostic procedure can be viewed as a derivation of the diagnostic taxonomy that has been optimized for diagnostic efficiency and enhanced with service information for increased diagnostic usability, and can navigate a vehicle technician through a step-by-step test sequence based on a vehicle onboard computer trouble code or a vehicle operational symptom. In addition, the diagnostic procedure can embed the assurance of specific state preconditions of the test vehicle with testing for specific failure conditions, encoded in a static decision tree. During vehicle diagnostics, for example, test step instructions and information can be displayed to the vehicle technician on a display device.
An example of a method of generating a static diagnostic procedure for use with, for example, a PC-based vehicle diagnostic system to provide instructions for expert diagnostic procedures to allow a vehicle technician to identify the cause of a trouble code or vehicle operational problem at the component level is disclosed in U.S. Pat. No. 5,631,831, entitled “Diagnosis Method for Vehicle Systems,” to Bird, et al., dated May 20, 1997, the disclosure of which is hereby incorporated by reference in its entirety.
In addition, the static information associator 22 can associate information related to each test step with an information node that corresponds to the test step. Thus, relevant service information can be associated with nodes corresponding to the diagnostic procedure to present the user with relevant service information such as wiring diagrams, pictures, component and failure mode explanations, that the user can refer to while being guided through the diagnostic procedure.
The static information associator 22 can thus create an information object in the form of a diagnostic data structure that effectively replaces each diagnostic node, or test step, with an information object node containing all of the information relevant to the corresponding test step from the information taxonomy. For example, viewing the tree graph of
Thus, as a stand-alone entity, the resulting static information object provides a structured organization of the information relevant to understanding a symptom, such as a vehicle ECU trouble code or a generalized system failure symptom. In a general sense, browsing of the static information object can be viewed as a top-down traversal of the corresponding derived fault taxonomy.
The dynamic test sequence reader 23 can import or interpret a dynamic diagnostic procedure, for example, a dynamically optimized diagnostic test plan composed of a sequence of diagnostic tests, or failure mode tests, that have been ordered in an optimized sequence based on estimated or empirically derived probabilities, for example, from a failure mode and effects analysis (FMEA), in order to diagnose the cause of a symptom. The cause of the symptom can correspond to a failure mode of a vehicle component.
A typical FMEA can include a list of failure modes, causes and effects associated with each of the failure modes, a severity of each failure mode, a risk or probability of the occurrence of each failure mode, and additional information that can be useful in designing and manufacturing the associated product. For example, the FMEA can include estimated probability information based on engineering analysis or statistical probability estimates based on empirical data from actual failures. Thus, each diagnostic test procedure can be an individual failure mode test based on the failure modes identified in the FMEA, and the FMEA information can be used to determine which of the diagnostic test procedures is most likely to identify the cause of the symptom.
The dynamic test sequence can be related to the static diagnostic procedure, because, generally speaking, each failure mode test can correspond to a sequence of test steps in a decision tree from the root node to a bottom-level node. For example, referring again to
An example of a method of generating a dynamic diagnostic test sequence for use with, for example, a PC-based vehicle diagnostic system to provide instructions for expert diagnostic procedures to allow a vehicle technician to identify the cause of a trouble code or vehicle operational problem at the component level is disclosed in copending U.S. patent applications, entitled “Dynamic Decision Sequencing Method and Apparatus” and “Diagnostic Test Sequence Optimization Method and Apparatus,” filed concurrently herewith by Fountain, et al., the disclosures of which is hereby incorporated by reference in its entirety. The method can dynamically, or “on the fly,” construct an optimized decision sequence consisting of elementary tests to confirm the presence of a specific failure mode, while systematically maintaining, or tracking, necessary preconditions.
The dynamic information associator 24 can associate information related to each failure mode test with a corresponding information object node. Thus, relevant service information can be associated with nodes corresponding to the diagnostic test sequence to present the user with relevant service information such as wiring diagrams, pictures, component and failure mode explanations, that the user can refer to while being guided through the diagnostic test sequence.
The dynamic information associator 24 can thus create an independent information object in the form of a diagnostic data structure that corresponds to the sequence of failure mode tests in the dynamic diagnostic test sequence containing all of the information relevant to the corresponding failure mode tests from the information taxonomy. That is, the dynamic information associator 24 can add information object nodes to the information object by, for example, a systematic bottom-up traversal of the fault taxonomy including components that incorporate the subcomponent associated with each specific failure mode addressed by the diagnostic test sequence. Thus, the information object can correspond to a specific dynamic instance of an optimized decision sequence (from an iteration of optimized decision sequences).
The connection information associator 26 can further augment the information object with information object nodes by, for example, a systematic bottom-up traversal of the fault taxonomy including components that are connected to the subcomponent associated with each specific failure mode addressed by the diagnostic test sequence. The resulting dynamic information object can be viewed as a dynamic, specific and optimized reference manual describing at a configurable level of detail all the information pertinent to a specific diagnostic symptom.
Furthermore, the dynamic information object can be organized in a manner that ensures information most likely to explain the root cause is presented first. In a general sense, browsing of the dynamic information object can be viewed as a bottom-up traversal of the corresponding fault taxonomy guided by dynamic reordering based on the relative probabilities of the various component failure modes.
The information highlighter 28 can highlight segments of information, or mark segments for highlighting, for example, as suggested reading. The information reorganizer 30 can receive user feedback regarding viewed or understood segments by way of the input/output device 16 and dynamically reconfigure the information object based on the user feedback. For example, the order of the information can be changed to move information viewed by the user during a previous session to the end, or to omit the viewed information.
The information instantiator 32 can instantiate or format the information object (of either the static or the dynamic type) for publication by suitable presentation templates. For example, the presentation templates can be implemented as style sheets in embodiments that encode the information object in the XML markup language. Thus, the instantiated information object can be abstractly viewed as a specialized reference manual created automatically from the diagnostic procedure.
By viewing the instantiated information object, the user, such as a vehicle technician or a medical doctor or technician, can review information structured for optimized learning and assimilation. The information object structure can aid the user to efficiently diagnose a problem, for example, by avoiding unnecessary review of irrelevant material. The information object can also aid an expert user in efficient review of reference information to aid in independent diagnosis, without stepping through the corresponding diagnostic procedure.
In an alternative embodiment of the information object generator 10, the information instantiator 32 can further present both a top-down and bottom-up information object simultaneously, which would allow the user to be guided by the optimized bottom-up information object, while being able to simultanously refer to traditional top-down structured information to maintain perspective and provide general understanding.
In another alternative embodiment of the information object generator 10, the information instantiator 32 can further transform a diagnostic procedure, for example, a static decision tree or a dynamic decision sequence, using a presentation template for publication in a traditional paper-based, or hardcopy, manual. For example, the information instantiator 32 can produce an abbreviated diagnostic procedure in a paper-based manual with references to detailed reference information in other parts of the manual or in other traditional information sources.
In yet another alternative embodiment, the information object generator 10 can provide a unique reference or link to an Internet-based (or World Wide Web-based) information object generator, which would dynamically assemble an optimized information object as described above.
Then, in step 38, “Define Fault Taxonomy,” a fault taxonomy can be defined, for example, by associating one or more failure modes with each component or subcomponent, as explained above. Correspondingly, in step 40, “Define Diagnostic Taxonomy,” a diagnostic taxonomy can be defined, for example, by associating at least one failure mode test with each failure mode, as further explained above. Similarly, in step 42, “Define Repair Taxonomy,” a repair taxonomy can be defined. That is, for example, at least one repair procedure can be associated with each failure mode, as explained above.
Additionally, in step 44, “Define Information Taxonomy,” an information taxonomy (or service information taxonomy) can be defined, for example, by associating with each component relevant information and documents pertaining to the particular component, as well as connected or otherwise related components, as explained above.
Next, in step 46, “Read Static Test Sequence,” a static diagnostic procedure can be imported or interpreted, as described above. Subsequently, in step 48, “Associate Static Information,” all of the information from the information taxonomy related to each test step in the static diagnostic procedure can be associated with the corresponding test step to create a static information object in the form of a diagnostic data structure that corresponds to the static diagnostic procedure, as described above.
Then, in step 50, “Instantiate Information Image,” the static information object can be instantiated or formatted for publication by suitable presentation templates, as explained above. In this way, relevant service information, such as wiring diagrams, pictures, component and failure mode explanations, and the like, can be presented to a user for use while being guided through the diagnostic procedure or independent of the diagnostic procedure.
In alternative embodiments of the method, one or more of steps 36 through 44, “Define Component Taxonomy,” “Define Fault Taxonomy,” “Define Diagnostic Taxonomy,” “Define Repair Taxonomy,” and “Define Information Taxonomy,” can be omitted. For example, the method may use a predefined component taxonomy, fault taxonomy, diagnostic taxonomy, repair taxonomy, or information taxonomy.
Correspondingly,
Then, in step 54, “Define Fault Taxonomy,” a fault taxonomy can be defined, for example, by associating one or more failure modes with each component or subcomponent, as explained above. Next, in step 56, “Define Diagnostic Taxonomy,” a diagnostic taxonomy can be defined, for example, by associating at least one failure mode test with each failure mode, as further explained above. Similarly, in step 58, “Define Repair Taxonomy,” a repair taxonomy can be defined. That is, for example, at least one repair procedure can be associated with each failure mode, as explained above.
Additionally, in step 60, “Define Information Taxonomy,” an information taxonomy (or service information taxonomy) can be defined, for example, by associating with each component relevant information and documents pertaining to the particular component, as well as connected or otherwise related components, as explained above.
Next, in step 62, “Read Dynamic Test Sequence,” a dynamic diagnostic test plan can be imported or interpreted, as described above. Subsequently, in step 64, “Associate Dynamic Information,” all of the information from the information taxonomy related to each failure mode test in the dynamic diagnostic test plan can be associated with the corresponding diagnostic test sequence to create an independent dynamic information object in the form of a diagnostic data structure that corresponds to the sequence of failure mode tests in the dynamic diagnostic test plan, as described above.
Similarly, in step 66, “Associate Connection Information,” the dynamic information object can be augmented with relevant information regarding components connected to the subcomponent associated with each specific failure mode addressed by the corresponding diagnostic test sequence, as explained above.
Later, in step 68, “Instantiate Information Image,” the dynamic information object can be instantiated or formatted for publication by suitable presentation templates, as explained above. In this way, relevant service information, such as wiring diagrams, pictures, component and failure mode explanations, and the like, can be presented to a user in a sequence based on the likelihood that the information can explain the root cause of a symptom. The dynamic information object can be used by a user while being guided through the diagnostic test plan or independent of the diagnostic test plan.
In alternative embodiments of the method, one or more of steps 52 through 60, “Define Component Taxonomy,” “Define Fault Taxonomy,” “Define Diagnostic Taxonomy,” “Define Repair Taxonomy,” and “Define Information Taxonomy,” can be omitted. For example, the method may use a predefined component taxonomy, fault taxonomy, diagnostic taxonomy, repair taxonomy, or information taxonomy.
In this regard,
An embodiment of the present invention can also include one or more input or output devices 16, such as a mouse, keyboard, monitor, and the like. A display can be provided for viewing text and graphical data, as well as a user interface to allow a user to request specific operations. Furthermore, an embodiment of the present invention may be connected to one or more remote computers via a network interface. The connection may be over a local area network (LAN) wide area network (WAN), and can include all of the necessary circuitry for such a connection.
Typically, computer program instructions may be loaded onto the computer or other general purpose programmable machine to produce a specialized machine, such that the instructions that execute on the computer or other programmable machine create means for implementing the functions specified in the block diagrams, schematic diagrams or flowcharts. Such computer program instructions may also be stored in a computer-readable medium that when loaded into a computer or other programmable machine can direct the machine to function in a particular manner, such that the instructions stored in the computer-readable medium produce an article of manufacture including instruction means that implement the function specified in the block diagrams, schematic diagrams or flowcharts.
In addition, the computer program instructions may be loaded into a computer or other programmable machine to cause a series of operational steps to be performed by the computer or other programmable machine to produce a computer-implemented process, such that the instructions that execute on the computer or other programmable machine provide steps for implementing the functions specified in the block diagram, schematic diagram, flowchart block or step.
Accordingly, blocks or steps of the block diagram, flowchart or control flow illustrations support combinations of means for performing the specified functions, combinations of steps for performing the specified functions and program instruction means for performing the specified functions. It will also be understood that each block or step of the block diagrams, schematic diagrams or flowcharts, as well as combinations of blocks or steps, can be implemented by special purpose hardware-based computer systems, or combinations of special purpose hardware and computer instructions, that perform the specified functions or steps.
As an example, provided for purposes of illustration only, a data input software tool of a search engine application can be a representative means for receiving a query including one or more search terms. Similar software tools of applications, or implementations of embodiments of the present invention, can be means for performing the specified functions. For example, an embodiment of the present invention may include computer software for interfacing a processing element with a user-controlled input device, such as a mouse, keyboard, touchscreen display, scanner, or the like. Similarly, an output of an embodiment of the present invention may include, for example, a combination of display software, video card hardware, and display hardware. A processing element may include, for example, a controller or microprocessor, such as a central processing unit (CPU), arithmetic logic unit (ALU), or control unit.
The many features and advantages of the invention are apparent from the detailed specification, and thus, it is intended by the appended claims to cover all such features and advantages of the invention which fall within the true spirit and scope of the invention. Further, since numerous modifications and variations will readily occur to those skilled in the art, it is not desired to limit the invention to the exact construction and operation illustrated and described, and accordingly, all suitable modifications and equivalents may be resorted to, falling within the scope of the invention.