However, performing split checking and allowing the integration of arbitrary simulation tools is not trivial. In addition, a specialization for dedicated simulation tools would degrade the functionality of the simulation-flow-model which integrates arbitrary simulation tools. Therefore, the abstractions implemented by tools (see Section 3.4.2 on page ) are required to make all simulation tools look similar from the simulation-flow-model's perspective. The tool interface (see also Section 3.4.2 on page ) has been carefully designed to fulfill this requirement. Since any information about a tool's evaluation is passed through its invocation interface, SIESTA is able to detect splits without specific knowledge about the actual simulation tools, which are encapsulated by the tool interface.
The detection of split-points is performed by an incremental comparison of tool evaluations, resulting from a newly submitted evaluation of the simulation-flow-model, against preexisting tool evaluations of the split tree. Two tool evaluations are considered to be equivalent if their input deck templates as well as the values of the symbols which are associated with these templates are equal. For a newly submitted model evaluation with N tools in its tool-flow the computational effort for split detection is approximately N, since each tool evaluation only needs to be compared against existing tool evaluations of the same branch of the split tree.