Summary: This section of documentation provides an explanation of how to use the CAST Architecture Checker in an automated and repeatable way.

How does it work?

The CAST Architecture Checker CLI can perform the following actions:

To execute an action via the command line, you must specify the CAST-ArchiChecker-CLI.exe executable (rather than the CAST-ArchiChecker.exe executable which is used for the GUI). Command arguments are expressed as verbs introduced by a dash (-), followed by various mandatory arguments that must be enclosed with double quotes (") if containing blank spaces. Some command arguments should appear only once (such as -connectionProfile for example), whereas others can appear as many times as necessary.

For options which require a file path, if the given path is not absolute, the file will be created into, or read from, the same CAST AIP temporary directory as used by the CAST Management Studio.

Miscellaneous information

Command arguments

-checkModel

This option allows you to run a check model action (the same action available in the GUI) against an Application. Results are displayed in text format.

Available options

OptionMandatoryDescription
-connectionProfile ["]<connection-profile-name>["](tick)Specifies the name of connection profile to use to connect to the Management schema on which your Application is stored.

-application ["]<application-name>["]

(tick)Specifies the Application you want to check the Architecture model against.

-model ["]<path to Architecture model>["]

(tick)Specifies the location (full path) on disk/network storage of the .CASTArchitect file containing the Architecture model you want to check.
-noGUI(tick)Forces the command line to be run without the GUI.

Examples

CAST-ArchiChecker-CLI.exe -checkModel -connectionProfile  ["]<connection-profile-name>["] -application ["]<application-name>["] -model ["]<path to Architecture model>["] -noGUI


CAST-ArchiChecker-CLI.exe -checkModel -connectionProfile "back_office_mngt on CastStorageService _ localhost:2282" -application "back_office" -model "C:\CAST\sample.CASTArchitect" -noGUI

Results with violations

The -checkModel results (i.e. the violations to the Architecture Model) will be printed in the standard output, using the following format (note that all the lines containing a violation element will have the prefix "VIOLATION:"). The separator that will be used between the different fields will be a tabulation ('\t'):

(potentially other log lines)
...
Number of violations: X
callerLayer  callerId  callerName  callerType  callerFullname  calleeLayer  calleeId  calleeName  calleeType  calleeFullname  linkId  linkType
VIOLATION:callerLayer1  callerId1  callerName1  callerType1  callerFullname1  calleeLayer1  calleeId1  calleeName1  calleeType1  calleeFullname1  linkId1  linkType1
VIOLATION:callerLayer2  callerId2  callerName2  callerType2  callerFullname2  calleeLayer2  calleeId2  calleeName2  calleeType2  calleeFullname2  linkId2  linkType2
...
(potentially other log lines)

Results without violations

If the -checkModel action does not return any violations, this will be displayed:

(potentially other log lines)
...
Number of violations: 0
...
(potentially other log lines)

Error codes

ErrorDescription

EXIT_SUCCESS(0)

Action ran successfully.
EXIT_CONNECTION_FAILURE(1)An error was raised while attempting to connect to the Management Service schema defined in the connection profile.
EXIT_FAILURE(2)General error code.
EXIT_INIT_FAILURE(3)An error occurred during the initialization phase.
EXIT_OPEN_MODEL_FAILURE(4)An error occurred while attempting to access the Architecture model file (.CASTArchitect).
EXIT_SELECT_APP_FAILURE(5)An error occured while attempting to access the Application.
EXIT_SPA_FAILURE(6)An error occurred during the prepare snapshot operation (this will only occur when running the action against an Application that does not contain any snapshots.
EXIT_CHECK_MODEL_FAILURE(7)An error occured during the check model operation.

Logs

All logs for the -checkModel action are stored in:

%PROGRAMDATA%\CAST\CAST\Logs\ArchiChecker