Description

The issue occurs when a forbidden link (or allowed link) is detected in Enlighten but is not raised (is raised) as violation in the dashboard for the metric "Architecture Check: Architecture checker model"

Figure 1

Figure 2

For more information on Architecture Checker refer to -  ACH - CAST Architecture Checker → ACH - How to... 

Observed in CAST AIP
Release
Yes/No
8.3.x(tick)
Observed on RDBMS
RDBMS
Yes/No
CSS  (tick) 
Step by Step Scenario
  1. Run Analysis.
  2. Generate Snapshot.
  3. Launch Dashboard.
  4. Observe that there is a false violation or a missing violation for Architecture Checker Quality Rules.
Action Plan
  1. Launch Enlighten and drag the objects between which you are expecting a violation for both the cases of authorized and forbidden links -
    In the below screenshot of Enlighten it can be seen that a forbidden link exists in the Knowledge Base. Here the access to "BP" Layer from "MAPPING" Layer is forbidden in the Architecture model, but we can notice that a link exists in the KB between two objects belonging to these respective layers.

    Figure 3

    Based on the links in Enlighten correct your configuration in the Architecture Model.

  2. Check if the objects "fullname" are well defined in the layers when using the clause "like". Indeed there might be objects having this fullname in order to have a consistent layer. This verification can be done with the following query on the KB 

    SELECT Count(*) FROM <KB>.OBJFULNAM
    WHERE fullname like <Layer_fullname> 

    As per the above results you can change your configuration in the Architecture Checker Model.

  3. Search the Architecture checker tables in the Knowledge base to find out if the links between the Layers have been created (or not) :

    Get layer IDs with the following query :

    SELECT subset_id
    FROM PMC_SUBSETS
    WHERE subset_name like '<Layer_name>'

    With these IDs check in the table PMC_ARCHI_APPLI_LINKS to find out if the architecture checker has created (or not) the links between the layers using the following query :

    SELECT caller_subset_id, callee_subset_id, count(1)
    FROM PMC_ARCHI_APPLI_LINKS
    where caller_subset_id = <Caller_layer_id> and callee_subset_id = <callee_subset_id>
    group by caller_subset_id, callee_subset_id 

    If no row is returned, it means that the architecture checker does not detect the access from the first layer to the second one. In this case contact  CAST Technical Support with Relevant input

  4. If the above steps do not resolve your issue then contact  CAST Technical Support with the below Relevant input

Relevant Input

  1. Screenshot of Enlighten showing the link between two objects or no link between two objects.
  2. Screenshot of the dashboard showing the problem pointing to the object in case of a false violation.
  3. Screenshot of Archtitecture model showing the forbidden link / authorized link between two layers that would contain the objects in point1 of Relevant input 
  4. Sherlock Export with the options CAST Database , CAST Logs , CAST Configuration Files checked.
Notes/comments


Related Pages