Cloning behaviour from a legacy system
Purpose
To create behaviour by cloning behaviour from an existing system, using Legacy Elimination mode.
Theory
When cloning behaviour from a legacy system, Legacy Elimination mode is used. This mode analyses inputs and outputs from the legacy system and asks the user to justify each type of output. Where there is a conflict between the output of the legacy system and the knowledge model, the Erudine Behaviour Engine asks the user to decide which case is correct and to justify their decision.
The benefits of working in Legacy Elimination mode rather than building a new knowledge model include the following:
- It is much faster.
- There is no need to review situations.
- The decision process is focussed on the important features of each situation rather than how the conclusion was made.
- It often finds defects in the original system.
- It is very effective at identifying missing data sources.
In this exercise, the Erudine Behaviour Engine will automatically display each situation where there is a conflict between the output of the legacy system and the knowledge model.
| Note The output for each entrant from the legacy system is obtained from the Outcome node, which can be seen in the Knowledge Model screen. |
As the domain expert, you will create behaviour based upon the following information:
- Deborah is allowed entry because she has a valid visa.
- Francisco is detained because he is carrying more than 10,000 units of currency.
- Gary is arrested because he is transporting a cargo of cocaine in an HGV.
Actions
To clone behaviour from an existing system:
- Open the Legacy System 1 knowledge model.
- Double click on the Schengen Decision node.
- Click the Minimise Down
button in the top left corner of the knowledge model, to minimise it. - Click the Legacy Elimination Mode
button to change to Legacy Elimination mode.
When you are in this mode, the Legacy Elimination Mode button is selected on the toolbar and the first situation requiring input is displayed, which is Deborah. At this stage, the knowledge model within the Erudine Behaviour Engine contains no behaviour.
Deborah is allowed entry because she has a valid visa.
The Justification tab is labelled Add Allow Entry.
Additionally, there is a blue concept in the conceptual graph showing the same information, which means that the legacy system thinks that Deborah should be allowed entry. The Justification pane is red, which means that the knowledge model currently contains no behaviour to justify this conclusion for Deborah.

- Right click on the Visa concept and select Add Path Between: [int:Entrant] And [int:Visa] from the context menu.
The Entrant and Visa concepts change to green, to show that these concepts are the reason why Deborah is being allowed entry.
Since this reason does not conflict with any other behaviour within the system, because no other behaviour exists at this stage, the Justification pane changes to green.

- Click the OK button at the bottom of the screen to confirm the justification that you have just defined. Any other entrant who has a visa will automatically be allowed entry, based upon this behaviour.
The next situation that contains a conflict between the output of the legacy system and the knowledge model is displayed.

Note
The situations that do not require any user input are removed from the Situation List as the next situation that contains a conflict is displayed.
Francisco is detained because he is carrying more than 10,000 units of currency.
The top pane shows the legacy system's conclusion for Francisco in the top left corner, which is Detain.
The bottom pane shows the Erudine Behaviour Engine's conclusion in the top left corner, which is Allow Entry, and the conceptual graph shows the situation for Deborah on which this conclusion is based.
To date, the only behaviour that has been learnt by the Erudine Behaviour Engine is to allow entry to entrants who have a visa.
You must now justify the reason why Francisco should be detained rather than allowed entry, which is because he is carrying more than 10,000 units of currency. - In the top pane, right click on the Cash Carried concept and select Open Justification Dialog from the context menu.
The Justifications dialog box is displayed. - From the Numeric folder, select the Numeric Comparison justification option.
Details of the Numeric Comparison justification option are displayed. - Select Is Greater Than from the Plug-in Context drop-down list.
- Enter 10000 in the Second Number box and click OK.
A new concept called Constant appears below the Cash Carried concept and both concepts change to green, to show that these concepts are the reason why Francisco is being detained.
Additionally, since this reason does not conflict with any other behaviour within the system, the Justification pane changes to green.

- Click the OK button at the bottom of the screen.
Any other entrant who is carrying more than 10,000 units of currency will also be detained automatically, based upon this behaviour.
The next situation that contains a conflict between the output of the legacy system and the knowledge model is displayed.
Gary is arrested because he is transporting a cargo of cocaine in an HGV.
The top pane shows the legacy system's conclusion for Gary, which is Arrest.
The bottom pane shows the Erudine Behaviour Engine's conclusion, which is Detain, and the conceptual graph shows the situation for Francisco, on which this conclusion is based.
The Erudine Behaviour Engine's conclusion is based upon all the behaviour that has been learnt by the system. To date, you have taught the system to allow entry to people who have a visa and to detain those who are carrying more than 10,000 units of currency. Since Gary is carrying 30,000 units of currency, the system has concluded that he should be detained.
You must now justify why Gary should be arrested rather than detained; this is because he is carrying cocaine, which is an illegal cargo. - In the top pane, right click on the Cocaine concept and select Add Path Between [int:Entrant] and [int:Cocaine] from the context menu.
The Entrant, HGV and Cocaine concepts all change to green, to show that these concepts are the reason why Gary is being arrested.
Additionally, since this reason does not conflict with any other behaviour within the system, the Justification pane changes to green.

- Click the OK button at the bottom of the screen.
The next situation that contains conflicting conclusions between the legacy system and the knowledge model is displayed.
The top pane shows the legacy system's conclusion for Charles, which is Detain.
The bottom pane shows the Erudine Behaviour Engine's conclusion, which is Allow Entry, and the conceptual graph shows the situation for Deborah, on which this conclusion is based.
Unfortunately, as the domain expert, you do not have the information necessary to justify this conclusion for Charles. This often happens during the Legacy Elimination process, and is usually a sign that there is a bug in the original data or that there is missing data.
Since you have insufficient information, you cannot continue with this exercise. - Close the knowledge model without saving changes.
Platform: all
EBE Version: 2.4
Category: Introduction Guide
Author: Patrick Peisker