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 pointsLists the rules that define what is considered either a transaction entry point or an end point.
Data entitiesLists 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.):

  • these object types have predefined Function Point values that cannot be modified.
  • it is not possible to create new, edit, or delete any entries in this list.
  • object types that appear in this list are available as selection criteria items for custom Transaction Entry Point, Data Entity, End Point, and Excluded item rules - this allows you to define specific configuration rules that include the object types already listed as Built-in types for Data Entities.

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 itemsLists the rules that define the objects that will be excluded from the Transaction configuration.
Generic setsLists 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:

  • all Entry Points, Data Entities, Excluded Items, and End Points. Their export will contain the following properties:
    • description
    • DET value
    • RET value
    • contribute value
    • the current Activation status is not exported
  • all Generic Sets
  • all table name prefixes that have to be excluded from PK/FK analysis
  • all descriptions and regular expressions defining the table names to be excluded from Data Entities
  • all downloaded configuration rules are considered to be "custom" (and part of the "custom" package), even if the package that has been downloaded is pre-defined (i.e. shipped with Console/AIP Core)
  • calibration rules for Entry Points, Data Entities, Excluded Items, and End Points, are exported regardless of their Activation status (enabled or disabled)
  • if a set part of the definition of an Entry Point, Data Entity, Excluded Item, End Point, or Generic Set references another set through a member-of, an excluded-from, a caller-of, or a callee-of dependency, then the definition of the referenced set will be part of the exported items only if its package is the same one as the package being exported; if not, still the dependency will be exported, but not the definition of its referenced set.

Table key

Each section in each table has similar column headings, as follows:

ColumnDescription
Selection boxThe 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.
NameName 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.

ObjectsThe 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.

  • DET is set at 3 as default for Data Entities
  • DET is set at 1 as default for Transaction End Points
  • A value of 0 or empty is not authorized. Only positive integer values are allowed. The RET value cannot be greater than the DET value.

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.

  • DET is set at 1 as default for Data Entities
  • A value of 0 or empty is not authorized. Only positive integer values are allowed. The RET value cannot be greater than the DET value.
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.

  • If the Contribute value is set to YES, the objects identified by the rule will be then contributing to the computed Function Point value of the transaction, and each of the end points will contribue its DET value to the DET value of the transaction and 1 FTR (File Type References) to the FTR of the transaction.
  • If the Contribute value is set to NO, then nothing is counted for these end points. These will lead to end the transaction with out any contribution in terms of Function Points.
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:

  • DISABLED: When disabled, objects which are Entry Points, Data Entities or End points are excluded i.e. the complete Data Function or Transactional Function that has these objects as entry points, data entities or end points will not considered at all for Function Point calculations. But if these objects are not entry points, data entities or end points but are part of Transactional Function, then they will have an impact on the status of the Transactional Function when the Automated Enhancement Point (AEP) measure is being used (the default).
  • ENABLED: When enabled, objects which may be (but not necessarily) entry points, data entities and end points are considered as "technical objects" and they do not impact the status of Transactional Functions when the Automated Enhancement Point (AEP) measure is being used (the default). If the objects are entry points, data entities or end points the complete Data Function or Transactional Function which have these objects as entry points, data entities or end points will not be considered at all for Function Point calculations and the objects will be considered as "technical objects".

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)

  • For a predefined rule, the "view" icon will be displayed. This allows you to view a read-only visualization of the selected rule. A new page will open showing the rule graphically. This can help understand how the rule functions. 
  • For a custom rule, the "Edit" icon will be displayed. This allows you to edit the selected rule. A new page will open showing the rule graphically.

See Free Definition below for more information.

Click to enlarge:

This icon provides further options:

Check all contentSee Checking rule content below.
AddSee 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 pointData Entity

Transaction end pointExcluded 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:

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:

 

  • 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:

ColumnDescription
NameName of the object.
Type

The type of object.

ExcludedIndicates whether the object has been "captured" by an exclusion rule.
FullnameFullname 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.

Note that it is not possible to delete predefined rules.

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:

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

Edit is only available for custom rules.

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

Click here to expand...

In the right hand panel, click the New Selection Criteria button to add a new selection block:

Now edit the block to choose if you would like sub-objects of any matched objects included:

External objects (e.g. third-party libraries etc.) are included by default.

A new selection block will then be added - you can add as many of these selection blocks as you require: they will be linked with an OR operator:

Use the option button to configure the selection block. You can choose from the following matching 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

Click to expand

In this example we have chosen to match objects based on Property - Identification, type with the = match operator:

You can select other match operators - depending on the matching criteria you selected, there may be more operators available:

You can also add additional matches - or remove them using the close icon:

Save your choices to update the selection criteria and view the updated selection block with your choices:

Adding a Member of or Excluded from selection block

Click here to expand...

As previously, add your selection block and then choose the match criteria, this time selecting either Member of or Excluded from - i.e. capturing an object using an existing predefined/custom rule:

Choose the rule you want to use, and Save the configuration to update the selection block:

A link is used to depict the Member of or Exclude from matching criteria:

Click to enlarge

Removing criteria

Click here to expand...

You can remove criteria from a selection block, or you can remove the entire selection block from the rule:

Saving/discarding changes

Click here to expand...

When you have finished your modifications, remember to save the changes;

Or discard them if they are not required:

Quitting edit mode without first saving any changes you have made will result in the following dialog:

Show only Application types

An analysis needs to have already been run for this option to function.

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.