RTI is pleased to introduce David Yancich, Director of Software Engineering at Weather Gage Technologies, as this month’s featured guest author.
Unmanned systems have been used in the military for decades to aid field operations in a safe, cost-effective and efficient way. Now, the U.S. Navy is taking this approach further by pursuing an ambitious unmanned systems plan through a mixture of air, surface and underwater platforms -- and this effort of course involves new autonomy standards. One such standard is for code development that will streamline the ability to update legacy platforms with new code: the Unmanned Maritime Autonomy Architecture, or UMAA (pronounced “you-muh”).
What is UMAA?
UMAA is a PEO USC PMS 406 initiative to promote the development of common, modular, and scalable software for Unmanned Maritime Vehicles (UMVs) that is independent of a particular autonomy implementation. In practical terms, UMAA defines a standard for common services that promotes a Modular Open Systems Approach (MOSA) to isolate and decouple services for faster development and integration. UMAA requires use of the OMG® Data Distribution Service (DDS™) standard as a core feature to enable this loosely coupled service architecture.
The UMAA standard will certainly benefit both the U.S. Navy and any organization involved in the development of unmanned technology for the U.S. Navy. Crucially, UMAA allows these organizations to develop software that is guaranteed to communicate with other organizations’ hardware/software by providing software as a service functionality with common message structures. As shown below, the common message structures are defined by "Interface Control Documents" (ICDs) for seven standard service interfaces. The message types within each of the service interfaces are defined by using "Interface Definition Language" (IDL). These IDL files can then be easily converted to support the desired programming language chosen by the organization’s development teams.
The communications transport layer is the DDS databus (“DDS bus” in MOSA terms). Today, the most widely-used implementation of DDS is the RTI Connext® software framework.
It is fair to say that without the right tools, UMAA can present some time-consuming challenges for developer teams. For example, the current version of the UMAA specification (5.2.1) contains more than 580 messages. While most organizations will not require the use of all of the messages, it still requires many lines of code to implement the DDS protocol for even a small number of messages. It also requires an understanding of the DDS implementation of subscribers and publishers.
The good news? There is a quick way to make this process much, much easier.
Weather Gage Technologies (WGT), a company involved in the development of Intelligent Autonomous Systems for several Naval projects, has just released the UMAA SDK that runs on RTI Connext software. This software development kit will greatly reduce the time and cost associated with the development of UMAA-compliant software.
Because these autonomous underwater systems must operate in real time, UMAA platforms need to ensure data is delivered within bounded deadlines. This can be accomplished using the robust Quality of Service (QoS) capabilities available in Connext.
The UMAA SDK includes powerful Linux-based C++ libraries and software tools for the development of distributed systems and applications under the Navy's UMAA standard. This provides developers with all the code required to implement UMAA message DDS subscribers and publishers, so they can focus on their core control logic instead of spending time on writing and debugging DDS code.
The WGT UMAA SDK provides seven "DDS Managers" that support all of the messages within the seven UMAA service interfaces. By instantiating a DDS Manager for a specific service interface, the developer has access to any of the DDS subscribers and publishers within that service interface using only 4 lines of code. It further streamlines development via message "stimulators”, or GUI-based programs that allow the user to publish single or continuous messages for nearly all 580+ messages in the current UMAA specification. It also includes a debugging tool for rapid testing of the system.
For more information on how to speed up development of UMAA-compliant systems, please see the sample code and a demo at https://weathergagetech.com/umaa-sdk.
About the author
David Yancich is the Director of Software Engineering at Weather Gage Technologies, LLC. David has over 30 years of experience developing real-time, data acquisition and control software for embedded and workstation systems. Before joining Weather Gage, David was designing systems and software for advanced LiDAR projects at NASA Goddard. David has a degree in Mechanical Engineering but turned to the “dark side” with software engineering early in his career. When not staring at a monitor or interacting with a team of engineers, David can be found swinging a club at the nearest links.