D Worked example§
D.1 The building§
Cedar Street Building A is a four-storey office building in Austin, Texas, built in 2009, with variable air volume and hydronic reheat. The example models one air system end to end — an air handling unit, one VAV terminal, the controller hosting their points, the zone they serve, a Level 2 floor plan, and the AHU-1 equipment graphic. It is small enough to read and large enough to exercise every core class.
| Document | Entities | Contents |
|---|---|---|
identity.json | 5 | Owner, commissioning authority, engineer, vendor, and the building. |
properties.json | 9 | Five quantity kinds and four asset property definitions, each with prose meaning. |
spaces.json | 7 | Site, two storeys, three spaces, one HVAC zone. |
assets.json | 6 | One system, one asset type, four assets across equipment, component and device. |
points.json | 9 | Sensors, setpoints, commands, a status enumeration, and a meter. |
relationships.json | 48 | Containment, composition, flow with ports, service, power, hosting, measurement, command, control, implementation, knowledge attachment, representation. |
intent.json | 6 | An objective, a target, a safety constraint, an interlock constraint, a schedule, a sequence. |
alarms.json | 1 | Filter differential pressure, with limits, timing, escalation and routing. |
events.json | 2 | A 2026 alarm instance and the 2017 override that is still in place. |
knowledge.json | 2 | Two field notes that exist nowhere else. |
resources.json | 2 | A sequence of operation and an operations manual, both included. |
presentation.json | 38 | Two drawings, eight layers, seventeen elements, eleven bindings of which two are writes. |
provenance.json | 2 | Change records for the 2017 economizer modification and the 2019 rebalance. |
The package declares profile core-intent and declares five domains as less than complete, including representation as partial because the source system can export two drawings and not the rest.
D.2 What the example demonstrates§
- The bound graphic — the AHU-1 drawing carries a fan, coil, filter, damper and sensor as symbol roles, a bespoke nameplate in figure mode, and eleven bindings including a supply-air setpoint write at priority 10 referencing the safety constraint, and a fan command write at priority 8 referencing the fire interlock. The floor plan carries a georeferenced coordinate system and a space boundary polygon bound to zone temperature for color.
- The knowledge notes — a damper linkage that binds between 18 and 24 percent, and a VAV box rebalanced in 2019 whose record drawings were never revised. Neither exists in any drawing, database field, or tag, and both are what disappears when an engineer retires.
- The 2017 override event — still in place nine years later, linked to the knowledge note that explains it. This is the sentence the event model exists to carry.
- The completeness declaration — five domains declared less than complete. An example in which everything is complete would teach implementers the wrong lesson, because no real export is complete.
D.3 Validation§
The distributed example is accompanied by a validator running the structural checks of Annex A group PK: schema validation of the manifest and all thirteen documents, digest and byte-length verification, entity counts, identifier uniqueness, referential closure across relationships and every typed reference, declaration of all twelve substrate domains, property definition coverage and datatype agreement, point consistency, presentation referential integrity, binding channel and write-block validity, priority within the target’s priority model, membership of every unit code and display unit code in the Annex C vocabulary, and accuracy of the actuation declaration. The example passes 751 such checks.
NOTE The validator tests a package, which is one of four targets. The round-trip tests that carry the reconstruction guarantee require two implementations and cannot be run against a file.