A method comprising: assembling a string of subs for use downhole, the string of subs (220,225,230,235) comprising: a controller sub, comprising: a first end; a second end; a controller; a first controller bus coupled to the controller, the first controller bus exiting at the first end of the controller sub; and a second controller bus coupled to the controller, the second controller bus being separate from the first controller bus, the second controller bus exiting at the second end of the controller sub; a first measuring sub; and a second measuring sub, determining, using the controller, whether the first measuring sub is connected to the first controller bus; determining, using the controller, whether the second measuring sub is connected to the first controller bus; the method characterized by the further steps of: determining, using the controller, an order within the string of subs of the first measuring sub and of the second measuring sub relative to the controller sub, by measuring a property that varies with distance from the controller and using the property measurements to determine the order; and using the result of said determination of the order of the first measuring sub and the second measuring sub relative to the controller sub, to control an operation of the string of subs (220,225,230,235). assembling a string of subs for use downhole, the string of subs (220,225,230,235) comprising: a controller sub, comprising: a first end; a second end; a controller; a first controller bus coupled to the controller, the first controller bus exiting at the first end of the controller sub; and a second controller bus coupled to the controller, the second controller bus being separate from the first controller bus, the second controller bus exiting at the second end of the controller sub; a first measuring sub; and a second measuring sub, a controller sub, comprising: a first end; a second end; a controller; a first controller bus coupled to the controller, the first controller bus exiting at the first end of the controller sub; and a second controller bus coupled to the controller, the second controller bus being separate from the first controller bus, the second controller bus exiting at the second end of the controller sub; a first end; a second end; a controller; a first controller bus coupled to the controller, the first controller bus exiting at the first end of the controller sub; and a second controller bus coupled to the controller, the second controller bus being separate from the first controller bus, the second controller bus exiting at the second end of the controller sub; a first measuring sub; and a second measuring sub, determining, using the controller, whether the first measuring sub is connected to the first controller bus; determining, using the controller, whether the second measuring sub is connected to the first controller bus; the method characterized by the further steps of: determining, using the controller, an order within the string of subs of the first measuring sub and of the second measuring sub relative to the controller sub, by measuring a property that varies with distance from the controller and using the property measurements to determine the order; and determining, using the controller, an order within the string of subs of the first measuring sub and of the second measuring sub relative to the controller sub, by measuring a property that varies with distance from the controller and using the property measurements to determine the order; and using the result of said determination of the order of the first measuring sub and the second measuring sub relative to the controller sub, to control an operation of the string of subs (220,225,230,235).