====== GPR-009 — Context-Independent Functional Factoring ======
[[public:00-sip-ra:99-annexes:annex-c-requirements:start|Go to Annex C: Requirements]]
===== Statement =====
The Submission SHALL separate functionality reusable across multiple contexts from functionality specific to an individual context.
===== Requirement Level =====
Mandatory
===== Rationale =====
Define functionality that applies across multiple contexts once and reuse it. Repeating equivalent functionality within context-specific models creates duplication, increases maintenance effort, and allows inconsistent definitions to develop.
Separating reusable functionality from context-specific functionality establishes a common architectural foundation while permitting specialization for individual Domains, platforms, jurisdictions, security environments, or operational contexts.
===== Evaluation Criteria =====
A conforming Submission demonstrates that:
- Contexts addressed by the specification are identified
- Functionality shared across multiple contexts is identified
- Shared functionality is defined independently of individual contexts
- Context-specific functionality is distinguishable from shared functionality
- Context-specific models reuse or specialize applicable shared functionality
- Equivalent functionality is not independently redefined in multiple contexts
- Relationships between shared and context-specific functionality are represented
- Constraints introduced by a particular context are explicitly identified
- Changes to shared functionality can be distinguished from changes to a context-specific specialization
- Reuse does not alter the normative meaning of the shared functionality
===== Referenced By =====
{{backlinks>public:00-sip-ra:99-annexes:annex-c-requirements:gpr-009-context-independent-functional-factoring}}
===== Notes for Editors =====
This requirement does not prohibit context-specific specialization. It requires separating reusable functionality from the additional functionality or constraints introduced by a particular context.
Use the following syntax to include the authoritative Statement on another wiki page:
{{section>public:00-sip-ra:99-annexes:annex-c-requirements:gpr-009-context-independent-functional-factoring#Statement&noheader&nofooter&noeditbtn}}
----
© 2026 Dido Solutions, Inc. and Jackrabbit Consulting, Inc.