Embedded Development

Embedded Development

For the Device Software Developer

Wind River Platforms

SYSGO Platforms

LynuxWorks Platforms

Android Platforms

Bare board Platforms

Ada Development Environment for ARM Boards Running Android

GNAT Pro is the natural Ada solution for Android: a complete Ada development environment, fully integrated into Eclipse with the Eclipse-based Android Development Tools, supporting creation of mixed Ada-Java applications. This mixed-language approach allows developers to leverage Ada's software engineering and native code strengths for the mission-critical, high-performance functionality, while using Java for the graphical user interface and extensive libraries available.  Tight integration is evident at both the tools and languages levels.

In terms of tools, the GNATbench plug-in provides a full Ada development environment supporting all the IDE tools one would expect within Eclipse.  These tools are naturally integrated with the other Eclipse tools. Navigation between Ada code and Java code is directly supported, for example. Furthermore, the tools are extensively automated. Java bindings for the Ada code are automatically generated when the GNATbench project builder is invoked. The builder also makes the bound, compiled Ada code available to the Java builder automatically. A GNATbench project creation wizard even sets the corresponding client Java project's build path to include the bound code.

At the language level, the Java bindings to the Ada code are created by GNAT-AJIS, the GNAT Ada-Java Interfacing Suite, as part of the project builder phase.  AJIS generates robust, high level Java classes for Ada code, hiding the much more error-prone use of JNI underneath. Developers merely identify those Ada packages that are to be called from the Java application.  Bindings are then generated both initially and whenever the selection of Ada packages, or their content, changes.

This video shows an example mixed-language application.  The application is a modified version of the Lunar Lander demonstrator, with Ada now used to calculate the physics of the spacecraft as it descends toward the moon.  The remaining Java code displays the lander graphically and handles the pilot interactions.

Benefits

  • Ada language strengths for the mission-critical functionality, Java for the GUI
  • Native (compiled) language for high-performance requirements
  • Facilitates reuse of existing Ada code
  • High degree of automation enhances productivity
  • Key Features
  • Complete GNAT Pro toolset
  • Full integration with GNATbench and Eclipse
  • A specific wizard for project creation
  • Builder automatically performs all steps necessary
  • Robust, high-level Java wrappers, not direct JNI