(Integration Definition for Function Modeling
) is a function modeling
methodology for describing manufacturing
functions, which offers a functional modeling language
for the analysis, development, re-engineering, and integration of information systems
; business processes; or software engineering analysis. It is part of the IDEF
family of modeling languages in the field of software engineering
, and is build on the functional modeling language building SADT
The IDEF0 Functional Modeling method is desigend to model the decisions, actions, and activities of an organization or system. It was derived from the esthablished graphic modeling language Structured Analysis and Design Technique
(SADT) developed by Douglas T. Ross
and SofTech, Inc.
. In its original form, IDEF0 includes both a definition of a graphical modeling language (syntax
) and a description of a comprehensive methodology for developing models. The The US Air Force commissioned the SADT developers to develope a function model
method for analyzing and communicating the functional perspective of a system. IDEF0 should assist in organizing system analysis and promote effective communication between the analyst and the customer through simplified graphical devices.
Where the Functional flow block diagram is used to show the functional flow of a product, IDEF0 is used to show data flow, system control, and the functional flow of life cycle processes. IDEF0 is capable of graphically representing a wide variety of business, manufacturing and other types of enterprise operations to any level of detail. It provides rigorous and precise description, and promotes consistency of usage and interpretation. It is well-tested and proven through many years of use by government and private industry. It can be generated by a variety of computer graphics tools. Numerous commercial products specifically support development and analysis of IDEF0 diagrams and models.
An associated technique, Integration Definition for Information Modeling (IDEF1x), is used to supplement IDEF0 for data intensive systems. The IDEF0 standard, Federal Information Processing Standards Publication 183 (FIPS 183), and the IDEF1x standard (FIPS 184) are maintained by the National Institute of Standards and Technology (NIST).
During the 1970s, the U.S. Air Force Program for Integrated Computer Aided Manufacturing
(ICAM) sought to increase manufacturing productivity through systematic application of computer technology. The ICAM program identified the need for better analysis and communication techniques for people involved in improving manufacturing productivity. As a result, the ICAM program developed a series of techniques known as the IDEF (ICAM Definition) techniques which included the following:
- IDEF0, used to produce a "function model". A function model is a structured representation of the functions, activities or processes within the modeled system or subject area.
- IDEF1, used to produce an "information model". An information model represents the structure and semantics of information within the modeled system or subject area.
- IDEF2, used to produce a "dynamics model". A dynamics model represents the time-varying behavioral characteristics of the modeled system or subject area.
In 1983, the U.S. Air Force Integrated Information Support System program enhanced the IDEF1 information modeling technique to form IDEF1X (IDEF1 Extended), a semantic data modeling technique. By the 1990s, IDEF0 and IDEF1X techniques are widely used in the government, industrial and commercial sectors, supporting modeling efforts for a wide range of enterprises and application domains. In 1991 the National Institute of Standards and Technology (NIST) received support from the U.S. Department of Defense, Office of Corporate Information Management (DoD/CIM), to develop one or more Federal Information Processing Standard (FIPS) for modeling techniques. The techniques selected were IDEF0 for function modeling and IDEF1X for information modeling. These FIPS documents are based on the IDEF manuals published by the U.S. Air Force in the early 1980s.
IDEF0 Builiding blocks
The IDEF0 model displayed here on the right is based on a simple syntax. Each activity is described by a verb based label placed in a box. Inputs are shown as arrows entering the left side aof the activity box while output are shown as exiting arrows on the right side of the box. Control are displayed as arrows aentering the top of the box and mechanism are displayed as arrows entering from the bottum of the box. Inputs, Controls, Outputs, and Mechanisms are all referred to as concepts.
Arrow: A directed line, composed of one or more arrow segments, that models an open channel or conduit conveying data or objects from source (no arrowhead) to use (with arrowhead). There are 4 arrow classes: Input Arrow, Output Arrow, Control Arrow, and Mechanism Arrow (includes Call Arrow). See Arrow Segment, Boundary Arrow, Internal Arrow.Box: A rectangle, containing a name and number, used to represent a function.Context: The immediate environment in which a function (or set of functions on a diagram) operates.Decomposition: The partitioning of a modeled function into its component functions.Fork: The junction at which an IDEF0 arrow segment (going from source to use) divides into two or more arrow segments. May denote unbundling of meaning. Function: An activity, process, or transformation (modeled by an IDEF0 box) identified by a verb or verb phrase that describes what must be accomplished. Join: The junction at which an IDEF0 arrow segment (going from source to use) merges with one or more other arrow segments to form a single arrow segment. May denote bundling of arrow segment meaningsNode: A box from which child boxes originate; a parent box. See Node Index, Node Tree, Node Number, Node Reference, Diagram Node Number.
An overview of the modeling language building blocks:
The IDEF0 Approach
IDEF0 may be used to model a wide variety of automated and non-automated systems. For new systems, it may be used first to define the requirements
and specify the functions, and then to design an implementation that meets the requirements and performs the functions. For existing systems, IDEF0 can be used to analyze the functions the system performs and to record the mechanisms (means) by which these are done. The result of applying IDEF0 to a system is a model that consists of a hierarchical series of diagrams, text, and glossary cross-referenced to each other. The two primary modeling components are functions (represented on a diagram by boxes) and the data and objects that inter-relate those functions (represented by arrows).
IDEF0 is a model that consists of a hierarchical series of diagrams, text, and glossary cross referenced to each other. The two primary modeling components are:
- functions (represented on a diagram by boxes), and
- data and objects that interrelate those functions (represented by arrows).
As shown by Figure 3 the position at which the arrow attaches to a box conveys the specific role of the interface. The controls enter the top of the box. The inputs, the data or objects acted upon by the operation, enter the box from the left. The outputs of the operation leave the right-hand side of the box. Mechanism arrows that provide supporting means for performing the function join (point up to) the bottom of the box.
The IDEF0 process
The IDEF0 process starts with the identification of the prime function to be decomposed. This function
is identified on a “Top Level Context Diagram,” that defines the scope of the particular IDEF0 analysis. An example of a Top Level Context Diagram for an information system management process is shown in Figure 4. From this diagram lower-level diagrams are generated. An example of a derived diagram, called a “child” in IDEF0 terminology, for a life cycle function is shown in Figure 4.
Federal Information Processing Standards
In Dec 1993 the National Institute of Standards and Technology announcing the standard for Integration Definition for Function Modeling (IDEF0) in the category Software Standard, Modeling Techniques. This publication announces the adoption of the IDEF0 as a Federal Information Processing Standard (FIPS). This standard was based on the Air Force Wright Aeronautical Laboratories Integrated Computer-Aided Manufacturing
(ICAM) Architecture from June 1981.