Creating functional models of a system or component to test its design and identify any potential issues.