EbNoL
orion

EbNoL Programming Language

EbNoL is a new programming language designed specifically for robotic and aerospace applications. Create safe software with automatic unit test generation without having to understand the technical requirements for writing radiation hardened and safety critical software. EbNoL programs are compiled to NASA's human flight software standards. Software is also compiled in a way to make unit testing seamless. The time consuming message passing, process management, and more are built into the language reducing development time and complexity. Complexity is also reduced by integrating high level language syntax with the power of lower level languages.

Development

Intuitive Syntax

EbNoL syntax is meant to feel familiar to software developers. With most robotics based software being developed in C/C++, EbNoL's syntax keeps the C/C++ format. This minimizes the learning curve with the major syntax changes aimed at making large code blocks more readable.

Automate Safety-Critical Standards

Safety and mission critical standards are invasive and involve heavy memory management. These standards are abstracted out and handled during compile time. Fault prevention is built in and automatic based on the level specified. Catching faults from hardware errors, software errors, or radiation is handled based on FAA, DOD, and NASA standards and is fed directly to the built in health monitoring.

Less Code

Requirements and features for real time software are abstracted out and built directly into the language. The compiler will generate code for the target environment specified at compile time. This eliminates the need to learn the specifics for developing in each environment and enables more to be accomplished in less lines of code

Testing

Automated Unit Test Generation

Unit testing is a necessity for safe software development, but can more than double development time. Because EbNoL provides functionality at the compiler level, unit tests can be automatically generated.

Performance Monitoring

Code can be compiled with performance monitoring built in. Performance monitoring allows developers to track the resources being used during testing. If incorporated into the final build, performance reports can be sent back as telemetry as apart of health monitoring.

Health Reports

Health reports are created from various metrics from all areas of the software. Faults and anomalies are detected and sent back through telemetry. Since health reporting is generated during compile time it is able to embed itself in the software with minimal developer interaction.

Compatibility

RTOS

Works with RTEMS, VxWorks, and FreeRTOS. Abstract out the specifics of each RTOS and just specify the target environment at compile time.

Small To Full systems

Build robotic software for all types of hardware regardless of small microcontrollers or full flight computers.

Full C/C++ Compatibility

Build software using all the C/C++ tools you are accustom to. Import and call any C/C++ libraries from within EbNoL.

Comparison

Core Flight System F' EbNoL
Reduce Development Time
check
check
check
Auto Generate Unit Tests
check
Health Reporting
check
check
Performance Monitoring
check
Fault Prevention
check
Fault Detection
check
check
Modeling Tools
check
OS Abstraction
check
Message Handling
check
check
Task Scheduling
check
check