Back to the library

Write Information Requirements a Checker Can Run

Machine-readable requirements work best when each rule names the objects in scope, the required information, its allowed values, and a clear response to failure.

A concrete beam and columns are paired with a simple requirement card.

Translate intent into a test

Project requirements often arrive as prose, tables, or contract clauses. A checker can only test the parts that are expressed unambiguously. Start by identifying the decision the information supports. For a hypothetical structural handover, an asset team may need every maintainable component to carry a unique identifier and a classification.

That intent becomes testable only after the team defines the eligible object types, field names, requiredness, and accepted value pattern. Keep the human requirement available alongside the machine rule so users can understand why it exists.

Define applicability carefully

A machine-readable rule first needs to identify the objects it applies to. Broadly selecting every IFC object may create noise; selecting only one class may miss valid project content mapped differently by a discipline. Use the agreed object class, type, classification, or property conditions that reliably identify the scope.

Check with model authors before freezing the rule. If the model uses proxies or custom mappings, document how those objects will be covered. A narrow but accurate applicability rule is more useful than a broad test with misleading failures.

Specify the requirement precisely

For each selected object, decide whether a property must exist, may be empty, must equal a value, or must satisfy an allowed list or pattern. Define data type and units where relevant. 'Material is defined' is less precise than naming the property location and acceptable value form.

However, overly restrictive rules can reject valid data that expresses the same engineering meaning differently. For example, two approved concrete designation conventions might need a controlled mapping rather than an exact text match. Have the discipline owner approve the interpretation.

Applicability: Which objects does it concern?. Requirement: What value or property is needed?. Result: Pass, fail or outside scope
A requirement can be made explicit. Original illustrative workflow; adapt the checks to the agreed project requirements. Open diagram ↗
Read diagram notes
Applicability
Which objects does it concern?
Requirement
What value or property is needed?
Result
Pass, fail or outside scope

Separate presence from correctness

A field can be populated and still be wrong. An IDS-style check may validate presence and permitted values, but it cannot automatically establish that a material property reflects the approved specification unless an authoritative source is available and linked. Use separate checks for requiredness, formatting, cross-field consistency, and design correctness. State what each result proves.

This makes reports more honest and prevents a green validation badge from being interpreted as engineering approval.

Pilot on real model variation

Test requirements against representative files from each authoring workflow. Include a clean example, a missing-value example, a malformed value, an exception, and an object whose mapping is uncertain. Ask the checker to produce results and ask model authors whether they can locate and fix each failure.

If the report cannot identify the affected object or explain the rule, improve the issue output. A rule should be judged by whether it catches meaningful nonconformance and supports efficient correction, not only by whether the file parses.

Manage exceptions deliberately

Some elements may legitimately not carry a requirement: temporary items, reference geometry, or components outside the delivery scope. Define exclusions by stable criteria and record who approved them. Avoid ad hoc whitelists that silently grow after each failed check. When an exception is project-specific, make it visible in the report and provide a rationale.

If a rule change affects earlier submissions, communicate the change and its effective date. Otherwise teams may be judged against criteria that did not exist when they produced the model.

Use failures as feedback

An automated report should route findings to the party who can correct the authoring or requirement issue. Group repeated failures by class, property, discipline, and delivery stage. If every member lacks the same field, the fix may belong in the template or mapping, not in hundreds of manual edits.

If only a few objects fail, inspect whether they are genuine exceptions or modeling defects. Track repeated rule failures across cycles to improve training and templates, while preserving the distinction between information quality and design quality.

Govern the rule set

Store machine-readable requirements with a version and a clear owner. Maintain a human-readable description, effective date, applicable delivery stage, and test evidence. A rule should not change without review by the requirement owner and affected teams. Keep a small regression model so edits can be tested before deployment.

Automated checking can make information requirements more consistent, but it does not decide what the project should require. Engineering judgment and asset-owner needs must shape the rules before software can validate them.