IDEF0 — метод функционального моделирования систем. Он показывает не последовательность событий, а что делает система или функция, что она преобразует, что ею управляет, что получается на выходе и за счёт каких механизмов она выполняется.
№82 BPMN показывает последовательность процесса, события, gateways, waits и participants. IDEF0 показывает функции и их ICOM-интерфейсы без обязательной временной последовательности. №80 TOC ищет constraint в системе; IDEF0 помогает увидеть функции/mechanisms/controls, которые формируют систему. №79 KT диагностирует deviations; IDEF0 даёт структурный контекст. №78 TRIZ преобразует функции/противоречия, которые модель помогла обнаружить.
Полезные соседи: №13 Problem Formulation, №14 Decomposition, №41 Cognitive Architecture, №50 Structured Contracts, №77 Production Architecture. IDEF0 особенно полезен для нашего проекта как способ изобразить R01–R10 и supporting infrastructure через функции, а не через список технологий.
CONTROL PLANE: modeling conventions, viewpoint, purpose, node numbering and glossary. DATA PLANE: boxes, ICOM arrows, decomposition relations and notes. RUNTIME: N/A; diagram may describe runtime functions but is not execution logic. OFFLINE: architecture design/review, requirements analysis, operating model, system decomposition.
Success: each box is an activity/function expressed as verb phrase; inputs are transformed, controls constrain/direct, outputs are produced, mechanisms enable execution; child diagram preserves parent boundary. Failure: org chart disguised as functions, every arrow called input, chronological sequence forced onto IDEF0, uncontrolled decomposition depth or inconsistent boundaries.
IDEF0 does not execute processes, define APIs precisely, model event timing, concurrency, state machines or message delivery semantics. It owns FUNCTIONAL STRUCTURE AND CONTEXT: what transformations exist and what enables/controls them.
Материал, данные, запрос, документ, состояние или объект, который функция изменяет/обрабатывает.
Question: “What does the function act on?”
Результат преобразования: ответ, артефакт, решение, обновлённое состояние, событие, действие.
Question: “What exists because the function ran?”
Policies, requirements, constraints, rules, objectives, contracts, standards, plans. Control обычно не “расходуется” и не является объектом преобразования.
People, software modules, models, tools, databases, infrastructure, equipment — resources that perform or enable the function.
CONTROL
│
▼
INPUT ───────────────▶ ┌───────────────┐ ───────────────▶ OUTPUT
│ │
│ FUNCTION │
│ A1 │
│ │
└───────────────┘
▲
│
MECHANISM
LEFT = INPUT
TOP = CONTROL
RIGHT = OUTPUT
BOTTOM = MECHANISM
| Question | INPUT | CONTROL |
|---|---|---|
| Что делает функция? | Преобразует/использует как предмет обработки. | Ограничивает, направляет или определяет правила обработки. |
| Example: AI writer | Source text, brief, product facts. | Brand tone, legal rules, output schema, platform limits. |
| Example: RAG | User query / source corpus candidate. | Access policy, retrieval mode, top-k rule, tenant scope. |
| Diagnostic | Without it, what object is left to transform? | Without it, function may still run but incorrectly/unbounded. |
Policy, prompt specification, acceptance criteria, budget limit, security rule.
LLM, parser, engineer, queue worker, browser runtime, database, model gateway.
Это component/resource noun; непонятно, какую функцию модель описывает.
Function clearly states transformation/action. Model Gateway can appear as mechanism.
Architecture review, automation discovery, ownership clarification, compliance analysis, bottleneck discovery.
Product owner, system architect, operations team, data governance, end user.
Define system boundary before decomposition so external controls/mechanisms are not silently pulled inside.
MODEL HEADER Purpose: clarify functional architecture of the production AI system. Viewpoint: system architect. System boundary: from authenticated task intake to verified output/action. Outside: external model providers, customer systems, human users, legal/regulatory environment.
CONTROLS
product policy · security · governance
budgets · task contracts
│
▼
USER REQUEST ───────▶ ┌───────────────────────────┐ ───────▶ VERIFIED OUTCOME
SOURCE DATA ────────▶ │ A-0 │ ───────▶ ARTIFACT / ACTION
EVENT / TRIGGER ────▶ │ EXECUTE AI PRODUCT TASK │ ───────▶ TRACE / FEEDBACK
└───────────────────────────┘
▲
│
MECHANISMS
AI runtime · models · tools · knowledge
production fabric · people · external systems
PARENT BOX A3: Inputs: task query source refs Controls: access policy research strategy Outputs: evidence set tool results Mechanisms: R06 Knowledge Engine R07 Tool Engine CHILD DIAGRAM A3: A31 retrieve sources A32 call external tools A33 normalize evidence A34 attach provenance Boundary arrows of A3 must be explainable on A31–A34. Do not invent: new external payment system new unrestricted data source inside child diagram without updating parent context.
Single top function and external ICOM.
Main system functions A1, A2, A3…
Represents one function from parent diagram.
One function inside decomposition of A3.
An output of one function can be input/control to another.
Later function can produce control/input used by an earlier function.
If exact event order, waits, timers and branching matter, model them separately in №82.
┌──────────────┐
source metadata ────▶│ A21 classify │
│ └──────────────┘
│
├─────────────▶┌──────────────┐
│ │ A22 route │
│ └──────────────┘
│
└─────────────▶┌──────────────┐
│ A23 log/audit │
└──────────────┘
Branch:
one arrow concept splits into uses.
Join:
multiple compatible flows can merge
only when the resulting arrow meaning remains clear.
Arrow may be intentionally omitted on parent/child boundary when it would add noise and its context is understood/documented.
Security policy, external authority, important outputs and ownership boundaries should not disappear merely because diagram is crowded.
“Verified evidence set”.
Evidence refs that passed source existence/access checks, not “trusted truth”.
Contract, architecture module, policy, business glossary.
A-0 EXECUTE AI TASK
Possible top decomposition:
A1 FORMULATE TASK
mechanisms:
R02
A2 CONTROL EXECUTION
mechanisms:
R01
R03
A3 BUILD OPERATING CONTEXT
mechanisms:
R04
R05
A4 ACQUIRE KNOWLEDGE / PERFORM ACTION
mechanisms:
R06
R07
A5 GENERATE / ROUTE MODEL WORK
mechanisms:
R09
models / gateway
A6 VERIFY & COMMIT RESULT
mechanisms:
R08
policies / HITL / tools
A7 LEARN FROM OUTCOME
mechanisms:
R10
eval / feedback systems
Notice:
function map ≠ module list.
One function may use several mechanisms.
One mechanism may support several functions.
CONTROLS
data governance · model policy · budgets
capability requirements · latency SLO
│
▼
model request ─────────▶ ┌───────────────────────────┐ ─────────▶ selected target
task metadata ─────────▶ │ SELECT MODEL TARGET │ ─────────▶ routing rationale
runtime health ─────────▶ │ A51 │ ─────────▶ fallback candidates
└───────────────────────────┘
▲
│
MECHANISMS
R09 Model Router
№65 Model Gateway
health registry
quota service
CONTROLS
access policy · retrieval strategy · top-k budget
freshness rules · evidence requirements
│
▼
query ─────────────────▶ ┌──────────────────────────────┐ ───────▶ evidence refs
source/index state ─────▶│ PROVIDE RELEVANT EVIDENCE │ ───────▶ retrieval metadata
│ A41 │ ───────▶ insufficiency signal
└──────────────────────────────┘
▲
│
MECHANISMS
R06 Knowledge Engine
vector DB / HNSW
source store
reranker
At high-level runtime model: data governance policy = CONTROL directing other functions. Inside governance subsystem: A1 CLASSIFY DATA A2 DETERMINE ALLOWED PURPOSE A3 DETERMINE PROVIDER / REGION ELIGIBILITY A4 APPLY RETENTION / DELETION RULES Now governance itself is decomposed into FUNCTIONS. This is not contradiction. IDEF0 semantics depend on the system boundary and viewpoint.
| Function | Possible mechanisms |
|---|---|
| Verify structured output | JSON Schema validator, Pydantic, deterministic code, R08 Quality Engine. |
| Retrieve relevant evidence | Postgres FTS, vector DB, graph store, web tool, R06. |
| Route model request | R09, №65 gateway, config registry. |
| Persist artifact | Object storage, filesystem, database blob store. |
| Approve consequential action | User UI, human reviewer, approval service, policy engine. |
Function exists conceptually but no component/person actually owns execution.
Potentially dangerous free-form behavior.
Dead artifact/telemetry that creates cost without downstream use.
Can reveal duplicated routing, validation, policy or data transformation logic.
“Verified evidence set” connects A4 → A6.
Define schema, version, ownership, required provenance, errors and lifecycle.
Typed data structure/API/event ref used by actual modules.
A1 classify request ──mechanism──▶ Human Reviewer A2 approve action ───mechanism──▶ Human Reviewer A3 review failure ───mechanism──▶ Human Reviewer A4 approve release ───mechanism──▶ Human Reviewer IDEF0 reveals: one mechanism supports many critical functions. TOC asks: is this shared mechanism the current system constraint? Then: exploit / subordinate / elevate around that resource.
Who transforms what, under which controls, using which mechanism?
Trim a component, transfer function, separate contradictory conditions, exploit system resources.
| Question | IDEF0 | BPMN |
|---|---|---|
| What functions exist? | Strong | Possible but not primary |
| What is transformed? | Input / Output | Data objects/messages |
| What constrains work? | Control is first-class | Rules/gateways/events modeled differently |
| What resources enable it? | Mechanism is first-class | Pools/lanes/resources less explicit semantically |
| Exact sequence? | Not primary | Core strength |
| Timers/events/waits? | Weak | Core strength |
External system boundary and ICOM.
Usually enough for executive architecture view.
Useful for ownership/interfaces and design.
Do not decompose to individual code functions just because notation allows it.
| Question | Why it matters |
|---|---|
| Is box name an active function? | Avoid component/org-chart modeling. |
| What input is transformed? | If none, maybe function is control/management or poorly framed. |
| What output proves function occurred? | Clarifies value and downstream contract. |
| Which controls constrain it? | Reveals rules/policies/objectives. |
| Which mechanisms actually perform it? | Maps function to resources/components. |
| Who consumes outputs? | Detect dead work. |
| Does child diagram preserve parent boundary? | Maintains model consistency. |
| Does the decomposition serve the model purpose? | Stops unnecessary detail. |
Identify candidate functions, inputs, outputs, controls and mechanisms from architecture/process descriptions.
Convert component lists into functional language and detect overloaded nouns.
Flag arrows likely misclassified as input/control/mechanism.
Missing control/output should be marked unknown/gap, not hallucinated as fact.
{
"model_id":"AI-PROD",
"purpose":"functional architecture review",
"viewpoint":"system architect",
"node":"A0",
"parent":"A-0",
"boxes":[
{
"id":"A1",
"name":"Formulate task",
"inputs":["raw_request"],
"controls":["product_policy","task_contract_rules"],
"outputs":["task_contract"],
"mechanisms":["R02"]
}
],
"boundary":{
"inputs":["raw_request"],
"controls":["security_policy"],
"outputs":["verified_outcome"],
"mechanisms":["ai_runtime"]
}
}Tooling can validate missing labels, parent-child boundary mismatches, duplicate arrow definitions and glossary coverage before rendering diagrams.
Every meaningful arrow needs a concept/label.
Node IDs unique within model.
Parent external ICOM absent from child decomposition without explicit tunnel.
“Database”, “Model”, “Marketing” probably represent mechanism/org entity rather than activity.
% important functions with meaningful I/C/O/M where applicable.
Parent-child interfaces consistent or explicitly tunneled.
% critical functions mapped to mechanisms/owners.
Missing controls/mechanisms/consumers found during review.
Functions redundantly implemented across components.
Important inter-function arrows formalized into typed interfaces.
How many decomposition levels are actually used in design decisions.
Mismatch rate between current implementation and model.
| Time | Action |
|---|---|
| 0–3 min | Write model purpose, viewpoint and system boundary. |
| 3–8 min | Create A-0 top function as verb + object. |
| 8–13 min | List external Inputs, Controls, Outputs, Mechanisms. |
| 13–18 min | Decompose A-0 into 3–6 major functions. |
| 18–23 min | Connect outputs to downstream inputs/controls and assign mechanisms. |
| 23–26 min | Check parent-child boundary consistency and glossary ambiguity. |
| 26–30 min | Identify missing function ownership, duplicated mechanisms, unclear controls and candidate contracts. |
IDEF0 WORKSHEET ========================================================= MODEL PURPOSE Why are we modeling this system? → VIEWPOINT Whose perspective? → SYSTEM BOUNDARY Inside: → Outside: → A-0 TOP FUNCTION Verb + object: → INPUTS What does the function transform? 1. 2. 3. CONTROLS What constrains/directs it? 1. 2. 3. OUTPUTS What does it produce? 1. 2. 3. MECHANISMS Who/what performs it? 1. 2. 3. --------------------------------------------------------- A0 DECOMPOSITION A1: Function: Inputs: Controls: Outputs: Mechanisms: A2: Function: Inputs: Controls: Outputs: Mechanisms: A3: Function: Inputs: Controls: Outputs: Mechanisms: A4: Function: Inputs: Controls: Outputs: Mechanisms: --------------------------------------------------------- BOUNDARY CHECK Parent input represented? [ ] yes [ ] tunneled [ ] gap Parent control represented? [ ] yes [ ] tunneled [ ] gap Parent output produced? [ ] yes [ ] tunneled [ ] gap Parent mechanism represented? [ ] yes [ ] tunneled [ ] gap --------------------------------------------------------- ARCHITECTURE FINDINGS Missing owner/mechanism: → Missing control: → Dead output: → Duplicated function: → Ambiguous arrow: → Candidate typed contract: → Need deeper decomposition? → yes / no Need BPMN for sequence? → yes / no
You are assisting with IDEF0 functional modeling.
Rules:
1. Ask/derive the model PURPOSE and VIEWPOINT first.
2. Define the system boundary.
3. Create one A-0 function using a verb + object phrase.
4. Classify every external arrow as:
INPUT, CONTROL, OUTPUT or MECHANISM.
5. Use these semantics:
INPUT = transformed/processed object;
CONTROL = rule/constraint/objective directing function;
OUTPUT = result produced by function;
MECHANISM = resource/component/person performing function.
6. Do not model components/departments as functions
unless rewritten as activities.
7. Decompose a parent function into a small coherent set
of child functions.
8. Preserve parent-child boundary consistency.
9. Do not assume box position implies exact chronology.
10. If chronological flow matters, recommend a separate BPMN model.
11. Mark missing controls, mechanisms or outputs as gaps;
do not invent them.
12. Maintain a glossary for important arrow concepts.
13. For every diagram identify:
- missing responsibilities;
- duplicated functions;
- dead outputs;
- overloaded/shared mechanisms;
- candidate contract boundaries.
14. Stop decomposition when additional detail
no longer serves the declared purpose.
| Question | Answer |
|---|---|
| Стоит ли использовать? | Да. Для functional architecture, responsibility mapping, complex system decomposition and pre-BPMN analysis. |
| Separate Component? | N/A. This is design-time notation/methodology. |
| Минимум 80% ценности? | Purpose/viewpoint, A-0 context, correct ICOM, one useful decomposition level, boundary balancing and architecture findings. |
| Когда overkill? | Simple linear process where BPMN alone is sufficient, tiny component, or when exact runtime sequence—not functional structure—is the only question. |
| Trigger? | “We know components but not who actually owns which function”; “controls and data are mixed”; “system decomposition is unclear”. |
| Как измерить uplift? | Fewer ownership gaps, clearer interfaces, reduced duplicated functions, faster architecture review and contract discovery. |
| Можно ли использовать AI? | Да. AI can draft and normalize ICOM models; deterministic checks should validate notation consistency, while humans/implementation verify factual correctness. |
Model what system does, not what components are named.
Input, control, output and mechanism are not interchangeable arrow decorations.
There is no useful decomposition without a declared modeling purpose.
A-0 establishes system boundary before child diagrams.
Decomposition refines; it does not silently redefine interfaces.
Use BPMN/state/workflow models for detailed time behavior.
One resource may support multiple functions and expose a constraint.
Important interfaces should later become typed schemas/APIs/events where appropriate.
The diagram exists to support decisions, not maximize box count.
START
↓
DEFINE MODEL PURPOSE
architecture?
automation?
ownership?
controls?
constraint discovery?
↓
DEFINE VIEWPOINT
architect
operations
product
governance
user
↓
DEFINE SYSTEM BOUNDARY
↓
CREATE A-0
CONTROL
↓
INPUT ───────▶ [ FUNCTION ] ───────▶ OUTPUT
↑
MECHANISM
────────────────────────────────────────
ASK:
INPUT
what is transformed?
CONTROL
what constrains/directs execution?
OUTPUT
what exists because function ran?
MECHANISM
who/what performs or enables it?
────────────────────────────────────────
DECOMPOSE:
A-0
↓
A0 diagram
A1 function
A2 function
A3 function
A4 function
A5 function
then:
A3
↓
A31
A32
A33
...
ONLY AS DEEP
AS MODEL PURPOSE REQUIRES.
────────────────────────────────────────
BALANCE:
parent external ICOM
must remain explainable
on child diagram
unless explicitly tunneled.
────────────────────────────────────────
IN AI ARCHITECTURE:
FUNCTION:
provide relevant evidence
INPUT:
query / source state
CONTROL:
access policy
retrieval strategy
freshness requirements
OUTPUT:
evidence refs
insufficiency signal
MECHANISM:
R06
vector DB
source store
reranker
HNSW IS A MECHANISM,
NOT THE BUSINESS FUNCTION.
────────────────────────────────────────
FUNCTION:
select model target
INPUT:
request
health/capability state
CONTROL:
governance
budgets
latency SLO
model policy
OUTPUT:
selected route
fallback candidates
MECHANISM:
R09
Model Gateway
────────────────────────────────────────
USE WITH:
TOC
to find overloaded/shared mechanisms
and system constraints
KT
to diagnose deviations in a function
TRIZ
to redesign conflicting functions
or trim mechanisms
BPMN
to specify exact sequence,
waits, events and branching
STRUCTURED CONTRACTS
to formalize critical arrows
────────────────────────────────────────
THE CENTRAL QUESTION IS NOT:
“WHAT SERVICES DO WE HAVE?”
IT IS:
“WHAT FUNCTIONS MUST THE SYSTEM PERFORM,
WHAT DO THEY TRANSFORM,
WHAT CONTROLS THEM,
WHAT DO THEY PRODUCE,
AND WHAT ACTUALLY MAKES THEM HAPPEN?”
THAT SHIFT
FROM COMPONENTS
TO FUNCTIONS
IS THE PRACTICAL VALUE
OF IDEF0.
A. Related ECC ideas. Context-as-cache, scoped memory, lifecycle hooks, selective capabilities, feature flags, deterministic enforcement, provider-neutral adapters and eval-gated learning are applied only where relevant to №81 IDEF0.
B–E. Existing boundary and placement. The existing conceptual boundary, class METHODOLOGY, default N/A and owner Design-time / Problem Solving remain authoritative. Runtime/control/data/offline placement is unchanged; durable state stays outside model context.
F–H. Hooks and contracts. Use bounded PRE_MODEL/POST_MODEL, PRE_TOOL/POST_TOOL, CHECKPOINT and TASK_COMPLETED events as applicable. Illustrative fields and canonical contracts are defined in NEW_CONTRACTS_SPEC.md; no universal schema is implied.
I–J. Security and evaluation. Host-side schema, permission, secret, budget, idempotency and audit checks take precedence over LLM output. Optional mechanisms require a feature flag and WITH/WITHOUT ablation; measure quality, acceptance, correction, latency, cost, escalations and severe errors.
K–L. Task profiles and cross-references. A TaskProfile selects the relevant skill, tool/context slice, memory scope and enforcement profile independently from FAST/STANDARD/DEEP. See cross-reference map, hook spec and ablation plan. Provider adapters remain outside the core.