Automotive Diagnostic Tree

Using KEEL® Technology

This is an active window with an embedded KEEL Engine.


The Automotive Diagnostic Tree demonstrates the application of a KEEL based solution in a simulated automotive diagnostic application.

The concept being demonstrated addresses a problem that exists in automotive service shops, where diagnostic codes produced by vehicles are used to help the service technician diagnose the problem in the vehicle. When these diagnostic codes were first standardized, they gave a good indication of the problem. However as automobiles become more and more complex, there may be numerous reasons for each code. Service manuals are provided to walk the service technician through a number of additional tests to isolate the problems. These paper based or web based manuals are difficult to maintain, costly to produce and do not take into account information that could be used to skip tests or reorder tests to isolate the problems in the most effective manner.

This demonstration focuses on a single diagnostic code: "P0109 Intake Air Temperature Circuit Malfunction". In this demonstration case, there are two reasons: R1 and R2 that could cause the diagnostic code to be generated. A number of tests by the service technician are required to isolate the problem.

To demonstrate the flexibility of a KEEL based solution, a Modifier is provided. The modifier simulates a condition that is not included in the service manual as a separate path to solve the problem. In the KEEL solution, this modifier dynamically adjusts the steps to identify the problem. While this demonstration is very simple (only a single modifier), a real KEEL solution could include multiple variables that allow any number of alternative paths to the most efficient test sequence. The variables could be age of the car, the altitude, whether the car is warm or cold. The variables could be set by the operator, or they could be adjusted by sensors attached to the car. For example, the current running through the Timing Solenoid could drive the sequence of tests.

This demonstration on Compsim's web site is a Macromedia Flash application. The code to position the scroll bars, option buttons and state indicators is created with standard Macromedia tools. The remainder of the code (not shown) is created by the KEEL toolkit. It is in the KEEL toolkit, where the relationships between the diagnostic codes, the required tests and outside factors are defined. The KEEL toolkit has a menu option to document the design in Macromedia Actionscript, as well as in C, Microsoft C#, C++, C++.NET, Microsoft Visual Basic, VB .NET, Java, Octave, Python and PLC Structured Text. The resulting solution is a very small footprint engine, no matter which language is choosen.

This system is based on Compsim's patent pending KEEL technology that covers the toolkit user interface, Compsim's decision-making algorithms, and the resulting KEEL engine.

KEEL Development:

The following images show the portions of the design of the system from within the KEEL toolkit.

KEEL Source Code

While these images are probably not readable in this document, the design is easy to create and visualize in the KEEL toolkit. While in the design mode the user can "see" the design in action and graph the activity.


When the demonstration is started, the window shown below is opened.

Opening Screen

The discussion at the left side of the window describes the demonstration.

The combo box at the top of the screen allows the user to select a diagnostic code. This demonstration supports only one diagnostic code: P0109 Intake Air Temperature Circuit Malfunction

This is the default value when the demonstration is started. The demonstration is started by selecting the diagnostic code in the combo box at the top and then clicking on the "Run" button. This causes the text boxes at the right side of the screen to be opened. The top box at the right gives instructions to the service technician. A complete system may ask the service technician to input measured values from the system. In this demo, the user is just asked if the test isolated the problems.


The user responds with the "Yes" / "No" button response to indicate whether the test suggested identifies the particular problem.

Assuming that the user indicates "No" for several of the proposed tests, each completed test will be logged in the lower window and a new test will be proposed.

Running Test Results

There are cases where all of the tests proposed by the manufacturer fail to identify the problem. These are cases where the manufacturer has not kept the service manuals up to date or where the diagnostic process has not been adequately developed. When using the paper system, there is no feedback system in place.

Using a KEEL based system the service technician is advised to inform the manufacturer so corrective measures can be pursued.


The horizontal scroll bar titled "Modifier" is used to simulate the outside influence that dynamically adjusts the path through the diagnostic tests to be performed by the service technician. The impact of this modifier is designed into the system using the KEEL toolkit. To exercise the demo, slide the Modifier bar to the right. This will initialize the test process, so when the user depresses the "Request Direction" button a new sequence of tests will be requested.

Modifier at 100

Run the tests again with the modifier set at 90. Another path through the tests will be selected.

Modifier at 90


This demonstration uses a single "Modifier" to reconfigure the test process. In a real-world application, numerous modifiers might be incorporated. The vehicle itself could provide the modifiers from recorded or measured signals (driving conditions, component degradation, filters, etc). The electronic manuals could even be built into the vehicle electronics of the car, allowing the car to "suggest" to the maintenance personnel how to diagnose and treat its own symptoms.

Of course, since KEEL Engines are real-time adaptive control systems, those KEEL Engines could be interpreting the status of various sensors and making adjustments to the system as it operates.

KEEL Demonstrations:

The demonstration applications on Compsim's web site are not intended to be tutorials on the use of the KEEL toolkit. If you are interested in learning more about Knowledge Enhanced Electronic Logic and KEEL technology, please contact Compsim at the phone number listed below.