GNAT Pro Tool Suite
GNAT Pro ツールスイート
GNAT Proは、堅牢かつフレキシブルなAda、C、C ++開発環境です。 GNU GCCテクノロジを用いたツールチェーンで、統合開発環境(GNAT Studio)、ビジュアルデバッガ、ライブラリ、バインディング、ツールなどで構成されています。
ビルドシステム(大規模開発にも対応)
GNAT Proは大規模のプロジェクトにも使用可能で、多言語アプリケーションをシームレスに処理できるビルドツールが付属します。
多言語対応コンパイラ
GNATコンパイラはGCCベースで、Ada、C、C ++言語に対応しており、単一でも混合言語でもアプリケーションを構築可能で、ネイティブとクロスが用意され、要求の厳しい環境で長期に渡って使用され続けているテクノロジです。
ライブラリ
GNAT Proは標準のAda APIを補完するために、オペレーティングシステムインタフェース、XML処理、テキスト操作とパターンマッチング、データ構造、アルゴリズム、I / O操作、データベースインタフェースなどのサービス向けパッケージで構成されています。それは、XMLAda、Florist(POSIXバインディング)、GNATcollと同様にGNATランタイムライブラリによって提供されています。
多言語管理
GPRbuildを利用すると、Ada、アセンブラ、C、C ++などの言語の組み合わせで記述されたソフトウェアをコンパイルならびにリンクでき、多言語開発を簡素化できます。新しいツールチェーンや言語を使用するための拡張は容易で、サブシステムとライブラリで構成されたプロジェクトを対象としており、複数のホストでの分散コンパイルにも対応しています。
ビジュアルデバッガ
GNAT Proには、GDBを応用した拡張可能なデバッグハーネスが含まれ、データ表示/視覚化/追跡機能、メニュー方式のインタフェース、ならびにプラグイン可能なルックアンドフィールを提供します。 デバッガバックエンドはネイティブ/クロスの両方に対応し、Ada、C、C ++などの複数の言語が処理可能で、マルチスレッドアプリケーションやマルチプロセスアプリケーションのデバッグをサポートします。コマンドライン、グラフィカルIDE、またはPythonスクリプトで操作できます。また、デバッグオプションを有効にしてコンパイルしても、生成されたオブジェクトコードには影響しません。
ランタイムプロファイル
クロス構成では、制限付きランタイムプロファイルが使用できます。ゼロフットプリントプロファイル(Zero Footprint)は、ランタイムライブラリコードなしで実装されたAdaサブセットを定義します。 これにより、主な言語機能が使用できると同時に、メモリフットプリント最小限に抑えて認証取得に対応します。その他の制限付きランタイムプロファイルも用意されており、算術関数が追加されたCertランタイムや、サイズの小さい組込リアルタイムカーネル レベンカ(Ravenscar)ランタイムが利用できます。 ご要求に合わせてランタイムライブラリを構築することもできます。
GNAT Studio 統合開発環境
GNAT Studioは、GNAT Proツールチェーンへのポータルとして機能し、コマンドラインツールやユーティリティなどが統合され、Ada、C、C++をサポートし、構文エディタ、ソースナビゲーション、依存関係グラフ、コードアシスタンスが含まれ、バージョン管理システムなどのサードパーティツールとも統合可能です。
その他のツール
SPARK言語( Ada言語サブセット)による形式検証
SPARK Discovery はSPARK言語(GNAT Pro Adaでコンパイル可能)、CodePeerとともにSPARK Pro製品の機能の一部が利用でき、形式検証が体験できます。
ターゲットエミュレーションGNATemulator
ソースをコンパイルして、GNATemulatorを使用するとホスト上でターゲットコードが実行できます。 これは、ターゲットオブジェクトコードからホストのネイティブ命令に変換する手法です。 マシンエミュレータならびにバーチャライザは、QEMUテクノロジを利用しています。
GNATtestを使用するとテストを自動化するテストハーネスを管理できます。 AUnitライブラリを利用すると生成されたテストスケルトンとスタブのサポートにより、GNATtestを使用してテストコードを作成する作業に専念できます。
ウェブインテグレーション
Ada Webサーバ(AWS)はAdaアプリケーションに組込ことができ、Webブラウザと通信できます。 HTTP、SSL、SOAP、SMTP、POP、LDAPなどのWeb規格とプロトコルをサポートしています。
AdaCore 社の静的、動的解析ツール(GNATmetric、GNATcheck、GNATcoverage、CodePeer、SPARK Proなど)の結果をGNATdashboardの共通インタフェース内にまとめて表示できます。 このツールは、品質保証担当者やプロジェクト責任者がソフトウェアの技術的な問題点を管理でき、手動で入力する必要はなく、SQUOREやSonarQubeなどのツールと統合できます。
その他のユーティリティ
GNAT Proには、未使用のサブプログラム削除(GNATelim)、メトリック計算(GNATmetric)、メモリリーク解析(GNATmem)、プリティプリンティング(GNATpp)、ドキュメント生成(GNATdoc)、ソース前処理(GNATprep)などに対応するユーティリティが付属しています。
GNATcheck は、操作が容易で拡張可能なルールベースのツールです。例えば、言語のサブセットが定義でき、作成したルールにプログラムが準拠しているかを検証します。
GNAT Pro EnterpriseならびにAssurance用ツール。
多くのコンポーネントは、GNAT Pro AssuranceおよびGNAT Pro Enterpriseでのみ使用可能です。
Ada-Javaインタフェース
GNAT Ada-Java Interfacing Suite(AJIS)は、ネイティブAdaコードとJava仮想マシン(JVM)で実行されるJavaアプリケーションを組合せるためのGNAT Proアドオンツールです。 このツールを使用すると、JavaからネイティブAdaを呼び出したり、ネイティブAdaプログラムからJavaを呼び出したりできます。 また、Java Native Interface(JNI)に基づくAda-to-Javaバインディングを自動生成できます。
GNATstack 静的スタックチェック
GNATstack はAdaおよびCソフトウェア向けの解析ツールで、組込アプリケーションのためにメモリスタックの最大サイズを計測します。
GNATbenchはEclipseプラグインで、GNAT Proツールセットの機能をEclipse開発環境フレームワークで使用でき、GNAT Studio(IDE)と同様の機能と操作性を、Eclipseの標準的なルックアンドフィールを提供します。