Non lib projects#
Projects shall contain only one top-level Operator and its used Types and Constants
Description#
This rule checks if all non-top-level operators, types, and constants of Non-‘Lib’ projects are located in other packages nested within the root package.
The rule parameter describes the expected prefix for library projects. Default value is Lib
.
Rationale#
This enforces compliance with a specific modeling standard by ensuring that a project only contains one root package containing one top-level operator with its required types and constants.
Verification#
This rule skips all checks if the current project’s name starts with the expected prefix for a library.
For non-library projects, the rule checks all packages, types, and constants in the model. It fails if:
The root package contains more than one operator.
The root package contains a type or constant that is unused by the root operator.
Resolution#
Modify the project such that it only contains one top-level operator along with its required types and constants.
Customization#
N/A.