Section 20 of 102
19. Type System
Stable section ID: S05-CON-007-SECTION-20 · 58 content blocks
The BDL Type System shall define valid data structures, engineering entities, properties, relationships, and constraints.
Primitive Types shall include:
boolean;
integer;
decimal;
string;
date;
time;
duration;
identifier;
URI or resource reference.
Engineering Types shall include:
quantity;
vector;
matrix;
coordinate;
direction;
angle;
geometry reference;
material;
capability;
state;
evidence reference.
Collection Types shall include:
list;
set;
ordered sequence;
map;
bounded collection.
Entity Types shall include:
building;
site;
space;
Component;
Assembly;
Node;
Cartridge;
Interface;
Connection;
Profile;
Evidence.
Types shall define:
permitted properties;
required properties;
optional properties;
default values where safe;
relationship constraints;
cardinality;
unit dimensions;
validation rules.
Example:
type StructuralMember extends Component {
required material: MaterialRef;
required length: Quantity<Length>;
required end_interfaces: List<StructuralInterfaceRef>;
optional mass: Quantity<Mass>;
}
Safety-relevant defaults shall be avoided where omission could conceal missing engineering information.