GNAT Pro Solves Data Endianness Portability Challenge
Compiler automatically handles conversions, simplifies Ada development and maintenance
BOSTON, December 4, 2012 - ACM SIGAda HILT Conference - AdaCore today announced the implementation of a new GNAT Pro feature that allows Ada developers to portably and reliably define data layout in an endianness-independent fashion. This capability makes it possible to port and reuse existing code bases on a different hardware platform, without having to manually implement the error-prone, byte-swapping logic that would otherwise be needed.
Portability is a key requirement for many Ada applications, which often have to be maintained and perhaps augmented with new functionality, over a timespan comprising many years. Their lifetime often survives major evolutions in hardware architecture, moving away from old platforms either for obsolescence reasons or because of costs. Whatever the reason, x86 platforms are now typical targets for many projects. However, the x86 processor represents numeric data in ‘little endian’ format (lower address for lower order byte), while legacy platforms, such as 68K, PowerPC, and SPARC, are in ‘big endian’ format (lower address for higher order byte). This difference can make the porting effort a substantial and error-prone endeavor, and, indeed, the costs and risks associated with moving to a different binary representation may simply be prohibitive.
To solve this problem, GNAT Pro has introduced an ‘endianness-agnostic’ enhancement to specify the endianness of a specific data structure independent of the underlying architecture. The definition of the representation uses a natural extension to the existing Ada data representation model. Ada source code is thus portable across big endian and little endian architectures, even when manipulating low-level data structure representations. The cumbersome and error-prone task of writing bitwise data manipulation is transparently managed by the compiler, significantly simplifying the task of porting such applications between architectures.
“Customer driven requirements and enhancement requests are a key driving factor for GNAT Pro technology evolution,” said Quentin Ochem, Technical Account Manager at AdaCore. “With the implementation of the endianness-agnostic enhancement, we are providing solutions to real-world problems reported in the field, now integrated into our technology. We are pleased to help our customers address new challenges and open new opportunities for deploying the products they built with GNAT Pro.”
Founded in 1994, AdaCore is the leading provider of commercial software solutions for Ada, a state-of-the-art programming language designed for large, long-lived applications where safety, security, and reliability are critical. AdaCore's flagship product is the open source GNAT Pro development environment, which comes with expert on-line support and is available on more platforms than any other Ada technology. AdaCore has an extensive world-wide customer base; see http://www.adacore.com/home/company/customers/ for further information.
Ada and GNAT Pro see a growing usage in high-integrity and safety-certified applications, including commercial aircraft avionics, military systems, air traffic management/control, railroad systems, and medical devices, and in security-sensitive domains, such as financial services. The SPARK Pro toolset, available from AdaCore, is especially useful in such contexts.
AdaCore has North American headquarters in New York and European headquarters in Paris. www.adacore.com