Purpose

This page provides information on AFP Evolution Algorithm

Applicable in CAST Version
Release
Yes/No
8.3.x(tick)
8.2.x(tick)
8.1.x(tick)
8.0.x(tick)
7.2.x(tick)
7.0.x(tick)
Applicable RDBMS
RDBMS
Yes/No
Oracle Server(tick)
Microsoft SQL Server(tick)
CSS2(tick)
CSS1(tick)
Details
Please find below the algorithm used for AFP:

♦ Transactions are computed as following:

A transaction is identified when a path is found from an entry point (usually a screen) to an end point (usually a table) using all the links except Belongs To and internal escalated links.
The transaction is composed of:
 The entry point
 The data function or the end point
 The call graph between

♦ Entry Point selection:
Usually a screen or a batch but it can be any object of the types that are specified in the TCC as entry point types.
♦ End point selection:
Usually a table or a file but it but it can be any object of the types that are specified in the TCC as end point types
♦ Dependencies considered when building the Transaction
If the entry point is a class, then continue on all methods of this class
Else compute the next component by following any type of links: inherit, relyon,.. except the links Belongs To and what we call internal escalated links which are links that come from anonymous class in Java for example.
If there are multiple paths between the same set of entry and end points, then the related paths are considered as a single transaction
Enhanced Function Points
The transaction is computed the same way as before for the new version of the application
   
MODIFIED TRANSACTION
If a component in the call graph (including entry point and end point) is identified as modified (compared to the previous version) then the transaction is identified has MODIFIED. Note that a component is identified as changed if its checksum based on its source code or structure has changed. Comments are not taken into account.The transaction is also identified as MODIFIED if a component has been added or removed in the call graph (except entry point and data function or end point).
     
ADDED TRANSACTION

If a new entry point appear that was not present before and if it’s possible to build a path to an end point, then the resulting transaction is considered as ADDED. If an end point is added and a transaction can be built from an existing entry point, then the transaction is considered as ADDED too.
   

DELETED TRANSACTION
If the entry point in a previous transaction does not exist anymore, the transaction is considered as DELETED. It is the same if the end point is deleted.