Abstract:
System and methods for evaluating and coordinating the design and implementation of a structure is disclosed. The system includes an attributes engine, configured to receive design data for a structure; quantify a plurality of measures of various attributes of the structure based on the design data; from the quantified plurality of measures of various attributes of the structure, determine a structure fitness function, F, whereby: 
         F=f ( {right arrow over (w)}   1   {right arrow over (a)}   1   ,{right arrow over (w)}   2   {right arrow over (a)}   2   , . . . {right arrow over (w)}   n   {right arrow over (a)}   n ) 
     wherein a 1 , a 2 , . . . a n  are each quantifications of an attribute, respectively, of a structure based on the structure design, and w 1 , w 2 , . . . w n  are each weighting values corresponding to each attribute quantification, respectively; and, an interface for providing an indication of the structure fitness function to a user. The structure fitness function may be evaluated and a value provided thereby for a variety of perspectives, such as sum of weighted attributes, a mean function value, etc.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    The present disclosure is related to and claims priority from copending U.S. patent application titled “System and Methods for Structure Design, Analysis, and Implementation”, Ser. No. 13/112,727, filed on May 20, 2011, which is incorporated herein by reference. The present disclosure is also related to U.S. patent application titled “System and Methods Facilitating Collaboration in the Design, Analysis, and Implementation of a Structure”, Ser. No. 13/163,307, which is incorporated herein by reference. 
     
    
     COPYRIGHT NOTICE 
       [0002]    A portion of the disclosure of this patent document contains material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever. 
       BACKGROUND 
       [0003]    The present disclosure is related to the design and realization of structures such as buildings, and more specifically to systems and methods for facilitating collaboration in the designing, iterating, and building of such structures, and supporting the ecosystem of the processes and the parties participating in those operations. 
         [0004]    Traditionally, the process of designing and building a structure involves many professionals with many different skill sets. As an example, a developer interested in having a commercial structure built may retain an architect, who takes the developer&#39;s requirements and preferences, details about the site, building codes and the like, and first generates a conceptual design, then a more detailed schematic design. At this stage, the architect&#39;s role is to synthesize, problem solve, and design. The resulting forms, as drawn and/or modeled, are typically a blending of art and engineering. Reviews and reworking for multiple different audiences typically occur next in what is often referred to as design development. For example, an architectural engineer or similar professional may review the design and plans for the proposed structure&#39;s integrity and safety, the developer may have input for modifications to the design to meet a desired design goal, the builder may introduce limitations based on cost, time-to-completion, feasibility, and so on. 
         [0005]    Portions of the design may also be sent to sources for cost estimates and to determine availability of elements of the structure, estimates for labor cost and time-to-delivery of components, etc. Estimates from these many other sources may then also be factored into calculated time-to-completion, cost, and so on. Bidding and negotiation may take place, such as with a builder or construction manager, parts and services providers, etc. Further design development then typically takes place to bring the design in line with budgets, evolving design requirements, etc. 
         [0006]    Once the final design and plans converge for the main parties of interest (developer, architect, engineer, and builder, who form the core of the ecosystem for the project), required permits and other approvals may then be sought. An additional one or more round(s) of design development take place including negotiations with certifying and permitting agencies in order to converge on a mutually acceptable design. Ultimately, construction begins and in spite of inevitable cost and time overruns a structure is built. 
         [0007]    While there are many other steps and parties involved, and the actual order of things may vary from structure to structure, the process is long, convoluted, circular, often unnecessarily complex, with many parties involved, and there are many opportunities for inefficiencies and delays in the various design, interaction, revision, and iteration of the design and build process. Furthermore, for each new structure, the process essentially reinvents itself from scratch, but never the same from one structure to the next. There is little re-use of designs, processes, and data in the design and construction of new structures. And, there are few resources available to improve efficiency and effectiveness in the communication and work processes taking place in the community of people and agencies involved in the design and construction process. 
         [0008]    More specifically, while aspects of a structure may be appealing to one or more members of the design and implementation ecosystem, there is known, accepted overall quantification of a structure&#39;s fitness for purpose. Accordingly, there is no known, accepted method of determining a quantified value indicating how well a structure meets (or does not meet) the various requirements underlying its purpose. Nor is there a known, accepted method of weighting particular aspects of a design such that they, at least in part, define the underlying aspects of a design. Furthermore, there is no known, accepted method of examining two designs side-by-side to determine whether one quantifiably better address various requirements underlying its purpose as compared to the other. Still further, there is no known, accepted method of examining different aspects of those two designs to determine if use of certain elements of one design might quantifiably improve satisfying various requirements in the other. 
       SUMMARY 
       [0009]    Accordingly, the present disclosure is directed to systems and methods for more efficiently facilitating collaboration in the design, analysis, and implementation of a structure than heretofore possible. The systems and methods disclosed permit quantifying a structure&#39;s design for its fitness for intended purposes. The systems and methods disclosed herein permit determining a quantified value indicating how well a structure design meets (or does not meet) the various requirements underlying its purpose. Weighting of particular aspects of a design such that they, at least in part, define the underlying aspects of a design is provided. Systems and methods for examining two designs side-by-side to determine whether one quantifiably better address various requirements underlying its purpose as compared to the other are disclosed. Systems and methods for examining different aspects of those two designs to determine if use of certain elements of one design might quantifiably improve satisfying various requirements in the other are also disclosed. 
         [0010]    According to one aspect of the present disclosure, a computer-implemented system for quantifying the fitness of a structure for an intended purpose comprises: an attributes engine, configured to receive design data for a structure; quantify a plurality of measures of various attributes of the structure based on the design data; from the quantified plurality of measures of various attributes of the structure, determine a structure fitness function, F, whereby 
         [0000]        F=f ( {right arrow over (w)}   1   {right arrow over (a)}   1   ,{right arrow over (w)}   2   {right arrow over (a)}   2   , . . . {right arrow over (w)}   n   {right arrow over (a)}   n ) 
         [0000]    wherein a 1 , a 2 , . . . a n  are each quantifications of an attribute, respectively, of a structure based on the structure design, and w 1 , w 2 , . . . w n  are each weighting values corresponding to each attribute quantification, respectively; and an interface for providing an indication of the structure fitness function to a user. The structure fitness function may be evaluated and a value provided thereby for a variety of perspectives, such as sum of weighted attributes, a mean function value, etc. 
         [0011]    Multiple users may each view and manipulate a design, and ultimately compare fitness functions to assist in determining which manipulations better address design targets for the resulting structure. Structure fitness functions of extant designs may also be determined and compared to an in-process design in order to evaluate the in-process design and potentially utilize elements of the extant design in the in-process design to better meet the requirements for that design. 
         [0012]    Accordingly, also disclosed is a computer-implemented system for facilitating collaborative structure design efforts, and for coordinating implementation of a resulting design, comprising: a design workspace in which a structure design can be rendered during a design process; a design engine which receives various inputs, and produces a structure design for display in the design workspace; an attributes engine which quantifies measures of various attributes of a structure based on the structure design during the process of designing the structure and updates quantification of the measures when manipulation of aspects of the design result in modification of the design; a first interface, coupled to the design engine, permitting a first user to view and manipulate aspects of the design rendered in the design workspace such that manipulation of the aspects of the design by the first user may be viewable by a second user by way of a second interface; the first interface configured to provide an indication of a structure fitness function, F, determined according to: 
         [0000]        F=f ( {right arrow over (w)}   1   {right arrow over (a)}   1   ,{right arrow over (w)}   2   {right arrow over (a)}   2   , . . . {right arrow over (w)}   n   {right arrow over (a)}   n ) 
         [0000]    wherein a 1 , a 2 , . . . a n  are each quantifications of an attribute, respectively, of a structure based on the structure design determined by the attributes engine, and w 1 , w 2 , . . . w n  are each a weighting value corresponding to each attribute quantification, respectively. 
         [0013]    The above is a summary of a number of the unique aspects, features, and advantages of the present disclosure. However, this summary is not exhaustive. Thus, these and other aspects, features, and advantages of the present disclosure will become more apparent from the following detailed description and the appended drawings, when considered in light of the claims provided herein. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0014]    In the drawings appended hereto like reference numerals denote like elements between the various drawings. While illustrative, the drawings are not drawn to scale. In the drawings: 
           [0015]      FIG. 1  is a high-level representation of a distributed network environment, comprising hardware and software, within which various embodiments of a system for structure design, analysis, and implementation according to the present disclosure may be employed. 
           [0016]      FIG. 2  is a schematic diagram of a portion of a first embodiment of a computer-implemented system for structure design, analysis, and implementation according to the present disclosure. 
           [0017]      FIG. 3  is an illustration of one embodiment of an external data database configured to receive data from a number of sources external to the system for structure design and analysis according to the present disclosure. 
           [0018]      FIG. 4  is an illustration of one exemplary structure design environment including a number of the relevant participants in the design evolution, analysis, and implementation process. 
           [0019]      FIG. 5  is an example of a system facilitating collaboration between first and second users according to an embodiment of the present disclosure. 
           [0020]      FIG. 6  is an example of a user interface within which a user may view and manipulate a design, view various attributes of the design in a dashboard, and view other aspects of the design and processes according to the present disclosure. 
           [0021]      FIG. 7  is an illustration of a user interface for customizing the attributes provided in an instance of a user&#39;s dashboard according to an embodiment of the present disclosure. 
           [0022]      FIG. 8  is an example of an interface that formats data, including optionally populating a form with such data, for delivery to a secondary analysis system, and for receiving analysis data therefrom, according to an embodiment of the present disclosure. 
       
    
    
     DETAILED DESCRIPTION 
       [0023]    We initially point out that description of well-known processes, components, equipment, and other well-known details are merely summarized or are omitted so as not to unnecessarily obscure the details of the present invention. Thus, where details are otherwise well known, we leave it to the application of the present disclosure and the knowledge and ability of one skilled in the art to suggest or dictate choices relating to those details. 
         [0024]    With reference initially to  FIG. 1 , a distributed network environment  10  is shown, comprising hardware and software, within which various embodiments of the present disclosure may be employed. More specifically, distributed network environment  10  comprises multiple interconnected elements of hardware, each running software, allowing those elements of hardware to communicate with one another, whether by wired or wireless connection. Such elements of hardware include, but are not limited to, a first client workstation  12 , a second client workstation  14 , a mail server computer  16 , a file server computer  18 , and network appliances  20  such as remote storage, each communicating via the public Internet  22 . The client workstations and servers generally may be referred to as computer devices. Other computer devices, such as mobile computationally-enabled telephone handsets (so called “smart phones”)  24 , tablet-style computer devices  26 , and so on may also form a part of network environment  10 . 
         [0025]    Alternatives to using the public Internet, or additional interconnection mechanisms include local area networks (LANs), wide area networks (WANs), etc. Alternatives to client workstations, or additional computer mechanisms include personal computers, servers that are personal computers, minicomputers, personal digital assistants (PDAs), mainframes, etc. The network within which the various embodiments of the present disclosure operates may also comprise additional or fewer devices without affecting the scope of the present disclosure. 
         [0026]    First and second client workstations  12 ,  14  may communicate via the public Internet  22  using known Web browser software or dedicated, specific-purpose application software. As is well known, software components supporting client workstations  12 ,  14 , servers  16 ,  18 , and network appliances  20  include or reference logic and/or data that may form a part of the software component or be embodied in or retrievable from some other hardware of software device or signal, either local or remote and coupled via a network or other data communications device. 
         [0027]    Thus, embodiments of the invention may be implemented as methods, apparatus, or articles of manufacture as or in software, firmware, hardware, or any combination thereof. As used herein, article of manufacture (or alternatively, computer program product) is intended to encompass logic and/or data accessible from any computer-readable device, carrier, or media. 
         [0028]    Those skilled in the art will recognize many modifications may be made to this exemplary environment without departing from the scope of the present disclosure. For example, it will be appreciated that aspects of the present disclosure are not dependent upon data structure formats, communications protocols, file types, operating systems, database management system, or peripheral device specifics. Accordingly, the following description is provided without reference to specific operating systems, protocols, or formats, with the understanding that one skilled in the art will readily be able to apply this disclosure to a system and format of choice. 
         [0029]    The present disclosure provides a computer-implemented system and methods for collaboratively producing a design of a structure and coordinating aspects of its implementation. As used herein, a “structure” may be, but is not limited to, habitable buildings, functional structures, artistic structures, and so on, and the nature of the structure does not form a limitation on the scope of the present disclosure. In addition, as used herein, “designing” is intended to mean all aspects of preparing plans for implementing a structure, including but not limited to developing a set of documents that describe a structure and aspects of its construction, as well as estimates relating to the design and construction of the structure. Designing a structure may optionally include the materials for and processes of obtaining prerequisite certifications and approvals for constructing the designed structure. In many cases, designing a structure is a collaborative endeavor between individuals and organizations. As well, as used herein, “implementation” is intended to mean verifying aspects of a design, arranging accessibility to required parts, services, and personnel, maintaining a project timeline, maintaining a project budget, managing changes during the build phase, financing and insurance, and constructing the structure. Optionally, implementation may also include coordinating and obtaining approvals, permits, and the like. 
         [0030]    Furthermore, as used herein, “manipulation” of (or to “manipulate”) a design includes but is not limited to adding elements to a design, subtracting elements form a design, reconfiguring portions of a design, moving portions of a design, partially or fully relocating a design on a site, requesting and viewing attributes about a design, implementing automated optimization of a design, checking aspects of a design for structural soundness or against codes or regulations for such a design, comparing alternative designs, developing cost estimates, construction time, and other attributes of a structure built according to a design, and so on. 
         [0031]    Still further, as used herein, “interface” is intended to include data structures, virtual and physical connections between devices, computer-human user interface, and other mechanisms that facilitate the exchange of data between computer systems and/or control of one or more such systems. In one embodiment, an interface requires a minimum or no user data entry or manual delivery of data from one system to another. In another embodiment, data that needs to be entered manually may be retained and reused within the system, reducing future data entry requirements. 
         [0032]    According to the present disclosure, a user interacts with a computer system and controls provided thereby to design a structure. In the process, the system may communicate with other systems to obtain data, verify data, deliver data, store or retrieve data, etc. Those other systems may be interfaces to other computer-user interactions or be autonomous or some combination of the two. By way of a network, the systems and methods thereby facilitate collaboration between multiple individuals and/or organizations in the design, analysis, and implementation of a structure. 
         [0033]    In general, a method of designing a structure employing a system of the type disclosed herein begins with a user specifying a program (general aspects of the structure and its intended uses), which may be translated into requirements of the design. Given certain starting conditions, such as a description of the site on which the structure is to be built, a structure footprint (or equivalently, perimeter), the basic intended use of the structure, and so forth, the system may provide a proposed initial design, and self-iterate toward meeting the design requirements. Alternatively, the user may select “cells” and/or other elements from a palette (or specially designed) and manipulate those elements in a design workspace to populate a structure design. 
         [0034]    According to the present disclosure, a cell is a fundamental element employed by the system and user to design a structure. Cells are abstractions of portions of a structure (although in certain cases a structure may in fact be comprised of a single cell) upon which other systems in the design depend. Cells are instantiated as part of the design process. Cells include rules governing aspects of the instantiations, such as how an instance of one cell connects to another instance, size ranges of instances, systems or components included in or required by an instance, and so on. Cells are discussed in further detail below. 
         [0035]    Referring to  FIG. 2 , there is shown therein a schematic diagram of a portion of a first embodiment of a computer-implemented system  50  for designing a structure and coordinating its implementation according to the present disclosure. System  50  comprises a design engine  52  that manages aspects of the structure design process. Design engine  52  may be realized in software, firmware, hardware, etc. 
         [0036]    Design engine  52  receives various inputs including data from cell and structure data database  54 , design requirements database  56 , and optionally external data database  58  and elements database  64  interconnected thereto. While these data inputs are shown and discussed in terms of databases, it will be appreciated that other forms of data input, such as streaming data, real-time measurement data, calculated data, etc. may also be employed. 
         [0037]    Design engine  52  provides an output in the form of data representing a structure that is rendered in a design workspace user interface (UI)  60 . Design engine  52  may include rendering capabilities, or may rely on additional tools, such as Google SketchUp to perform rendering tasks. Design workspace UI  60  provides a user with a visual representation of the structure being designed, as well as a design-editing interface  62  at which a user may edit the design. 
         [0038]    Design requirements database  56  may also provide design engine  52  with rules driven by certain external data provided by external data database  58 .  FIG. 3  illustrates a number of representative sources of this external data. For example, one initial phase of design development is a topographic study of the site on which the structure is to be erected. Data  90  from this topographic study may be utilized by design requirements database  56  to provide rules for design engine  52 . Similarly, geologic data  92  required to determine the nature of the soil, bedrock, water table, etc. and climate data  94  relating to averages and ranges of temperatures, rain and snow fall, wind speeds, and so on, which all factor into structure design may be utilized by design requirements database  56  to provide input to the rules for the design engine  52 . 
         [0039]    In addition to physical and environmental data, a wide variety of design and building codes  96  may suggest or require design rules be implemented by design engine  52 . Similarly, generally accepted design and building practices  98  may also suggest or require design rules be implemented by design engine  52 . Other external data include zoning data, historical real estate data, neighborhood information (key services, pedestrian and vehicular traffic flow), physical form of neighboring buildings, etc. 
         [0040]    Much of the data provided by external data database  58  originates with human data collection and transmission to database  58 , as illustrated by  90   a ,  92   a , and so on. Other data may reside in repositories connected directly or indirectly to external data database  58 , as illustrated by  90   b ,  92   b , and so on. With reference again to  FIG. 2 , system  50  facilitates the communication of a large volume of disparate data, from a wide variety of different sources, into a centralized resource for use by design engine  52 . In cases of particular interest herein, certain data originates with human data collection for use by the system. Therefore in one aspect of the present disclosure, system  50  serves as a point of connection between data providers and data consumers. 
         [0041]    In general, the many methods of collection of the data and the many formats in which the data may be provided to design engine  52 , are beyond the scope of the present disclosure. However, in one embodiment a system is used to obtain data from a number of sources, and changes in data or data integrity may be independently verified. Initially, a group of participants are requested to provide data to external data database  58 . This might, for example, be the manual inputting into digital format of building codes for a municipality that does not have readily available digital versions of such codes. Additionally, there may be overlap and in fact duplication in the work of the participants. As the amount of duplication increases, indicating that input from prior participants is correct and complete, the number of participants requested to input data may be decreased. Some steady state input, with consequent duplication continues. Thereafter, if it is noted that conflicts begin to arise, such as code sections of the same code designation are no longer duplicates of previously entered data for that section, it may be concluded that either (1) errors have occurred in either the earlier or later data entry, or (2) the code section may have changed since the original data entry. In either case, the number of participants may be increased, with a commensurate increase in the data provided by the group. When duplication again rises above a threshold, the number of participants may be decreased. Again, there are many methods of data collection and entry when that data is not otherwise available is digital format for use by system  50 , as will be appreciated by one skilled in the art, and the aforementioned is simply one example of such a method. 
         [0042]    During the design phase of a project, the structure produced by design engine  52  evolves in an effort to meet the various requirements of the interested parties. This design evolution may in part be achieved relatively autonomously by design engine  52  implementing the aforementioned rules and various optimizations. Design evolution is also achieved through the interaction of various parties and organizations through direct manipulation of elements of the design provided by way of an interface such as user design editing interface  62  and inputs from various secondary data sources and analysis systems. 
         [0043]      FIG. 4  is an illustration of one exemplary structure design environment  300  including a number of the relevant participants in the design evolution, analysis, and implementation process, operating around system  50 . Traditional design participants  302  include one or more architects  304 , architectural engineers  306 , developers  308 , construction managers  310 , and so on. Other parties that may be directly or indirectly involved in the design process include property broker  312 , project underwriter  314 , property tenant  316 , and so on. Any two or more of such parties, and two or more individuals within organizations serving these roles, may wish to collaborate on a structure design. For example, an architectural firm may wish that a senior architect work with a junior architect to develop a design for a client. An architect may wish to deliver a design to an architectural engineer so that structural details can be resolved. A developer may wish to involve a tenant in design details, and so on. 
         [0044]      FIG. 5  is an example of a system  350  facilitating collaboration between a first user  352  and a second user  354 . While the system of  FIG. 5  illustrates two users, it will be readily apparent that this description can be generalized to many more users with equivalent advantages. Each of user  352  and user  354  may access a unique user interface workspace  356 ,  358 , respectively, that provides an independent design workspace for independent design development and manipulation. In addition or as an alternative to individual workspaces, each of users  352 ,  354  may access a shared workspace  360  in which, for example, manipulations by one user are rendered in a concurrent view, for viewing, editing, and commenting on by the other user. In addition, a commentary system  362 , such as a chat system, voice or videoconference system, etc. either within or outside of system  50  may permit interparty communication during the design process. 
         [0045]    In addition to tools for manipulating an existing design, new design elements such as cells, systems or components may be accessed by each of users  352 ,  354  in an elements database  64 . Other design tools may be provided as is well known in the art, either by system  50  or by resources external to system  50 . 
         [0046]    The various manipulations are integrated into a design by design engine  52 . Design engine  52  may perform several additional tasks (or alternatively such tasks may be performed by other components of system  50 ). For example, a change tracking resource  364  for tracking the various manipulations, such as who made each change, when it was made, what elements of the design are affected by the change, may be provided. An error and conflict checking resource  366  for determining whether manipulations made by the various users produce errors or conflicts (such as different concurrent changes to the same element, changes which result in violations of rules or codes, etc.) may also be provided. 
         [0047]    In certain embodiments it may be desirable to provide certain parties with approval authority, or limit certain other parties&#39; abilities to manipulate aspects of the design. For example, an architect may wish to permit an interior designer to be able to place furniture and related items in a design, but not modify the design itself. As another example, a chief architect may request that a junior architect propose design manipulations, but before those manipulations are incorporated into the final design the chief architect approves or disapproves such manipulations. It will be appreciated that many opportunities for such approvals and limitations exist in collaboratively developing a design for a structure, and the aforementioned are merely illustrative examples. A resource  368  is provided in order to facilitate such approvals and limitations. Resource  368  may use individual identity, qualifications, certifications, title, association with organizations, passwords, biometric data, or other criteria or security data and processes for determining limitations and granting approvals for user modifications. 
         [0048]    In addition, resource  368  may provide certain users, such as user  352 , with an interface  370  to resource  368  for approval of manipulations from other users such as user  354 . Such approval may be the acceptance (or rejection) of individual manipulations, groups of manipulations, or all manipulations of aspects of said design by said second user  354 . 
         [0049]    In one embodiment, system  50  is provided with a control that finalizes the design and initiates the process of building a structure, which can be thought of as the ultimate manipulation or a “build it” button. Much responsibility and liability is associated with finalizing the design and initiating the building process (hitting the “build it” button). Accordingly, authority for this level of manipulation may be vested on one or two individuals in the ecosystem, such as the developer, or construction manager. Again, resource  368  may determine if a user has this level of authority. 
         [0050]    Furthermore, resource  368  may limit certain manipulations a user may make to a design per se. Such limitations may be based on locking elements of the design in general, or may apply such limits on a user-by-user basis, in which case the aforementioned individual identity, qualifications, certifications, title, association with organizations, or other criteria may be used to determine limitations on user modifications. 
         [0051]    As mentioned, each user  352 ,  354  may be provided with a user interface for viewing and manipulating a design.  FIG. 6  is an example of a graphical user interface (UI)  100  providing a view and tools for manipulating a design  102  according to an embodiment of the present disclosure. UI  100  comprises, inter alia, a design workspace  60  and various elements of design editing interface  62 . It will be appreciated that elements of design editing interface  62  in addition to those illustrated in  FIG. 6  may reside in nested levels that become visible and active given certain user selections. Importantly, each user  352 ,  354  ( FIG. 5 ) may interact with design  102  in their own instance of design workspace  60  through such a UI, or collectively through a shared instance of design workspace  60 . In each case, the appearance of interface  100  may be the same. 
         [0052]    Many aspect of the design may be manipulated, with design engine  52  revising the design to accommodate those manipulations. These include dragging and dropping new cells, systems or components into the design, deleting cells, systems or components from the design, rearranging cells, systems or components in the design, changing the footprint of the design, etc. In one example, a user may add a structure section or system to design  102  by dragging an appropriate element  104  from an elements palette  106  into design  102 . These elements may be cell instances, systems, or components. Many other design manipulation controls may be provided by interface  100 , such as for removing portions of a design, reshaping or resizing portions of a design, copying portions of a design, and so on. 
         [0053]    UI  100  may provide a display region, referred to as dashboard  110  in which various quantified attributes of the structure may be displayed to provide user feedback. While shown as part of UI  100 , dashboard  110  may be provided as a separate UI or part of a different UI forming a part of the system disclosed herein. Dashboard  110  may provide a calculated square footage  112 , total cost  114 , time-to-completion  116 , energy efficiency,  118 , and so on. In addition to, or as an alternative to providing these and other attributes for the complete structure, dashboard  110  can provide a user with these attributes and others for selected portions of a structure (not shown). Referring again to  FIG. 5 , dashboard  110  may be provided to one or both users  352 ,  354  and in workspaces  356 ,  358  unique to each, respectively, in a shared workspace  360 , or in all three. 
         [0054]    With reference again to  FIG. 2 , an attributes engine  130  receives design data from design engine  52 . This includes data about the form, cells, system, and components of the design from cell and structure data database  54  and elements database  64 . Attributes engine  130  calculates various attributes of a structure that might be built from the design, and provides those calculated attributes to be displayed in the dashboard  110 . In certain embodiments, one or more attributes may be provided from a resource external to the system, such as a database, secondary analysis system, etc. Details regarding the operation of attributes engine  130  are provided in the aforementioned U.S. patent application Ser. No. 13/112,727. 
         [0055]    System  50  may provide each user with a customizable attributes quantification interface, illustrated in  FIG. 7 , for customizing the attributes provided in their instance of dashboard  110 . A user may select one or more user-selectable attribute quantification tools, such as windows  112 ,  114 ,  116 , etc., from an attributes toolbox window  122 , for example by dragging them to their instance of dashboard  110 . In this way, a user may customize what set of attributes they view for the design. This permits different users having different roles in a project to focus on attributes most relevant to their role in the project. In one embodiment of the present disclosure, one user is provided with an interface allowing that user to view the attributes selected by another user (and the quantification of those attributes). This individualization of attributes may be tied to other aspects of the present disclosure, such as the approvals and limitations resource  368  ( FIG. 5 ) such that certain users may be precluded from manipulating aspects of a design that change selected attributes of the design. For example, a user may not have the authority to manipulate a design such that the maximum or target square footage of the design changes. Different users may thus be provided with a degree of control over aspects of the design to which their role relates, such as controller having authority for manipulations which result in cost overruns, a construction manager having authority over manipulations which result in changes to the build time, etc. 
         [0056]    One such window for design attributes is building fitness function window  124 . A structure design has many attributes that may be quantified. Sunlight exposure, energy efficiency, carbon footprint, use of recycled materials, cost per square foot, symmetry of the building, and so on are some examples, and there are many more. It is possible to develop a set of such attributes that represent a quality or “fitness” value for a structure. More specifically, a structure may have a number of such attributes a 1 , a 2 , . . . a n . Each attribute may have a weighting w 1 , w 2 , . . . w n  that may be applied, respectively, to represent a relative importance of that attribute to the overall fitness of the structure. These weights may be determined based on a user preference, from a population query, derived or interpreted from the behavior of system users, and so forth. It is therefore possible to develop a “Structure Fitness function” (F) for a structure, such that 
         [0000]        F=f ( {right arrow over (w)},{right arrow over (a)} ) 
         [0000]    This is an n-dimensional vector representation. However, there are many other ways to evaluate the fitness function. For example, this function could be quantified as a scalar as 
         [0000]    
       
      
       F=Σ 
       x=1 
       x=n 
       w 
       x 
       a 
       x  
      
     
         [0000]    In some applications it may desirable to manipulate the fitness function to obtain a value for analysis and comparison of a structure design. For example, an arithmetic mean fitness function can be represented as 
         [0000]    
       
         
           
             
               F 
               mean 
             
             = 
             
               
                 1 
                 n 
               
                
               
                 
                   ∑ 
                   1 
                   n 
                 
                  
                 
                     
                 
                  
                 
                   
                     w 
                     x 
                   
                    
                   
                     a 
                     x 
                   
                 
               
             
           
         
       
     
         [0000]    Many other manipulations of the fitness function are possible, as will be appreciated by one skilled in the art based on the present disclosure. 
         [0057]    It will be appreciated that a Structure Fitness function need not be linear in each attribute a. For example, consider the function 
         [0000]    
       
         
           
             F 
             = 
             
               
                 ∑ 
                 
                     
                 
               
                
               
                   
               
                
               
                 
                   w 
                   u 
                 
                  
                 
                   
                     w 
                     k 
                   
                    
                   
                     ( 
                     
                       XOR 
                        
                       
                         ( 
                         
                           
                             a 
                             u 
                           
                            
                           
                             a 
                             k 
                           
                         
                         ) 
                       
                     
                     ) 
                   
                 
                  
                 
                     
                 
                  
                 
                   { 
                   
                     
                       
                         
                           
                             
                               XOR 
                                
                               
                                 ( 
                                 
                                   a 
                                   , 
                                   b 
                                 
                                 ) 
                               
                             
                             = 
                             1 
                           
                           , 
                           
                             
                               if 
                                
                               
                                   
                               
                                
                               a 
                             
                             ≠ 
                             b 
                           
                         
                       
                     
                     
                       
                         
                           
                             
                               XOR 
                                
                               
                                 ( 
                                 
                                   a 
                                   , 
                                   b 
                                 
                                 ) 
                               
                             
                             = 
                             0 
                           
                           , 
                           
                             
                               if 
                                
                               
                                   
                               
                                
                               a 
                             
                             = 
                             b 
                           
                         
                       
                     
                   
                 
               
             
           
         
       
     
         [0000]    That is, it is not necessarily true that the function value increases when a u  increases. Furthermore, it will also be appreciated that the Structure Fitness function need not be continuous. For example, consider the function 
         [0000]    
       
         
           
             
               F 
               s 
             
             = 
             
               p 
               + 
               
                 
                   F 
                   
                     s 
                     - 
                     1 
                   
                 
                  
                 
                   { 
                   
                     
                       
                         
                           
                             with 
                              
                             
                                 
                             
                              
                             n 
                           
                           ∈ 
                           N 
                         
                       
                     
                     
                       
                         
                           
                             p 
                             = 
                             
                               
                                 
                                   w 
                                   k 
                                 
                                 * 
                                 
                                   a 
                                   k 
                                 
                                  
                                 
                                     
                                 
                                  
                                 if 
                                  
                                 
                                     
                                 
                                  
                                 
                                   a 
                                   k 
                                 
                               
                               &gt; 
                               n 
                             
                           
                           , 
                         
                       
                     
                     
                       
                         
                           p 
                           = 
                           
                             
                               1 
                                
                               
                                   
                               
                                
                               if 
                                
                               
                                   
                               
                                
                               
                                 a 
                                 k 
                               
                             
                             ≤ 
                             n 
                           
                         
                       
                     
                   
                 
               
             
           
         
       
     
         [0000]    That is, the value of the function F increases by w k *a k  if a k  is greater than the positive integer n, but otherwise the value of F increases by 1. 
         [0058]    The Structure Fitness function permits a quantitative comparison of different designs, for the same site or for different sites. It also permits users to look for “better” designs (i.e., higher Structure Fitness function) from a library of such designs, such as cell and structure data database  54 . Still further, such a Structure Fitness function may be associated with other aspects of the design process described above, such as the approvals and limitations resource  368  ( FIG. 5 ). For example, without proper authority, resource  368  may limit certain users from manipulating a design if such a manipulation lowers the Structure Fitness function. 
         [0059]    In general, attributes of a structure will be the same across users (e.g. the square footage of a structure would not change as a function of who is viewing the structure). The ability to change attributes would be a matter of permission within the system. However, according to one embodiment of the present disclosure, any user could be permitted to change a local copy of the weights (i.e., preferences) applied to those attributes in order to investigate changes under different preference scenarios. According to another embodiment, a user may be permitted to “check out” a design and tinker with attributes and weights, but not permitted to check the modified design back in (e.g., the user cannot modify the root design). 
         [0060]    With reference once again to  FIG. 2 , system  50  may be provided with an optimization engine  140 , and controls  142  thereover, for optimizing certain portions of the design, for example to meet a design program, to comply with codes and building practices, to meet certain targets for attributes of the design, and so forth. Details regarding the operation of these elements can be found in the aforementioned U.S. patent application Ser. No. 13/112,727. As disclosed therein, a user may enter a target value for an aspect of the design, such as target total structure cost. Entering target values for aspects of the design permits the system to display how the design compares to those target values (such as in dashboard  110 ,  FIG. 6 ), as well as allowing the system to optimize the design to meet the targets. 
         [0061]    According to the present disclosure, each user or some group of users may be provided with an interface in which they may specify their own target values for various attributes for the design. For example, an architect may specify a target calculated sunlight exposure, a construction manager may specify a target build time, and developer may specify a target cost, and so on. One or more users may be provided with a view of the attributes targets specifications of the other users. And this may be tied to approvals and limitations resource  368  ( FIG. 5 ) such that certain parties may specify only certain attribute targets, certain target specifications have a higher weight in the optimization process, and so on. 
         [0062]    Returning to  FIG. 2 , design engine  52  is provided with an interface for communicating with a secondary analysis system  170 . Examples of such secondary analysis systems include structural analysis software, environmental simulation software, other design systems, project management systems, supply chain management systems, document production systems, permitting and approval system, and so on. In one embodiment, the communication with secondary analysis system  170  is purely by way of an exchange of data, without user intervention. In such a case, the interface may provide the data in a format in which design engine  52  produces said data (i.e., a native format). Alternatively, the interface may be required to provide the data in a format different that a native format (i.e., a destination format appropriate for the secondary analysis system). In this case, the interface may convert the data into the destination format. 
         [0063]    However, in another embodiment, human interaction is required to facilitate the external analysis performed by secondary analysis system  170  (i.e., system is broad enough in this instance to include a person or groups of people). For example, certain portions of the design may require various comments and approvals, such as a planning commission approval, environmental commission analysis, and so forth. The interface for communicating with a secondary analysis system  170  can therefore be tailored to meet the specific requirements of the parties, and further facilitate receipt of feedback from the secondary analysis system  170 . In this way, collaboration with the parties associated with a secondary analysis system  170  is facilitated by system  50 . 
         [0064]    With reference to  FIG. 8 , many secondary analysis systems require that data be provided in a specific format and/or embedded in a specific form. An interface  172  to secondary analysis system  170  can draw relevant design data, in native format, from design engine  52 , and convert that data into an appropriate destination format. In addition, or as an alternative approach, interface  172  can format the data for population of an appropriate form template  174 , automatically populate such a form, and submit the form directly to secondary analysis system  170 . The data/forms may be considered by the secondary analysis system  170  (again, which may comprise an individual or group of individuals as well as a more autonomous computer-based system), and their feedback provided via interface  172  to system  50 . System  50  can digest the feedback, and if needed make appropriate design modifications, or alert an appropriate user that modifications may be required in response to the feedback from secondary analysis system  170 . 
         [0065]    Referring again to  FIG. 2 , upon completion of the design, obtaining of permits and approvals, verification of costs, availability, and so forth of the specified systems, components, and services, export engine  200  can provide the design or relevant portions thereof to the specified vendors and service providers, and request confirmation of the commitments made. The system can also provide the final design details to the developer so that the developer can confirm that the design meets the developer&#39;s preferences, to facilitate the developer obtaining funding, to request final approval to proceed, and so on. The system may thereafter track changes to the design, cost and delivery changes, and other aspects of implementing the design, and provide a build dashboard, not shown, which can provide an estimate of attributes of the build phase such as cost, time-to-completion, and so on. In sum, the system and methods of the present disclosure permit an improved degree of communication and coordination among the varied participants in the creation of a structure design and implementation of that design as compared to known systems and methods. 
         [0066]    While a plurality of preferred exemplary embodiments have been presented in the foregoing detailed description, it should be understood that a vast number of variations exist, and these preferred exemplary embodiments are merely representative examples, and are not intended to limit the scope, applicability or configuration of the disclosure in any way. Various of the above-disclosed and other features and functions, or alternative thereof, may be desirably combined into many other different systems or applications. Various presently unforeseen or unanticipated alternatives, modifications variations, or improvements therein or thereon may be subsequently made by those skilled in the art which are also intended to be encompassed by the claims, below. 
         [0067]    Therefore, the foregoing description provides those of ordinary skill in the art with a convenient guide for implementation of the disclosure, and contemplates that various changes in the functions and arrangements of the described embodiments may be made without departing from the spirit and scope of the disclosure defined by the claims thereto.