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 name (the last segment of the entity 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.
- Tools.BazelComponentNonEmptyComposition
- Description:
The validator shall report an error when a
Bazel dependable_element or component target decomposes into zero nested component or unit targets, even when the corresponding PlantUML entity likewise shows no nested elements.
Component Model Validator
- Tools.ComponentModelCrossFileDeclarationConsistency
- Description:
When an entity with the same id is declared
in more than one static PlantUML file, the validator shall report an error if the declarations disagree on stereotype or element type, and shall otherwise merge their relations into a single entity.
- Tools.ComponentModelSingleHomeDecomposition
- Description:
The validator shall report an error when an
entity’s children are declared across more than one static PlantUML file and no single file declares the full set of children declared for that entity anywhere.
- Tools.ComponentModelAnchoring
- Description:
The validator shall report an error when a
<<component>> or <<unit>> is not nested directly under a <<SEooC>> or a <<component>>, naming its source location and any other declaration of the same name.
Component Sequence Validator
- Tools.ComponentSequenceIdentifierConsistency
- Description:
The validator shall report an error when a
unit defined in the component diagram is not referenced by any participant in the sequence diagrams, when a participant uid in a sequence diagram does not match any unit id in the component diagram, or when a participant uid matches multiple unit ids ambiguously.
- 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.
- Tools.InternalApiInterfaceMerge
- Description:
When an interface is declared in more than
one internal API file, the validator shall treat it as one interface holding the union of the methods declared in all of its declarations.
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.
Component Public API Validator
- Tools.ComponentPublicApiInterfaceDeclarationConsistency
- Description:
The validator shall report an error when a
public API interface declared in the component diagram is not declared as an interface in the public API class diagram.
- Tools.ComponentPublicApiSeoocRelationshipConsistency
- Description:
The validator shall report an error when a
public API interface declared in the component diagram is not connected by an interface-binding relationship from the SEooC in the component 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.ClassDesignImplementationDeclarationMerge
- Description:
When the same class id is declared more than
once across the unit design class diagrams, the validator shall merge the declarations and unite their relationships if at most one of them has a body, and shall report an error when two declarations have a body or when their entity type or stereotype differs.
- 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.ClassDesignImplementationFreeFunctionConsistency
- Description:
The validator shall report an error when a
free function modeled in the unit design is missing from the implementation, or when the matching implementation free function differs in return type, parameters, or template parameters.
- 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.
Class Design Sequence Validator
- Tools.ClassDesignSequenceParticipantClassConsistency
- Description:
The validator shall report an error when a
sequence participant that represents a designed runtime element has no matching class in the unit design class diagram, or when the participant matches multiple design classes ambiguously.
- Tools.ClassDesignSequenceMessageOperationConsistency
- Description:
The validator shall report an error when a
message or self-call in a sequence diagram targets a design class that neither declares nor inherits the called operation through its base classes or interfaces. The comparison shall match at least the operation name and may additionally compare parameter arity and normalized parameter types when both diagrams provide that information.