Summary: CAST AIP 8.3.0 introduces a number of features and changes as listed below.

Technology support changes

Please see Technology coverage changes in CAST AIP 8.3.x for more detailed discussion of this subject.

Installation and deployment

Storage hosts

  • CAST highly recommends that you use the CAST Storage Service to host your CAST Analysis/Dashboard/Management Service schemas as it is the "preferred" storage host. See Migrating CAST AIP schemas from Oracle Server and Microsoft SQL Server for more information.
  • CAST has introduced CAST Storage Service 3 (based on Postgres 9.6.x) and recommends that you use it to onboard new Applications in CAST AIP 8.3.x.

CAST Management Studio Startup Wizard

The CAST Management Studio Startup wizard has been modified so that it is now possible to customize the location of all of the following folders for all newly installed CAST AIP Management Service schemas:

  • Source Code Delivery
  • Source Code Deployment
  • Logs (CAST Management Studio/CAST Delivery Manager Tool)
  • LISA (Large intermediate storage area) / LTSA (Large temporary storage area)

Click to enlarge:


By default, the fields will be prepopulated with default paths, however, these can be overridden if a custom deployment is required. In addition, it is possible to configure the CASTGlobalSettings.ini file and set default paths that will be used for all newly installed CAST AIP Management Service schemas.

Default log path

By default, all logs produced by CAST AIP will be stored in the following location:

%ALLUSERSPROFILE%\Application Data\CAST\CAST\Logs\

This location is equal to %PROGRAMDATA%\CAST\CAST\Logs. You can override this location using the CAST_LOG_ROOT_PATH variable in the CASTGlobalSettings.ini file.

context.xml reorganization - Health Dashboard / Engineering Dashboard / RestAPI

The context.xml for the Health Dashboard / Engineering Dashboard / RestAPI have been restructured as follows:

  • An uncommented profile is provided for Tomcat 8 / 8.5
  • Commented profiles for Tomcat 7 are provided
  • Example profiles for Oracle and MS SQL Server have been removed
  • Profiles with and without connection pooling are provided for the Engineering Dashboard (CAST-Engineering.war and CAST-Health-Engineering.war) and RestAPI.
The syntax of the profiles themselves has not changed.

Users, groups and roles configuration - Health Dashboard / Engineering Dashboard / RestAPI

The configuration of users, groups and roles for the Health Dashboard / Engineering Dashboard / RestAPI have been updated and brought into line with the methods used in the CAST AIC Portal:

  • Two authentication modes are available - Default Authentication (replaces Static List mode) and Standard LDAP (replaces Active Directory mode)
  • Configuration files for users, groups, and roles have changed:
    • Authentication mode activation/configuration
      • Introduced security.properties file similar to the one used in the CAST AIC Portal. All customer parameters for security modes are now in security.properties. Parameters remaining in the web.xml are not to be changed by end-users.
      • The following parameters have been removed from web.xml
        • authentication.mode -> replaced by security.mode in the file security.properties
        • authentication.activedirectory.domain -> replaced by security.ldap.usersearch.base and security.ldap.groupsearch.base in the file security.properties
        • authentication.activedirectory.ldapurl -> replaced by security.ldap.url in the file security.properties
        • authentication.activedirectory.login -> replaced by security.ldap.account.dn in the file security.properties
        • authentication.activedirectory.password -> replaced by security.ldap.account.password in the file security.properties
        • authentication.ldap.group-search-method -> replaced by more flexible security.ldap.groupsearch.filter in the file security.properties
    • Groups
      • The groups.xml file no longer exists
        • In Default Authentication mode, groups are directly listed in the users.properties file according to Spring's standard format (comma separated).
        • In Default Authentication mode, if a user is not a member of a group, the group "NoGroup" must be used in the users.properties file
        • In LDAP mode, only groups originating from the directory are available for use and there is no requirement to list LDAP groups in a configuration file
      • References to LDAP groups in roles.xml must now use Common Names instead of full Distinguished Names
      • Nested groups are now supported for role assignments. For instance, if user jdoe is member of groupA, which is member of groupB which is used to define a role, then jdoe will be attributed the groupB role.
    • Roles
      • User and group roles for Default Authentication (replaces Static List mode) and Standard LDAP (replaces Active Directory mode) modes are now managed in a new file called roles.xml
        • The ldap-roles.xml file no longer exists
        • roles.xml uses the same syntax as ldap-roles.xml
        • References to LDAP groups in roles.xml must now use Common Names instead of full Distinguished Names
      • Though deprecated, definition of roles in users.properties remains possible in Default Authentication mode for backward compatibility. In such cases, warnings are logged to encourage a move to roles.xml
      • Though deprecated, definition of roles in ldap-roles.xml remains possible for backward compatibility.
        • If roles are defined in a ldap-roles.xml file:
          • it is now applicable in all modes, not just LDAP.
          • warnings are logged to encourage a move to roles.xml
      • ADMIN replaces ROLE_ADMIN as the preferred label for admin role, though ROLE_ADMIN remains as an alias for backward compatibility

See the following documentation for more information:

When upgrading to 8.3.x, you must therefore ensure that your dashboard user authentication configuration is adapted to the new format and syntax.

User authentication - CAST AIC Portal

Minor improvement to  user authentication configuration have been introduced:

  • Nested groups are now supported for role assignments. For instance, if user jdoe is member of groupA, which is member of groupB which is used to define a role, then jdoe will be attributed the groupB role.

Data authorization - Health Dashboard / Engineering Dashboard / RestAPI

Minor improvements to data authorization configuration have been introduced:

  • References to LDAP groups in authorizations.xml must now use Common Names instead of full Distinguished Names
  • Nested groups are now supported for authorization assignments. For instance, if user jdoe is member of groupA, which is member of groupB which is used to define an authorization, then jdoe will be attributed the groupB authorization.

See the following documentation for more information:

When upgrading to 8.3.x, you must therefore ensure that your dashboard user authentication configuration is adapted to the new format and syntax.

Extensions

Extensions shipped with CAST AIP 8.3.x and installed as part of the upgrade/new installation

As part of CAST's drive to improve and speed up the frequency of software releases, a process of "externalizing" the source code delivery and analysis capabilities of CAST AIP has begun in CAST AIP 8.3.x. To this end various official CAST AIP extensions are shipped with CAST AIP 8.3.x and are installed automatically as part of the upgrade process and also when installing new CAST AIP "triplets". Please see Technology coverage changes in CAST AIP 8.3.x for more information.

Installation of extensions

It is no longer necessary to manually "import the Assessment Model" when installing or upgrading CAST AIP or custom extensions when using CAST AIP ≥ 8.3.x. See Install an extension.

Engineering Dashboard

General

  • Show More: A configurable upper limit for the Show More button has now been implemented. By default an upper maximum of 5000 violations is set when the "All" option is clicked - this is to improve performance. You can change the upper maximum if required (see the violationsCount option in Engineering Dashboard json configuration options).

Action Plan

The Action Plan interface has undergone some changes and improvements:

  • A Last Update column (sortable) is now available to display when then object/violation was last updated, i.e. any of the following:
    • added to the Action Plan
    • comment edited
    • priority/tag edited
  • A Comment column (sortable) is now available to display the free text comment that was assigned to the object/violation when it was added to the Action Plan.
  • An icon is now available to take you direct to the violation's source code:

  • It is now possible to edit the comment/priority added when the violations were added to the Action Plan:

  • It is now possible to add multiple violations to the Action Plan using either the SHIFT key to select the violations you require, or by selecting ALL the violations to the selected Quality Rule via a single check box.

Exclusions

It is now possible to exclude violations from the next full snapshot or consolidation action, for example if the violation is a false positive or is irrelevant. See Engineering Dashboard - Exclusions for more details:

  • Violations can be added to the Exclusion list in the same way as violations are added to the Action Plan:

  • A comment can be added at the time the Exclusions are added to the list - this comment can also be edited in the future:

  • Violations are first added to "scheduled Exclusion list" and then will automatically move into the "Active in current snapshot list" when a new full snapshot or consolidation action is processed. You can swap between the two lists with a drop down option list:

  • Excluded violations are listed in the "Exclusions" tab next to the Action Plan:

  • Managing exclusions (adding/removing etc.) requires the EXCLUSION_MANAGER role - see User authentication.
  • An exclusions tile is displayed by default in the home page:

  • An icon is available to take you direct to the violation's source code from the Scheduled Exclusion list:

  • It is possible to export the list of Scheduled and Active Exclusions to Excel/CSV format using the following icon:

  • Search on object names has now been implemented: when the focus is on the Application Investigation feature, using the search feature will return results restricted to objects:
    • Search results will include items dependent on the location in which you made the search.
    • search functions in "contain" mode, i.e. search results must contain text matching the search query term
    • the number of results is displayed
    • the list of results for object searches contains the following information: object name page, object type and object fullname
    • results are paginated, scroll with the scroll bar to view more results
    • clicking an item in the search results will drilldown to the exact location of the item in the dashboard

  • Search results in the Engineering Dashboard are no longer contextual - i.e. results will be returned that are global to the entire current snapshot - (i.e they are no longer limited to the location you searched from - i.e. a Business Criterion)
  • Technical notes about the Search feature - you can find out more in Managing the Engineering Dashboard search indexes.

    • The Search feature uses the open source Lucene search software
    • It relies on the existence of an index which is generated automatically when the application server is started.

Technical Context (Application Investigation view)

A new section called the Technical Context has been added to the Application Investigation view - this section displays the selected object's properties, for example:

  • Number of code lines
  • Number of comment lines
  • etc.

Health Dashboard

Drill down to Engineering Dashboard / legacy CAST Engineering Dashboard

A new method of drilling down into the Engineering Dashboard/legacy CAST Engineering Dashboard has been added. A microscope icon will now be visible when the mouse rolls over a Quality Rule (for example in a Health Factor details page):

On clicking the microscope, you will be taken to the appropriate location in the target dashboard, depending on the item that was in focus when you clicked on the microscope icon. When the target dashboard is the Engineering Dashboard, all violations for the Quality Rule that was in focus when the microscope icon was clicked, will be displayed.

Note that this feature functions regardless of whether you are using a combined CAST-Health-Engineering.war or standalone CAST-Health.war and CAST-Engineering.war.

Addition of unitsValue parameter for "period" in cmp.json

The parameter unitsValue has been added to the "period" option in the cmp.json (this option enables fine tuning of the time period options for evolution data that are available to users in the top right hand corner of the dashboard). The unitsValue parameter will be used for the text in the drop down list and can be modified for specific locales (Chinese for example) to provide a translation:

See Health Dashboard json configuration options for more information.

User Input Security

Blackbox methods

The location used to store blackbox methods has been changed. Previously, blackbox methods were stored in the following locations:

<CAST-installation-directory>\configuration\BlackBoxes\DotNet\
<CAST-installation-directory>\configuration\BlackBoxes\J2EE\

The new location is as follows (files for all supported technologies can be put in this location - there is no need to separate them into technology specific sub-folders). See User Input Security - manually configuring blackbox methods for more information.

%PROGRAMDATA%\CAST\CAST\[major_ver.minor_ver]\blackboxes

Notes:

  • This folder will be created by the CAST AIP installer.
  • If you are upgrading to CAST AIP 8.3.x, please ensure that you copy any existing blackbox method files from the previous to the new location.

CAST Management Studio

GUI

Preference settings changes

The following Preference settings have been moved from the CAST General to Platform Settings windows:

  • Job generation
  • Storage

Click to enlarge:

Mainframe - Cobol new analysis option

A new analysis option is available at Technology, Application and Analysis Unit level in the CAST Management Studio for Mainframe analyses. When active, all copybooks will be excluded from the analysis scope - instead they will be used to expand COBOL programs during the analysis. As a result, there will be less copybook files in the analysis results - those that are present will only be those directly referenced in the Application (click to enlarge):

Note that the option will be set to true (active) for all new Applications onboarded in CAST AIP 8.3.x and above. Any Applications upgraded from previous releases of CAST AIP will have the option set to false to minimize the impact on analysis results.

Prepare Snapshot now available in GUI

The Prepare Snapshot option (previously only available in the CLI) has now been exposed in the GUI. It is ONLY necessary to run this option when you have used the Run Analysis only option AND when you are using the CAST Architecture Checker/CAST Transaction Configuration Center and want to run specific options (such as Compute in the CAST Transaction Configuration Center): 

Scope setting for Dynamic Link Rules

When assigning a Dynamic Link Rule at Application (Common/Technology) or Analysis Unit level, it is now possible to force the CAST Management Studio to take into account any scopes defined in the DLM.xml file (defined with the <scope>...</scope> element) as shown below. By default, the Scope option will be set to "Force use of CMS scope" - this will mean that any scope defined in the DLM.xml file (using the <scope>...</scope> element) will be ignored and a scope matching the tab in which the rule file is defined will always be used during an analysis. To overrride this change the option to Preserve scope from file.

Reports and Logs - Execution tab - Application editor

A new section has been added to the Execution tab in the Application editor to manage reports generated automatically by CAST AIP or custom extensions and to access the analysis log folder/LISA folder:

Reports will be published following an analysis if any installed CAST AIP or custom extension is pre-configured to do so. This depends entirely on the extension. Reports will show information about the quality of the analysis results. Different types of reports can be published - if a "detailed" report is published (see column Detailed Report) it can be accessed via double click.

CLI

RejectDelivery

A new option RejectDelivery has been added to automate the rejection of a delivered Version in the CAST Management Studio. See Automating CAST Management Studio tasks.

ConfigurePlatformPreferences

Two new parameters have been added for this command line option to enable the automatic configuration of the Logs root folder - a new feature in CAST AIP 8.3.x - see Automating CAST Management Studio tasks:

  • jobLogRootPath
  • jobLogIncludeDate

Consolidate

A new option Consolidate has been added to automate the upload of snapshots generated for a given Application to the associated Measurement Service schema. See Automating CAST Management Studio tasks.

DeleteVersion

A new option DeleteVersion has been added to automate the deletion of a delivered Version in the CAST Management Studio. See Automating CAST Management Studio tasks.

ImportAssessmentModel

A new option ImportAssessmentModel has been added to automate the import of an Assessment Model in .PMX format into the CAST Management Studio. See Automating CAST Management Studio tasks.

ManageAICPApplication

A new option ManageAICPApplication has been added to automate the import of an Application into the CAST Management Studio Applications view from the Delivery folder that has been created by the Application owner (in the CAST AIC Portal) and populated with a Version (including source code packages). This option is available in the GUI as "Manage an Application". See Automating CAST Management Studio tasks.

StopManagingAICPApplication

A new option StopManagingAICPApplication has been added to automate the removal of an Application from the CAST Management Studio and the Management Service schema defined in the connection profile. The Application is then free to be managed in another Management Service schema. This option is available in the GUI as "Stop managing an Application". See Automating CAST Management Studio tasks.

CAST Delivery Manager Tool (GUI)

  • A new section has been added in the Package Configuration tab enabling you to define a "root development folder" if you are forced to deliver source code from a location that is not the same as the location used to develop the source code. Without the "root development folder", Missing File and Folder alerts would be generated.

  • The reporting options available in the CAST Delivery Manager Tool Version screen have been updated:
    • The existing "Detailed content report" is unchanged, but it is now called "Report on found files"
    • A new report "Report on delivery consistency" is now available to help validate a packaging action before it is delivered:

  • The Log Viewer in the CAST Delivery Manager Tool now includes two additional columns (Message ID and What to do?) to help you validate a Package: previously remediation suggestions were included in the error message - these have now been split with the remediation suggestion provided in the What to do? column.

CAST Transaction Configuration Center (GUI)

See the CAST Transaction Configuration Center help for more information about these items:

Application node - right hand panel display

The right hand panel of the Application node has been modified to display information about:

  • Snapshots generated for the Application
  • Technologies present in the Application
  • Object Types present in the Application

AEP Details button

A new Display AEP Detail button has been added into the Enhancement node for AEP results:

 

When clicked a text file will be opened in the default text editor containing detailed information about the AEP results were calculated. See the CAST Transaction Configuration Center documentation for more information.

Improved handling of predefined rules/sets

The way in which predefined rules/sets (now known as Packages stored in .TCCSetup files) is handled has been improved:

  • Predefined rules/sets for core AIP technologies are shipped with CAST AIP in the configuration\TCC folder of the CAST AIP installation folder and are automatically applied to new Applications
  • Predefined rules/sets for extensions are now being shipped with the extension and are then automatically applied when the extension is installed

The Transaction Configuration node has been modified to enable these "Packages" to be managed (i.e. activated or deactivated):

New columns have been added in the various subnodes to indicate:

  • whether a rule/set is active or not
  • whether a rule/set has been updated (i.e. a new version has been applied)
  • where a rule/set originates (custom or predefined)

The majority of predefined rules/sets that were delivered in previous releases of CAST AIP as "Entry Points > By type", are now delivered as Free Definition entries as these are much more poweful. Additional rules/sets have also been provided to ease the configuration process:

CAST AIP ≤ 8.2.xCAST AIP ≥ 8.3.x

Note that:

  • Applications upgraded to CAST AIP ≥ 8.3.x will have the new rules/sets set to "INACTIVE" to avoid impact Function Point counting results.
  • As a result of these changes, the legacy "Templates" system where rules/sets created in the Templates node were automaticallty applied to live Systems/Applications is no longer functional: configurations created in the Templates node are limited to that node only and can only be exported to TCCSetup file.

AFP Calibration - estimated Function Point values

The "AFP Calibration" node now displays additional statistics with regard to invalid transactional functions: the associated number of estimated AFP and percentages is now displayed, compared to values related to valid transactional functions. Note that this information is only displayed if (in the latest Function Point computation) an estimated Function Point value was defined for Empty Transactional Functions:

Compute action configuration options

Three new options have been added to the Compute action configuration options:

OptionDescription
Filter look-up tablesAllows 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 mergeAllows 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.
Estimated FP value for empty Transaction Functions

Allows you to define a pre-defined Function Point value to be used for empty transactions. Components with estimated values will be flagged in the AFP Calibration > Transactional Functions node (click to enlarge):

Since it is possible to set an estimated 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 ( empty ) has en estimated value:
With regard to EFP/AEP: the estimated flag is now stored per transaction ( EFP_Tran_Info.FP_Source ) so it is possible to distinguish the estimated from the rest of  the transactions. If the FP_Source = 1 then the transaction has an estimated Function Point value.
You can find out more about these options in the CAST Transaction Configuration Center help.

Improvements to the handling of root items that are removed

When merging Transactional Functions or Data Functions, one of the Transactional Functions / Data Functions is set as the root item of the group. The root represents the group of merged items. If the entry point / main table of the root is no longer available, the associated root Transactional Function / Data Function will also no longer be available and will be dropped.

In this situation CAST has improved the handling where the entry point / main table of the root item that was previously missing is then recovered: the Transactional Function / Data Function which was associated to this will be recovered as the same object as before. However, it won't automatically become the root item of the merged items - this is because the merging information is lost. If the merge operation was achieved through a custom procedure, this merge may return to its initial state, otherwise if the merge was done manually, it has to be redone manually to get back to its initial state.

Transaction graph adjustment feature

A new feaure has been introduced to enable the custom adjustment of links (saved in the Analysis Service schema) that are used to build Transaction Graphs: Transaction graphs are built using objects and links stored in the Analysis Service schema by CAST AIP analysis tools (such as Analyzers, Extensions, Reference Finder, KB Update Assistant, etc.) and many of the Function Points related features are based on these Transaction graphs, whose quality strongly defines the accuracy of their results.

However, it has often been reported that some links are missing, or unexpected, or oriented incorrectly. Consequently, users must change or drop some of these links to get accurate Transaction graphs, but at the cost of impacts to behavior and/or results of some other features in CAST AIP. The Transaction graph adjustment feature aims to avoid these changes that are by nature affecting areas wider than just the computation of the Transaction graphs.

Please see the CAST Transaction Configuration Center help in How ToUsing Transaction Graph Adjustment for more information.

CAST Architecture Checker (GUI)

See the CAST Architecture Checker help for more information about these items:

Template feature

A "templates" feature has been added to the CAST Architecture Checker: it allows you to define one or more templates (that can be freely distributed as Windows files) and which can be selected as a basis for a new Architecture Model. In essence, templates function exactly like Architecture Models in that you can define layers and sets and can save the configuration to file. However, a template can be used as the starting point for a new Architecture Model.

In addition, the CAST Architecture Checker ships with several pre-defined templates to answer some of the most common recurring models:

  • Mainframe - Error handling via a dedicated paragraph
  • Mainframe - Respect data access layer

Character Set support

CAST AIP can now support source code endcoded in Chinese (GB18030 or BIG5). See Supported character sets for all AIP products and tools for more information.

New Quality Measures

The following measures have been added to provide statistics about the violations that have been added to the Action Plan / Exclusion List (see Engineering Dashboard - Action Plan for more details):

  • 67216: Number of pending violations for action plan
  • 67217: Number of fixed violations for action plan
  • 67218: Number of exclusions

The measures are calculated during the snapshot/snapshot consolidation and are pushed to the Measurement Service schema and are therefore available for use with the Health Dashboard. If violations are added to the Action Plan or Exclusion List between two snapshots, these measures will not be updated before the next snapshot, or by a consolidation of the snapshot.

These measures will be of particular use with the following Health Dashboard tiles:

  • SizingMeasureEvolution

  • SizingMeasureResult / SizingMeasureResults

Quality Rule changes

Removal of "non-unified" Quality Rules and associated Contextual Parameters

In CAST AIP 8.3.x, all Quality Rules flagged as "non-unified" have been removed from the standard CAST AIP Assessment Model delivered in CAST AIP 8.3.x. These Quality Rules were not triggered by default, had to be manually enabled using a SQL query and all had "unified" (i.e. multi technology) equivalent Quality Rules.

Note also that any Contextual Parameters used by these non-unified Quality Rules will also have been removed - for example the "xxl_threshold" parameter that was used exclusively by the Quality Rule 7744 "Avoid SQL queries on XXL tables that no index can support (ABAP)".