Interface Control Documents (ICD) are a method for specifying the functional interface of a component or system. Used correctly they prevent integration errors and promote formal development practices.
What is in the document?
At a minimum, the ICD consists of the following information
- Input specification
- Name
- Data type
- Dimension
- Reference/value
- Output specification
- Name
- Data type
- Dimension
- Reference/value
- Global data used
- Calling method
- Periodic or event-driven
- Reusable / non-reusable
The I/O and global data are generally well understood. Specification of the calling method is required to understand how time-dependent functions such as integrators or transfer functions will behave.
Additional data may include information such as signal range, update rate, units… All of this information should be derived from the requirement specification. (Note: the ICD is sometimes viewed as a derived requirement document)
How is the ICD used?
The ICD provides a baseline

