| Prev | Next | Start of Chapter | End of Chapter | Contents | Glossary | Index | Comments | (12 out of 14)

Manually Resolving Conflicting Definitions

When G2 encounters a conflicting definition during an ordinary merge, or an unmergable conflicting definition during an automerge, it does the following:

  1. Displays a message in the Operator Logbook indicating that conflicting definitions exist. For example:


  2. Changes the name in the Class-name attribute of the secondary definition. This also changes the class name for all instances of that class that are being merged. The new secondary name has the form:

    where primary-name is the original name of the definition, and module is the module in which the secondary definition exists.

  3. Creates a conflict workspace. The workspace displays the tables of the two conflicting definitions, with the primary definition on the left., highlights the corresponding attributes in the two conflicting definitions whose values are not equivalent.

The next figure shows a typical conflict workspace and explains the purpose of each part of its display.

Responding to Conflict Workspaces

The existence of unresolved conflicts among merged KBs does not prevent G2 from running the resulting KB, but the results may not be what was intended when the merged KBs were designed. To insure correct results, all conflicts should be resolved, and the previously conflicting definitions merged into one.

Most conflicts are easily resolved, because they result from minor incompatibilities. In such cases, the answer is usually to change the attributes in the secondary definition and leave the attributes in the primary definition intact, but this approach is not required.

The attribute tables on a conflict workspace are real tables: any change to them changes the corresponding definition. Using a conflict workspace to eliminate conflicts and merge definitions is exactly the same as merging two definitions independently of KB merging. The conflict workspace just provides a convenient interface to the process.

To merge definitions with minor incompatibilities:

Some conflicts are not so easily resolved, because they are unusual or complex in some way. The next section contains examples of various conflicts and shows you what to do about them.

| Prev | Next | Start of Chapter | End of Chapter | Contents | Glossary | Index | Comments | (12 out of 14)

Copyright © 1997 Gensym Corporation, Inc.