Page tree
Skip to end of metadata
Go to start of metadata

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.4, 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.4

Console ≤ 2.3

Options are described below:

Add button (only in Console ≤ 2.3)

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 or uploaded in the AIP Console - Architecture Studio. If there are no Architecture Models available, you will need to either create one or import one in AIP Console - Architecture Studio:

Note that the Add button is not available in Console ≥ 2.4 - 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

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

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.

  • No labels