- Introduction
- Upload/Download rule options
- Table key
- Creating new custom rules
- Editing custom rules
- Checking rule content
- Deleting custom rules
- Working with Data entities - built-in types
- Working in Free Definition mode
- Working with the legacy CAST Transaction Configuration Center (TCC)
Summary: this section provides information about working with rules used to identify Transactions
Introduction
The Rules panel shows detailed information in multiple sections about the rules (default and custom) used to identify Transaction entry points, Data entities, Transaction end points and excluded items:
Click to enlarge:
Rules are grouped into an expandable section according to the type of item they identify:
Transaction entry points / end points | Lists the rules that define what is considered either a transaction entry point or an end point. |
---|---|
Data entities | Lists the rules that define what is considered a data entity, for example SQL objects such as tables. |
Data entities - built in types | This section is divided into three sections: Built-in types Contains a predefined list of object types that are ALWAYS considered as Data entities (e.g.: SQL Tables etc.):
Note that in previous releases of Console, some built-in types may have been displayed with a description ending in - legacy (or even - legacy - legacy in some rare cases) - this was so that it was possible to distinguish between multiple metamodel types or categories that used the same description. From ≥ 1.24, the use of - legacy to distinguish metamodel type or category descriptions is no longer used, instead where two metamodel type or category descriptions are the same, the name of the metamodel type or category is now appended in brackets. For example: Excluded table names regular expressions (case insensitive) See Working with Data entities - built-in types below. Table prefixes excluded from PK/FK analysis See Working with Data entities - built-in types below. |
Excluded items | Lists the rules that define the objects that will be excluded from the Transaction configuration. |
Generic sets | Lists all the Generic Sets that have been created in Free Definition mode. Generic Sets define a set of objects and can be used in other rules. |
Upload/Download rule options
Available in Console ≥ 2.1.
The Upload and Download options enable you to export/import Transaction Configuration rules as custom configurations:
Upload | When the Upload button is clicked, you can choose an existing .tccsetup file (created with the legacy CAST Transaction Configuration Center tool, or downloaded from Console previously) to upload. The rules in the file will all be considered to be "custom" (and part of the "custom" package). If you attempt to upload a .tccsetup file that contains identical rules to those that already existing in other packages in Console, an error will occur preventing you from making the upload: You can manually edit the .tccsetup file to change or remove conflicting rules if necessary. |
---|---|
Download | When the Download option is clicked, you will be prompted to choose the base package you would like to export. The export will result in a .tccsetup file (an XML based file): Technical information The download will contain the following items:
|
Table key
Each section in each table has similar column headings, as follows:
Column | Description |
---|---|
Selection box | The check box enables you to select multiple rules and apply changes "en masse" - for example, you can use the Activation slider on multiple rules, rather than having to individually apply the change to each rule. |
Name | Name of the Rule. |
Package | The name of the Package the rule belongs to. Packages with names are predefined standard configuration files (.TCCSetup) containing common rule (i.e. sets) configurations for specific technologies - these are provided "out-of-the box" with AIP Core or with the extension you have installed. Packages marked as "Custom" are those containing user-defined rules. |
Objects | The total number of objects that the rule has identified during the analysis/snapshot. |
DET (Data Element Types) | Data Entities and Transaction End Points only CAST will set a default value for the DET (Data Element Types) of the objects detected by the rule. This is so that the real Function Point value for the objects can be determined by CAST using its internal algorithms.
|
RET (Record Element Types) | Data Entities only CAST will set a default value for the RET (Record Element Types) of the objects detected by the rule. This is so that the real Function Point value for the objects can be determined by CAST using its internal algorithms.
|
Contribute | Transaction End Points only CAST will use either YES or NO for the Contribute value of the objects detected by the rule. This is so that the real Function Point value for the objects can be determined by CAST using its internal algorithms.
|
Updated | Rules flagged as updated, are those that have been changed (i.e. as part of an upgrade or the installation of a new version of an extension). User-defined rules (those that are part of the "custom" package) will never be flagged as updated. Note that all predefined rules are flagged as Updated when using Console for the first time. |
Technical | Only visible in the Excluded Items section: This option enables you to designate any objects in the rule as "technical objects" in the next snapshot. To designate the objects captured by the rule as "technical" from the next snapshot, enable the slider (by default it is set to disabled). It is only possible to set custom rules to ENABLED - all predefined rules are always set to disabled:
You can also enable the Technical option when you create a new custom rule: |
Activation | This slider allows you to activate or deactivate a specific rule. Deactivating a rule will cause any objects identified by the rule to be ignored in a subsequent snapshot, or when the computing Transactions. Note that all predefined rules and newly created custom rules are Active by default. |
(view) or (edit) |
See Free Definition below for more information. Click to enlarge: |
This icon provides further options:
| |
Check all content | See Checking rule content below. |
Add | See Creating new custom rules below. |
- Each column can be sorted in ascending / descending numerical or alphabetical order using the sort icon in each column header:
- Each column can be filtered on specific column content:
Creating new custom rules
You can create new rules for any type by using the Add icon:
A new rule dialog will then be displayed. Required fields will depend on the type of rule you are creating:
Transaction entry point | Data Entity |
---|---|
Transaction end point | Excluded item |
Generic set | - |
Click Save to complete the creation process. You will now need to further refine the new custom rule using the Free Definition editor - this will enable you to configure selection criteria (object type, matching type etc.) so that the objects you require are picked up by the rule.
- New custom rules will be assigned to the "Custom" package:
- New custom rules will not be taken into account until a new snapshot is generated, or the compute Function Points action is used.
- You can check the content of a new rule using the Check Content option.
Editing custom rules
You can edit the basic criteria (i.e. name/attributes) used for a custom rule as follows - click the icon next to the rule:
Click to enlarge
A floating dialog box will be displayed enabling you to modify the basic criteria for the rule:
To edit more complex selection criteria use the Free Definition editor.
Checking rule content
You can check the content (i.e. the objects captured) of a custom or predefined rule in various ways:
- To check the content for an individual custom or predefined rule:
- click the icon next to the rule and select Check Content
- click the tick icon on the rule itself when Working in Free Definition mode:
- To check the content of all custom or predefined rules in a specific section, click the button at the top of a section.
A floating dialog box will be displayed showing the objects that have been captured by the rule or rules:
Column | Description |
---|---|
Name | Name of the object. |
Type | The type of object. |
Excluded | Indicates whether the object has been "captured" by an exclusion rule. |
Fullname | Fullname of the object. |
Deleting custom rules
Custom rules that you have created can be deleted by clicking the icon next to the rule and selecting Delete:
Click to enlarge:
The custom rule will be removed and any objects identified only by this rule will no longer be included in Transaction / Function Point data when a new snapshot is generated or the compute Function Points is run.
Working with Data entities - built-in types
The Data entities - built-in types section contains two customizable sub-sections to manage excluded tables and table prefixes excluded from PK/FK analysis. These sections are explained in more detail below.
Excluded table names regular expressions (case insensitive)
This section allows you to define criteria based on Regular Expressions that are used to match specific table names. Some predefined entries will also be listed in the table. All matching tables will NOT be considered Data Entities at all. The section will be pre-populated with rules pre-defined by CAST. These pre-defined rules target table names that should never be taken into account during the computation of the set of objects that will be identified as being Data Entities, for example tables containing the words "temp", "session", "error" etc. This is in line with the OMG CISQ AFP Specifications.
To add a new Regular Expression to define a criteria click ADD, enter the Description (to help you remember what the regular expression targets) and the Regular Expression in the dialog and click UPDATE:
- You can find out more about defining Regular Expressions in AIP Console - Use of Regular Expressions.
- ONLY server side table names will be matched against the Regular Expression. All other object types are not taken into account.
To edit or delete an existing Regular Expression, use the relevant option in the table:
- 1 = Edit existing prefix
- 2 = Delete existing prefix
Pre-defined CAST regular expressions that have been deleted can be restored by pressing the RESET button.
Other options:
Reset | Use this button to reset the list to the rules pre-defined by CAST. Any custom rules will be removed. |
---|---|
Check all content | This option will produce a list of the tables that are being excluded and not considered as Data Entities. The Filtered By column shows whether the table is being excluded due to a default rule ("LOOKUP TABLE ALGORITHM", see OMG CISQ AFP Specifications for Data Entities below) or by a default or a custom Regular Expression ("REGULAR EXPRESSION") as shown in the image below: Click to enlarge |
OMG CISQ AFP Specifications for Data Entities
By default, CAST will pre-populate the Excluded table names (case insensitive regular expressions) with a set of pre-defined rules to EXCLUDE certain objects from being considered as Data Entities. These pre-defined rules are in line with the OMG CISQ AFP Specifications for Data Entities.
In addition, the OMG CISQ AFP Specifications dictate that other database tables (over and above the pre-defined rules discussed above) should NOT be considered as Data Entities. These objects are those with a lookup structure that match the following criteria:
- Have one primary key
- Optionally, have (only) one integer attribute to support order (a single integer attribute is allowed to support indexing and sorting the lookup data)
- Have no other database table with a cascade delete relation to it
- Have less than three text attributes or have a set of text attributes whose names match "name", "message", "type", "code", "description", "desc", or "label".
Objects that match all of the above criteria will NOT be considered as Data Entities, and are listed as having the "LOOKUP TABLE ALGORITHM" property shown in the Filtered by column of the objects list shown by CHECK ALL CONTENT. This behavior cannot be altered or overridden. This explains why some database tables are never displayed as Data Entities. This behavior can be altered using the Activate look-up table filtering option in Application - Function Points - Settings.
Table prefixes excluded from PK/FK analysis
This section allows you to define a list of prefixes that are used to name your SQL tables. Any prefix on the list will be excluded when the Function Points computation algorithm attempts to detect Data Functions from SQL tables using Foreign key (FK) and Primary Key (PK) relationships. So if all or a majority of your tables use a naming convention that includes prefixes such as "T_" and "DT_" (for example), you need to add these prefixes to the list so that they are excluded and unrelated tables are not grouped together.
To add a new Table Prefix, click ADD, enter the prefix in the dialog and click UPDATE:
To edit or delete an existing prefix, use the relevant option in the table:
- 1 = Edit existing prefix
- 2 = Delete existing prefix
Working in Free Definition mode
Free Definition mode is designed with two main purposes in mind:
- Provides a graphical visualization of how the rule functions - read only mode.
- Provides a method to edit custom rules graphically and configure selection criteria to capture specific objects - edit mode
Accessing Free Definition mode
To access Free Definition mode, click the button in the rules panel next to a rule you want to view or edit.
Free Definition - read-only mode
Read only mode (the default mode) is used for predefined rules. It provides a simple visualization of how the rule functions. Take for example this standard predefined rule which defines Transaction Entry Points for Java (javax.swing). Read-only mode is shown in the header bar since changes cannot be saved:
Click to enlarge
This shows that objects that will be considered as Transaction Entry Points will be:
- All Java Class objects calling any object in a set of of objects via an Inherit link down to a depth of 20.
- OR
- All Java Interface objects calling any object in a set of objects via a RelyOn link down to a depth of 1.
- OR
- All Java Method objects calling any object in a set of objects via an Access link down to a depth of 1.
The called set of objects must be captured by the predefined rule "Standard Entry Point - Java - javax.swing (GS)", which matches any Java Class, Java Interface or Java Method that has a fullname like:
javax.swing.JPanel
javax.swing.JFrame
javax.swing.JWindow
javax.swing.RootPane
javax.swing.JDesktopPane
javax.swing.Box
Zoom option
The Free Definition mode (whether in read-only or edit mode) offers a zoom option to help view the details of complex rules. Click the plus or minus buttons to access it:
Member-of and Excluded-from links
When a rule is more complex and stipulates a group of objects, either to be included (member-of) or excluded (excluded-from), then the Free Definition mode can show this using arrows:
Click to expand
Free Definition - edit mode
Adding and editing selection criteria
When a custom rule is created (see Creating new custom rules) it is only possible to configure the basic rule criteria such as the name and any attributes (such as DET/RET for a Data Entity). If you want to configure more complex selection criteria such as the object type and match type, you can use the Free Definition edit mode.
You can configure the following allowing a complex set of criteria to be used:
- One or multiple "selection blocks" linked by an OR operator
- Include sub-objects of the target objects (or not)
- Include external objects
- Within each "selection block" you can configure one or multiple "blocks" linked by AND / OR operators to capture objects based on the following match criteria:
- Match (using multiple operators) by object Name
- Match (using multiple operators) by object Full Name
- Match (using multiple operators) by object Path
- Match (using multiple operators) by object Type
- Match objects based on a "member of" grouping of existing predefined/custom rules - i.e. capturing an object using an existing predefined or custom rule
- Match objects based on a "excluded from" grouping of existing predefined/custom rules - i.e. excluding an object using an existing predefined or custom rule
Adding a simple selection block
Adding a Member of or Excluded from selection block
Removing criteria
Saving/discarding changes
Show only Application types
The Show only Application types option is available in Edit mode only. This option is particularly useful as it narrows down the choice of items when you are creating a rule. The total list of items that can be present in the Analysis schema is very long, so restricting the list to only those items relevant to the current Application can save time:
When selected (by default this option is not active), this option will hide all items that are not used by the current Application. For example, when editing a rule and adding in a property:
Option active | Only those types present in the application are available for selection in the drop down: |
---|---|
Option inactive (default position) | All possible types present in the application are available for selection in the drop down: |
Working with the legacy CAST Transaction Configuration Center (TCC)
A two synchronization system is in place for the legacy CAST Transaction Configuration Center (TCC):
Rules created in CAST Transaction Configuration Center (TCC)
Any rules created under Free Definition, By naming, By inheritance and By type (in any category such as Entry Points, Data Entities etc.) will be automatically displayed in Console when the Save button is clicked in CAST Transaction Configuration Center (TCC). These rules will ALL be classed as "custom" rules in Console and can be edited/viewed in Free Definition mode:
Refresh the Rules page in Console to ensure that any rules that have recently been created in CAST Transaction Configuration Center are updated.
Rules created in Console
Any custom rules created in Console will be visible in CAST Transaction Configuration Center as Free Definition rules in the relevant category (such as Entry Points, Data Entities etc.):
Newly created rules in Console will only be visible in CAST Transaction Configuration Center when the live connection is refreshed, for example, reconnecting, running compute etc.