Dr. Dobb's is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

Channels ▼


Multi-Language Support Added to Ada

AdaCore has announced a comprehensive set of tools and support services for projects where Ada is used in conjunction with other programming languages. Available with GNAT Pro 6.3, the latest release of AdaCore's Ada Development Environment, the solutions include tools and libraries to handle the various ways in which multi-language systems are designed and constructed.

"'One Language Fits All' is not how large systems are developed," says AdaCore's Robert Dewar. "Programmers need to mix and match, using different languages that are appropriate for different jobs, or incorporating legacy software components written in different languages. AdaCore is answering that requirement, through both products and support services, for customers who are using other languages along with Ada."

AdaCore's multi-language solutions include GNAT Pro C and GNAT Pro C++ for support of C and C++ development, respectively, as well as a general-purpose multi-language build tool (GPRbuild). For systems that need to work with Java, AdaCore supplies the GNAT Ada-Java Interfacing Suite (for communicating between Java and natively compiled Ada) and GNAT Pro for the JVM. Combining Ada and Python, for example to drive Ada test suites through Python scripts, is supported by the GNAT Component Collection (GNATcoll). And GNAT Pro for .NET allows smooth interfacing, through managed code, between Ada and C# or other languages that compile to Common Language Runtime assemblies. These are in addition to GNAT Pro’s existing support for the foreign language interfacing facilities specified in the Ada standard.

Multi-language capabilities are especially important in safety-critical and/or high-security applications. For example avionics systems typically consist of components at different safety levels – such as flight software at DO-178B Level A in Ada, and entertainment software at Level E, perhaps in Java. In the security arena, a MILS-compliant architecture can host different applications at different Evaluation Assurance Levels (EALs), where applications at the highest levels might be written in a language such as SPARK (an Ada subset augmented with annotations / "contracts" that allow formal proofs of security properties), whereas applications at lower levels might be written in languages that do not support such rigor. AdaCore's multi-language solutions address such needs.

Related Reading

More Insights

Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.