Summary: this section provides an introduction to working with Architecture Checker models for your Application.

Introduction

Architecture Checker models are used to check the organization, architecture and structure of an Application's source code. Within a model, layers and dependencies between these layers are configured to reflect how an Application SHOULD/SHOULD NOT be structured. Each layer captures objects matching a selection criterion and each dependency specifies which link types are authorized or forbidden between these layers.

When a model is assigned to an Application, the model is checked during the application analysis and in its most simplistic form, a "violation" of this model will be reported when the analysis identifies a link between two objects belonging to different layers that does not respect the dependencies (authorized or forbidden) that have been defined in the model itself. 

One Architecture Model will be materialized as a rule named as follows:

Architecture Check: <architecture_model_name>

The rule will contribute to the Architecture Models Automated Checks Technical Criterion, which in turn contributes to the Security Health Factor/Business Criterion. Violations can be viewed both in Console and in the CAST Engineering Dashboard.

Note that by default Architecture Models materialized as rules will have the following compliance thresholds (these cannot be changed):

  • Minimum rule compliance percentage required to get a 4.00 grade = 99.0%
  • Minimum rule compliance percentage required to get a 3.00 grade = 90.0%
  • Minimum rule compliance percentage required to get a 2.00 grade = 70.0%
  • Minimum rule compliance percentage required to get a 1.00 grade = 10.0%
This section of Console enables you to do the following:

  • View a list of all Architecture Models that have been assigned to the current application. These models will then be checked during the analysis and results produced. Architecture Models can be created, viewed and managed at a global level in the Architecture Studio.
  • In Console ≥ 2.10Architecture Models are published as specific extensions and this screen allows you to assign any number of existing Architecture Models to the current application using the Add button. 
  • In Console 2.4 - 2.9, Architecture Models are published as specific extensions and then the specific extension should be included in the next analysis (it is not possible to add a model directly as in previous releases)). See AIP Console - Architecture Studio - Publishing models for more information. Note that publication does NOT publish the "extension" on CAST Extend or CAST Extend local server - instead the extension is instead made available internally within Console (in the Application - Extensions panel).
  • In Console ≤ 2.3, this screen allows you to assign any number of existing Architecture Models to the current application using the Add button. 

Available options

Console ≥ 2.10

Console 2.4 - 2.9

Console ≤ 2.3

Options are described below:

Add button (only in Console ≤ 2.3 and ≥ 2.10)

Use this button to attach a new Architecture Model to the Application. By default Console will offer the Architecture Models that have already been created/uploaded and published in the AIP Console - Architecture Studio. The Add button is disabled if there are no Architecture Models available (you will need to either create one or import one and then publish it), or there are Architecture Models available but they have not been published.

≥ 2.10

A banner will then inform you that the Install Models action must be run in order for the Architecture Model to be taken into account. This action can be done manually or automatically as part of the next analysis (when it is run):

The Status column indicates that the chosen model has been associated (included) with the current application. When the model has been installed, the Status will change to installed):

If you have published a newer release of your Architecture Studio model (i.e you made a change and then republished it which will have incremented the version number), Console will offer you the newer release:

Existing associated release:

≤ 2.3

Note that the Add button is not available in Console 2.4 - 2.9 - instead, Architecture Models are published as specific extensions and then the specific extension should be included in the next analysis (it is not possible to add a model directly as in previous releases). See AIP Console - Architecture Studio - Publishing models for more information. Note that publication does NOT publish the "extension" on CAST Extend or CAST Extend local server - instead the extension is instead made available internally within Console (in the Application - Extensions panel).
Rule IDA unique identifier for your model. This ID is used to identify the Architecture Model throughout the CAST dashboards.
NameName of the Architecture Model
File Name (only in Console ≤ 2.3)

Equivalent file name:

  • for Architecture Models created from scratch in Console, the file name will automatically take the form "<Name>.CASTArchitect".
  • for imported Architecture Models, the file name will have been determined when the Model was saved in the end-user application CAST Architecture Checker
WeightThe weight of the rule. This value defines how "important" the rule is in the parent Technical Criterion "Architecture Models Automated Checks". This is defined when creating the model.
CriticalDisplays whether the rule defined by the Architecture Model is critical or not. This is defined when creating the model.
VersionDisplays the version number of the extension as defined in AIP Console - Architecture Studio (see AIP Console - Architecture Studio - Publishing models for more information).
Last Modified

Displays the date the model was last modified. For imported Architecture Models that have not been subsequently modified in Console, the date the model was imported will be displayed.

Status (only in Console ≥ 2.10)

Can display either:

  • included > the Architecture Model has been associated to the current application but the "Install Models" action has not yet been run

  • installed > the Architecture Model has been installed, meaning that it will be taken into account during the next analysis:

Options button (only in Console ≤ 2.3)

Note that these options are not available in Console ≥ 2.4 - instead, Architecture Models are published as extensions (see AIP Console - Architecture Studio - Publishing models for more information):

  • To remove an Architecture Model, please remove the corresponding extension using the "Included Extensions" interface in Application - Extensions.

Check

Console can run a check of your Architecture Model against the current Application so that you can see any violations of the current Architecture Model. A snapshot is required. Results of the check will be shown as below - each violation of the rule is shown in one row of information (the example below is for a model that forbids a dependency from Java client code to SQL database code):

Click to enlarge

You can also download the results as a CSV file:

Download

Use this option to download the selected Architecture Model to a .castarchitect file (this file can then be loaded in CAST Architecture Checker).

Remove

Use this option to unassign the Architecture Model from the current application. Removing an Architecture Model does not remove the Architecture Model file from the Architecture Studio and you can re-add it if required.