更新日: 15/12/08

AbsoftTools の主な特徴とその操作法

Absoft Tools Fortran Integrated Development Environment
Tony Goelz, Absoft Corporation
cag@absoft.com

イントロダクション

Fortran の起源は遥かパンチカードの時代にまでさかのぼります。Fortran は今日でもなお根強く支持されている開発言語で、Fortran の開発に統合開発環境(Integrated Development Environment)を利用するユーザーは近年ますます増加しています。統合開発環境(IDE)は、プログラム開発の全ての過程を支援するソフトウェアツールです。ソースコード編集、リンク作成、デバッグ作業といった個別の作業が統一されたひとつのインターフェースにまとめられているので、作業毎に異なるツールを利用するよりも、IDE を利用した方が短時間で操作を習得できるというメリットがあります。このアーティクルでは、Absoft 社が開発した Fortran と C/C++ プログラミングのための統合開発環境 AbsoftTools を紹介します。AbsoftTools の主な特徴に続き、オープンソースの Fortran サブルーチンライブラリをビルドする手順を例にとり、IDE の具体的な操作法をご説明いたします。

開発環境を見直す理由

Absoft の Fortran 95 コンパイラは、科学技術分野のプログラミングで広く利用されている主要な 3つの OS(Linux、Mac OS、Microsoft Windows)に対応するバージョンがそれぞれ出荷されています。クロス・プラットフォームで利用できる開発環境は他にも多数ありますが、それぞれに長所と短所があります。ある開発環境では、Fortran 開発をサポートするとは言っても、それがターゲットとするメインの言語とは別の階層でサポートされるものであったり、また、他の環境では Fortran をメインの言語としてサポートしているものの、インストールとコンフィギュレーションの作業が面倒であったり、あるいは、主要3プラットフォーム全てで利用できないものであったりします。AbsoftTools は、3つのプラットフォームすべてに一貫した Fortran 開発環境を提供することでこうした問題に正面から取り組んでいます。AbsoftTools のビルドシステムに各プラットフォームのネイティブな C/C++ コンパイラを組み入れることで Fortran と C/C++ を組み合わせた混合開発を実現することも可能です。

開発環境には、ユーザーが骨を折ってその操作法を習得しなければ、実際にプログラムを作成することができないものも数多くあります。Absoft 社は、Fortran 市場における長年の経験から、Fortran ユーザーには専門のプログラマーでない人の割合が多いことを充分に理解しています。彼らは、それぞれの専門分野のプロフェッショナルなのであって、すでに記述されたソフトウェア資産を活用するのが目的で Fortran を利用しているのです。また、プロジェクトが変わる度に使用するプラットフォームを余儀なく変更させられることも少なくありません。各プラットフォームの開発環境に一貫したユーザーインターフェースが提供されることで、ユーザーは幾つもの開発ツールの習得に時間をとられる必要がなくなり、その分、主たる研究に多くの時間を割くことができるようになるわけです。

AbsoftTools について

AbsoftTools は、インストールが容易で、設定が簡単で、しかも、クロスプラットフォーム環境で Fortran を開発する場合も容易に利用することができます。開発環境は、ターゲットとするプラットフォームに対応した Absoft Fortran コンパイラの一部としてインストールされます。インストールが完了すると、追加設定なしで Fortran プロジェクトのほとんどの作業を AbsoftTools ひとつで進めることができます。AbsoftTools は、Trolltech 社の Qt を使用して開発されています。Qt は、各プラットフォーム固有のルック&フィールを保持しつつ、異なるプラットフォーム間でも一貫した操作性を実現するクロスプラットフォーム・アプリケーション・フレームワークとして広く普及しているツールキットです。AbsoftTools 自体は、ビルドシステムとエディタ、そして、ソースレベル・デバッガによって構成されています。これらはいずれも、Fortran 開発に欠かせない固有の機能を備えています。IDE は、ネイティブ C/C++ コンパイラ、Fortran プリプロセッサ、商用およびオープンソースの各種ライブラリなど、Absoft Fortran 95 コンパイラで一般的なアドオンも幅広くサポートしています。

AbsoftTools ビルドシステムの特徴

AbsoftTools ソースエディタ

AbsoftTools とサードパーティ・ライブラリのプラグイン

AbsoftTools と混合言語開発

AbsoftTools の Fx3 ソースレベル・デバッガ

クロスプラットフォームのソリューション

AbsoftTools の代表的な3つのコンピューティング・プラットフォームには、全く共通のインターフェースが採用されています。プラットフォームが変わってもインターフェースの基本的な操作法に違いはありません。ただし、ウィンドウの装飾、コマンドのショートカット、標準ダイアログについてはネイティブのプラットフォームのルック&フィールが継承されています。必要に応じて特定のビルド・ターゲット、すなわち、Microsoft Windows DLL や Mac OS Carbon フレームワークアプリケーションといったターゲットをサポートすることもできます。以下の3つのスクリーンショットは、Linux、Apple の Mac OS、および、Microsoft Windows の各環境で動作させた場合の AbsoftTools のメインウィンドウです。いずれも共通のインターフェースで構成されていることがおわかりいただけると思います。

Linux 環境で起動した Absoft Tools
Mac OS 環境で起動した Absoft Tools
Microsoft Windows 環境で起動した Absoft Tools

実践:AbsoftTools を使用したライブラリのビルド

Fortran 言語を使う最大のメリットは、世の中に存在する膨大な数のコード資産をプロジェクト開発に利用できるという点にあります。こうしたコードは、インターネットの様々なサイトにソースフォーマットとして公開されており、その多くは無償で利用することができます。このアーティクルの残りの部分では、ダウンロードしたソースパッケージからソースライブラリをビルドする手順を紹介していきます。このセクションで使用されているスクリーンショットは、Apple 社製 Intel プロセッサベースの Macintosh 環境の Mac OS 10.5 で動作する Absoft Pro Fortran 10.1 開発ツールからとったものです。なお、以下に示す手順は、AMD/Intel プロセッサ環境の Linux システムで Absoft Fortran 10.1 を利用しても、AMD/Intel プロセッサ環境の Windows システムで Absoft Pro Fortran 10.1 を利用しても、さらに、PowerPC Macintosh 環境の Mac OS 10.5 環境で Pro Fortran 9.5 を利用しても全く同様です。

ソースコードの入手

この事例では、VFFTpack と呼ばれるサブルーチン・ライブラリをプロジェクトにビルドする方法を紹介します。このライブラリは、複数の実配列を高速フーリエ変換する Fortran サブプログラムをベクトル化するパッケージを提供するものです。ライブラリのソースコード・パッケージは、NetLib Repository(http://www.netlib.org)から tar 形式で圧縮されたファイルを入手できます。ライブラリをダウンロードしたら、Linux と Mac OS ユーザーはシステムに装備された tar ユーティリティプログラムを使ってソースコードを解凍できます。Windows ユーザーの場合は、Winzip や PowerArchiver 等のサードパーティプログラムを使用してソースファイルを解凍してください。

AbsoftTools プロジェクトの作成

AbsoftTools プログラムを起動したら、以下のような画面が表示されます。

初期画面

あらかじめ用意されているプロジェクトを開く場合は Project メニューの Open Project を選択し、新規にプロジェクトを作成する場合は New Project を選択することになります。ここでは、New Project を選択して新規プロジェクトを作成してみましょう。以下のような Set Options ダイアログが AbsoftTools に表示されるはずです。

Set Options ダイアログの General ページ

Set Options ダイアログでは、新規プロジェクトを作成する際の環境設定を行います。プロジェクトを作成した後にオプションを追加、削除、変更するときもこのダイアログを使用します。Project Options は、6つのカテゴリに分けられており、カテゴリ別に General、Target、Fortran、C/C++、Linker、Resources の6つのページが用意されています。VFFT ライブラリの General ページでは、プロジェクトを保存したり後から読み込むのに必要なプロジェクト名を設定します。ここで付けられたプロジェクト名は、ビルド時に作成されるプロジェクトの最終的なファイル名に使用されます。プロジェクトファイル、中間ビルドファイル、最終出力ファイルを保存するディレクトリもここで選択します。また、実行可能なアプリケーションの作成時に、AbsoftTools 内でプログラムを起動する際のパスの引数もここで指定します。

この例では使用しませんが、プロジェクトに Lapack、Blas、PLplot ライブラリなどの定義済みプラグインを追加する場合も、この General オプションページを使います。プラグインを選択するだけで、必要なライブラリ、モジュールパス、コンパイラオプションが自動的にプロジェクトに追加されます。

プロジェクトのビルドプロセスの前後に実行させるスクリプトやバッチファイルを指定する場合もこのページを利用することがあります。たとえば、プロジェクトのビルドを開始する前にソースコード・コントロールコマンドを実行したり、ビルドプロセス中に作成された Fortran 90 モジュールファイルなどの最終ターゲットファイルやその他のファイルを別の場所にコピーするような場合です。

プロジェクト作成の次のステップは、ターゲットに関するオプションの選択です。Set Options ダイアログの Target 項目を選択して、Target ページを表示しましょう。

Set Options ダイアログの Target ページ

VFFTpack プロジェクトの場合は、ターゲットタイプに Static Library を選択します。ターゲットタイプには、この他にも全プラットフォームに共通なターゲットタイプとしてコマンドラインアプリケーションを選択できます。また、使用する OS によって異なりますが、Absoft MRWE フレームワークアプリケーション、Microsoft Windows DLL、Mac OS Carbon フレームワークアプリケーションなどが選択肢として用意されています。

Target ページでは、最適化のレベルやデバッグ情報の指定、32-bit / 64-bit コード生成の選択、ターゲットオプション固有のオペレーティングシステムの設定などにも利用します。

プロジェクトの General オプションと Target オプションを設定することの他に、コンパイラ固有のオプション指定が必要となる場合があります。Set Options ダイアログの FORTRAN ページは、モジュールおよびインクルードファイルの検索パス、ソースフォーマット、警告およびエラーコントロール、外部名のマングリングや装飾、その他、配列境界チェックや例外処理などの拡張デバッグ機能など Absoft Fortran 95 コンパイラで必要なオプションを指定するのに使用します。

Set Options ダイアログの FORTRAN ページ

VFFTpack のソースコードは、Fortran 90 のフリーフォーマットで記述されていますが、ファイル名に .f 拡張子が使用されています。Absoft Fortran 95 コンパイラはデフォルトで .f 拡張子の付いたファイルを FORTRAN 77 の固定フォーマットのソースであるとみなします。VFFTpack プロジェクトでは、Fortran オプションページの Format タブで Source Formats を Free-form に指定して、これを無効にしておきましょう。

Set Options ダイアログにある他のオプションページは、システムのネイティブ C/C++ コンパイラ、リンカー、リソースコンパイラの制御に利用します。VFFTpack プロジェクトの場合は、これらは変更しなくても結構です。

ソースファイルのプロジェクトへの追加

Set Options ダイアログを使ってプロジェクトの設定が完了したら、ソースファイルとライブラリをプロジェクトに追加します。既存のソースファイルをひとつづつプロジェクトに追加していく場合は、プロジェクトメニューの Files... 項目を使用します。Add Directory... 項目を使えば、ディレクトリに含まれるファイルすべてを一括して追加することもできます。VFFTpack プロジェクトの場合は、Add Directory 項目を使用して、ソースファイルすべてを一括して追加します。Add Directory... を選択すると、 プロジェクトのソースコードを含むディレクトリが指定された Add Directory ダイアログがあらわれます。以下の図は、VFFTpack のファイルを含むディレクトリを選択した Add Directory ダイアログを示します。

Add Directory ダイアログ

プロジェクトで指定した目的外のファイルがディレクトリにある場合は、ダイアログの下の欄に一覧で表示されます。不要なファイルがある場合は、上のリストからそれらを選択し、Ignore File ボタンを押すことでプロジェクトから個別に除外することができます。VFFTpack プロジェクトの場合は、ライブラリのテスト用ドライバーで、ライブラリのソースコードの一部ではない sctest.f と vtest.f の2つのファイルが除外対象となります。図ではプロジェクトファイル本体の VFFTpackLibrary.atools と共に、これら2つのファイルが除外されていることがわかります。

プロジェクトのビルド

AbsoftTools でプロジェクトが完成したら、Build メニューの Build 項目を選択するか、ツールバーのハンマーアイコンで示される Build ボタンをクリックしてビルドを行います。リリースビルドとデバッグビルドの切り替えは、ツールバーの Active Build リストから目的のビルドを選択するだけです。AbsoftTools には、デバッグビルドとリリースビルドのカスタム・オプションセットを作成できる機能も装備されています。カスタム・オプションセットを作成したら、Active Build リストに選択肢として表示されます。以下の図は、VFFTpack プロジェクトのビルドが完了した直後の AbsoftTools をあらわしています。エディタにはソースファイル ftcb.f が表示されています。Files ペインで別のファイルを選択すれば、選んだファイルをエディタに開いて編集することができます。

ビルド完了後のメインウィンドウ

この事例では、エラーを全く起こさずに VFFTpack プロジェクトをコンパイルすることができました。コンパイラがエラーを発見した場合は、Errors/Warnings タブにエラーが表示されます。表示されたエラーメッセージをクリックすると、問題のあるソース行がハイライトされた状態でエラーを含むファイルがエディタに表示されます。

AbsoftTools Fx3 デバッガを使用したデバッギング

プロジェクトが無事にコンパイルできても、プログラムの論理、配列境界のオーバーフロー、浮動小数点の例外などのエラーが原因で正常に実行できない場合があります。こうしたエラーの原因を突き止めたい場合は AbsoftTools Fx3 ソースレベルデバッガを使用します。Fx3 ソースレベルデバッガは、ソース・ブレークポイント、ソース行シングルステップ、スタックのトレースバック、変数の表示など標準的なデバッグ機能を備えています。また、逆アセンブルコードのシングルステップ実行、ハードウェア・レジスタ表示とメモリ・ダンプなど、アセンブリレベルでのデバッグにも対応しています。

Fx3 デバッガのメインウィンドウ

サマリー

AbsoftTools IDE は Fortran および Fortran と C/C++ 混合プログラムの移植や開発に役立つ、使いやすいクロスプラットフォーム・ソリューションです。これにより、ターゲットとするプロジェクトタイプの選択からプロジェクト管理、ソースコード編集、ランタイム・デバッグといった一連の作業を、プラットフォームが異なっても全く共通のユーザーインターフェースで操作することができます。