Section 28 of 102
27. Extension Mechanism
Stable section ID: S05-CON-007-SECTION-28 · 35 content blocks
BDL shall support controlled extensions for new engineering domains, regional requirements, manufacturer capabilities, and research features.
An extension shall declare:
namespace;
extension name;
version;
publisher;
purpose;
applicable BDL Core versions;
new Types;
new Properties;
new Relationships;
new constraints;
validation rules;
compatibility behavior;
criticality.
Example:
extension manufacturer_x:AdaptiveFacade version "1.0" {
compatible_with: bdl_core "^1.0";
property dynamic_shading_mode: ShadingMode;
capability adaptive_solar_control;
}
Extensions shall not:
redefine Core keywords;
alter existing Core Type meaning;
weaken mandatory Core constraints;
reuse another namespace without authority;
convert unknown critical data into accepted defaults.
Extensions shall classify fields as:
informational;
optional operational;
required operational;
- safety-critical.
- A tool encountering an unknown informational extension may preserve it without interpretation.
A tool encountering an unknown required or safety-critical extension shall reject compilation or mark the configuration unsupported.
Widely adopted extensions may enter the Core language only through BDL Governance.