SUBSEA MEASUREMENT APPARATUS, METHOD OF COMPRESSSING MEASUREMENT DATA AND METHOD OF PROVIDING INTER-COMPATIBILITY BETWEEN APPARATUS
A subsea measurement apparatus ( 104 ) is configured to be immersed, when in use, in water, and comprises a sensor, a communications module, and a processing resource operably coupled to the sensor and the communications module. The sensor is configured to measure a property of a medium and the processing resource is configured to provide a first execution environment ( 122 ) and a second execution environment ( 124 ) independent from the first execution environment ( 122 ). The first execution environment ( 122 ) is configured to execute device firmware ( 128 ) that cooperates with the sensor to generate, when in use, measurement data. The second execution environment ( 124 ) is configured to receive and execute a user-defined application ( 130 ).
1 . A subsea measurement apparatus configured to be immersed, when in use, in water, the apparatus comprising:
a sensor;
a communications module;
a processing resource operably coupled to the sensor and the communications module, the sensor being configured to measure a property of a medium; wherein
the processing resource is configured to provide a first execution environment and a second execution environment independent from the first execution environment;
the first execution environment is configured to execute device firmware that cooperates with the sensor to generate, when in use, measurement data; and
the second execution environment is configured to receive and execute a user-defined application.
2 . An apparatus according to claim 1 , wherein the user-defined application of the second execution environment is configured to acquire the measurement data having a first information value and to process the measurement data to produce processed output data having a second information value.
3 . The apparatus according to claim 1 , wherein the user-defined application is a command interpreter configured to receive a first command in accordance with a first command protocol and to translate the first command to a second command in accordance with a second command protocol.
4 . The apparatus according to claim 1 , wherein the user-defined application is configured to generate a command to control operation of the first execution environment and to communicate the command to the first execution environment in order to modify operational behaviour of the first execution environment.
5 . The apparatus according to claim 1 , wherein the user-defined application is configured to perform, when in use, a predetermined functionality, the user-defined application being further configured to receive a command associated with the predetermined functionality and the user-defined application is configured to modify the predetermined functionality in response to and in accordance with the received command.
6 . The apparatus to claim 1 , further comprising:
an acoustic communications transceiver operably coupled to the communications module.
7 . The apparatus according to claim 1 , wherein the second execution environment is configured to permit replacement of the user-defined application with another user-defined application.
8 . The apparatus according to claim 1 , wherein the second execution environment is configured to execute the user-defined application in accordance with a predetermined execution frequency.
9 . The apparatus according to claim 1 , further comprising:
a command interface for receiving an operational command; wherein
the second execution environment is configured to provide access to the command interface.
10 . The apparatus according to claim 1 , wherein the second execution environment is configured to receive the user-defined application via a communications link and to execute the user-defined application in the second execution environment.
11 . A subsea measurement system comprising:
the subsea measurement apparatus according to claim 1 ; and
a topside module configured to communicate with the subsea measurement apparatus.
12 . The system according to claim 15 , further comprising:
a computing device independent of the topside module and configured to communicate with the topside module; wherein
the topside module is configured to receive an application package from the computing device.
13 . The system according to claim 16 , wherein the application package comprises a runtime library and processing code configured to use the runtime library.
14 . The system according to claim 16 , wherein the computing device comprises, when in use, a software development kit configured to support creation of an application for execution in the second execution environment of the subsea measurement apparatus.
15 . A method of compressing measurement data, the method comprising:
providing a processing resource to support a first execution environment and a second execution environment;
executing firmware in the first execution environment;
obtaining a sensor measurement in respect of a medium;
pre-processing the sensor measurement using the firmware to produce measurement data having first information value;
executing a user-defined application in the second execution environment to obtain the measurement data and processing the measurement data in accordance with a predetermined processing algorithm, thereby producing processed measurement data having second information value.
16 . A method of providing inter-compatibility with an underwater measurement apparatus, the method comprising:
providing a processing resource in the underwater measurement apparatus to support a first execution environment and a second execution environment;
executing firmware in the first execution environment;
obtaining a sensor measurement in respect of a medium;
pre-processing the sensor measurement using the firmware to produce measurement data having first information value;
executing a user-defined application in the second execution environment to provide a command interpreter configured to receive a first command in accordance with a first command protocol and to translate the first command to a second command in accordance with a second command protocol, the firmware being configured to operate in accordance with the second command protocol.
17 . The apparatus according to claim 1 , wherein
the first execution environment is configured to support a control application; and
the control application is configured to control execution of the user-defined application.
18 . The apparatus according to claim 11 , wherein
the control of the user-defined application by the control application is in response to an operational status of the first execution environment.
19 . The apparatus according to claim 12 , wherein
the operational status of the first execution environment is a data generation status.
20 . The apparatus according to claim 13 , wherein
the data generation status is an availability of a data file or a data packet.