Formal definition of exchanged data structures.

Environment used for active software development.

Creation, use, updating, and destruction stages of a component.

Representing information using a defined encoding scheme.

Build intended primarily for development and testing.

Techniques coordinating simultaneous operations.

Component translating between data representations.

Dependency needed for development but not normal runtime.

Multiple tasks executing with overlapping progress.

Organizing data to reduce redundancy and inconsistency.