Announcing Cradle-7.7 - start your free trial here

3SL Reference - IDEF0


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:

  • Left side, the flow is an input into the function (I)
  • Top side, the flow is a control or constraint on the operation of the function (C)
  • Right side, the flow is an output from the function (O)
  • Bottom side, the flow is a mechanism or resource used by the function (M)

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:

Diagram of the hierarchical connectivity of IDEF0

IDEF0s are available in models in both the Essential and Implementation Domains.