Skip to main content
All CollectionsArdoq Use Case Solutions
Metamodel Compliance Reports
Metamodel Compliance Reports

Enforce the correct use of a metamodel by generating a report of data which does not the follow the prescribed approach

Jason Baragry avatar
Written by Jason Baragry
Updated yesterday

Ardoq's strength is its flexibility but a consequence of that flexibility means its not always easy to enforce or automatically check metamodel compliance. For example, in the following metamodel snippet from Strategy to Execution, an architecture team may want to ensure that all references between Objective components and the Organizational Unit components use the Owns reference type. It should be possible to detect if somebody made a mistake and created a reference from the Objective to the Organizational Unit. Similarly, if somebody accidentally created an Is Realized By from the Objective to, for example, a Process type.

The new Metamodel Compliance Reports help you check the compliance of data with a defined metamodel. Combined with report alert broadcasts, they can generate alerts when the metamodel is not being followed.

Compliance reports use gremlin to check if data from specified workspaces comply with a set of valid metamodel triples:

  • [source component type, reference type, target component type]

for example:

  • [Organizational Unit, Owns, Objective]

Usage

Simply run the report and it will show all metamodel triples which are invalid according to the list of valid metamodel triples in the report definition.

The report lists each item it finds which does not comply with a valid triple.

Each row shows:

  • Source Component, Source Component Type, Reference Type, Target Component Type, and Target Component.

In the following example, the report highlights an invalid references between an Organizational Unit (IT), is Assigned To, and Person (Tom Zaloga). The reference should go in the other direction

Combine this with Report Alert Broadcasts to receive broadcast notifications when violations occur.

Installation

Compliance reports are available in Solution bundles. There is one compliance report per Solution which checks the valid set of triples for that Solution. There is also a single Complete Solutions Metamodel Compliance Report which checks the total set of triples from all Solutions.

You can tailor these to your needs.

If you were using Solutions before these reports become available then you can ask Customer Service to install the Metamodel Compliance report bundle separately for you.

Configuration

It is possible to configure the metamodel compliance reports to match your own environment. For instance, if you have extended the Ardoq Solutions, use a specific subset of them, or even to check compliance with something quite separate such as the Archimate metamodel.

To configure a report you need to modify 3 parts of the report definition. We'll use Application Integration Management as an example.

First is the list of workspaces that define the data set to consider. Make the changes in the Data Selection area of the report definition.

The remaining configurations happen in the gremlin code

Second is the set of valid triples that are to be used to evaluate the data. Simply add, change or remove items from this list.

Be careful to note that the ardoq_parent reference type identifies the child component type before the parent component type.

Below are the set of valid triples for Application Integration Management.

Finally, adjust the section of code that identifies the list of component types to be collected for validation. Simply add to the hasLabel command.

Remember to Preview Search Results to ensure you're gremlin is correct before publishing.

Did this answer your question?