IDEF0 is a method designed to model the decision, actions and activities of an organisation or system, for analysing and communicating the functional perspective of the system.
The IDEF0 assists the modeller in identifying what functions are performed, what is needed to perform those functions, what the current system does right, and what the current system does wrong. Its development owes much to the SADT (Systems Analysis and Design Technique) notation devised by Philips. Each diagram shows functions and the flows of data between them. Functions are shown as rectangles. The meaning of a flow is determined by which side of the rectangle it is connected to:
Collectively, these are often termed ICOM flows.
In general, there is the same conservation of data rule between the functions at the higher level and the expansion of a function into a lower level diagram.
However, the IDEF0 notation allows these data conservation rules to be broken in a controlled way, but using tunnelled flows.
A tunnelled input or output flow is one which is newly introduced into the current diagram and which does not correspond to any input or output (as appropriate) in a higher level diagram. Once introduced, the data in the tunnelled input or output flow that must be conserved in child diagrams, unless they also use tunnelled inputs and/or outputs.
Tunnelled flows are indicated by semicircles drawn around whichever end (source or destination) of the flow is to be excluded from balancing checks.
IDEF0s are hierarchical. Their connectivity is:
IDEF0s are available in models in both the Essential and Implementation Domains.
Hierarchical by function using the standard dot-decimal notation.
An example IDEF0 diagram is:
The symbols available in IDEF0 diagrams are: