Our client is a large multinational Oil & Gas Industry company who perform Marine Survey services. We worked with them to develop control and monitoring software for their custom Power & Safety monitoring systems which handle the Marine Survey equipment.
Poseidon is a control and monitoring system for marine survey equipment. It is a distributed multi-user system which monitors a range of physical devices including power systems, survey kit and safety systems providing an integrated UI to simplify operational use. The applications allow users to configure and operate the power and survey kit, feeding back live operational status such as active voltage, current and temperatures along with numerous monitoring functions to flag any unexepected behaviour. The UI also provides a warning and alert system to give persistent logging of system status for retrospective analysis of operational faults.
The physical devices are monitored and controlled by a server component which acts as a proxy for the devices and allows multiple users to either view or control them remotely according to their access rights. This allows the equipment to be monitored from a remote control room or the bridge on vessel rather than requiring the operator to be physically close to the equipment.
The system needed to fit with the client's corporate direction on tools so was developed using QT (formerly Nokia/Trolltech, but acquired by Digia during the course of the project) with a QML markup UI enabling easy prototyping and in-the-field UI modifications.
The system combined a number of Qt apps communicating over TCP sockets via a proprietary packet-based protocol which allows communication between heterogeneous nodes including servers, client UI and other plugin device communication nodes. This allowed abstraction of the hardware capabilities and protocols, simpifying communication between clients and hardware and allowing multi-user access to single-connection devices.
The UI provided user authentication and custom UI tailored to user type allowing simplified and complex/advanced UIs to be delivered from a single application including 'wizards' to guide operators through critical operational sequences.