Determine the steps of path in association network
You can analyse use of paths in association network in the following steps:
- Examine every operation and see what associations must traverse in order to get information. For this it is not of necessity those associations traverse in both directions.
For each operation, you should note following points:
- How often is operation called? How costly is operation to perform?
- What is "fan-out" along a path through network? Estimate the average count of each "many" association encountered along the path. Multiply individual fan-outs to obtain the fan-out of the complete path, which represents number of accesses on the final class in the path. Note that "one" links do not increase fan-out, although they increase cost of each operation slightly.
But there is no need to concern about such small effects.
- What is fraction of "hits" on final class, (objects which meet selection criteria, if any are operated on? If most objects are rejected during traversal due to some reason, then a simple nested loop might be inefficient for finding target objects.