Module Relation Repair

About this pattern

This is a generated FPF pattern page projected from the published FPF source. It is canonical FPF content for this ID; it is not a FPF Reference product feature page.

How to use this pattern

Read the ID, status, type, and normativity first. Use the content for exact wording, the relations for adjacent concepts, and citations to keep active work grounded without pasting the whole specification.

Type: Architectural pattern Status: Stable Normativity: Normative unless explicitly marked informative

Use this pattern when an architecture or engineering text says "module", "component", "interface", "port", "platform", or "open architecture", and the phrase is doing more than ordinary orientation. If a stratification or architecture-operation source label covered by C.30.STRAT is doing the work, apply C.30.STRAT first; use A.6.M only when that repair recovers module-interface claim content. Use A.6.M when the question under repair is whether one holon is being claimed as a replaceable, reusable, or separately changed structural unit of a larger holon under the exact VP.ModuleInterface viewpoint episteme. The note or claim does not make a direct module relation obtain.

Keywords

  • module relation
  • component
  • interface
  • port
  • platform
  • layer
  • stack
  • open architecture
  • substitutability
  • interface specification.

Relations

A.6.Mcoordinates withReusable Structure Accounting
A.6.Mcoordinates withTransformation Flow Structure
A.6.Mcoordinates withC.30.TFS
A.6.Mcoordinates withEvidence Graph Referring (C-4)
A.6.Mcoordinates withTrust and Assurance Calculus
A.6.Mcoordinates withDecision Theory (Decsn-CAL)
A.6.Mexplicit referenceSystem-Role Kinds and Assignments
A.6.Mexplicit referenceReusable Structure Accounting
A.6.Mexplicit referenceUnified Lexical Rules for FPF
A.6.Mexplicit referenceTransformation Flow Structure
A.6.Mexplicit referenceMathematical Lens Use
A.6.Mexplicit referenceEpistemic Precision Restoration
A.6.Mexplicit referenceEvidence Graph Referring (C-4)
A.6.Mexplicit referenceTrust and Assurance Calculus
A.6.Mexplicit referenceDecision Theory (Decsn-CAL)
A.6.Mexplicit referenceContract Unpacking for Boundaries

Content

Problem frame

Use this pattern when an architecture or engineering text says "module", "component", "interface", "port", "platform", or "open architecture", and the phrase is doing more than ordinary orientation. If a stratification or architecture-operation source label covered by C.30.STRAT is doing the work, apply C.30.STRAT first; use A.6.M only when that repair recovers module-interface claim content. Use A.6.M when the question under repair is whether one holon is being claimed as a replaceable, reusable, or separately changed structural unit of a larger holon under the exact VP.ModuleInterface viewpoint episteme. The note or claim does not make a direct module relation obtain.

The first useful output is ModuleRelationRepairNote, a claim-repair note rather than a relation occurrence:

ModuleRelationRepairNote:
  wholeHolonRef:
  candidateModuleHolonRef:
  effectiveReferenceScheme: U.ReferenceScheme, byValue
  claimScope?: U.ClaimScope, byValue
  modelUseStructureRef?: only when one selected model-use structure changes module meaning
  moduleInterfaceViewpointRef?: VP.ModuleInterface
  selectedDependencyStructureRef?: U.StructureRef
  boundaryRef:
  interfaceSpecificationRef?: U.EpistemeRef constrained to InterfaceSpecification
  interfaceSpecificationGap?: exact missing-specification result
  admissibilityConditions:
  substitutabilityPolicyRef?:
  changePolicyRef?:
  directModuleRelationDisposition:
    noDirectRelationClaimed | admittedRelationAndOccurrence | missingGovernor
  admittedRelationKindOrDeclarationRef?:
  obtainingRelationOccurrenceRef?: U.RelationRef
  missingRelationParticipantRefs?:
  proposedPredicate?:
  affectedUse?:
  futureDefinitionNeed?:
  definingPatternLocator?: PatternID used only as a locator
  claimBoundary:
  notAModuleBecause:
  governedNonModuleClaimPatternRefs:
  stopCondition:

Exactly one of interfaceSpecificationRef and interfaceSpecificationGap is current. noDirectRelationClaimed leaves every direct-relation field empty. admittedRelationAndOccurrence requires an exact admitted relation kind or defining declaration plus one separately obtaining occurrence. missingGovernor names the actual participants, proposed predicate, affected use, and missing definition or declaration; a PatternID may locate an applicable rule but cannot fill any of those positions.

Ordinary use stops when the whole, candidate module, boundary, interface specification, admissibility conditions, substitutability policy, change policy, blocked false interpretation, relation disposition, and neighboring work, procedural, role, or enactor subject-pattern choice are clear enough to choose the next architecture move. Use the fuller ModuleInterfaceClaim record only when substitutability, conformance, publication, evidence, assurance, change policy, repeated reuse, or cross-team coordination requires durable claim content.

What goes wrong if A.6.M is missed: a functional link becomes a module interface; a signature becomes an implemented interface; a port label becomes proof of integration; "open" becomes a decoration; a platform label hides the actual extension rules; a stratification or architecture-operation source label bypasses [C.30.STRAT](/generated/patterns/C.30.STRAT) and mints a false local kind; autonomy-like wording is confused with separate module change policy; and a module diagram starts being used for claims governed elsewhere.

What A.6.M buys in practice: the practitioner can repair one module or interface phrase into usable claim content, distinguish it from an independently admitted direct relation occurrence, see which FPF pattern defines or constrains any remaining non-module claim, and stop before full measurement, evidence, or mechanism-suite records are needed.

Not this pattern when the question under repair is the general architecture claim, selected architecture structure kind, structural view, stratification wording or source-label recovery, function wording, procedural or work-package wording, role or enactor wording, autonomous operation, independent acting, unsupervised decision or action, measurement, modularity characterization, or reusable-structure residue. Use [C.30](/generated/patterns/C.30), [C.30.ASV](/generated/patterns/C.30.ASV), [C.30.STRAT](/generated/patterns/C.30.STRAT), [A.6.F](/generated/patterns/A.6.F), [A.15](/generated/patterns/A.15), [A.2](/generated/patterns/A.2), [E.16](/generated/patterns/E.16), [C.31](/generated/patterns/C.31), [C.16](/generated/patterns/C.16), or [C.31.RSA](/generated/patterns/C.31.RSA) as appropriate. For any other claim being made, apply the governing FPF pattern and keep A.6.M only for the module-relation and interface-specification portion.

E.10.ARCH relation. A.6.M is the precision-restoration pattern for module-interface relation wording, interface-specification wording, platform-grammar wording, substitutability wording, change-policy wording, and open-architecture module-interface claims. [E.10](/generated/patterns/E.10), [E.10.ARCH](/generated/patterns/E.10.ARCH), or [C.30.STRAT](/generated/patterns/C.30.STRAT) applies A.6.M only after the recovered result is a module-interface relation, interface specification, platform grammar, substitutability policy, change policy, or open-architecture module-interface claim. If the source wording is still a stratification or architecture-operation source label covered by [C.30.STRAT](/generated/patterns/C.30.STRAT), apply [C.30.STRAT](/generated/patterns/C.30.STRAT) first. If the claim being made is non-module work, role, evidence, assurance, gate, decision, characteristic, flow, autonomy, component, mechanism, or mathematical-lens use, apply the subject pattern named in [A.6.M:12](/generated/patterns/A.6.M#relations) and keep A.6.M only for the module-interface slice when that module-interface relation remains the claim being made.

Problem

Engineering teams use module language for several different things:

  • a component in a part-whole decomposition;
  • a replaceable unit under a declared interface;
  • a functional element;
  • a software package, neural-network block, hardware board, chiplet, subsystem, service, team boundary, or delivery unit;
  • a published API, protocol, signature, port, connector, or endpoint;
  • a platform extension point;
  • a control relation, deployment scope, or stratification or architecture-operation source label that still needs C.30.STRAT recovery;
  • an open-architecture claim.

These are useful ordinary words, but they do not establish the same FPF claim. A module claim is not created by a label. A conforming module-interface claim names the candidate U.Holon, larger U.Holon, exact VP.ModuleInterface viewpoint episteme when needed, boundary, interface specification, admissibility conditions, substitutability policy when replacement is claimed, change policy when separate change is claimed, and any exact evidence, conformance, or admissible-use claim being made. It remains claim content unless a separate direct relation pattern has admitted a module relation and its obtaining predicate is satisfied.

The practical question is: does this phrase name a module relation, component relation, functional allocation, procedural or work-package relation, exact system-role-assignment occurrence, direct domain responsibility relation, deployment or placement structure, interface specification, signature declaration, port or endpoint slot, transformation-flow crossing, mechanism realization, platform grammar, control relation, autonomy-like operation claim, source label governed first by C.30.STRAT, or only plain source wording?

Forces

ForceTension
Engineering convenience vs relation precisionPractitioners need short words such as module and interface, but claim-bearing use must recover both holons, the boundary, interface specification, admissible use, and whether an independently admitted direct relation is actually current.
Module claim vs root or relation kindA candidate module keeps its direct holon kind. Neither the source word nor a ModuleInterfaceClaim record admits U.Module or a general direct module relation; a reusable relation needs its own A.6.RCD settlement.
Interface label vs interface specificationAn API name, port label, connector label, or signature may substantiate an interface claim, but it is not by itself substitutability or conformance.
Function-flow-module proximity vs false identityFunctions, E.18 flow relations, control relations, mechanisms, and module interfaces often meet at the same artifact, but each has a different subject pattern.
Open architecture payoff vs open label overreadMOSA and open-system practice make open interfaces useful only with standards, conformance expectations, replacement or change policy, and data or access constraints when those conditions are part of the claim being made.
Team boundary vs module boundaryConway's law and mirroring practice make team communication boundaries and delivery-responsibility scopes architecture-relevant, but they do not turn a team boundary, delivery unit, system-role assignment, or responsibility relation into a module interface by identity. Assignment also does not establish responsibility: cite an admitted direct domain predicate with its actual participants or the exact A.6.RCD missing governor.
Parallel decomposition vs serial bottleneckAmdahl-style reasoning makes serial work, synchronization, communication overhead, and shared resource limits visible; more modules, teams, or parallel transformation-flow paths do not automatically improve throughput or evolvability.
Cheap repair vs full evidence packMost cases need a relation repair note, not a full conformance, evidence, assurance, gate, or mechanism-suite record.

Solution

A.6.M specializes A.6.P for module, component, interface, platform, and open-architecture wording when the recovered result is module-interface claim content, an interface specification, platform grammar, substitutability claim, or open-architecture module-interface claim. Stratification or architecture-operation source labels covered by C.30.STRAT are governed by C.30.STRAT until that repair recovers this module-interface content. A.6.M neither mints root kinds from those labels nor admits a direct module relation from record syntax.

A candidate module is an exact U.Holon used in a claim that treats it as a replaceable, reusable, or separately changed structural unit of a larger U.Holon, ordinarily under the exact VP.ModuleInterface viewpoint episteme. The claim names its boundary, interface specification, admissibility conditions, substitutability policy when replaceability is claimed, and change policy when separate change is claimed. Effective U.ReferenceScheme and U.ClaimScope qualify the claim; an optional selected model-use structure appears only when its organization changes module meaning. None replaces the two holons or makes a module relation obtain. A FunctionalElementClaim is different: it is view-local claim content inside a functional structural-view episteme, not a root kind and not a module relation. It binds required behaviour or effect to bearer or candidate bearer, capability, functional ports, and allocation claims when those claims are current; required or desired content is not an actual U.Transformation. The relation between functional and module claims is separately governed allocation or correspondence, not identity. One module candidate can correspond to many functional elements; many module candidates can correspond to one functional element; a functional element can remain unallocated; and a module candidate can be present in a module-interface view with no current functional behaviour in the functional view.

Functional ports and module interfaces may both use U.Signature discipline, but they govern different claims. A functional port constrains input condition, output condition, accepted-state, and produced-state slots for a functional behavior or transformation. A module interface constrains boundary, substitutability, compatibility, protocol references, schema references, version policy, change policy, and conformance expectations for a module relation. Do not move a functional-port claim into module-interface structure unless a module-interface or substitution claim is actually being made.

For modular synthesis, A.6.M supplies only the module-interface claim slice. A synthesis action may align required functional claims under VP.Functional, transformation-flow topology under E.18 and C.30.TFS-REL, control structure under C.30.LCA, procedures and work packages under VP.Procedural, and module and interface claims under VP.ModuleInterface. VP.AllocationResponsibility is only a recognition cue for allocation or responsibility concerns: a positive responsibility claim needs its admitted direct domain predicate, actual participants, applicability, and occurrence identity, or the exact A.6.RCD missing-governor result. Use A.6.M to repair claims about modules and their interfaces; non-module candidate generation, allocation, responsibility, evidence, assurance, decision, Work, and characteristic claims remain with their direct patterns.

ModuleInterfaceClaim record

Use ModuleInterfaceClaim only when the light repair note is not enough and durable claim content is needed. Its Plain reading is claim about a module and its interface in a larger whole.

The F.18 comparison also covered ModuleUseClaim, ModuleInWholeClaim, and ModuleRelationClaim. The selected pair keeps the claim and interface visible without predicate syntax. ModuleUseClaim can suggest operational use, ModuleInWholeClaim can suggest a spatial or part-whole predicate, and ModuleRelationClaim can suggest that a direct relation has already been admitted. Reopen the naming choice only if the governed content changes or repeated reader error shows that this distinction is still not recoverable.

ModuleInterfaceClaim:
  claimEpistemeRef: U.EpistemeRef
  entityOfConcernRef:
    moduleHolonRef | selectedDependencyStructureRef |
    admittedDirectModuleRelationOccurrenceRef
  effectiveReferenceScheme: U.ReferenceScheme, byValue
  claimScope?: U.ClaimScope, byValue
  modelUseStructureRef?: U.StructureRef
  moduleHolonRef: U.HolonRef
  wholeHolonRef: U.HolonRef
  viewpointRef?: U.ViewpointRef = VP.ModuleInterface
  selectedDependencyStructureRef?: U.StructureRef
  boundaryRef: BoundaryRef
  interfaceSpecificationRef?: U.EpistemeRef constrained to InterfaceSpecification
  interfaceSpecificationGap?: exact missing-specification result
  functionalCorrespondenceRelationRefs?: FinSet(U.RelationRef)
  transformationFlowStructureRefs?: FinSet(U.StructureRef)
  transformationFlowRelationOccurrenceRefs?: FinSet(U.RelationRef)
  mechanismRefs?: FinSet(U.EntityRef constrained by the selected mechanism pattern)
  dependencyRelationOccurrenceRefs?: FinSet(U.RelationRef)
  substitutabilityPolicyRef?: U.EpistemeRef
  changePolicyRef?: U.EpistemeRef
  variabilitySlotRefs?: FinSet(SlotSpecRef)
  evidenceOrSourceRelianceRelationRefs?: FinSet(U.RelationRef)
  directModuleRelationDisposition:
    noDirectRelationClaimed | admittedRelationAndOccurrence | missingGovernor
  admittedRelationKindOrDeclarationRef?:
  obtainingRelationOccurrenceRef?: U.RelationRef
  missingRelationParticipantRefs?:
  proposedPredicate?:
  affectedUse?:
  futureDefinitionNeed?:
  definingPatternLocator?: PatternID used only as a locator
  admissibleUse
  nonAdmissibleUse

This form is claim content in one C.2.1 episteme. Its identity uses that content, the one exact entityOfConcernRef, and the effective U.ReferenceScheme. claimScope qualifies the claim when its coverage matters. modelUseStructureRef is present only when one independently selected model-use structure changes the meaning of module for this claim; it is not a module participant, whole, boundary, or source of relation obtaining. VP.ModuleInterface is a reference to the exact viewpoint episteme when viewpoint use matters; citing it does not make this claim a U.View. The interface-specification and direct-relation fields obey the same exclusive branches as ModuleRelationRepairNote. If entityOfConcernRef names an admitted direct module-relation occurrence, the disposition is admittedRelationAndOccurrence and obtainingRelationOccurrenceRef resolves that same occurrence. Under the other two dispositions, entityOfConcernRef stays with the module holon or selected dependency structure.

A ModuleInterfaceClaim record, package path, file boundary, graph edge, list position, common name, or publication does not make a world-side module relation obtain. Current A.6.M admits no general direct module relation kind. If repeated engineering use genuinely needs one direct module relation occurrence, first use the applicable subject rule and [A.6.RCD](/generated/patterns/A.6.RCD) to recover the exact module and whole participant meanings, obtaining predicate, applicability, recurrence rule, and occurrence-identity rule. Use [A.6.REL](/generated/patterns/A.6.REL) only after that relation is admitted and a later use must distinguish one obtaining occurrence from another. A separately constituted RelationSignature may then declare reusable SlotSpecs; neither the signature nor this claim creates the occurrence.

Well-formedness: the claim names both holons, one exact EntityOfConcern, an effective reference scheme, one boundary, and exactly one of an interface-specification reference and an explicit interface-specification gap. Its direct-relation disposition has exactly the fields required by the selected branch. Optional structure, relation, evidence, mechanism, policy, conformance, source, and reliance references are used only when those exact objects and claims are current under their direct rules.

Interface specification is not a label

A.6.M calls the independently identified specification episteme an InterfaceSpecification. It is one U.Episteme under C.2.1 whose EntityOfConcern is the exact boundary named by the module claim. Its identity is <exact ClaimGraph, that one EntityOfConcern, effective U.ReferenceScheme>. Its claim content may include:

InterfaceSpecification claim content:
  signatureRefs?: FinSet(SignatureRef)
  slotSpecSetRefs?: FinSet(SlotSpecSetRef)
  portEndpointSpecRefs?: FinSet(PortEndpointSpecRef)
  protocolRefs?: FinSet(EpistemeRef)
  schemaRefs?: FinSet(EpistemeRef)
  admissibilityConditions
  semanticConditions
  versionPolicyRef?
  changePolicyRef?
  conformanceExpectationRefs?
  evidenceOrSourceRelianceRefs?
  nonAdmissibleUse

interfaceSpecificationRef is one U.EpistemeRef constrained to that specification form. Under the effective reference scheme it resolves one already identified InterfaceSpecification; it carries none of the specification content itself. Two spellings or serialized references may resolve the same unchanged specification. Retargeting the reference selects another already identified specification without changing the previous one. Changing identity-bearing specification content, its EntityOfConcern, or its effective reference scheme yields another episteme. When no complete specification is established, keep an explicit interfaceSpecificationGap rather than a partly filled reference.

A signature declares vocabulary, laws, and applicability. A slot or endpoint record names positions and field structure. A protocol or schema constrains interaction. A mechanism reference can substantiate a realization relation. Evidence relations, source relations, reliance relations, and conformance expectations substantiate reliance only when the corresponding evidence, source-use, assurance, or conformance claim is being made. None of these, alone, is the module interface.

Repair applications for overloaded words

Source wordingGoverning repair application
componentFirst recover the claim actually made under A.14: for example ComponentOf, ConstituentOf, PortionOf, belonging under the collection's own rule, or PhaseOf. Apply A.6.M only when a module-interface relation is being claimed.
moduleRecover a ModuleInterfaceClaim or ModuleRelationRepairNote over exact U.Holon refs under the exact VP.ModuleInterface viewpoint episteme when needed. Do not infer a direct relation occurrence; use an admitted direct relation only when its defining rule exists and current facts make its predicate obtain.
functional elementKeep it as FunctionalElementClaim inside a functional structural-view episteme; use A.6.F to repair wording and connect it to module-interface structure only through an exact allocation or correspondence relation. Keep required or desired behaviour as claim content. Cite an actual U.Transformation only when A.3.4 independently supplies its changed referent, boundary, conditions, actual before/during/after facts, and continuity basis.
work package, delivery unit, or team boundaryKeep Work, Method, WorkPlan, exact system-role kind and assignment, and responsibility claims separate. Use A.15, A.2, and VP.Procedural for their own objects; treat VP.AllocationResponsibility only as a cue, then cite the direct allocation or responsibility predicate or the exact missing governor. Relate those facts to module-interface structure only through a declared correspondence, allocation, or boundary relation.
deployment scope or placementRecover a deployment or placement structure under C.30 or C.30.ASV when that deployment or placement structure is being claimed. Relate it to module-interface structure only through declared correspondence or boundary relation.
interfaceRecover the independently identified InterfaceSpecification episteme and an interfaceSpecificationRef that resolves it, not a wire, API label, port label, E.18 transformation-flow relation, or function by itself.
signatureKeep as A.6.0 declaration. It is not an implemented interface, mechanism, gate, evidence row, or substitution policy.
port or endpointRecover SlotSpec, endpoint field, or interface-specification field when the claim is being made. It is not a module, graph edge, transformation-flow crossing, or proof of integration.
functional linkKeep it as claim content in a functional structural-view episteme; relate it to module claims only through an exact correspondence, allocation, or retargeting relation.
E.18 transformation-flow relation or pathKeep under E.18 and C.30.TFS-REL; it may inform an architecture-to-transformation-flow relation, but it is not an interface specification.
platformRecover PlatformGrammarRef: extension rules, variability slots, interface specifications, substitution policy, and conformance expectations when platform extension, variation, substitution, or conformance use is being claimed.
stratification or architecture-operation source labelApply C.30.STRAT first. Use A.6.M only when the recovered result is a module-interface relation, interface specification, platform grammar, substitutability policy, change policy, or open-architecture module-interface claim. Otherwise apply C.30.LCA, C.30.ASV, A.6.F, E.18, C.16.P, C.29, C.2.P, or use ordinary source-label disposition when no FPF-governed claim remains.
open architectureRecover an OpenArchitectureClaim episteme: published interface specifications, substitution rules, change policy, data-rights or access constraints when those constraints are part of the claim, and exact conformance, evidence, source, or reliance relations only when that stronger reliance claim is being made.

First repair sequence

  1. Name the phrase and the practical situation.
  2. Select the whole holon and candidate module holon.
  3. State whether the source phrase is module relation, component relation, function allocation, procedural or work-package relation, exact system-role-assignment occurrence, direct responsibility relation, deployment or placement structure, interface specification, signature, port or endpoint, transformation-flow crossing, mechanism realization, platform grammar, control relation, autonomy-like operation claim, C.30.STRAT source-label case, or open-architecture claim.
  4. State the boundary and the declared interface specification or explicit interface-specification gap.
  5. State the admissibility conditions, substitutability policy, and change policy, or mark any of those fields not established by the repair.
  6. State the subject pattern for any non-module claim being made: C.30, C.30.ASV, A.6.F, A.15, A.2, E.18, C.30.TFS-REL, C.31, C.31.RSA, C.16, A.10, B.3, A.20, A.21, C.28, E.20, G.5, or C.11.
  7. Stop when the claim, direct-relation disposition, and next use are explicit. Do not open A.6.RCD or A.6.REL unless a named receiving use genuinely needs a reusable direct relation or distinguishable obtaining occurrence.

Worked slices

Ports line up.

Phrase:
  "The ports line up, so the modules are compatible."

ModuleRelationRepairNote:
  wholeHolonRef: VehicleControlSystem
  candidateModuleHolonRef: BrakeControllerPackage
  effectiveReferenceScheme: VehicleControlInterfaceScheme-2026Q2
  claimScope: BrakeControllerReleaseUse-2026Q2
  directModuleRelationDisposition: noDirectRelationClaimed
  boundaryRef: BrakeControlBoundary
  interfaceSpecificationGap: endpoint names are present, but protocol and semantic conditions are still missing
  admissibilityConditions: not yet declared
  substitutabilityPolicyRef: missing
  changePolicyRef: missing
  claimBoundary: interface-spec repair; no evidence or gate claim yet
  notAModuleBecause: port labels alone do not establish implemented interface compatibility
  governedNonModuleClaimPatternRefs: A.6.5 for endpoint slots; A.6.B only if L, A, D, or E boundary-package statement classification is current; A.6.M only if a module-interface or substitution claim remains
  stopCondition: endpoint slots and missing interface-spec fields are visible

Open platform claim.

Phrase:
  "This is an open platform."

OpenArchitectureClaim:
  architectureClaimRef:
  platformGrammarRef:
  interfaceSpecificationRefs:
  variabilitySlotRefs:
  substitutabilityPolicyRef:
  changePolicyRef:
  conformanceExpectationRefs:
  evidenceOrSourceRelianceRefs?:
  nonAdmissibleUse:
    "open" does not by itself prove substitutability, interoperability,
    assurance, procurement suitability, or architecture quality

The first slice repairs the claim without requiring measurement. The second slice applies MOSA-like conformance expectations and substitution policy only for the conformance or substitution claim being made.

Supplier-diversity, procurement suitability, use-context compatibility, business constraint, policy authorization, and provider-selection claims are not module-interface fields. If those claims are being made, A.6.M names only the module-interface slice; non-module selection, procurement, work, role, evidence, assurance, gate, release, and mechanism claims are governed by the patterns named in [A.6.M:12](/generated/patterns/A.6.M#relations).

Team boundary claim.

Phrase:
  "The team communication boundary matches the module boundary."

ModuleRelationRepairNote:
  wholeHolonRef: PaymentsPlatform
  candidateModuleHolonRef: SettlementService
  effectiveReferenceScheme: PaymentsPlatformInterfaceScheme-2026Q2
  claimScope: SettlementServiceProductLineUse-2026Q2
  directModuleRelationDisposition: noDirectRelationClaimed; team/module correspondence remains diagnostic
  boundaryRef: SettlementServiceBoundary
  interfaceSpecificationGap: the service API exists, but semantic versioning, data schema, and semantic conditions are incomplete
  admissibilityConditions: admitted team-delivery and on-call responsibility predicates obtain for their actual Systems, scopes, and intervals; otherwise record the exact missing governor; substitutability not established
  substitutabilityPolicyRef: missing
  changePolicyRef: missing
  claimBoundary: exact system-role assignment, direct responsibility relation, Work, and procedural correspondence first; module-interface relation only after boundary and interface specification are declared
  notAModuleBecause: team communication boundary and an independently obtaining delivery-responsibility relation do not by themselves establish module interface, substitutability, or compatibility
  governedNonModuleClaimPatternRefs: A.15 and A.2 for team and work claims; C.29 if the team-to-module correspondence is claimed as homomorphism-like or almost-same structure; A.6.M only for the declared module-interface relation
  stopCondition: the correspondence is usable as an architecture diagnostic, not as proof

The third slice uses Conway-like mirroring as a diagnostic prompt. It does not make organization structure, communication relations, a system-role assignment, or delivery responsibility into module-interface structure by identity. The responsibility claim remains valid only through its own admitted direct predicate or returns the exact missing governor.

Proxy-cost replay: if a repair proposes more modules, more open interfaces, or more parallel transformation-flow paths, name what may get worse before claiming improvement. Synchronization work, communication overhead, conformance work, shared-resource pressure, hidden exception cost, or cross-boundary change cost can become the claim being made. A.6.M repairs only the module-interface relation; speedup, bottleneck, modularity, measurement, work, and quality tradeoffs are governed by [C.29](/generated/patterns/C.29), [E.18](/generated/patterns/E.18), [C.31](/generated/patterns/C.31), [C.16](/generated/patterns/C.16), [A.15](/generated/patterns/A.15), or the related subject pattern named by value when that related claim is being made.

Lowering and Reopen Conditions

Lower an A.6.M repair to reduced-use cue, quote-only wording, blocked use, or incomplete rewrite when the module-interface relation, interface specification, admissibility conditions, substitutability policy, or change policy cannot be stated by value.

Reopen the repair when any of these change: the whole holon, candidate module holon, boundary, interface specification, explicit interface gap, substitutability policy, change policy, platform grammar, conformance expectation, relied-on evidence relation, relied-on source relation, source-label recovery from C.30.STRAT, team-boundary correspondence, work correspondence, or the subject pattern for a related claim being made.

If the reopened material is no longer a module-interface relation, A.6.M keeps only the previous repair as source context and the claim being made is governed by the pattern named in A.6.M:12.

Archetypal Grounding

Tell. A module is not a little box. It is a holon related to a larger holon under a declared boundary, interface specification, admissibility conditions, substitutability policy, and change policy.

Show. A software package, neural-network block, chiplet, power converter, document template, or organizational unit can be treated as module-like only when the claim says what whole is at issue, what boundary it offers, what interface specification governs use, what substitutability policy makes replacement admissible, and what change policy governs separate change. That claim still does not make a direct module relation obtain.

Show. A port label, API endpoint label, source-local route label, flow edge, or function name may be a useful clue. It can substantiate a module-interface claim only after the relevant signature, slot, protocol, semantic condition, correspondence, mechanism, evidence relation, conformance expectation, source relation, or reliance relation named by value is declared.

Holon, relation, and episteme: the candidate module and whole retain their admitted holon kinds. A ModuleInterfaceClaim is content in a C.2.1 claim episteme and may concern the module holon, one selected dependency structure, or an independently admitted direct module relation occurrence; it is not that relation. The InterfaceSpecification is another independently identified episteme, and interfaceSpecificationRef only resolves it. Framework and module-description epistemes, authoring Work, publication occurrence, publication form, carrier, effective reference scheme, ClaimScope, and optional model-use structure retain separate identities and direct relations. Method descriptions enter as epistemes; method values enter through their Method pattern. Stratification and architecture-operation labels named by C.30.STRAT remain source labels unless C.30.STRAT recovers module-interface claim content that A.6.M can repair.

Bias-Annotation

Bias riskA.6.M repair
Box biasDo not treat a diagram box as a module. Recover holon, whole, boundary, and interface specification.
Open-label biasDo not treat "open" as substitutability. Recover standards, conformance expectations, data or access constraints, and change policy when those conditions are part of the claim being made.
Component biasDo not treat every part as a module. Apply A.14 to component wording unless a module-interface relation is being claimed.
Interface-label biasDo not treat API, port, endpoint, or signature labels as implemented compatibility. Recover the independently identified InterfaceSpecification episteme and a governed reference that resolves it, or record an exact specification gap.
Team-boundary biasDo not treat Conway-like mirroring, a responsibility label, team communication boundary, or delivery-unit label as a module boundary. Recover the admitted Systems, exact system-role kinds and assignments needed for Work, Work and procedural relations, and direct responsibility predicate or exact missing governor first; add module-interface correspondence only when the boundary and interface specification are declared.
Parallelism biasDo not treat decomposition into more modules, teams, services, or transformation-flow paths as performance or evolvability improvement. Recover serial work, synchronization, communication overhead, shared resources, and bottleneck claims through E.18, C.30.TFS-REL, C.29, C.31, or neighboring characteristic patterns when those claims are being made.
Platform biasDo not treat a platform name as architecture quality. Recover platform grammar and the claim named by value it can substantiate.

Conformance Checklist

IDCheck
CC-A6M-1The text names the whole holon, candidate module holon, effective reference scheme, claim coverage when it matters, and exact module-interface viewpoint episteme when used, or explicitly stops at ordinary non-claim-bearing wording. No context suffix or optional model-use structure supplies those objects.
CC-A6M-2The repair states whether the phrase is a module relation, component relation, function allocation, procedural or work-package relation, exact system-role-assignment occurrence, direct responsibility relation, deployment or placement structure, interface specification, signature, port or endpoint, transformation-flow crossing, mechanism realization, platform grammar, control relation, autonomy-like operation claim, C.30.STRAT source-label case, or open-architecture claim.
CC-A6M-3No root kind is created for module, interface, platform, or open architecture, and ModuleInterfaceClaim is not treated as an independently admitted direct relation. The three direct-relation dispositions remain distinct. A needed reusable relation requires its defining rule and A.6.RCD; occurrence identity uses A.6.REL only after that relation is admitted and obtains.
CC-A6M-4The independently identified InterfaceSpecification episteme, its exact C.2.1 identity, and an interfaceSpecificationRef that resolves it are recoverable when interface compatibility, substitutability, or conformance is claimed. A missing specification remains an explicit gap.
CC-A6M-5Substitution or change policy is declared when replaceability, alternate supplier, upgrade, or platform extension is being claimed. Substitutability not established by the repair is marked as not established, not implied by wording.
CC-A6M-6Function, transformation-flow, control, work, evidence, assurance, gate, decision, causal, and mechanism claims use their subject patterns.
CC-A6M-7A failed check gives a repair action or subject-pattern application, not only a rejection.
CC-A6M-8A current G.2 source row for MOSA, open systems, platform practice, Conway correspondence, team-boundary correspondence, or Amdahl-style decomposition limits appears before guidance from that source is used for practitioner-facing claims being made.
CC-A6M-9RFC keywords are used only for pattern users, records, claims, conformance items, or publication records, evidence records, or assurance records. Modeled modules and interfaces are not written as agents with duties.
CC-A6M-10Lower or reopen the repair when whole holon, module holon, boundary, interface specification, interface gap, substitutability policy, change policy, platform grammar, conformance expectation, relied-on evidence relation, relied-on source relation, source-label recovery, team-to-work correspondence, or neighboring subject pattern changes.

Common Anti-Patterns and How to Avoid Them

Anti-patternSymptomRepair
BoxIsModuleA diagram box, package, or file boundary is treated as a module or as proof that a module relation obtains.Recover the two holons, claim content, boundary, and interface specification; keep the box as representation/publication material and use a direct relation occurrence only after its governing predicate obtains.
SignatureAsInterfaceA signature declaration is treated as implemented compatibility.Keep signature under A.6.0 and add interface-specification fields only when interface compatibility is being claimed.
PortAsProofMatching port or endpoint names are treated as integration proof.Recover slot specs, protocol or schema, semantic conditions, and evidence, conformance, source relation, or reliance relation named by value.
FunctionalLinkAsInterfaceA functional relation is treated as module boundary.Keep VP.Functional and add correspondence or allocation only when module allocation or correspondence is being claimed.
OpenByPublicationOnlyPublished interface text is treated as open architecture.Add substitution policy, conformance expectations, change policy, source or evidence relation, and data or access constraints when those conditions are part of the open-architecture claim; non-module selection, procurement, work, evidence, assurance, gate, mechanism, and decision claims are governed by the patterns named in A.6.M:12.
TeamBoundaryAsModuleA team boundary, responsibility label, communication boundary, or delivery unit is treated as a module interface.Recover the admitted Systems, exact system-role kinds and assignments, Work and procedural relations through A.15, A.2, and VP.Procedural; treat VP.AllocationResponsibility only as a cue and cite the direct responsibility predicate or exact missing governor. Add A.6.M only for the declared module-interface relation; use C.29 when a homomorphism-like correspondence claim is being made.
MoreModulesMeansBetterMore modules, teams, services, threads, or parallel transformation-flow paths are treated as automatic improvement.Recover serial work, synchronization, communication overhead, shared resources, and bottleneck claims; mathematical speedup or homomorphism claims are governed by C.29, and characteristic tradeoffs are governed by C.31 and C.16.
PlatformAsKindA platform label becomes a root kind or quality claim.Use PlatformGrammarRef and apply subject patterns for quality, measurement, and decision claims.
StackAsArchitectureA stack diagram is treated as the architecture itself or as a module-interface relation by label.Apply C.30.STRAT first; then use C.30 or C.30.ASV for architecture or structural-view use, A.6.M only for a recovered module-interface relation, or ordinary source-label disposition.

Consequences

Benefits:

  • Module and interface talk becomes usable without minting false root kinds.
  • Practitioners get a cheap relation repair before measurement or evidence work.
  • MOSA and open-system claims become precise enough to make real substitution and change reasoning admissible.
  • Functional, flow, control, mechanism, work, evidence, assurance, gate, decision, and causal claims stay with their subject patterns.

Costs:

  • Ordinary architecture prose loses the convenience of treating boxes, ports, interfaces, and modules as one kind.
  • Interface claims sometimes require additional records before substitutability can be relied on.
  • "Open architecture" becomes harder to claim because interface publication alone is not enough.

Rationale

The central decision is to treat module as relation-sensitive claim language over exact admitted holons, not as a root kind and not as a relation admitted by notation. The same system, organization-as-system, episteme, Work occurrence, discipline, or other admitted holon may be claimed as a component under one direct relation, as a module candidate under one interface-and-change claim, or as a bearer/candidate bearer in functional claim content. effectiveReferenceScheme and ClaimScope make the claim interpretable and bounded. An independently selected model-use structure may qualify model-local meaning, but it neither becomes a holon nor supplies module membership. Method descriptions and publication-family material enter through their episteme and publication patterns; authoring, description edition, publication occurrence, form, and carrier remain distinct.

A.6.M follows A.6.P: overloaded relation language is repaired by recovering the actual subjects, claim content, direct-relation disposition, qualifiers, admissible use, and sources. A.6.M is the pattern for the module/interface claim repair. A direct module relation, if later needed, is admitted only by its subject pattern with A.6.RCD's participant, obtaining, applicability, and identity discipline; A.6.REL then handles distinguishable obtaining occurrences.

The pattern deliberately keeps measurement out of the first move. A module relation can be repaired before anyone knows whether external coupling density, interface standardization share, evidence reuse, or reusable-structure accounting will be needed. When those claims are being made, A.6.M applies C.31, C.31.RSA, and C.16.

SoTA-Echoing

Source or practiceCurrentness or lineage useAdoptAdapt for FPFReject or boundaryPractitioner implication
DoD OUSD(R&E) MOSA guidance and implementation guidebook (https://www.cto.mil/sea/mosa/; https://www.cto.mil/wp-content/uploads/2025/03/MOSA-Implementation-Guidebook-27Feb2025-Cleared.pdf)Current official acquisition and engineering practice family for open modular systems; used as current practice guidance, not as a complete FPF ontology.Modular design, interface standards, conformance verification, replacement policy, change policy, and competitive reuse are real conformance and substitution expectations.Recover them as an independently identified InterfaceSpecification episteme plus an interfaceSpecificationRef that resolves it, PlatformGrammarRef, substitutabilityPolicyRef, changePolicyRef, conformance expectation, source relation, and evidence relation only where the recovered claim needs them. Non-module selection, procurement, policy, evidence, assurance, gate, decision, Work, system-role-assignment, responsibility, and mechanism claims keep their own direct patterns; a responsibility claim names its predicate or exact missing governor.Do not treat open, interface publication, or modular-looking structure as substitutability, assurance, procurement suitability, supplier-set selection, policy authorization, quality proof, or decision authority.A practitioner asking whether something is open first repairs the relation and interface specification; other claims remain with the patterns named in A.6.M:12.
Conway's law, the mirroring hypothesis, and Team Topologies and inverse Conway practice (https://www.melconway.com/Home/Committees_Paper.html; https://doi.org/10.1016/j.respol.2012.04.011; https://itrevolution.com/wp-content/uploads/2022/06/TTOP_excerpt.pdf)Mature socio-technical law and empirical lineage plus current organization-design practice; used as diagnostic pressure, not as a proof rule.Team communication structure, boundary placement, and delivery-responsibility relations can create real pressure on module and interface boundaries and useful correspondence clues.Recover admitted Systems, exact system-role kinds and assignments, and Work through A.15 and A.2; use VP.AllocationResponsibility only as a viewpoint cue, then cite the direct responsibility predicate or exact missing governor. Connect that material to ModuleInterfaceStructure only through declared correspondence, allocation, boundary relation, and preserved and lost structure note. Use C.29 for a homomorphism-like claim.Do not treat Conway's law, an org chart, assignment, responsibility label, or delivery unit as proof of module interface, substitutability, modularity quality, evidence, gate passage, or architecture decision.A practitioner may use team-boundary mismatch as a diagnostic prompt, then repair each exact relation before deciding what architecture change is warranted.
Amdahl's law and communication and synchronization extensions (https://www.cs.cmu.edu/~18742/papers/Amdahl1967.pdf; https://arxiv.org/abs/1306.3302; https://arxiv.org/abs/2603.20654)Mature mathematical law plus current extension sources for communication, synchronization, and scalable-workload-fraction limits.Serial work, synchronization, communication overhead, shared resources, and changing scalable workload fractions can limit the payoff of decomposition, parallelization, or specialization.Use C.29 for mathematical speedup or value-scalable-fraction reasoning, E.18 for transformation-flow structure, C.30.TFS-REL when the module claim uses an architecture-to-transformation-flow relation, and C.31 and C.16 for modularity and characteristic tradeoffs.Do not treat module count, team count, service count, transformation-flow path count, or accelerator count as improvement, scalability, throughput, or evolvability by itself.A practitioner considering a module split names the serial part, shared bottleneck, synchronization or communication overhead, and characteristic tradeoff before claiming improvement.
SEI Views and Beyond, ISO/IEC/IEEE 42010:2022, and multi-view architecture practiceMature architecture-description lineage plus current international view-description discipline; not used as a current module-quality source.Module and component-and-connector views are distinct architecture descriptions.Use ModuleInterfaceStructure and RuntimeInteractionStructure as structure-kind signals under C.30.ASV.Do not reduce architecture to a module diagram.Module repair stays one architecture-structure concern, not the whole architecture ontology.
Platform and product-line engineering practice (https://tag-app-delivery.cncf.io/fr/whitepapers/platform-eng-maturity-model/; https://www.sei.cmu.edu/library/variability-in-software-product-lines/; https://arxiv.org/abs/2605.21353)Mature product-line variability lineage plus current platform-engineering maturity-model and current SPLE-review cues; used for variability-slot and extension-rule discipline, not as one FPF platform kind.Variation slots and extension rules matter for reuse and substitution.Use PlatformGrammarRef, variabilitySlotRefs, and change policy instead of a platform root kind.Do not treat platform name as architecture quality, architecture scale-preference evidence, procurement suitability, supplier-set selection, or decision authority.The next module-repair action is to identify extension rules and substitution conditions; non-module quality, scale-preference, procurement, supplier-set, and decision claims are governed by the patterns named in A.6.M:12 when those claims are being made.
Architecture-operation language, with neural-network and software-system intakes as source examplesCurrent practitioner-language source examples accepted by the architecture workstream; used as recognition material, not as a standard or current-best-known authority.C.30.STRAT source labels, including source examples such as block, layer, expert, router, cache, and state, are useful recognition prompts.Keep them as source labels until the recovered FPF kind, relation, claim-use, or source-use disposition is known; use A.6.M only for module-interface relation, interface specification, platform grammar, substitutability, or open-architecture module-interface claims.Do not import source-context labels as module kinds or evidence of adequacy.The same repair works for neural-network block replacement, hardware module substitution, organizational module repair, and episteme-module repair without making any source context the ontology.

Older or local sources may serve as lineage or worked examples only when the row says so. They do not stand in for current competitive source, and they do not make a module, interface, platform, or open-architecture claim admissible for comparison, assurance, gate, selection, or decision use without the subject pattern for that use.

Relations

PatternRelation
A.6.PA.6.M is an RPR specialization for module-interface claim and interface-specification language; its record forms do not create a direct relation occurrence.
A.6.RSIRBare interface-like wording is recovered before A.6.M is applied; A.6.M governs only recovered module-interface claim content, interface specification, platform grammar, substitutability policy, change policy, or open-architecture slice.
A.6.RCD and A.6.RELA needed reusable direct module relation requires its subject pattern and A.6.RCD for participants, obtaining, applicability, recurrence, and identity. A.6.REL applies only after the direct relation is admitted and a later use must distinguish obtaining occurrences.
C.2.1, A.2.6, and A.22Govern the ModuleInterfaceClaim episteme, the separate InterfaceSpecification episteme, effective reference scheme, ClaimScope, and any independently selected dependency or model-use structure. None creates a module relation.
C.30.STRATRecovers stratification and architecture-operation source labels before A.6.M governs only recovered module-interface relation cases.
E.16Governs autonomy-budget, autonomous operation, independent acting, unsupervised decision or action, and freedom-of-action claims when those description or view uses are being made; A.6.M keeps only the module-interface relation, boundary, interface specification, and substitution or change-policy slice.
A.14Component and part-whole wording uses A.14 first unless a module-interface relation is being claimed.
A.6.0 and A.6.5Signatures, slots, ports, endpoints, and field structure remain governed by signature and slot discipline.
A.6.B, A.6.C, and A.6.P:4.11aBoundary, interface-specification, API, protocol, service, promise, and duty wording uses A.6.M only when the claim is module-interface relation, interface specification, substitutability, change policy, platform grammar, or open-architecture module-interface claim.
C.30 and C.30.ASVArchitecture claims and module-interface structural views stay architecture-governed.
C.33, C.34, and C.35Use these only when a module carrier, interface carrier, view, source label, generated map, or discovered structure needs architecture-specific captured-structure adequacy, lost-structure adequacy, preservation adequacy, or generated-carrier admission support. Use A.6.M for module-interface relation, interface specification, substitutability, change-policy, and platform-grammar claims.
A.6.FFunction and functional wording stays distinct from module allocation.
A.15 and A.2Method, WorkPlan, performed Work, exact system-role-kind and assignment claims, team-boundary wording, and delivery-unit wording keep their own defining or constraining patterns. Responsibility claims use an admitted direct domain predicate or the exact A.6.RCD missing-governor result; VP.AllocationResponsibility is only a recognition cue. Use A.6.M only for a recovered module-interface relation or correspondence.
E.18 and C.30.TFS-RELE.18 transformation-flow relations, path slices, crossings, and flow valuations are not interface specifications.
C.31Modularity and reusable-structure characteristics are governed by C.31 after relation repair when characteristic or measurement use is being made.
C.31.RSAReusable-structure accounting is governed by C.31.RSA when reusable loci, bespoke residue, or report-only share claims are being made.
C.16Measurement, score, scale, unit, comparability, and evidence-stub admissibility remain C.16-governed.
A.10, B.3, A.20, A.21, C.28, E.20, G.5, C.11Evidence, assurance, gates, causal use, mechanism suites, set-return selection, and local decisions use their subject patterns; they are not A.6.M claims.

A.6.M:End


Last Updated: 2026-09-10 — upstream FPF commit a87d0ef4 (github.com/ailev/FPF)