Requirement
Requirement node.
Requirements can be chained via derivedFrom to capture refinement/derivation. Each requirement has a subject element — the thing the requirement is about — and may additionally be allocated to one or more direct children of that element via allocatedTo, expressing which sub-elements actually realise the requirement.
Constructors
Properties
Sub-elements that this requirement is allocated to. Each entry must be a direct child of element (the subject) — i.e. entry.parent === element. Empty by default; populated when a requirement that lives at the level of element is realised by specific child elements (e.g. an activity-level requirement allocated to one or more of its components).
Identity of the authored Kotlin declaration, independent of its receiving model instance. Inherited declarations retain this provenance while id distinguishes each owning instance.
Fully-qualified name of the declaring context. Prefers declaringClassNameOverride (set explicitly by source materializers or canonical-ID binding) over declaringClass's captured name; falls back to null if neither is available.
Parent requirements this requirement derives from (traceability chain).
Fully-qualified unique identifier of this model instance. A member follows its actual owning instance, so two instances of the same user class have distinct member IDs. declarationId retains the common source declaration for navigation and naming rules.
The Requirements that declares this requirement as one of its properties.
Kotlin val name that holds this entity, scoped to its declaring context. Populated reflectively by WireModel.wireAll in the compiled path, or set directly via bindToSource in the source-materialized path. null until either runs.
Qualitative or quantitative acceptance criteria for this requirement, including the relevant conditions, observable outcome, and necessary limits. Precise references may reuse authoritative definitions. This is neither a test plan nor a verification result.
Functions
Binds an authored field or constructor-owned value without replacing its source declaration provenance.
Registers a child entity declared inside a source-materialized parent.
Records source-declared uses without changing the target's declaration or owner.
Binds an entity to an already computed canonical MetamodelEntity.id.
Sets the canonical identifiers for an entity that was materialized from source (as opposed to being instantiated from compiled bytecode). Intended for use by PSI / source materializers such as the IDEA plugin.
Interface-point analyses in declaration order, including analyses nested beneath ports or service groups.
Structural children, including explicit metamodel containment. Relation targets retain their own declaration.