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. The engineer’s personal name is withheld; D.2. |
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. |
timeseries.json | 1 | One BUS-2 series declaring an hour of supply air temperature; the samples travel as a bus-csv-1 resource. |
presentation.json | 38 | Two drawings, eight layers, seventeen elements, eleven bindings of which one is a write. |
provenance.json | 2 | Change records for the 2017 economizer modification and the 2019 rebalance. |
The package declares profile core-intent and declares nine 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. 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 two declared exclusions — the operating engineer’s personal name is withheld: the party keeps its kind and roles, a generic label stands wherever provenance names the person, and the
identityandprovenancedomains declare the withholding with reasonexcludedForConfidentiality(19.4). The supply fan command path is excluded: the point’s telemetry binding and the graphic’s write channel are gone, the actuation declaration counts what remains, and thepointsdomain declaresexcludedForSafety(19.2). Both are visible in the manifest before a single entity is read, which is the design. - The carried hour of history — one
bus:Seriesdeclares an hour of the AHU-1 supply air temperature as abus-csv-1file — five rows, one failed scan, one doubtful reading, in the point’s owndegC— and thetimeSeriesdomain declares partial withexcludedForSize, because seventeen years of archive exist and one representative hour travels. BUS-2 clause 4.7 walks through this series. - The completeness declaration — nine 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 fourteen 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 every such check.
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.