Lattix uses the concept of Design Rules to specify the allowed nature of the relationship between system elements based on the intended architecture. Rules can be specified for subsystem layering, component independence, and API enforcement at any level.
These Design Rules enable the intended architecture to be communicated and enforced with each new build, preventing erosion and technical debt from increasing further. Remediation and refactoring can then be prioritized according to the highest value in the architecture.
Rules-based architecture enforcement can be automated through the use of Lattix Command Line utilities in the build system, especially in CI DevOps pipelines. Impact analysis reports on violations can be generated automatically and presented in the merge request to assess remediation.