Requirements
Tool Requirements
Validation Core
Bazel Component Validator
- Tools.BazelComponentDependableElementConsistency
- Description:
The validator shall report an error when a
Bazel dependable_element target exists without a corresponding package <<SEooC>> in the PlantUML component diagram, or when a package <<SEooC>> exists without a corresponding Bazel dependable_element target.
- Tools.BazelComponentComponentConsistency
- Description:
The validator shall report an error when a
Bazel component target exists under a dependable element without a corresponding <<component>> entity in PlantUML under the same parent, or when a <<component>> entity exists in PlantUML without a corresponding Bazel component target under the expected parent.
- Tools.BazelComponentUnitConsistency
- Description:
The validator shall report an error when a
Bazel unit target exists under a component without a corresponding <<unit>> entity in PlantUML under the same parent component, or when a <<unit>> entity exists in PlantUML without a corresponding Bazel unit target under the expected parent.
- Tools.BazelComponentNameCaseInsensitive
- Description:
The validator shall match element names
between Bazel and PlantUML case-insensitively, using the PlantUML alias when present, otherwise the PlantUML id, and the Bazel target name on the Bazel side.
- Tools.BazelComponentParentContext
- Description:
The validator shall verify that each Bazel
element and its PlantUML counterpart share the same parent context: components directly under a dependable element use the dependable element as parent; more deeply nested components use their immediate enclosing component as parent.
Component Sequence Validator
- Tools.ComponentSequenceAliasConsistency
- Description:
The validator shall report an error when a
unit alias defined in the component diagram does not appear among the participants in any sequence diagram, or when a participant alias in a sequence diagram does not match any unit alias in the component diagram.
- Tools.ComponentSequenceInterfaceConnectionConsistency
- Description:
The validator shall report an error when two
units are connected through an interface in the component diagram but no function-call interaction between those units appears in any sequence diagram, or when a cross-unit function call appears in a sequence diagram but the component diagram does not define a shared interface between those units.
Sequence Internal API Validator
- Tools.ComponentSequenceInternalApiMethodNameConsistency
- Description:
When component, sequence, and internal API
diagrams are provided, the validator shall report an error when a function used in a sequence interaction is not declared in any shared interface of the participating units as defined in the component diagram.
- Tools.ComponentSequenceInternalApiConsumerProviderRoleConsistency
- Description:
When component, sequence, and internal API
diagrams are provided, the validator shall report an error when a cross-unit sequence interaction does not match consumer/provider roles derived from the shared interfaces in the component diagram: the caller shall require and the callee shall provide an interface on which the called method is declared.
- Tools.ComponentSequenceInternalApiInterfaceCoverage
- Description:
When component, sequence, and internal API
diagrams are provided, the validator shall report an error when a function declared in a validated interface is never called in any sequence interaction. Self-calls count as valid usage.
Component Internal API Validator
- Tools.ComponentInternalApiInterfaceDeclarationConsistency
- Description:
The validator shall report an error when an
interface declared in the component diagram is not declared as an interface in the internal API diagram.
Class Design Implementation Validator
- Tools.ClassDesignImplementationEntityConsistency
- Description:
The validator shall report an error when an
entity modeled in the unit design class diagram has no corresponding entity in the implementation class diagram, or when the matching implementation entity differs in entity type. Consistency of type aliases, variables, methods, enum literals, relationships, and template parameters is specified by the dedicated requirements below.
- Tools.ClassDesignImplementationTemplateParameterConsistency
- Description:
The validator shall report an error when
template parameters modeled on a unit design entity or method differ from the template parameters on the matching implementation entity or method.
- Tools.ClassDesignImplementationTypeAliasConsistency
- Description:
The validator shall report an error when a
type alias modeled in a unit design entity is missing from the matching implementation entity, or when the matching implementation type alias differs in original type.
- Tools.ClassDesignImplementationVariableConsistency
- Description:
The validator shall report an error when a
variable modeled in a unit design entity is missing from the matching implementation entity, or when the matching implementation variable differs in data type, visibility, or static flag.
- Tools.ClassDesignImplementationMethodConsistency
- Description:
The validator shall report an error when a
method modeled in a unit design entity is missing from the matching implementation entity, or when the matching implementation method differs in return type, visibility, parameters, or method modifiers (static, virtual, abstract, override, constructor, destructor, or noexcept).
- Tools.ClassDesignImplementationEnumLiteralConsistency
- Description:
The validator shall report an error when an
enum literal modeled in a unit design enum is missing from the matching implementation enum, or when the matching implementation enum literal data differs from the unit design.
- Tools.ClassDesignImplementationRelationshipConsistency
- Description:
The validator shall report an error when a
relationship modeled in a unit design entity is missing from the matching implementation entity, or when the matching implementation relationship differs in source, target, or relationship type.
- Tools.ClassDesignImplementationTypeNormalization
- Description:
The validator shall normalize namespace
separators, the std:: type prefix, and pointer or reference spacing before comparing entity references and type names between unit design and implementation class diagrams.