1. A system analyzer which comprises: a. an input device; b. a computer processor coupled to the input device and arranged to accept as input a user query from the input device; c. a memory coupled to the computer processor; d. the memory including: i. a set of data objects, each data object in the set of data objects comprising information concerning a component of a system to be analyzed; ii. a set of variable objects, each variable object in the set of variable objects defining a factor which affects the functioning of at least one of the components of the system; iii. each variable object in the set of variable objects being linked to at least one other variable object in the set of variable objects by a first relationship being a member of a first set of pre-determined relationships such that the first relationship defines a real-world association that exists between the variable objects linked by the first relationship; iv. each data object in the set of data objects being linked to a preselected variable object by a second relationship being a member of a second set of pre-determined relationships such that the second relationship describes the applicability of the information contained in the data object linked thereby for use in determining a value for variable object linked thereby; v. a set of analytical methods; and e. the computer processor operating to process the user query by automatically selecting at least two analytical methods from the set of analytical methods and applying the selected analytical methods to obtain an answer to the user query from each analytical method, wherein the automatic selection of each analytical method is determined by the applicability of said analytical method to the query based upon the configuration of the data objects and variable objects.