IDEF0
A functional-modeling methodology with a strict separation of inputs, outputs, controls and mechanisms (ICOM). A US federal standard.
↓ Download reference poster (PDF, A2)
History
IDEF0 was developed in 1981 under the US Department of Defense’s ICAM (Integrated Computer-Aided Manufacturing) program. The methodology builds on the earlier SADT (Structured Analysis and Design Technique) notation created by Douglas Ross. In 1993 IDEF0 was adopted as a US federal information-processing standard (FIPS PUB 183).
The ICOM model
Each box (function) in IDEF0 has four clearly separated sides:
- Input — on the left: the material or information resources transformed by the function
- Control — on top: the constraints, rules and regulations under which the function operates
- Output — on the right: the result of the function’s work
- Mechanism — on the bottom: the performers, equipment and IT systems that carry out the function
This strict semantics is IDEF0’s defining feature. It disciplines the analyst and makes it possible to describe complex systems precisely.
The decomposition principle
IDEF0 is built on hierarchical decomposition:
- The A-0 context diagram — a single function describing the whole system
- The A0 diagram — the context function decomposed into 3–6 sub-functions
- Diagrams A1, A2, A3… — each sub-function decomposed further
Decomposition depth is usually limited to 3–5 levels. Each child diagram must preserve the ICOM balance: all inputs, outputs, controls and mechanisms of the parent function must appear in the child.
Where it is used
IDEF0 is most widely used in:
- The defense and aerospace industries
- The public sector, for describing regulations
- Quality-management-system certification (ISO 9001)
- Systems-integration projects at large manufacturers
Strengths
- Strict semantics — models are hard to misinterpret
- A recognized standard for audit and certification
- Well suited to manufacturing and regulated processes
Limitations
- A high entry barrier for a business audience
- Does not describe the temporal order of execution
- Has no means to describe exceptions and events
- Modern BPM tools support IDEF0 poorly