バージョン 4.2.5
 —  Natural システムアーキテクチャ  —

Natural ニュークリアス

Natural ニュークリアスは、Natural のカーネルを構成するプログラムです。 ニュークリアスは、すべてのメインフレームオペレーティングシステム(z/OS、z/VSE、BS2000/OSD など)およびすべての TP モニタ(Com-plete、CICS、openUTM など)で稼働します。

Natural ニュークリアスは、Natural ユーザー(開発者、管理者など)に、コマンドの解釈、オブジェクトのコンパイル、オブジェクトの実行などのすべての Natural 機能を提供します。 Natural ニュークリアスは、複数のユーザーが同時に使用する共有プログラムとしてインストールできます。

このセクションでは、Natural ニュークリアスの主なコンポーネントについて説明します。


Natural ランタイムシステム

Natural ランタイムシステムは、アプリケーション内で Natural オブジェクトを実行するのに必要な環境を提供する仮想マシンと考えることができます。 Natural ランタイムシステムは、Natural 内部オブジェクトコード(バイナリメタコード)を解釈して実行します。

これ以降のセクションでは、次の項目について説明します。

オブジェクトの実行

内部 Natural オブジェクトコードは、Natural オブジェクトに実行が要求されると実行されます。

オブジェクトの実行は、ユーザーによって直接要求されるか、または現在実行中のオブジェクトが、別のオブジェクトの実行を要求する Natural ステートメントを発行した場合に間接的に要求されます。 例えば、Natural システムコマンド EXECUTE は、このコマンドに指定されたユーザー作成プログラムを直接実行します。 また、Natural プログラムに指定された Natural CALLNAT ステートメントは、サブプログラムの実行を要求します。

Natural バッファプール』の「オブジェクトのロードと実行の例」では、Natural プログラムの実行時のプロセスフローを説明しています。

オブジェクトスタータとオブジェクトエグゼキュータ

次の図は、Natural ランタイムシステムによるオブジェクトの実行を示しています。

Natural ランタイムシステムは、オブジェクトスタータとオブジェクトエグゼキュータという 2 つの主要コンポーネントで構成されています。

オブジェクトスタータは、実行するオブジェクトを Natural バッファプールで探し、そのオブジェクトによって処理される変数データ用のストレージをユーザーセッションデータとして割り当てます。 最後に、制御をオブジェクトエグゼキュータに渡します。

オブジェクトエグゼキュータは、オブジェクトに含まれている Natural ステートメントを解釈し、順番に実行していきます。 例えば上の図では、オブジェクトエグゼキュータはまず READ ステートメントを処理して、データベースを呼び出し、要求されたレコードを取得します。それが終わると、MOVE ステートメントの処理に移ります。

関連トピック:

Top of page

Natural コンパイラ

Natural コンパイラは、Natural ソースコードの実行可能形式を生成します。 Natural ソースコードは人間が読み取れる形式のプログラミングコードで、Natural ステートメントのシーケンスで構成されています。 Natural ステートメントとプログラミングの詳細については、『ステートメント』ドキュメントと『プログラミングガイド』を参照してください。

Natural コンパイラは、ソースエリアからソースコードを読み取ります。 ソースエリア内のソースコードは、ユーザーセッションデータの一部です。 ソースコードをソースエリアに読み取るには、Natural システムコマンド READ または EDIT を使用します。 コンパイラは、ソースコードの構文をチェックし、問題がない場合は Natural ランタイムシステムが解釈および実行できる Natural 内部オブジェクトコードを生成します。

適切な Natural システムコマンドを使用することで、ソースコードをコンパイルして実行するかコンパイルして保存することができます。 以下のセクションでは、ストレージとして使用できるオブジェクトモジュールのタイプと、オブジェクトのコンパイルおよび実行に使用される Natural システムコマンドについて説明します。

カタログ化オブジェクト

カタログ化オブジェクトとは、Natural オブジェクトの実行形式(コンパイルされた形式)のことです。 カタログ化オブジェクトは、Natural コンパイラによって作成され、オブジェクトモジュールとして Natural システムファイルに格納されます。 ソースコードのコンパイルおよびカタログ化オブジェクトの作成を、オブジェクトのカタログ化と呼びます。 カタログ化オブジェクトは、Natural システムコマンド CATALOG または STOW を使用して作成されます。

実行時にカタログ化オブジェクトは Natural バッファプールにロードされ、Natural ランタイムシステムによって実行されます。 Natural オブジェクトは、カタログ化オブジェクトとして Natural システムファイルに格納されている場合にのみ、実行または相互参照が可能となります。

カタログ化オブジェクトを変更または逆コンパイルすることはできません。

ソースオブジェクト

ソースオブジェクト(保存オブジェクト)には、人間が理解できる形式の Natural ソースコードが含まれています。 ソースコードは、Natural システムコマンド SAVE または STOW を使用して、Natural システムファイルにソースオブジェクトとして保存されます。

ソースオブジェクトに含まれているソースコードを実行するには、ソースコードをコンパイルして、Natural ランタイムシステムが解釈および実行できる生成済みのオブジェクトコードを作成する必要があります。

コンパイルコマンド

Natural には、ソースコードをコンパイルするために異なるシステムコマンドが用意されています。 使用する Natural システムコマンドに応じて、コンパイルは次の任意のアクションと組み合わされます。

アクション システムコマンド
ソースコードをコンパイルします。 構文チェックを実行し、オブジェクトコードを生成します。 生成されたオブジェクトコードは、Natural システムファイルにオブジェクトモジュールとして格納されません。 CHECK
ソースコードをコンパイルします。 成功した場合は、カタログ化オブジェクトとして生成されたオブジェクトコードを Natural システムファイルに格納します。 CATALOG
ソースコードをコンパイルします。 成功した場合は、カタログ化オブジェクトとして生成されたオブジェクトコードを Natural システムファイルに格納します。 また、元のソースコードを別のソースオブジェクトとして Natural システムファイルに格納します。 STOW
プログラムタイプの Natural オブジェクトのソースコードをコンパイルします。 成功した場合は、生成されたオブジェクトコードを直ちに実行します。 生成されたオブジェクトコードは、Natural システムファイルにオブジェクトモジュールとして格納されません。 RUN

関連トピック:

コンパイルの例

次の図は、Natural システムコマンド CATALOG を使用してソースコードをコンパイルしたときのプロセスフローを示しています。

説明

ユーザーが、Natural システムコマンド CATALOG PGM01 を発行して、ソースエリアに現在保存されているソースコードをコンパイルすること、および生成されたオブジェクトコードを PGM01 という名前のカタログ化オブジェクトとして保存することを要求します。

Natural コマンドインタープリタが、コマンド CATALOG を解釈し、要求を Natural コンパイラに渡します。

Natural コンパイラが、ソースエリアに現在保存されている Natural ステートメントを読み取り、構文をチェックし、オブジェクトコードを生成します。

Natural コンパイラが、制御を Natural コマンドインタープリタに返します。

Natural コマンドインタープリタが、生成されたオブジェクトコードを PGM01 という名前のカタログ化オブジェクトとして現在の Natural システムファイルに保存します。

Top of page

Natural コマンドインタープリタ

Natural コマンドインタープリタは、ユーザーによって Natural コマンドプロンプトから入力されたコマンドをチェックして実行します。

Natural Security がインストールされている場合は、コマンドの実行を 1 人のユーザーまたは1 つのユーザーグループに制限できます。

関連トピック:

Top of page

設定

Natural パラメータは、Natural 環境のコンフィグレーションを管理します。

Natural パラメータを使用すると、開発/生成プロセスの標準化や自動化、または個々のユーザーのニーズに応じた標準設定の調整を行うことができます。 例えば、レポート作成時のデフォルト値の設定、レポートサイズの定義、またはエディタのソースエリアなど必要とされるストレージエリアサイズの定義を行う場合に、Natural パラメータを使用します。

Natural 環境の特質の大半はすでに Software AG によって定義されていますが、 Natural 管理者は、すべての Natural ユーザーに対して有効となる別のデフォルト環境設定を構成することができます。 また、個々のユーザーは、デフォルト環境設定にダイナミックプロファイルパラメータまたはセッションパラメータを上書きするという方法で、自身のニーズに応じた設定を適用することができます。

これ以降のセクションでは、次の項目について説明します。

プロファイルパラメータ

プロファイルパラメータは、スタティックまたはダイナミックに指定されます。

スタティックパラメータは、Natural のインストール中に Natural パラメータモジュール NATPARM で指定されます。 各 Natural セッションのデフォルトとして使用されます。

ダイナミックパラメータは、Natural の起動時に指定されます。 Natural SYSPARM ユーティリティを使用すると、ダイナミックパラメータセットを事前定義することができます。

関連トピック:

セッションパラメータ

セッションパラメータは、アクティブな Natural セッション内や Natural オブジェクト内で指定されます。 セッションパラメータの主な目的は、Natural プログラムの実行を制御することです。

関連トピック:

パラメータ化のレベル

Natural パラメータの設定レベルは階層構造になっています。 上のレベルで設定されたパラメータ値は、下のレベルで定義された値より優先されます。 例えば、パラメータをダイナミックに指定すると、Natural パラメータモジュール NATPARM で対応するパラメータに対して設定されたスタティックな指定より、新しいパラメータ値が優先されます。

下の図は、Natural パラメータの設定可能なタイミングとその階層構造を(底辺が最下レベル、頂点が最上レベルのピラミッド方式で)示したものです。

関連トピック:

Top of page