Compute
When you have completed the calibration process, you now need to Compute the results. Essentially this means forcing the CAST algorithm to recalculate the Automatic Function Point (AFP) values for objects that are:
- already in the results and you have changed the Computed FP
- new objects that will be detected using the sets you have created
In addition the Compute option will display the results in the AFP Calibration node.
To compute the Function Points:
- Choose the Calibrate > Compute option on the toolbar, click the button on the toolbar or click the located in the AFP Calibration node - Right hand panel.
- If you have unsaved changes, the CAST Transaction Configuration Center will prompt whether you want to save those changes and will then start the Compute action.
- Once complete, results will be displayed in the AFP Calibration node - Right hand panel.
In this page:
- Using the Compute option
- Generation of sets
- Compute configuration
- Data Function default type option
- Filter look-up tables
- Data Function automatic FK/PK merge
Save objects of empty Transactions (those that do not reach any Data Entity or End point)
- Default FP value for empty Transaction Functions
- Logging
Using the Compute option
Before running the Compute action as described above, you need to have at least already run an analysis on your Application, if not, you cannot use the Compute action at all.
If you have run an analysis and you then attempt to run the Compute action, the CAST Transaction Configuration Center will prompt you that no snapshot data is present:
The CAST Transaction Configuration Center requires a special function (the pre-snapshot preparation action) to have been run before the Compute action can be run - this is to ensure that the Function Point data for Data Functions and Transactions is correct and up-to-date. The pre-snapshot preparation action is executed as part of a snapshot generation, as such, CAST recommends that you generate a snapshot before you attempt to run the Compute action. However, generating a snapshot can be time consuming particularly if you are generating multiple snapshots to take into account small adjustments in the analysis configuration to correctly analyze the Transactions and Data Functions you require.
In previous versions of CAST AIP, this issue was avoided through the creation of a specific Snapshot Preparation Assistant job that could be configured to run automatically immediately after running an analysis - or independently - this was then sufficient to run the Compute action in the CAST Transaction Configuration Center. In the current version of CAST AIP, the Snapshot Preparation Assistant is no longer available, therefore, and in order for you to avoid having to generate a snapshot each time you change your analysis configuration, you can do one of two things:
Run a pre-snapshot preparation in the CAST Transaction Configuration Center
If you attempt to run the Compute action and no snapshot is present (and you have already run the analysis), then the following dialog box will be displayed:
- Clicking Yes will run a pre-snapshot preparation action (this is equivalent to running the Snapshot Preparation Assistant in previous releases of CAST AIP) and then the Compute action will be executed.
- Clicking No will run the Compute action anyway, but the Function Point data will not be up-to-date.
Run a pre-snapshot preparation action via the command line
If you prefer to automate the pre-snapshot preparation action, you can use the CAST Management Studio command line option "PrepareSnapshot" (see the CAST Management Studio help for more information about the Command Line options):
CAST-MS-cli.exe PrepareSnapshot -connectionProfile CAST_MNGT -appli "TEST"
Running this option from the command line is identical to running the pre-snapshot preparation option in the CAST Transaction Configuration Center (and is also identical to running the Snapshot Preparation Assistant in previous versions of CAST AIP).
Generation of sets
When the compute action is run, the CAST Transaction Configuration Center will also run the Generate sets action to obtain the most up-to-date data. Note that when two sets have been created with identical rules/criteria so that they capture the same objects, only one of the sets will be used and the other will be ignored.
Compute configuration
By default for the Compute action, the CAST Transaction Configuration Center will assume various default settings:
Option | Description |
---|---|
Data Function default type | Allows you to choose between the EIF and ILF computation type. |
Filter look-up tables | Allows you to deactivate (NO position) the filtering on "lookup tables" which prevents them from being considered as Data Entities. I.e. setting the option to NO will mean "lookup table" will be considered as Data Entities. |
Data Function automatic FK/PK merge | Allows you to deactivate (NO position) the automatic merging of certain tables as "Details" of another table based on Foreign Key (FK) and Primary Key (PK) relationships. |
Save objects of empty Transactions (those that do not reach any Data Entity or End point) | Allows you to configure whether objects of empty Transactions will always be saved (ALWAYS position - default), or will never be saved (NEVER position), or will be saved only if the Enhancement measure used in the application is AEP ("ONLY AEP" position). |
Default FP value for empty Transaction Functions | Allows you to define a pre-defined "default" Function Point value to be used for empty transactions. |
Automatic configuration refresh | See Working with standard configuration files (.TCCSetup) for more information. |
Setting the options
All options can be set as follows:
- at global level for ALL Applications
- at Application level
To change the configuration at global level for ALL Applications:
- Click Calibrate > Computation Settings located on the menu bar
- A dialog box will be displayed - set the option(s) you require:
- Click OK to apply the new setting and close the dialog box.
- The settings will be applied (in the next Function Point computation) to all Applications present in the CAST Transaction Configuration Center.
To change the configuration at Application level:
- Right click the Application for which you want to change the computation settings
- Select Computation Settings
- A dialog box will be displayed:
- First untick the Use Global Computation Settings option to override the settings set at global level
- Next set the option(s) you require:
- Click OK to apply the new setting and close the dialog box.
- The settings will be applied (in the next Function Point computation) only to the selected Application.
Data Function default type option
This option allows you to choose between the EIF and ILF computation type:
EIF
As mentioned previously, CAST AIP will compute all Data Functions in ALL Applications using the EIF (External Interface Files) type. If the Data Function is linked by Update/Delete/Insert/Write links, its type will be changed to ILF. This can be seen in the following example where the compute action is set to the default "EIF":
ILF
If the compute configuration is changed globally for All Applications or at Application level to ILF, then CAST AIP will compute all Data Functions in ALL Applications using the ILF (Internal Logical File) type. If the Data Function is only linked by Select/Read links (i.e. it has no Update/Delete/Insert/Write links nor any UNTYPED Use links (when the type of the link has not been completely determined by the analyzer)), its type will be changed to EIF.
Filter look-up tables
As defined by OMG CISQ AFP Specifications (see Built-in parameters node - Right hand panel), the elements identified as "lookup tables" will be filtered out and NOT considered as Data Entities. This will be the default behavior, but it can be changed if you prefer to deactivate this filter by changing the selector to "NO":
Data Function automatic FK/PK merge
The CAST Transaction Configuration Center may automatically merge a certain table as "Detail" of another one based on Foreign key (FK) and Primary Key (PK) relationships (see How does CAST determine which tables are considered as detail in a Data Entity?). This is the default behavior, following the OMG CISQ AFP specifications. However, this feature can be deactivated by changing the selector to "NO":
Warning: If this setting is deactivated and then later reactivated, the automatic merge based on Foreign Key (FK) and Primary Key (PK) analysis will only take place if both elements (main and detail) are NOT calibrated. If any of the involved elements is in a calibrated situation (ignored, deleted, manual merge, etc.) the FK-PK automatic merge will not occur.
Save objects of empty Transactions (those that do not reach any Data Entity or End point)
Allows you to change whether objects that are part of empty transactions (those that do not reach any Data Entity or End point) should be saved. The default position is ALWAYS:
- ALWAYS : objects of empty Transactions will always be saved
- NEVER : objects of empty Transactions will never be saved
- ONLY AEP : objects of empty Transactions will be saved if the Enhancement measure used in the application is AEP, but will not be saved if the Enhancement measure of the application is EFP
Default FP value for empty Transaction Functions
Allows you to define a "default" pre-defined Function Point value to be used for empty transactions:
Function Points can be only calculated for transactional functions that reach at least one data entity or one end point. If this is not the case, the transactional function will have a value of 0 for both DET and FTR, and therefore a value of 0 for Function Points (i.e. it will be an "empty transaction"). In order to avoid this situation, you can configure a pre-defined Function Point value to be used for empty transactions.
The possible values are: 0, 3, 4, 5 ,6, 7 and ASSESS. The selected value will be applied to the transactional functions that have a 0 Function Point value after the computation process. The default FP value items will be flagged in the AFP Calibration node (see Data Functions/Transactional Functions sub-nodes - Right hand panel) with a green icon:
With regard to the ASSESS option - this will force the CAST Transaction Configuration Center to assess Function Points for all Transactional Functions for which the call graph does not reach a data entity nor an end-point based on existing Function Points that have been computed. CAST Transaction Configuration Center determines the average number of nodes in the call graph of non-empty Transactional Functions corresponding to one DET. This ratio allows CAST Transaction Configuration Center to assign the number of DET to empty Transactional Functions, depending on the number of nodes in their associated call graph. The Function Point value will be then assessed based on that number of DET and with an FTR=1. Results can be seen in the AFP Calibration node:
- If 0 is selected, it will actually deactivate this feature, i.e. those transactional functions that have a 0 Function Point value after the computation process will remain with a 0 Function Point value.
- It is not possible to set ASSESS when Save objects of empty Transactions is set to NEVER:
Default FP values in the CAST AIP dashboards
Since it is possible to set an default Function Point value for empty transactions, these are now considered as valid and can be displayed in the CAST AIP dashboards via the Unadjusted Transactional Functions metric (10204). A complementary information on the function point detail contains the string ": Estimated" which indicates that the transaction has a default FP value:
Notes:
- If a Default FP Transactional Function is ignored during calibration, the "ignored status" will prevail and therefore it will still be sent with Function Point = 0 (and no "Estimated" indication)
- If a Default FP Transactional Function contains also a user-defined Function Point, the user-defined value will prevail and therefore it will still be sent with Function Point = <user-defined-value> (and no "Estimated" indication)
- With regard to EFP/AEP: the Default FP flag is now stored per transaction ( EFP_Tran_Info.FP_Source ) so it is possible to distinguish the Default FP values from the rest of Transactions. If the FP_Source = 1 then the Transaction will have a Default FP value.
Logging
When the Compute action is run, the Log will contain a Function Computation report to help you see what has occurred, for example:
See also Using Transaction Graph Adjustment - the Function Computation report contains information about whether the Transaction Graph Adjustment has been used.