An object-oriented building automation system architecture allows complex building automation applications to be developed and deployed as distributed objects across a network. Applications are distributed in the form of objects that may in turn be made up of other application objects, assembly objects and standard objects. All objects are inherited from a superclass that defines a command component and a view component. The command component identifies those methods within the object that may be executed by other objects, and ultimately by the user through the user interface. The view component identifies the attributes or data stored in the object that may be displayed on the user interface. The view component encapsulates the information needed to display the object's data, so that the user interface can be a generic browser. The standard objects encapsulate physically-constrained properties or human comfort-constrained properties. Applications constructed from these objects can be revised and enhanced more easily because the embedded knowledge is preserved through encapsulation.