Description
KerML §8.2.3.5.1 presumes membership / importedMembership / inheritedMembership are computed
"including memberships resulting from implied Relationships". The corpus is exported without them,
so the SDK must compute them. Today excludeImplied is a no-op — nothing populates isImplied.
Four categories of semantic constraint (§8.4.2), by name: Specialization (175), Redefinition (15),
TypeFeaturing (7), BindingConnector (11). Only check* rules count.
Design
Computed on the fly in a separate layer. POCO/DTO stay a faithful match to the XMI; Extend stays a
transcription of the OCL. isImpliedIncluded stays false — no model mutation.
Tasks
Out of scope
TypeFeaturing and BindingConnector (18) — no effect on Namespace::membership.
Related
#322 (needs the same library registry),
#288 (corpus re-baselining).
Description
KerML §8.2.3.5.1 presumes
membership/importedMembership/inheritedMembershipare computed"including memberships resulting from implied Relationships". The corpus is exported without them,
so the SDK must compute them. Today
excludeImpliedis a no-op — nothing populatesisImplied.Four categories of semantic constraint (§8.4.2), by name: Specialization (175), Redefinition (15),
TypeFeaturing (7), BindingConnector (11). Only
check*rules count.Design
Computed on the fly in a separate layer. POCO/DTO stay a faithful match to the XMI;
Extendstays atranscription of the OCL.
isImpliedIncludedstays false — no model mutation.Tasks
ImpliedRelationshipTable(85 unconditional, 63 guarded,60 in a
NotCoveredmanifest). Subclassification-vs-Subsetting is hard-coded in the template;the OCL does not carry it.
LibraryTypeIndex— project-scoped, qualified-name lookup over the library ownership tree.Must NOT go through
resolve(bootstrap cycle). Depends on: library models loaded and reachable by qualified name — satisfied today by loose XMI behind IExternalReferenceService; source is pluggable (directory / kpar / remote).applies to Redefinitions).
VariantMembershippatch inQueryRedefinedFeatureScope.removeRedefinedFeaturescondition 2.Out of scope
TypeFeaturing and BindingConnector (18) — no effect on
Namespace::membership.Related
#322 (needs the same library registry),
#288 (corpus re-baselining).