AZ-Prolog Version 6は、この度、本格的な64ビット・マルチコアCPUに対応したバージョンを提供します。


SmartSection is developed by The SmartFactory (http://www.smartfactory.ca), a division of INBOX Solutions (http://inboxinternational.com)

AZ-Prolog Ver.6 for Windows

概要

AZ-Prologは、手軽なデバッグや開発を提供する“インタープリタ”、インタープ リタ上での実行を高速化する“バイトコード・コンパイル”、そして様々なOSでシステム・言語として採用されている「C言語」の ソースファイルを出力する事で、さらに高速化して単独実行可能なプログラムの作成を実現する“PrologソースからC言語ソースへのコンパイル”、プログラムをCGIとして公開可能、などの豊富な機能を提供しています。

また、Version 3以降では、WindowsのOLE・オートメーション機能もサポートし、これを利用する事で、AZ-Prolog自体を1つのオブジェクトとしてパッケージ化し、他のWindowsプログラムと連動させる事が出来、開発の効率化を計る事が出来ます。

例えばWindowsのGUI部分は、他のGUI向きの開発言語でコーディングし、複雑なロジックを必要とするプログ ラム本体は、それを容易に記述出来るPrologでコーディングしこれらの連携によるシステムを実現させるといったものです。

つまり、各々の言語などのアプリケーションの特徴を最大限に利用する事でシステムの設計・開発の可能性を拡大させる事が出来ます。

このようにAZ-Prologはシステム開発における“AZ-Prologの役割”を明確化した、ひとつのプログラミング環境という事が出来ます。

今回のVersion6においては、64ビットOS対応により、OSの提供する広大なメモリ空間を利用することができるようになり、従来は求まらなかった解を求め、巨大なプログラムも走らせることが可能となりました。


9Gバイト超のメモリをグローバルスタックに割り当てアッカーマン関数ack(3,N) がどこまで計算できるかのテスト

さらに、 CPUのマルチコア化を生かしプログラムを複数のプロセスに分散し、並列で駆動するMPI(Message Passing Interface)ライクな仕組みを取り 入れることによって、より高速化が可能となっています。

[日本Prolog協会Prologプログラミングコンテス ト技術賞受賞作品 ペントミノ全解によるベンチマーク(By M.Akita) Windows Vista 64bit Core i7 920]
  AZ-Prolog  V6 WAMベースXXX-Prolog
並列処理  フルコンパイルコード 6.8 sec N/A
並列処理  AbstractMachine Code: 8.6 sec N/A
逐次処理  フルコンパイルコード 22.9 sec N/A
逐次処理  AbstractMachine Code: 28.3 sec 45.9 sec


主な特徴

■MPIライクなマルチプロセス並列処理機能のサポート
並列化可能なモジュールをプロセスに分散し、CPUのコア数に比例した高速化が図れます。

■Microsoft Win32 /64 APIに対応
OLEオートメーション(クライアント及びコントローラ)機能をサポートしています。

■多様な外部ライブラリとの接続インタフェースの提供
鬼車、Mecab、Cabocha、ODBCのインタフェースを備えています。
注:2010年3月のリリースでは、Mecab、Cabocha、ODBCにつきましては32ビット版のみとなります。

■マルチOS対応
MS-DOS(エクステンダー版)、Win32、UNIX、Linuxなどをはじめとする複数のOSに対応し、パーソナルコンピュータから、エンジニアリング・ワークステーションに致るまで広範囲に対応します。
Prologソースは、各システムでほぼそのまま共通に利用できます。

■DEC-10 Prolog準拠
言語仕様は事実上のProlog標準仕様である「DEC-10 Prolog」に準拠しています。

■各スタック領域などのワークエリアの大きさを自由に設定可能
プログラムエリアなどのメモリ容量の制限を取払い、特に64ビット版では、ほぼ無限に等しい(上限はOSやハード構成に依存します)プログラムエリアを確保出来ます。
しかも、各ワークエリア毎の最大使用量を認知し、各ワークエリアを必要最小限に設定する事もできます。

■高速である。
AZ-Prologは、完全な32bit・64bitプログラムとして動作し、パーソナルコンピュータ上での高速処理を実現しています。
しかも、面倒な手続き(変数の型宣言など)もほとんどありません。

■様々な実行環境
AZ-Prologの実行環境は ・プログラム開発・デバッグ時に使用するインタープリタ。
・実行/デリバリ時に威力を発揮するコンパイラ。
・Webアプリケーションとして公開できるCGIインタプリタ と使い分けすることにより効率的なプログラム開発と公開が可能です。
つまり、各々の言語等のアプリケーションの特徴を最大限に利用する事でシステムの設計・開発が容易になり、またこの柔軟性により、Windows上でのプログラム開発の可能性を拡大させる事が出来ます。
このように<AZ-Prolog Version 6 for Windows>はシステム開発における“AZ-Prolog “の役割を明確化した、一つのプログラミング環境と言う事が出来ます。

■C言語ソースを生成し、単独実行可能プログラムを生成可能
AZ-Prologコンパイラはその出力としてC言語のソースコードを生成します。
通常は生成されたCソースを各OSの標準Cコンパイラでコンパイルし、リンカでAZ-Prologの組込み述語ライブラリ・Cコンパイラ標準関数ライブラリなどとリンクすることにより「単独実行可能プログラム」を生成します。
ユーザが作成したCプログラムとソース又はオブジェクトレベルでのリンクも可能です。

■ユーザプログラムを組込み述語として定義が可能
PrologやC言語で記述されたプログラムをコンパイルして、インタープリタの組込み述語として追加登録できます。
さらにプログラム開発の効率が向上します。

■マルチバッファで、EmacsライクなProlog用のエディタ(AzEdit)を内蔵
EmacsライクのPrologプログラム用のフルスクリーンエディタ(AzEdit)を標準のインタープリタに組み込み述語として内蔵しており、同時に8個までのテキストファイルを編集する事が出来るマルチバッファ機能を装備しています。
また、エディタ白身Prologで記述されており、そのソースコードも付属していますので、機能の追加・変更、キー割当て等のカスタマイズも自由に出来ます。

■強力なソースレベルデバッガ装備
トレース・スパイ・ブレーク機能を内蔵したソースレベルデバッガを装備しています。
またソースレベルデバッガでトレースする事で、Prologの動作を把握できるためProlog言語を理解する上でも大きな助けとなります。

■オンラインヘルプ機能
操作方法や組込み述語の書式や使い方をガイドするオンライン・ヘルプファイルが付属しており、このヘルプファイルにアクセス機能を組込み述語で提供しています。
トップレベル及びプログラムの中からも利用出来ます。

■トップレベル(コンソール画面上)におけるテンプレート機能
トップレベル(コンソール画面上)で、過去に入力した文字列を10行前までの入力を記憶し、そのままか又は編集して再入力できるテンプレート機能があります。

■豊富な組込み述語(300以上)

■算術演算
AZ-Prologは浮動小数点演算をサポートしています。
加えて、三角関数・対数・指数関数などの算術関数(27個)も利用できます。

■アレイ(配列)型
データ型としてアレイを導入しました。高速な書換え・検索が可能です。

■完全日本語対応
AZ-Prologはコメント文は勿論、アトム・述語名・変数名・その他どの部分にも漢字が使えます。
勿論、内蔵エディタ(AzEdit)も漢字に対応しています。

■グローバルレジスタ採用
数値やアトム、それぞれ専用のレジスタが32個ずつ用意されています。
アサートやファイルの操作なしにグローバルなデータを保存できますから、さらに高速に実行できます。

■任意の階層からより浅い階層に一気に実行制御を戻す大域脱出機能
Prologの階層構造プログラムにおいて実行時にthrow述語のある階層から、Catch述語のあるより浅い階層に一気に実行制御を戻す(ジャンプする)事かが可能です。

■プログラム開発をより容易にする豊富なサンプルプログラム集の付属
より良い開発環境を提供するシステムユーティリティプログラム、プログラム作成のヒントとなる実用例のサンプルプログラム、プログラムの一部としてそのまま使えるユーティリティプログラムなどが付属しています。

動作環境

OS Win32/64 (Windows XP,Vista,7)
対応Cコンパイラ Microsoft Visual C++ 2005 Express Edition 以上
ハードウェア 上記OSが動作する環境。64ビット版では6Gバイト以上のメモリを推奨。
ただし、N-queenなどの小さなプログラムであれば1Mバイト程度の空メモリでも可。
ディスク容量 60MB以上


注:Win32版は64ビットOS 上でも動作しますが、Win64版は32ビットOSでは動作しません。
また、外部ライブラリを利用する 関係から、2010年現在、一部機能は32ビット版のみであり、セル構造の制約から、 64ビット版のみのものがあります。
  この記事を PDF フォーマットで見る 記事を印刷する 記事をメールで送信

管理者ログインサイト利用条件SOFNEC ホームページ
ソフネック株式会社