1. A method of designing a cabling layout within a physical environment of a construction project, the method comprising: providing an assembly library storing a plurality of assembly objects, wherein the assembly objects comprise cable attributes, tray attributes, modeled physical environment properties that reflect the physical environment during a design phase of the construction project, and assembly rules; defining a cabling layout using at least some of the assembly objects and based on the modeled physical environment properties; continuously observing, by a monitoring agent, the physical environment during a construction phase of the construction project to detect a change to the physical environment; identifying, by a recommendation engine, a conflict between the change to the physical environment and the cabling layout; updating automatically, by the recommendation engine, the cabling layout to resolve the detected conflict using at least one assembly rule.