ランタイムライセンス
MINERVA superseeded IF/Prolog. Please see http://www.ifcomputer.co.jp/MINERVA for details.

We discontinued to sell IF/Prolog Dec 31. 2003. For current customers, we continue to provide professional support for IF/Prolog until Dec 31, 2008.

ソフトウェアデベロッパーが、IF/Prologを用いてアプリケーションを作り上げた後、 アプリケーションを複数のマシンで使用したり販売したりする場合、IF/Prologランタイムライセンスシステムでの利用が非常に便利です。

IF/Prologのランタイムライセンスシステムでは、IF/Prologはアプリケーションと共にパッケージ化されますので、 ソフトウェアデベロッパーが、簡単にIF/Prologを生成し納品することができます。 納品を受けたエンドユーザーも、簡単にこれをインストールすることができます。また、アプリケーションが、速く立ち上がるという利点もあります。 経済的にも、ランタイムライセンスシステムのIF/Prologは、開発ライセンスシステムに比べて安い価格で提供されます。

ランタイムライセンス契約の条件

以下の説明では、ソフトウェアデベロッパー(以下アプリケーション開発者と呼ぶ)を使用する顧客(以下エンドユーザーと呼ぶ)に提供するアプリケーションを、 Prologアプリケーションと呼びます。

ランタイムライセンスアプリケーションは、エンドユーザーの持つマシンとバイナリ互換性を持つマシンの上で生成されます。 つまり、ソフトウェアデベロッパーは、エンドユーザーのOS・CPUタイプと同じOS、CPUタイプの上でのIF/Prologの開発システムを持ち、この上でIF/Prologのランタイムシステム及びアプリケーションを生成せねばなりません。

- IF/Prologに直接アクセスすることはできません。

エンドユーザーは、IF/Prologのインタプリタのレベルでの、呼び出しやブレイクをすることができません。

- サポートやマニュアルは提供されません。

イフ コンピュータは、エンドユーザーに対して、直接サポートは行ないません。また、マニュアルも提供しません。これらは、開発ライセンスの所有者のみに対して行なわれます。 エンドユーザーは、アプリケーションの中でIF/Prologが使われていることさえも知る必要がありません。

- 開発ツールではありません。

ソフトウェアデベロッパーは、IF/Prologの開発システムをエンドユーザーに納品することはできません。

エンドユーザーは、このランタイムシステムを使って、別のPrologのプログラムを作ることはできません。IF/Prologのダイナミックな特徴はアプリケーションの中では使われますが、エンドユーザーがIF/Prologを使って新しいプログラムを作れないように、エンドユーザーの目から隠されています。

ランタイムシステム

Prologアプリケーションは、

- Prologのカーネル・システム - ランタイム環境

の2つの部分で構成されます。

Prologアプリケーションをアプリケーションを使用するエンドユーザー側で実行可能にするためには、ライセンスキーをIF Computerから得なければなりません。

Prologカーネル・システム

メイクファイルによって新しいPrologシステムまたはカーネル・システムを生成します。 アプリケーションの中で、Cインタフェース(能動、受動またはデバイスドライバ)、あるいはOSF/Motif、Informixののインタフェースを使用している場合、新しいカーネル・システムを生成する前に、の中で、これらを含むように設定せねばなりません。

新しいPrologシステムは、アプリケーションの一部として顧客にとって提供されます。

ランタイム環境

ランタイム環境は、アプリケーション開発者がPrologで書いたアプリケーションの部分です。 エンドユーザーは、述語save_runtime/1でセーブされたシステム状態の形で、アプリケーションを実行できる環境を受けとります。 Prologで書かれているIF/Prologの部分も、セーブされたシステム状態の形で提供されます。 IF/Prologのランタイムバージョンは、普通runtime.pstという名前です。

Prologアプリケーションのためのランタイム環境を作る場合には、すべてのPrologのプログラムとPrologのライセンス・キーを含むように作らねばなりません。

Prologアプリケーション生成方法

上でも述べたように、ランタイムライセンスアプリケーションは、エンドユーザーの持つマシンとバイナリ互換性を持つマシンの上で生成されます。 つまり、ソフトウェアデベロッパーは、エンドユーザーのOS・CPUタイプと同じOS、CPUタイプの上でのIF/Prologの開発システムを持ち、この上でIF/Prologのランタイムシステム及びアプリケーションを生成せねばなりません。

以下に、どのようにPrologアプリケーションを生成するかを示します。 アプリケーションapp.proの Prologに書かれた部分は、 モジュールappとして格納されるねばなりません。

:- module app.
:- begin_module app.

app:- write('I am a PROLOG application'), nl, halt.

:- end_module app.

新しく生成されたPrologカーネル・システムと提供されたランタイム・ライセンスキー($PROROOT/prolib/runtime.pstを含んだアプリケーションのPrologプログラムをロードしなければなりません。 そして、それをセーブシステム状態として、ファイルの中に格納しなければなりません。

以下のgen.proプログラムの中で、 ファイルapp.pstの中のinit指令は、述語program/0がモジュールuserの中のアプリケーションのエントリポイントであるシステムを生成しています。

:- init((save_runtime('app.pst'), halt)).

program:- app:app.

ここで、明示的にセーブシステム状態を生成するために新しいPrologカーネル・システムとPrologランタイムライセンスキーを持ったセーブシステム状態を 呼び出します。 すでに生成されたファイルを使い、新しいPrologカーネル・システムを{\sl app\_prolog}と名づけるならば、呼び出しは以下のようになります。

app_prolog -r $PROROOT/prolib/runtime.pst -c app.pro -c gen.pro

app.proとgen.proを使用して、 すべての必要な情報を含み、アプリケーションのエンドユーザーに提供することができるファイル、app.pstをセーブシステム状態として、 生成するすることができます。

エンドユーザーは、上述の例の場合、以下のようなシェルスクリプトで、 アプリケーションを呼び出すことになります:

$path/app_prolog -r $path/app.pst $*

$pathは、顧客のシステムの上でアプリケーションがインストレーションされているディレクトリです。


戻る 続く..