Hello, VideoRay

Greensea's Modular Software Architecture

Greensea develops modular software systems composed of independent and standalone applications that are task-specific. All software Greensea develops is built from the Open Software and Equipment Architecture (openSEA). openSEA is a powerful core library that encapsulates many software constructs, communication protocols, state management tools, and fault mitigation systems required by unmanned vehicle systems. Each software application communicates via a publish/subscribe UDP multicast system implemented via LCM. The use of independent software applications provides a robust system architecture as the entire system is not vulnerable should a particular piece of software fault, such as is the case with traditional monolithic software construction.

The employment of a modular software architecture also allows for a distributed architecture such that applications may be distributed to individual processing nodes to minimize the load on a particular processor, spread risk across multiple processors, and place applications closer to device interfaces to minimize the risks inherent in long-distance communications. Many applications are required in vehicle systems.

The following table describe the software applications running for the Greensea Workspace.

Application Description
Process Server

The Process Server publishes, over LCM, a list of applications that should be running and which computers they should be running on at a given time. This information is utilized by the Process Client.

Process Client

The Process Client monitors the processes that are running on the computer local to its instance. By utilizing the information that the Process Server publishes, the Process Client is able to determine if the necessary applications are running, and restart them if they are not running.

Greensea Workspace

The workspace launched with the pilot configuration. This is the primary display and operator interface for the pilot.

Alarm Manager

The system-wide Alarm Manager. Monitors specified system variables for defined alarm conditions. Communicates with all workspace applications.

Signal Mapper

The system-wide Signal Mapper. Maintains the signal map used throughout the system to map and scale defined user inputs to output signals.

 

Article ID: 
36