Maintaining consistent information flow between abstraction layers, from sensing to cognition, to ensure consistent decision-making is difficult. We are proposing an entirely new data structure, based on hypergraphs, to solve this problem. These hypergraph data structures will be developed in a domain specific language known as NodeLab and serve as a unified knowledge representation that can accept both low-level sensor data and high-level cognitive concepts, as well as maintain information coherence between the internal models of different abstraction layers. We will use these hypergraphs to conduct information hedging, whereby we reconcile discrepancies between the internal models of different software modules, and decide to either tolerate or eliminate these discrepancies. By doing so, we avoid contradictory actions that can result from modules having different internal models of the other module's behavior.
Our NodeLab hypergraphs will also be integrated with formal tools, such as Microsoft Z3, so that we can incorporate checks on information conversion and data constraints. Our NodeLab compiler will be able to use this information to generate certification artifacts that will allow us to streamline DO-178C processes and enable FAA certification of complex autonomy algorithms, a current barrier to the development of UAS technologies. We plan to use these technologies to develop certifiable autonomy software for urban air mobility (passenger-carrying aircraft in metropolitan areas). We will be leveraging our extensive experience in flying autonomous helicopters and our verifiable compiler development expertise, under which we are currently on contract with DARPA and Sikorsky Aircraft.
We believe our NodeLab environment can evolve to serve as the “Remote-Agent” for Deep Space NASA missions. A distinguishing characteristic is the compile-time formal verification of code of the full system. The core language is specifically designed for autonomy and graceful degradation of mission behavior. NodeLab can serve as a canonical language for certifiable Autonomy development within NASA for Urban Air Mobility.
Verifiable cybersecurity is one potential application. Others include: home robots that must adhere to strict safety requirements when interacting with elderly and small children. We believe coding autonomy code in NodeLab’s hypergraph-based approach can provide the explainable intelligence needed for humans and machines to safely interact.