A HIERARCHICAL RELATIONAL DEFINITION SYSTEM AND A METHOD OF DEFINING AN OBJECT

Abstract: A hierarchical relational definition system (26) for defining an object is provided in which a user is presented with a plurality of menus from which selections are made, whereupon the system references a database (10) to obtain information about an object corresponding to said selections, the data including control data to determine whether a formula is to be referenced to calculate further data, and provides an output including information about said object. The system is useful in cost estimate engineering to provide estimates of man-hours to install materials. The system also has a formula adjustment mechanism (44, 46) to refine the formulae according to any variation between the actual man-hours and the calculated man-hours.

Description: TITLE "A Hierarchical Relational Definition System and a Method of Defining an Object" TECHNICAL FIELD This invention relates to a hierarchical relational definition system and a method of defining an object BACKGROUND ART Literally, cost estimate engineering is the preparation of a cost estimate for an engineering project A cost estimate typically comprises two components direct costs and indirect costs indirect costs include such things as site supervision, site engineers, plant and equipment hire, insurance and so forth Whilst indirect costs are not negligible, in most engineering projects direct costs constitute the bulk of the costs Direct costs consist of the materials used in the project and labour required to install the materials Typically, the materials are organised as a bill of materials, which is a list of every material item required for the engineering project To produce a direct cost estimate, the labour required to install the materials in the bill of materials is estimated Whilst information on materials for engineering projects exists, estimating the labour required to install a material has predominantly been based on the judgement of the cost estimate engineer Thus, there has been a risk of inconsistencies in cost estimates, due to different judgements of cost estimate engineers in relation to the labour required for a particular material or the differing judgement of the same cost estimate engineer on a day to day basis Heretofore it has been unknown to have an integrated structured system with on-line databases to assist a cost estimate engineer in preparing multi- discip ned direct and indirect cost estimates at order of magnitude, budget and/or definitive level It is believed that such a system would have many advantages, including that it would provide a level of consistency in the labour estimates appearing in the direct cost estimates SUMMARY OF THE INVENTION in accordance with one aspect of this invention there is provided a hierarchical relational definition system for defining an object, comprising interface means that sequentially presents a plurality of menus from which selections are made, each selection forming an input parameter, said input parameters corresponding to an object, indexing means which forms an index from at least one of the input parameters, database means including fields in which data relating to said object is stored, one of the fields including control data, referencing means arranged to reference the database means using the index to obtain therefrom the data relating to the object, processing means responsive to said control data, said control data including instructions to control whether the processing means references a formula and calculates further data relating to said object, and output means for creating an output corresponding to at least one of the input parameters and/or at least some of the data and the further data, if any, said output defining the object Preferably, each combination of input parameters represents a different object Preferably, only one selection is made from each menu Preferably, the index is formed from a plurality of the input parameters In a preferred arrangement, the index is formed from the concatenated values of the plurality of input parameters Preferably, the hierarchical relational definition system includes a formulae database referenced by the processing means to obtain the formula Preferably, the hierarchical relational definition system is provided with a formulae adjustment database, in which adjustments to each formula in the formulae database are stored, said processing means also referencing said formulae adjustment database when calculating the further data Preferably, the hierarchical relational definition system is provided with a comparison means, responsive to the output and to actual data provided by a user corresponding to actual values of the further data, the comparison means altering the adjustment corresponding to the object in the formulae adjustment database to reduce any difference between the actual data and the further data in one arrangement, the processing means is also responsive to at least one of the input parameters and/or at least some of the data when calculating the further data In one arrangement, the database means and the formula adjustment database each comprise a table Preferably, the output means comprises table generation means which produces a table comprising at least one row, each row corresponding to an object and containing the input parameters and the further data Preferably, the control data includes information as to whether a user is to be asked to enter data relating to the object According to another aspect of the present invention, there is provided a method for defining an object, comprising the steps of sequentially presenting a plurality of menus from which selections are made, forming an index from at least one of the selections, referencing a database using the index to obtain therefrom data relating to the object, some of said data being control data; determining from said control data whether to reference a formula to calculate further data relating to the object, and if so, referencing said formula and calculating said further data, and presenting at least one of the selections and/or at least some of the data and the further data, if any, as an output, wherein the output defines the object Preferably, the index is formed from a plurality of the selections Preferably, the method includes the step of referencing a formulae adjustment database to obtain therefrom an adjustment for said formula, which is utilised in calculating the further data Preferably, the method includes the step of comparing the further data with an actual value provided by a user, and on the basis of the comparison altering the adjustment corresponding to the object to reduce the difference between the further data and the actual value BRIEF DESCRIPTION OF THE DRAWINGS This invention will now be described with reference to one embodiment thereof and the accompanying drawings in which - Figure 1 is a functional block diagram of a cost estimate engineering software package of the embodiment, Figure 2 is a functional block diagram of a hierarchical relational definition system incorporated in the cost estimate engineering software package of the embodiment, Figure 3 is a flowchart of the hierarchical relational definition system shown in figure 2, and Figure 4 shows the tree menu structure utilised in the hierarchical relational definition system of Figure 2 DETAILED DESCRIPTION OF THE DRAWINGS Whilst the invention is applicable to other areas, the embodiment is directed toward use in cost estimate engineering and the method of providing a cost estimate using the same The embodiment is implemented as a software package executing on a computer The cost estimate engineering software package of the embodiment comprises a reference database 10, a bill of materials module 12, a direct cost estimate module 14, a direct cost historical database 16 a direct cost historical adjustment database 17, an indirect cost estimate module 18, an indirect cost historical database 20, an indirect cost historical adjustment database 21 , an estimate summary 22 and a project cost control module 24, and a cost comparison means 25 The bill of materials module 12 is formed as a hierarchical relational definition system 26 comprising an interface means 28, an indexing means 30 the reference database 10 a referencing means 32, a processing means 34 and an output means 36 The interface means 28 presents a plurality of menus from which a user can make selections according to the material the user requires Cost estimate engineering usually involves estimating costs for a variety of different materials from a number of engineering disciplines To accommodate this, there is more than one plurality of menus, each plurality being for each category of materials In addition, the number of menus in each plurality of menus varies depending upon how many selections are required to uniquely identify the material Thus, the number of menus will vary according to whether the type of required material is a piping material, an electrical engineering material or a structural engineering material Each of the plurality of menus has certain characteristics in common Each plurality of menus has one or more menus in which the user's selections are used by the indexing means 30 to form the index The number of such menus and the information presented in those menu vanes from material category to category In addition, each plurality of menus may have a number of menus, that are not utilised by the indexing means 30 but which are required in order to uniquely identify the material for the purposes of the bill of materials and also for ordering purposes Whether or not a menu is used by the indexing means 30 depends upon whether the information provided in the menu influences the further data calculated by the processing means 34 In the embodiment, the further data is man-hours required to install the material Consequently, menus which contain information that influence the man-hours required to install the material are used by the indexing means 30, whereas menus which contain information that does not affect the man-hours required to install the material, such as material finish, are not used by the indexing means 30 In this regard, it should be appreciated that the information in the menus used by the indexing means 30 may or may not directly appear in the formula used to calculate the man-hours, but the information is necessary to uniquely identify the material and to form the index that is used to reference the data for that material, which data maybe utilised in the formula In the present embodiment, the menus are presented in a tree structure, so that the options presented to the user in the second menu depend upon the selection made in the first menu, and so forth Whilst it should be appreciated that menus for various categories of materials can be provided, in the present embodiment the menus presented are in respect of carbon steel piping to American standards and are shown in Figure 4 The diagram in Figure 4 is a tree diagram of the menu structure Nine menu levels are shown, entitled Comp (component), Type (joining type), Details (45° elbow, t-piece, etc), STDS (the specific standard of manufacture), Grade, Finish, Rating, Schedule and Size Of these menus, the selections made in the Comp, Details, Rating, Schedule and Size menus are used by the indexing means 30 to form the index Having selected carbon steel piping to American standards, a user is initially presented with the component menu M8 from which one of three options are selected The numbers present in Figure 4 are for illustrative purposes only, but in the actual embodiment, a user is presented with meaningful descriptions A table of the descriptions presented to the user corresponding to each of the menu options for each menu in Figure 4 is presented as a table below For the sake of brevity, menus with numerous items have only some of the items shown in the table below Where items have been omitted, elipses are shown in the table CS11CP FLG SIZES CS11CQ FLG SIZES CS11CR FLG SIZES CS11CS FLG SIZES CS11CT FLG SIZES CS11CU FLG SIZES CS11CV FLG SIZES CS11CW FLG SIZES CS11CX FLG SIZES CS11CY FLG SIZES CS11CZ FLG SIZES CS11DA FLG. SIZES If a user selects item number 2 (Fittings) from the component menu M2, the user is then presented with type menu CS3B1 from which they are required to select one of four items Depending upon which of the four items the user selects, they are then presented with details menu CS4B1 , CS4B2, CS4B3 or CS4B4, and so forth When a user has selected an item from the Size menu the selection process for that material is complete In order to simplify the selection process, where a menu contains only one menu item, such as menu CS5A1 , the selection of the single item is made automatically and the next menu is presented to the user The items selected in each of the menus are passed to the output means 36 Whilst the selections made by the user from the menus are sufficient to uniquely identify the material, the number of man-hours required to install the material is predominantly dependent upon the volume and weight of the material, which has not been selected in the menus However, for each material, the weight and volume are constant and are stored as data in the reference database 10 The indexing means 30 forms an index for the material based upon the selection made in each of the component menu M2, detail menu, the rating menu the schedule menu and the size menu In this manner, a unique index is formed by simple concatenation of the menu number, e g M2, CS4B1 etc and the menu item that is selected from within that menu The index is output to the reference means 32 which utilises the index in referencing the reference database 10 The reference database 10 includes weight data, volume data, other data (to be described below) and also includes control data The data referenced in the reference database 10 are passed to the processing means 34 The processing means 34 receives the data and depending upon the instruction contained in the control data, processes the data in one of the several ways One of the instructions that the control data can include is that the other data in the reference database 10 represents the man-hours required to install the material This is useful if, because of the nature of the material, the man-hours required to install the material is largely independent of factors such as the height to which the material is to be installed The processing means 34 responds to this instruction by simply passing the data from the reference database 10, including the man-hours, onto the output means 36 Alternatively the control data can include an instruction that the other data in the reference database 10 represents a further index to a formula used to calculate the man-hours required to install the material In the event of such an instruction the processing means 34 references the formula from a formulae database 42 using the further index In addition, the processing means 34 references a formula adjustment database 44 using the further index The formula adjustment database 44 contains an adjustment of the formula contained in the formula database 42, which adjustment is provided to make the calculation of the man-hours more accurate based upon past discrepancies between estimates of man-hours and actual man-hour values Whether or not the processing means 34 references the formula adjustment table 44 is an option selectable by the user The processing means 34 calculates, from the formula, the data from the reference database 10 and from any formula adjustment, the man-hours required to install the material and outputs the same and the data from the reference database to the output means 36 The formula for installing different types of materials varies, in terms of whether the relationship between weight, volume and man-hours is linear, exponential or logarithmic and also in terms of whether any constants, such as the slope of the linear relationship, changes In the case of one type of material, the man-hours required to install a material is dependent predominantly upon volume, in another case it is dependent entirely upon volume in a further case it is dependent entirely upon weight, and in a further case still, it is dependent on a combination of both Once the man-hours have been calculated, the processing means 34 outputs the data from the reference database 10 and the man-hours to the output means 36 The output means 36 receives the selections made by the user from the interface means 28 and the data and the man-hours from the processing means 34 and formats these into a format suitable for the direct cost estimating module 14 In the embodiment the selections, the data and the man-hours estimate are formatted as a row in a table suitable for inclusion in a spreadsheet-like layout Referring to the flow chart shown in figure 3, state box 50 represents initialisation of the bill of materials module 12 Once initialisation is complete, the first menu, component menu M8, is displayed as shown at state box 52 The interface means 28 then waits for the user to make a selection, as shown at state box 54 Once a selection has been made, the selection is stored and if required, the menu and selection are concatenated and stored as part of the index, shown as state box 56 Next, a comparison is made to determine whether the menu previously displayed was the last menu, shown as state box 58 In the menu was not the last menu, the next menu is determined from the selection made by the user, and the menu is then displayed, as shown in state box 60 The software then waits for the user to again make a selection at state box 54 If the comparison at state box 58 determines that the previous menu was the final menu, the reference database 10 is searched using the index to locate the data relating to the material, shown at state box 62 The control data is then interpreted by the processing means 34 as shown at state box 64 If the control data indicates that the other data contained in the reference database 10 represents the man-hours, then the data and the man- hours are simply forwarded to the output means as shown at branch 66 Alternatively, if the control data indicates that a formula is to be referenced, the other data is used by the processor means 34 to reference the formula database 42 and the formula adjustment database 44 if required The formula is then evaluated to calculate the man-hours as shown at state box 68 The data obtained from the reference database 10 and the man-hours are then output to the output means 36 as shown at branch 70 The output means 36 formats the selections, the data and the man-hours into a format suitable for use by the direct cost estimate module 14 as shown at state box 72 Finally, the software returns to the start 50, as shown at state box 74 The direct cost estimate module 14 receives the selections, the data and the man-hours estimate from the output means 36 and displays the same in a spreadsheet-like fashion, as a list of materials and man-hours required for the project The direct cost estimate module 14 includes functions such as copy and paste so that where more than one particular component is required, a user can simply copy and paste a previous selection from the bill of materials module 12 rather than repeating the selection process through the menus The direct cost historical database 16 contains a database of previous bills of materials, from which materials and groups of materials are selectable from the direct cost estimate module 14 For example, if a pumping station with a 10 kilolitre per minute capacity is required, the direct cost historical database 16 is referenced to determine whether the same or a similar pumping station has previously been included in a bill of materials and if so, the materials can simply be copied from the previous bill of materials rather than requiring the user to reselect the materials In addition to saving time by referencing previously-used bills of materials, consistency between bills of materials is improved Further, the direct cost estimate module 14 references the direct cost adjustment database 17, so that if some materials are copied from a previous bill of materials, the cost of those materials can be updated from the direct cost adjustment database 17, providing a more accurate cost estimate The indirect cost estimation module 18 and the indirect cost historical database 20 operate in a similar manner to the direct cost estimation module 14 and the direct cost historical database 16, however the indirect cost estimation module 18 does not reference the bill of materials module 12 The indirect cost estimation module 18 presents a list of possible indirect costs to the user which the user can then either enter indirect cost values or delete from the list Once the direct cost and the indirect cost estimates have been completed, the cost estimates are output to the estimate summary 22, which displays the cost estimate information in a variety of levels of detail and formats The project cost control module 24 is intended for use when the engineering project is being constructed and is used to schedule the project, for procurement of the materials, and monitoring and management of project costs As the actual costs of the engineering project become known, they are entered into the project cost control module 24 At the completion of the project, the actual and estimated information is output to the cost comparison means 25 which creates entries in the direct and indirect cost adjustment databases 17 and 21 corresponding to any difference between the estimated and actual cost for future reference In addition, information from the project cost control module 24 is output to a comparison means 46 The comparison means 46 compares, for each material, the estimated man-hours for installation and the actual man-hours for installation The comparison means 46 adjusts the formula adjustment database 44 for that material to reduce the error between the estimated and actual man- hours value It should be appreciated that the scope of the present invention is not limited to the particular embodiment described above For example, it is envisaged in other embodiments that the interface means 28 includes a further menu in which a user enters the height at which a material will be installed which height information is then utilised by the processing means in calculating the man-hours for installation Alternatively, it is envisaged that in other embodiments, the control data will contain further instructions which the processing means will interpret as requiring the user to be prompted for information such as the height at which a material will be installed The height information will then be utilised by the processing means in the formula when calculating the man-hours for installation Furthermore, it is envisaged that in further embodiments one or more of the selections are directly passed to the processing means for utilisation in calculating the man-hours required to install the component Finally, whilst the embodiment has been described with reference to carbon steel piping to American standard, it should be appreciated that this is an example only of one application of the embodiment and that the embodiment is equally applicable to other types of piping, as well as other material types such as electrical, electronic, mechanical and structural materials Where other material types are included, the number of menus and the menu headings vary depending upon the material type

Claims: CLAIMS A hierarchical relational definition system for defining an object, comprising interface means that sequentially presents a plurality of menus from which selections are made, each selection forming an input parameter, said input parameters corresponding to an object, indexing means which forms an index from at least one of the input parameters, database means including fields in which data relating to said object is stored, one of the fields including control data, referencing means arranged to reference the database means using the index to obtain therefrom the data relating to the object, processing means responsive to said control data, said control data including instructions to control whether the processing means references a formula and calculates further data relating to said object, and output means for creating an output corresponding to at least one of the input parameters and/or at least some of the data and the further data, if any, said output defining the object A hierarchical relational definition system as claimed in claim 1 , wherein each combination of input parameters represents a different object A hierarchical relational definition system as claimed in claim 1 or 2, further comprising a formulae database referenced by the processing means to obtain the formula A hierarchical relational definition system as claimed in claim 3, further comprising a formulae adjustment database, in which adjustments to each formula in the formulae database are stored, said processing means also referencing said formulae adjustment database when calculating the further data A hierarchical relational definition system as claimed in claim 4, further comprising a comparison means responsive to the output and to actual data provided by a user corresponding to actual values of the further data, the comparison means altering the adjustment corresponding to the object in the formulae adjustment database to reduce any difference between the actual data and the further data A hierarchical relational definition system as claimed in any one of the preceding claims, wherein the processing means is also responsive to at least one of the input parameters and/or at least some of the data when calculating the further data A hierarchical relational definition system as claimed in any one of the preceding claims, wherein only one selection is made from each menu A hierarchical relational definition system as claimed in any one of the preceding claims, wherein the index is formed from a plurality of the input parameters A hierarchical relational definition system as claimed in claim 8, wherein the index is formed from the concatenated values of the plurality of input parameters A hierarchical relational definition system as claimed in claim 4, wherein the database means and the formula adjustment database each comprise a table A hierarchical relational definition system as claimed in any one of the preceding claims, wherein the output means comprises table generation means which produces a table comprising at least one row, each row corresponding to an object and containing the input parameters and the further data A hierarchical relational definition system as claimed in any one of the preceding claims, wherein the control data includes information as to whether a user is to be asked to enter data relating to the object A hierarchical relational definition system as claimed in any one of the preceding claims, wherein the control data includes information as to whether a field in said database means comprises the further data for the object or a further index to be used in referencing the formula A method for defining an object, comprising the steps of sequentially presenting a plurality of menus from which selections are made, forming an index from at least one of the selections, referencing a database using the index to obtain therefrom data relating to the object, some of said data being control data, determining from said control data whether to reference a formula to calculate further data relating to the object, and if so, referencing said formula and calculating said further data, and presenting at least one of the selections and/or at least some of the data and the further data, if any, as an output, wherein the output defines the object A method for defining an object as claimed in claim 14, including the step of referencing a formulae adjustment database to obtain therefrom an adjustment for said formula, which is utilised in calculating the further data A method for defining an object as claimed in claim 15, including the step of comparing the further data with an actual value provided by a user, and on the basis of the comparison altering the adjustment corresponding to the object to reduce the difference between the further data and the actual value A method for defining an object as claimed in claim 14, 15 or 16, wherein the index is formed from a plurality of the selections A method for defining an object as claimed in any one of claims 14 to 17, including the step of requesting a user to enter data relating to the object if indicated to do so by the control data A cost estimate system comprising means for producing a direct cost estimate, and means for producing an indirect cost estimate, including a hierarchical relational definition system according to any one of claims 1 to 13

Inventors: KUYPERS JOHANNES ANTONIUS, KUYPERS, JOHANNES, ANTONIUS
Applicants: KUYPERS JOHANNES ANTONIUS, KUYPERS, JOHANNES, ANTONIUS
Application year: 1998
Main classification: G06F17
IPC codes: G06Q10