JPH02114335A - マルチ・プロセツシング方式 - Google Patents
マルチ・プロセツシング方式Info
- Publication number
- JPH02114335A JPH02114335A JP1229475A JP22947589A JPH02114335A JP H02114335 A JPH02114335 A JP H02114335A JP 1229475 A JP1229475 A JP 1229475A JP 22947589 A JP22947589 A JP 22947589A JP H02114335 A JPH02114335 A JP H02114335A
- Authority
- JP
- Japan
- Prior art keywords
- workspace
- packaging
- name
- active
- data storage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004806 packaging method and process Methods 0.000 claims abstract description 107
- 238000000034 method Methods 0.000 claims abstract description 43
- 230000008569 process Effects 0.000 claims abstract description 26
- 238000013500 data storage Methods 0.000 claims description 59
- 238000012545 processing Methods 0.000 claims description 30
- 230000002452 interceptive effect Effects 0.000 claims description 9
- 238000003672 processing method Methods 0.000 claims 1
- 230000003247 decreasing effect Effects 0.000 abstract 1
- 230000006870 function Effects 0.000 description 14
- 229910008814 WSi2 Inorganic materials 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 230000004913 activation Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 101150014847 APL2 gene Proteins 0.000 description 1
- 101100175606 Oryza sativa subsp. japonica AGPL2 gene Proteins 0.000 description 1
- 241000220317 Rosa Species 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000001747 exhibiting effect Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
A、産業上の利用分野
本発明は、対話型の処理系の複数の活動状態のユーザー
の間で各作業空間へ共有アクセスを行う事のある対話型
の処理系の多様な作業空間のパッケージングに関する。
の間で各作業空間へ共有アクセスを行う事のある対話型
の処理系の多様な作業空間のパッケージングに関する。
B、従来技術
広く使われている対話型の言語処理系にAPLがある。
APL処理系は、典型的には、ホスト処理装置に接続さ
れたキーボード入力及びラスタ・デイスプレィ出力装置
を有すデータ処理システムにおいて実行される。APL
は、直接データを処理するのみならず、ソフトウェアを
動的に構成し、変更し、実行する機構を含んでいる。こ
の処理能力は、その一般的なデータ構造体、配列及びそ
の構造体に対して強力な演算子を定義できる可能性から
生じている。APL及び公知のAPLプログラム製品に
ついて幾つかの解説が有る。例えば、Gilman a
nd Rose著。
れたキーボード入力及びラスタ・デイスプレィ出力装置
を有すデータ処理システムにおいて実行される。APL
は、直接データを処理するのみならず、ソフトウェアを
動的に構成し、変更し、実行する機構を含んでいる。こ
の処理能力は、その一般的なデータ構造体、配列及びそ
の構造体に対して強力な演算子を定義できる可能性から
生じている。APL及び公知のAPLプログラム製品に
ついて幾つかの解説が有る。例えば、Gilman a
nd Rose著。
APL: An Interactive Appro
ach”、第3版、John Viley Publi
shing Co、、 1984年発行;Po1ivk
a and Pakin著、 ”APL: The L
anguage and Its Usage * P
rentice Hall Publishing C
o11975年発行; Rodney Zaks著、
”A Microprogrammed APL Im
plenentation 、 5ybex、 Inc
、、 1978年発行 ;Brown、 Pakin
and Po1ivka、 ”APL2 atglan
ce″、 Prentice Hall、 1988年
発行;及びIBH社発行の刊行物”APL2 Prog
ramming: LanguageReferenc
e″、 5H20−9227を参照されたい。
ach”、第3版、John Viley Publi
shing Co、、 1984年発行;Po1ivk
a and Pakin著、 ”APL: The L
anguage and Its Usage * P
rentice Hall Publishing C
o11975年発行; Rodney Zaks著、
”A Microprogrammed APL Im
plenentation 、 5ybex、 Inc
、、 1978年発行 ;Brown、 Pakin
and Po1ivka、 ”APL2 atglan
ce″、 Prentice Hall、 1988年
発行;及びIBH社発行の刊行物”APL2 Prog
ramming: LanguageReferenc
e″、 5H20−9227を参照されたい。
APLの対話型の環境はソフトウェア及びソフトウェア
が操作するデータの定義を支援する、。
が操作するデータの定義を支援する、。
ソフトウェア及びデータのためのAPL構築物は、アク
セス可能な「作業空間」の中に一緒にまとめられる。上
記ソフトウェア及びデータの処理のために使用する時、
作業空間はホスト処理装置の内部データ記憶装置(主記
憶)中に保持される。APLセツションとAPLセツシ
ョンとの間に記憶するために、そのような作業空間(以
下WSとも言う)は、ホスト処理装置の内部データ記憶
装置から外部データ記憶装置にコピー又は保存される。
セス可能な「作業空間」の中に一緒にまとめられる。上
記ソフトウェア及びデータの処理のために使用する時、
作業空間はホスト処理装置の内部データ記憶装置(主記
憶)中に保持される。APLセツションとAPLセツシ
ョンとの間に記憶するために、そのような作業空間(以
下WSとも言う)は、ホスト処理装置の内部データ記憶
装置から外部データ記憶装置にコピー又は保存される。
各WSは、名前付のAPLオブジェクト(変数、定義済
みの関数、定義済みの演算子)、WS内の名前付きオブ
ジェクトにアクセスする事を可能にする名前又は記号表
(各WSはそれ自居の名前表と内部アドレス可能性構成
物を有する)、現在の実行状態を示す実行スタック(現
行及び付属)、及びAPLアプリケーションの実行時に
APLインタプリタにより使用される制御ブロックや一
時的結果等の他の種々のオブジェクトを含むAPLデー
タ構造の集まりである。後人かのAPLユーザーが同時
に一つのシステム上で活動状態になる事ができ各ユーザ
ーは他のユーザーからは独立である。各APLユーザー
は、活動状態のWSと呼ばれる一つのWSを有し、それ
はホスト処理装置の内部データ記憶装置中に存在する。
みの関数、定義済みの演算子)、WS内の名前付きオブ
ジェクトにアクセスする事を可能にする名前又は記号表
(各WSはそれ自居の名前表と内部アドレス可能性構成
物を有する)、現在の実行状態を示す実行スタック(現
行及び付属)、及びAPLアプリケーションの実行時に
APLインタプリタにより使用される制御ブロックや一
時的結果等の他の種々のオブジェクトを含むAPLデー
タ構造の集まりである。後人かのAPLユーザーが同時
に一つのシステム上で活動状態になる事ができ各ユーザ
ーは他のユーザーからは独立である。各APLユーザー
は、活動状態のWSと呼ばれる一つのWSを有し、それ
はホスト処理装置の内部データ記憶装置中に存在する。
外部データ記憶装置中に存在する、現在活動状態にない
全てのWSは、保管されたWSと呼ばれる。保管された
WSのオブジェクトにアクセスするためには、保管され
たWSを最初にホスト処理装置の内部データ記憶装置に
ロードし現在の活動状態のWSと置き換えるか、又は所
望の名前のオブジェクトを保管されたWSから現在活動
状態のWSにコピーすることがおこなわれる。WSがロ
ードされる時、それは活動状態のWSになり、処理装置
の内部記憶装置中の以前活動状態にあったWSに置き変
わる。ホスト処理装置の内部データ記憶装置をより効率
的に使用し且つWS及びそれらの内容を管理するのに必
要なユーザーの相互作用の数を減少させながら、APL
のWSの操作上の柔軟性を増加させる事が望ましい。
全てのWSは、保管されたWSと呼ばれる。保管された
WSのオブジェクトにアクセスするためには、保管され
たWSを最初にホスト処理装置の内部データ記憶装置に
ロードし現在の活動状態のWSと置き換えるか、又は所
望の名前のオブジェクトを保管されたWSから現在活動
状態のWSにコピーすることがおこなわれる。WSがロ
ードされる時、それは活動状態のWSになり、処理装置
の内部記憶装置中の以前活動状態にあったWSに置き変
わる。ホスト処理装置の内部データ記憶装置をより効率
的に使用し且つWS及びそれらの内容を管理するのに必
要なユーザーの相互作用の数を減少させながら、APL
のWSの操作上の柔軟性を増加させる事が望ましい。
APLの使用法のサイズ及び複雑度は、WS中の名前付
きオブジェクトの管理が問題となる程度にまで、増加し
てきている。問題の一例は、全て名前が付けられた数千
個のAPL関数及び変数に係わっている。WS中におい
て、各関数及び変数の名前は、任意の与えられた時点に
おいて、−意に保たれなければならない。WSを動的に
変更する事は、不注意によるオブジェクトの名前付けの
誤りが生じうるので、困難である。名付けの問題は、A
PLアプリケーションを複数のリンクされたWSにセグ
メント化し、各WSがアプリケーションの特定の動作に
関係するようにする事によフて解決できるが、多くのA
PLアプリケーションは動的なので、アプリケーシコン
の分解の予測可能なパターンは存在しない。もし非常に
多数の比較的小さなWSが使用されると、WSをロード
しそしてそれを外部データ記憶装置に保管するための時
間が計算的に不効率になり且つ時間がかかるようになる
。アプリケーション・プログラムで使用されるオブジェ
クトの名前の管理のための単純ではあるが効率的な管理
手続き及び装置を提供する事が望ましい。
きオブジェクトの管理が問題となる程度にまで、増加し
てきている。問題の一例は、全て名前が付けられた数千
個のAPL関数及び変数に係わっている。WS中におい
て、各関数及び変数の名前は、任意の与えられた時点に
おいて、−意に保たれなければならない。WSを動的に
変更する事は、不注意によるオブジェクトの名前付けの
誤りが生じうるので、困難である。名付けの問題は、A
PLアプリケーションを複数のリンクされたWSにセグ
メント化し、各WSがアプリケーションの特定の動作に
関係するようにする事によフて解決できるが、多くのA
PLアプリケーションは動的なので、アプリケーシコン
の分解の予測可能なパターンは存在しない。もし非常に
多数の比較的小さなWSが使用されると、WSをロード
しそしてそれを外部データ記憶装置に保管するための時
間が計算的に不効率になり且つ時間がかかるようになる
。アプリケーション・プログラムで使用されるオブジェ
クトの名前の管理のための単純ではあるが効率的な管理
手続き及び装置を提供する事が望ましい。
APLにおいて、各ユーザーのプログラマは活動状態の
WS中にアプリケーション・コードのそれ自身のコピー
を有している。同時に作業をしているユーザーの数が増
加するとともに、余分のホスト処理装置の内部データ記
憶装置(主記憶)の必要性も増大する。内部データ記憶
装置の使用量のこの増大は、記憶装置の競合及び内部記
憶装置と外部記憶装置との間のWSの過剰なベージング
によるホスト処理装置の「スラッシング」によるホスト
処理装置の性能低下を生じうる。オブジェクト名の管理
の改善と組合せて、ホスト処理装置の内部データ記憶装
置の利用度を改善する事が望ましい。
WS中にアプリケーション・コードのそれ自身のコピー
を有している。同時に作業をしているユーザーの数が増
加するとともに、余分のホスト処理装置の内部データ記
憶装置(主記憶)の必要性も増大する。内部データ記憶
装置の使用量のこの増大は、記憶装置の競合及び内部記
憶装置と外部記憶装置との間のWSの過剰なベージング
によるホスト処理装置の「スラッシング」によるホスト
処理装置の性能低下を生じうる。オブジェクト名の管理
の改善と組合せて、ホスト処理装置の内部データ記憶装
置の利用度を改善する事が望ましい。
米国特許筒4,736.321号は、対話式の環境内で
外部のプロセスにアクセスし且つそれを活動化する方法
を示している。この技術思想は、全ての作業空間がホス
ト処理装置の内部データ記憶装置中に存在する時に、即
ち活動状態の作業空間が外部データ記憶装置に保管され
ていない時に複数の協同作業を行う作業空間の制御及び
動作を効率化するための管理及び制御を示していない。
外部のプロセスにアクセスし且つそれを活動化する方法
を示している。この技術思想は、全ての作業空間がホス
ト処理装置の内部データ記憶装置中に存在する時に、即
ち活動状態の作業空間が外部データ記憶装置に保管され
ていない時に複数の協同作業を行う作業空間の制御及び
動作を効率化するための管理及び制御を示していない。
米国特許筒4,410,940号は、多重処理環境中で
実行可能な階層的に関係付けられた協同的に作業を行う
順次的なプロセスの間で制御を移す方法を示している。
実行可能な階層的に関係付けられた協同的に作業を行う
順次的なプロセスの間で制御を移す方法を示している。
ポインタが、活動状態及び停止中のプロセスを識別する
。活性化レコードが生成され記憶され、次に1つのプロ
セスの停止と、他のプロセスの最も最近に実行していた
部分においてプログラムの実行を再開することによる他
のプロセスの活性化とを記録するためにプロセス・ポイ
ンタが更新される。
。活性化レコードが生成され記憶され、次に1つのプロ
セスの停止と、他のプロセスの最も最近に実行していた
部分においてプログラムの実行を再開することによる他
のプロセスの活性化とを記録するためにプロセス・ポイ
ンタが更新される。
各プロセスは、内部データ配信装置中に1つの活性化レ
コードを有している。このレコードは、プロセスの親で
ある活性化、及びプロセスの最も最近に実行していた部
分を指し示し、そしてプロセスの現在の実行状態を定義
する。データ構造を共有しながら独立性を示す、並行に
実行するプロセスに関する示唆は行なわれていない。
コードを有している。このレコードは、プロセスの親で
ある活性化、及びプロセスの最も最近に実行していた部
分を指し示し、そしてプロセスの現在の実行状態を定義
する。データ構造を共有しながら独立性を示す、並行に
実行するプロセスに関する示唆は行なわれていない。
米国特許筒4.553.202号は、マルチタスキング
環境においてリアルタイムの資源の再割当てをユーザー
が行う方法を開示している。
環境においてリアルタイムの資源の再割当てをユーザー
が行う方法を開示している。
オペレーティング・システムはそのような資源に対する
キューを形成し、そこで新しいタスクが割りこみ起動さ
れる。次にディスパッチャが資源キュー中の資源を新し
いタスクに割当てる。
キューを形成し、そこで新しいタスクが割りこみ起動さ
れる。次にディスパッチャが資源キュー中の資源を新し
いタスクに割当てる。
キューのスイッチングはディスパッチャによるプロセス
のスケジューリングとは直交している。
のスケジューリングとは直交している。
C1発明が解決しようとする課題
本発明の目的は、ホスト処理装置のメモリ要求及び外部
アクセス要求を減少させながらインタプリタ方式の計算
においてより大きな柔軟性を提供する事である。
アクセス要求を減少させながらインタプリタ方式の計算
においてより大きな柔軟性を提供する事である。
本発明の他の目的は、対話方式のデータ処理環境におい
てユーティリティ及び他の共有機能の中央での保守を容
易にし、アプリケーションに対するエントリ・ポイント
に対して制限を加える事を可能にする事である。
てユーティリティ及び他の共有機能の中央での保守を容
易にし、アプリケーションに対するエントリ・ポイント
に対して制限を加える事を可能にする事である。
06課題を解決するための手段
本発明によれば、作業空間(WS)が「パッケージ化」
又は「カプセル化」され、複数の独立なユーザーの活動
状態のWSと共にホスト処理装置の内部データ記憶装置
中に存在する事を許される。各パッケージ化されたWS
は、読み取り専用である事が望ましい。種々のWS (
活動状態、保管、パッケージ化)の名前衣は、内部者及
び外部名を含む。APLインタプリタは、活動状態又は
パッケージ化したWSのいずれかに関する名前表中の外
部名を読み取って、名前表中で出会った名前に一致する
外部名により識別されるエントリ・ポイントを有するパ
ッケージ化したWSにアクセスする。次に、活動状態の
WSに参照が戻るまで、プログラムの実行は、新しくア
クセスされたパッケージ化されたWS中を進行する。パ
ッケージ化WSが活動状態のWSから最初にアクセスさ
れた時、パッケージ化WSの名前表のプライベート・コ
ピーが活動状態のWSにコピーされ、その中に保持され
る。
又は「カプセル化」され、複数の独立なユーザーの活動
状態のWSと共にホスト処理装置の内部データ記憶装置
中に存在する事を許される。各パッケージ化されたWS
は、読み取り専用である事が望ましい。種々のWS (
活動状態、保管、パッケージ化)の名前衣は、内部者及
び外部名を含む。APLインタプリタは、活動状態又は
パッケージ化したWSのいずれかに関する名前表中の外
部名を読み取って、名前表中で出会った名前に一致する
外部名により識別されるエントリ・ポイントを有するパ
ッケージ化したWSにアクセスする。次に、活動状態の
WSに参照が戻るまで、プログラムの実行は、新しくア
クセスされたパッケージ化されたWS中を進行する。パ
ッケージ化WSが活動状態のWSから最初にアクセスさ
れた時、パッケージ化WSの名前表のプライベート・コ
ピーが活動状態のWSにコピーされ、その中に保持され
る。
活動状態のWS中のプライベート・コピーは、活動状態
のWSの代りにパッケージ化WS中で行なわれる計算の
全てに関して使用される。活動状態のWSによりアクセ
スされ使用される時パッケージ化WSに関する名前及び
ステータス情報も、活動状態のWS中に保持される。パ
ッケージ化WS中の全ての処理は、そのようなパッケー
ジ化WSの名前表の活動状態WS中の各コピーのアクセ
スしている活動状態のWSのコピーから制御される。活
動状態のWSは、外部データ記憶装置に保管される時、
以前にアクセスされたパッケージ化WSからの名前表及
び修正されたオブジェクトのプライベート・コピー、並
びにそれらのパッケージ化WSに関する名前及びステー
タス情報を含む事ができる。この情報は、活動状態のW
Sが保管される時、外部データ記憶装置上に活動状態の
WSとともに保存される。この情報は、外部データ記憶
装置から、保管されたWSが検索又はコピーされる時に
保持される。
のWSの代りにパッケージ化WS中で行なわれる計算の
全てに関して使用される。活動状態のWSによりアクセ
スされ使用される時パッケージ化WSに関する名前及び
ステータス情報も、活動状態のWS中に保持される。パ
ッケージ化WS中の全ての処理は、そのようなパッケー
ジ化WSの名前表の活動状態WS中の各コピーのアクセ
スしている活動状態のWSのコピーから制御される。活
動状態のWSは、外部データ記憶装置に保管される時、
以前にアクセスされたパッケージ化WSからの名前表及
び修正されたオブジェクトのプライベート・コピー、並
びにそれらのパッケージ化WSに関する名前及びステー
タス情報を含む事ができる。この情報は、活動状態のW
Sが保管される時、外部データ記憶装置上に活動状態の
WSとともに保存される。この情報は、外部データ記憶
装置から、保管されたWSが検索又はコピーされる時に
保持される。
パッケージ化WSは、複数の活動状態のWSにより(直
接又は他のパッケージ化WSを経由して)同時に効果的
にアクセスされる。各々のアクセスされたパッケージ化
WSからの項目のプライベート・デコピーは、アクセス
の原因になった活動状態のWS中で修正され、保持され
る。
接又は他のパッケージ化WSを経由して)同時に効果的
にアクセスされる。各々のアクセスされたパッケージ化
WSからの項目のプライベート・デコピーは、アクセス
の原因になった活動状態のWS中で修正され、保持され
る。
そのようなパッケージ化WSのアクセスは、任意の程度
に士で連結できる。その唯一の限界はメモリの記憶容量
である。パッケージ化WSのライブラリは、プログラム
実行に先立ってロードしても、又必要に応じてロードし
てもよい。
に士で連結できる。その唯一の限界はメモリの記憶容量
である。パッケージ化WSのライブラリは、プログラム
実行に先立ってロードしても、又必要に応じてロードし
てもよい。
E、実施例
図面をより具体的に参照すると、種々の図面で、同様の
番号は同様の部分又は構造的特徴を示している。第1図
の破線10の上の部分は、ホスト処理装置の内部データ
記憶装置(主記憶、ホスト処理装置及びその内部データ
記憶装置は破線1oよりも上の図面空間により表現され
ているm−ホスト処理装置及びその内部データ記憶装置
は周知であり、その説明は省略する。)中に記憶された
データ構造である。破線1oより下の第1図の部分は、
周知のように、保管されたWS、プログラム等を記憶す
る周辺機器又は外部データ記憶装置(磁気ディスク及び
テープ等)を表す。APLアプリケーションが実行され
る前に、APLインタプリタの記憶されたコピー12A
がインタプリタ12として内部データ記憶装置中にロー
ドされる。通常のAPLプログラム55はAPLインタ
プリタにより解釈され実行される。また、通常のキーボ
ード入力及びラスタ・デイスプレィ(スクリーン、プリ
ンタ、及びプロッタ)は省略されている。この図面は、
活動状態のWS14中に1組のユーザー・プログラム5
5を有する単一APLユーザーを想定している。そのよ
うな活動状態のWSは、外部データ記憶装置中の保管さ
れたWS16の集合から事前に内部データ記憶装置にロ
ードされたものである。ここまでの説明は、内部データ
記憶装置中のAPLインタプリタ12が、各々活動状態
のWS(図示せず)を有している複数の独立なユーザー
にサービスする典型的なAPL実行状況に関するもので
ある。APLインタプリタはIBM社により販売されて
いるAPL2プログラム製品でもよい。
番号は同様の部分又は構造的特徴を示している。第1図
の破線10の上の部分は、ホスト処理装置の内部データ
記憶装置(主記憶、ホスト処理装置及びその内部データ
記憶装置は破線1oよりも上の図面空間により表現され
ているm−ホスト処理装置及びその内部データ記憶装置
は周知であり、その説明は省略する。)中に記憶された
データ構造である。破線1oより下の第1図の部分は、
周知のように、保管されたWS、プログラム等を記憶す
る周辺機器又は外部データ記憶装置(磁気ディスク及び
テープ等)を表す。APLアプリケーションが実行され
る前に、APLインタプリタの記憶されたコピー12A
がインタプリタ12として内部データ記憶装置中にロー
ドされる。通常のAPLプログラム55はAPLインタ
プリタにより解釈され実行される。また、通常のキーボ
ード入力及びラスタ・デイスプレィ(スクリーン、プリ
ンタ、及びプロッタ)は省略されている。この図面は、
活動状態のWS14中に1組のユーザー・プログラム5
5を有する単一APLユーザーを想定している。そのよ
うな活動状態のWSは、外部データ記憶装置中の保管さ
れたWS16の集合から事前に内部データ記憶装置にロ
ードされたものである。ここまでの説明は、内部データ
記憶装置中のAPLインタプリタ12が、各々活動状態
のWS(図示せず)を有している複数の独立なユーザー
にサービスする典型的なAPL実行状況に関するもので
ある。APLインタプリタはIBM社により販売されて
いるAPL2プログラム製品でもよい。
本発明によれば、いくつかのWSは、パッケージ化され
、パッケージ化WSを構成する読み取り専用のロード・
モジュールに変換されているが、パッケージ化WSは必
ずしも読み取り専用のロード・モジュールである必要は
ない。そのようなパッケージ化WSは、単一のユーザー
により(単一の活動状態のWSを介して)又は複数のユ
ーザーの間で共有するために使用可能である。組16の
任意の保管されたWSは、矢印17に示すように、保管
されたWSを最初にいわゆるオブジェクト・モジュール
形式に変換する事により、パッケージ化WSに変換する
事ができる。そのようなオブジェクト・モジュール形式
はC0BOL、FORTRAN、PL/I等のような公
知のコンパイラからの出力として使われるのと同じ形式
である。オブジェクト・モジュール形式の形のWSは、
次にロード・モジュールの形に連係編集される。連係編
集は、公知のシステムのリンク・エディタによる典型的
な連係編集動作である。連係編集されたWS(ロード・
モジュール)は、外部データ記憶装置のライブラリ18
の中に記憶されたパッケージ化WSである。言い換える
と、パッケージ化WSは、APLの°’)LOAD”コ
マンド以外の他の手段により内部データ記憶装置中にロ
ードするためにロード・モジュールの形に再フォ−マツ
ト化された、保管されたWSである。パッケージ化WS
は、必要に応じて、外部データ記憶装置から処理装置に
ロード・モジュールをコピーするための通常のホスト処
理装置の機構を用いて、APLインタプリタ12により
外部データ記憶装置から内部データ記憶装置にコピーさ
れる。APLのステートメント20(第2図)はパッケ
ージ化WSを検索するために使用できる。APLのユー
ザー・プログラム55中に埋めこむ事のできるステート
メント20は、ライブラリ18 (LIBRARY)、
ライブラリ中の特定のパッケージ化WS (XYZ)
、及びパッケージ化WS中のアクセスすべきオブジェク
ト(LMN)の名前を識別する。ステートメント20の
残りは、公知のAPLの式と矛盾のない構文とセマンテ
ィックスを含む。
、パッケージ化WSを構成する読み取り専用のロード・
モジュールに変換されているが、パッケージ化WSは必
ずしも読み取り専用のロード・モジュールである必要は
ない。そのようなパッケージ化WSは、単一のユーザー
により(単一の活動状態のWSを介して)又は複数のユ
ーザーの間で共有するために使用可能である。組16の
任意の保管されたWSは、矢印17に示すように、保管
されたWSを最初にいわゆるオブジェクト・モジュール
形式に変換する事により、パッケージ化WSに変換する
事ができる。そのようなオブジェクト・モジュール形式
はC0BOL、FORTRAN、PL/I等のような公
知のコンパイラからの出力として使われるのと同じ形式
である。オブジェクト・モジュール形式の形のWSは、
次にロード・モジュールの形に連係編集される。連係編
集は、公知のシステムのリンク・エディタによる典型的
な連係編集動作である。連係編集されたWS(ロード・
モジュール)は、外部データ記憶装置のライブラリ18
の中に記憶されたパッケージ化WSである。言い換える
と、パッケージ化WSは、APLの°’)LOAD”コ
マンド以外の他の手段により内部データ記憶装置中にロ
ードするためにロード・モジュールの形に再フォ−マツ
ト化された、保管されたWSである。パッケージ化WS
は、必要に応じて、外部データ記憶装置から処理装置に
ロード・モジュールをコピーするための通常のホスト処
理装置の機構を用いて、APLインタプリタ12により
外部データ記憶装置から内部データ記憶装置にコピーさ
れる。APLのステートメント20(第2図)はパッケ
ージ化WSを検索するために使用できる。APLのユー
ザー・プログラム55中に埋めこむ事のできるステート
メント20は、ライブラリ18 (LIBRARY)、
ライブラリ中の特定のパッケージ化WS (XYZ)
、及びパッケージ化WS中のアクセスすべきオブジェク
ト(LMN)の名前を識別する。ステートメント20の
残りは、公知のAPLの式と矛盾のない構文とセマンテ
ィックスを含む。
パッケージ化WSを作成するための3つの上述の、計算
機により実行されるステップのうち2つを、次に、IB
M VM/CMS及びIBM MVS/TS○オペ
レーティング・システム環境に関して詳細に説明する。
機により実行されるステップのうち2つを、次に、IB
M VM/CMS及びIBM MVS/TS○オペ
レーティング・システム環境に関して詳細に説明する。
両方のオペレーティング・システム環境はIBM社によ
り販売されている。この説明は、パッケージ化すべきW
Sがすでに形成され、好ましくはオリジナルのWSの重
複したコピーとして外部データ記憶装置中に現在保管さ
れている事を仮定している。
り販売されている。この説明は、パッケージ化すべきW
Sがすでに形成され、好ましくはオリジナルのWSの重
複したコピーとして外部データ記憶装置中に現在保管さ
れている事を仮定している。
VM/CMS環境中ではAPLプロセス21(第2図)
がオブジェクト又はテキスト・モジュールを形成し、一
方MVS/TSO環境中ではAPLプロセス22.23
がオブジェクト・モジュールを形成する。プロセス21
及び23中の外部関数’PACKAGEJは、コマンド
rPAcKAGE」の右側の引数として識別されるパッ
ケージ化すべき保管されたWSを有しており、オブジェ
クト又はテキスト・ファイルは、オペレーティング・シ
ステムの各々のファイル名付は規約を用いて外部コマン
ドのもとに直接識別される。パッケージ関数は、保管さ
れたWSを、どのような形でもその内容を変更する事な
くオブジェクト又はテキスト・モジュールの形式に変換
する。TSOプロセス22はパッケージ関数が実行され
る前にMVSオペレーティング・システム環境中に空間
を割当てる。
がオブジェクト又はテキスト・モジュールを形成し、一
方MVS/TSO環境中ではAPLプロセス22.23
がオブジェクト・モジュールを形成する。プロセス21
及び23中の外部関数’PACKAGEJは、コマンド
rPAcKAGE」の右側の引数として識別されるパッ
ケージ化すべき保管されたWSを有しており、オブジェ
クト又はテキスト・ファイルは、オペレーティング・シ
ステムの各々のファイル名付は規約を用いて外部コマン
ドのもとに直接識別される。パッケージ関数は、保管さ
れたWSを、どのような形でもその内容を変更する事な
くオブジェクト又はテキスト・モジュールの形式に変換
する。TSOプロセス22はパッケージ関数が実行され
る前にMVSオペレーティング・システム環境中に空間
を割当てる。
2いずれかの環境中にオブジェクト・モジュールが形成
されると、ライブラリ18中に記憶すべきロード・モジ
ュールが形成される。VM/CMS環境においては、C
MSコマンド24が、プロセス21で特定されたWSに
関するロード・モジュールを形成する。そのような0M
SコマンドはAPL内から°’)HOST”コマンド又
はAPlooのいずれかにより起動できる。最初の0M
Sコマンドは、ロード・モジュール(パッケージ化WS
)が外部的に記憶されるべきロード・ライブラリ18を
指定する。第2の0MSコマンドは、プロセス21によ
り形成されたテキスト又はオブジェクト・モジュールを
、指定されたロード・ライブラリに記憶されるべきロー
ド・モジュール形式に変換する。そのような0MSコマ
ンドは公知である。MVS/TSo環境において、TS
Oコマンドはパッケージ化WSよりなるロード・モジュ
ールね形成する。TSOの°’ALLOCATE”コマ
ンド25は、ライブラリ18のようなロード・ライブラ
リを形成する。ライブラリ空間が割当てられると、パッ
ケージ化されたWSよりなるロード・モジュールを形成
するTSOの“’LINK”コマンド26が実行される
。ロード・モジュールが形成されると、パッケージ化W
Sのオブジェクト・モジュール版は削除される事が望ま
しい。
されると、ライブラリ18中に記憶すべきロード・モジ
ュールが形成される。VM/CMS環境においては、C
MSコマンド24が、プロセス21で特定されたWSに
関するロード・モジュールを形成する。そのような0M
SコマンドはAPL内から°’)HOST”コマンド又
はAPlooのいずれかにより起動できる。最初の0M
Sコマンドは、ロード・モジュール(パッケージ化WS
)が外部的に記憶されるべきロード・ライブラリ18を
指定する。第2の0MSコマンドは、プロセス21によ
り形成されたテキスト又はオブジェクト・モジュールを
、指定されたロード・ライブラリに記憶されるべきロー
ド・モジュール形式に変換する。そのような0MSコマ
ンドは公知である。MVS/TSo環境において、TS
Oコマンドはパッケージ化WSよりなるロード・モジュ
ールね形成する。TSOの°’ALLOCATE”コマ
ンド25は、ライブラリ18のようなロード・ライブラ
リを形成する。ライブラリ空間が割当てられると、パッ
ケージ化されたWSよりなるロード・モジュールを形成
するTSOの“’LINK”コマンド26が実行される
。ロード・モジュールが形成されると、パッケージ化W
Sのオブジェクト・モジュール版は削除される事が望ま
しい。
一方、オリジナルの保管されたWSは、パッケージ化W
Sで行なわれる変更又は訂正を実施するために保持する
事が望ましい。
Sで行なわれる変更又は訂正を実施するために保持する
事が望ましい。
APLのパッケージ化WS内の指定されたオブジェクト
にアクセスする事を次に説明する。
にアクセスする事を次に説明する。
各パッケージ化WSを含む、各WSは、名前衣又は記号
表30(第2図)を有している。活動状態のWS14に
おいて、公知の方法により構成され表30として図式的
に示されている名前衣31は、名前衣のエントリに、W
S内の指定されたオブジェクトを指示する複数のアドレ
ス・ポインタを有している。この構成は、種々のAPL
ユーザー及びその各々のWS0間で内部的オブジェクト
を指定する時に完全な独立性を可能にする。そのような
内部的に指示する名前はここでは「内部」名と呼ぶ。活
動状態のWS内の表30の内容及び構成は、APLプロ
グラムの実行が進むとともに変化する。活動状態のWS
内の各々の指定されたオブジェクト毎に、名前衣30内
に指定されたオブジェクトのエントリが存在する。その
指定されたオブジェクトのエントリ35は、オブジェク
トの名前36、又は名前へのポインタ、指定されたオブ
ジェクトが識別されているか否か(第2図のR37によ
り示されている)、指定されたオブジェクトへのアクセ
スを可能にするポインタ(第2図のADDR38) 、
及び指定されたオブジェクトの分類フィールドCLAS
S39 (関数、変数、システム関数、等のAPLオブ
ジェクトのクラスの組の1つ)を含んでいる。
表30(第2図)を有している。活動状態のWS14に
おいて、公知の方法により構成され表30として図式的
に示されている名前衣31は、名前衣のエントリに、W
S内の指定されたオブジェクトを指示する複数のアドレ
ス・ポインタを有している。この構成は、種々のAPL
ユーザー及びその各々のWS0間で内部的オブジェクト
を指定する時に完全な独立性を可能にする。そのような
内部的に指示する名前はここでは「内部」名と呼ぶ。活
動状態のWS内の表30の内容及び構成は、APLプロ
グラムの実行が進むとともに変化する。活動状態のWS
内の各々の指定されたオブジェクト毎に、名前衣30内
に指定されたオブジェクトのエントリが存在する。その
指定されたオブジェクトのエントリ35は、オブジェク
トの名前36、又は名前へのポインタ、指定されたオブ
ジェクトが識別されているか否か(第2図のR37によ
り示されている)、指定されたオブジェクトへのアクセ
スを可能にするポインタ(第2図のADDR38) 、
及び指定されたオブジェクトの分類フィールドCLAS
S39 (関数、変数、システム関数、等のAPLオブ
ジェクトのクラスの組の1つ)を含んでいる。
本発明は、活動状態のWSに対して外部にあるオブジェ
クトに関するAPL外部名の使用を、現在内部データ記
憶装置中に存在するか又は外部データ記憶装置中にしか
記憶されていないパッケージ化WSを含むように拡張し
ている。そのような外部名は、CLASSフィールド3
9において内部名から区別される。CLASSフィール
ド39はオブジェクトの型を示すのに加えて、オブジェ
クト名が内部的か又は外部的かを示す。
クトに関するAPL外部名の使用を、現在内部データ記
憶装置中に存在するか又は外部データ記憶装置中にしか
記憶されていないパッケージ化WSを含むように拡張し
ている。そのような外部名は、CLASSフィールド3
9において内部名から区別される。CLASSフィール
ド39はオブジェクトの型を示すのに加えて、オブジェ
クト名が内部的か又は外部的かを示す。
外部オブジェクトはWSに対して外部的な名前付きオブ
ジェクトを示す。外部オブジェクトは、米国特許筒4,
736.321号に説明されているように非APLプロ
グラムを参照しても、又パッケージ化WS中のAPLオ
ブジェクトを参照してもよい。
ジェクトを示す。外部オブジェクトは、米国特許筒4,
736.321号に説明されているように非APLプロ
グラムを参照しても、又パッケージ化WS中のAPLオ
ブジェクトを参照してもよい。
第3図は実施例において外部オブジェクトにアクセスす
るために使われる制御データ構造を示す。2つの異なっ
た外部アクセスの1つの例だけが示されている。名前衣
30(第2図)は、CLASSフィールド39で、関数
、変数、内部又は外部オブジェクト等に関する名前を含
む、名前の型を識別する。名前衣30の名前衣エントリ
69において、矢印70で示すように、WS14内のオ
ブジェクトを指し示す内部オブジェクト名が見出される
。パッケージ化WSの名前衣のプライベート・コピーの
場合、内部名は対応するパッケージ化WS内のオブジェ
クトを指し示す。名前衣エントリ71は従来技術で知ら
れているように外部オブジェクトを指し示す。
るために使われる制御データ構造を示す。2つの異なっ
た外部アクセスの1つの例だけが示されている。名前衣
30(第2図)は、CLASSフィールド39で、関数
、変数、内部又は外部オブジェクト等に関する名前を含
む、名前の型を識別する。名前衣30の名前衣エントリ
69において、矢印70で示すように、WS14内のオ
ブジェクトを指し示す内部オブジェクト名が見出される
。パッケージ化WSの名前衣のプライベート・コピーの
場合、内部名は対応するパッケージ化WS内のオブジェ
クトを指し示す。名前衣エントリ71は従来技術で知ら
れているように外部オブジェクトを指し示す。
エントリ71のアドレス部分ADDR38は、外部オブ
ジェクトを識別し矢印73により示されるように外部オ
ブジェクトをいかにアクセスするかを識別する制御ブロ
ック72を指し示す。
ジェクトを識別し矢印73により示されるように外部オ
ブジェクトをいかにアクセスするかを識別する制御ブロ
ック72を指し示す。
実施例における外部リンクは、外部名と制御ブロック7
4へのアドレス・ポインタとを含む名前衣エントリによ
り例示される。制御ブロック74は、さらに矢印75に
示すようにコピー52のような名前衣のプライベート・
コピーを識別し、指し示す。さらに名前衣52の名前衣
エントリ64は、矢印77に示すようにパッケージ化W
S30内のオブジェクトを指し示す。多くのそのような
構造が、活動状態のWS及びパッケージ化WSの名前表
内に見出され、これは複数のパッケージ化WSへのアク
セスを効果的に連結する事を可能にする。制御ブロック
74はAPLインタプリタにより以前に形成されている
。
4へのアドレス・ポインタとを含む名前衣エントリによ
り例示される。制御ブロック74は、さらに矢印75に
示すようにコピー52のような名前衣のプライベート・
コピーを識別し、指し示す。さらに名前衣52の名前衣
エントリ64は、矢印77に示すようにパッケージ化W
S30内のオブジェクトを指し示す。多くのそのような
構造が、活動状態のWS及びパッケージ化WSの名前表
内に見出され、これは複数のパッケージ化WSへのアク
セスを効果的に連結する事を可能にする。制御ブロック
74はAPLインタプリタにより以前に形成されている
。
インタプリタ12が活動状態のWSi2内で実行してい
る時、それは名前表31内で外部名45に出会う可能性
がある。この外部名45は、第3図に示すように、現在
内部データ記憶装置中に存在するか又はライブラリ18
中にあるパッケージ化WSの1つにAPLインタプリタ
12を指向させる。APLインタプリタ12は、通常の
処理装置の入出力機構を用いてライブラリ18からパッ
ケージ化WSを検索する。第2図は、ライブラリ18中
に記憶されたパッケージ化WSにアクセスするために使
用しうる2つのAPLステートメント46及び47を示
している。ステートメント46において、’ROUTI
NF’はパッケージ化WSを構成するライブラリLIB
(MVS/TSOのddname又はVM/CMSの
ファイル名、ファイル名はLOADLIBのファイル型
を持たなければならない)中に存在するMEMBという
名前のロード・モジュール中の指定されたオブジェクト
の名前を特定する。同様に、ステートメント47はパッ
ケージ化WS MODULEの指定されたオブジェク
トROUTINEを識別する。MV S/T S Oに
おいて、指定されたロード・モジュールは、そのような
要求に関する通常の探索順序を用いて見出される。VM
/CMSにおいて、MODULEという名前のCMSニ
ュークリアスの拡張部が、それが存在する時には使われ
る。もし拡張部が存在しないならば、オブジェクト・モ
ジュール(対応するパッケージ化WSを形成したのちに
消去されていなければ)がロードされる。ステートメン
ト46は、パッケージ化WSが外部データ記憶装置のロ
ード・ライブラリから内部データ記憶装置にロードされ
るべき時に使用されるのが望ましい。ステートメント4
7は、パッケージ化WSが複数のユーザーにより常駐共
有方式で使用される時に使用する事が望ましい。ステー
トメント47を使用する時、探索に対する環境の影響を
完全に認識しなければ、意図しないロード結果が生じる
事がある。即ち、環境の特別な性質及び要求が完全に考
慮されなければならない。
る時、それは名前表31内で外部名45に出会う可能性
がある。この外部名45は、第3図に示すように、現在
内部データ記憶装置中に存在するか又はライブラリ18
中にあるパッケージ化WSの1つにAPLインタプリタ
12を指向させる。APLインタプリタ12は、通常の
処理装置の入出力機構を用いてライブラリ18からパッ
ケージ化WSを検索する。第2図は、ライブラリ18中
に記憶されたパッケージ化WSにアクセスするために使
用しうる2つのAPLステートメント46及び47を示
している。ステートメント46において、’ROUTI
NF’はパッケージ化WSを構成するライブラリLIB
(MVS/TSOのddname又はVM/CMSの
ファイル名、ファイル名はLOADLIBのファイル型
を持たなければならない)中に存在するMEMBという
名前のロード・モジュール中の指定されたオブジェクト
の名前を特定する。同様に、ステートメント47はパッ
ケージ化WS MODULEの指定されたオブジェク
トROUTINEを識別する。MV S/T S Oに
おいて、指定されたロード・モジュールは、そのような
要求に関する通常の探索順序を用いて見出される。VM
/CMSにおいて、MODULEという名前のCMSニ
ュークリアスの拡張部が、それが存在する時には使われ
る。もし拡張部が存在しないならば、オブジェクト・モ
ジュール(対応するパッケージ化WSを形成したのちに
消去されていなければ)がロードされる。ステートメン
ト46は、パッケージ化WSが外部データ記憶装置のロ
ード・ライブラリから内部データ記憶装置にロードされ
るべき時に使用されるのが望ましい。ステートメント4
7は、パッケージ化WSが複数のユーザーにより常駐共
有方式で使用される時に使用する事が望ましい。ステー
トメント47を使用する時、探索に対する環境の影響を
完全に認識しなければ、意図しないロード結果が生じる
事がある。即ち、環境の特別な性質及び要求が完全に考
慮されなければならない。
パッケージ化WSのコピーがライブラリ18から内部デ
ータ記憶装置に一旦ロードされると、そのコピーは、A
PLセツションの期間中内部データ記憶装置にとどまる
事ができる(オペレーティング・システムによる内部デ
ータ記憶装置の割当て制御にしたがつて、ユーザーの活
動状態のWSを介してユーザ二が活動状態にある限り)
。例えば、パッケージ化WSのコピー50が、活動状態
のWSi2と結合して使われるために内部データ記憶装
置中に記憶されているとする。コピー50が内部データ
記憶装置中に現れるとすぐに、インタプリタ12はエン
トリ45の指定されたオブジェクトにアクセスする。
ータ記憶装置に一旦ロードされると、そのコピーは、A
PLセツションの期間中内部データ記憶装置にとどまる
事ができる(オペレーティング・システムによる内部デ
ータ記憶装置の割当て制御にしたがつて、ユーザーの活
動状態のWSを介してユーザ二が活動状態にある限り)
。例えば、パッケージ化WSのコピー50が、活動状態
のWSi2と結合して使われるために内部データ記憶装
置中に記憶されているとする。コピー50が内部データ
記憶装置中に現れるとすぐに、インタプリタ12はエン
トリ45の指定されたオブジェクトにアクセスする。
初期のアクセスに含まれているのは、パッケージ化WS
のコピー50から活動状態のWSi2への名前表52と
しての名前表51のコピーである。この時制御ブロック
74を形成する事ができる。各パッケージ化WSは読み
取り専用のデータ構造でありうる事を思い起こされたい
。
のコピー50から活動状態のWSi2への名前表52と
しての名前表51のコピーである。この時制御ブロック
74を形成する事ができる。各パッケージ化WSは読み
取り専用のデータ構造でありうる事を思い起こされたい
。
逆って、パッケージ化WS中の名前表51のコピーは、
所望により動的に使用する事はできない。活動状態のW
S中の名前表のコピー52は名前表51の「プライベー
ト・コピー」になり、これは活動状態のWSi2中のイ
ンタプリタ12を介して実行するAPLプログラム55
の1つを実行する事により動的に変更する事ができる。
所望により動的に使用する事はできない。活動状態のW
S中の名前表のコピー52は名前表51の「プライベー
ト・コピー」になり、これは活動状態のWSi2中のイ
ンタプリタ12を介して実行するAPLプログラム55
の1つを実行する事により動的に変更する事ができる。
・パッケージ化WSが読み取り専用でない時でさえも、
そのようなパッケージ化WSが共有される時、名前表の
プライベートφコピーが活動状態のWS中に形成される
事が望ましい事がある。もちろん、書き込み可能なパッ
ケージ化WSと共には共有資源に対する通常の直列化技
術を用いなければならない。また書き込み可能なパッケ
ージ化WSに関しては書き込み保護又はロック・アウト
制御を用いる事ができる。
そのようなパッケージ化WSが共有される時、名前表の
プライベートφコピーが活動状態のWS中に形成される
事が望ましい事がある。もちろん、書き込み可能なパッ
ケージ化WSと共には共有資源に対する通常の直列化技
術を用いなければならない。また書き込み可能なパッケ
ージ化WSに関しては書き込み保護又はロック・アウト
制御を用いる事ができる。
名前表51のプライベート・コピー52は、プログラム
実行により変更される時、WS31と共に存続する(そ
れが外部データ記憶装置に保管される時)。名前表のコ
ピー52がWS14中に存在すると、インタプリタ12
は、付加的な名前表としてコピー52にアクセスする。
実行により変更される時、WS31と共に存続する(そ
れが外部データ記憶装置に保管される時)。名前表のコ
ピー52がWS14中に存在すると、インタプリタ12
は、付加的な名前表としてコピー52にアクセスする。
このために、表30(第2図)に示すように、識別子フ
ィールド56が各々の名前表を識別する。パッケージ化
WSの内部データ記憶装置コピー50はインタプリタ1
2によりアクセスされ、現在の活動状態のWS中の名前
表コピー52を用いて読み取り専用コピー5oから実行
する。
ィールド56が各々の名前表を識別する。パッケージ化
WSの内部データ記憶装置コピー50はインタプリタ1
2によりアクセスされ、現在の活動状態のWS中の名前
表コピー52を用いて読み取り専用コピー5oから実行
する。
活動状態のWS14と共に内部データ記憶装置内に複数
のパッケージ化WS30,58.59等が同時に維持さ
れうる。パッケージ化WSは、MVSのリンク・パック
・エリア、又はCMSの不連続共有セグメント等の、い
わゆる共通システム領域60に記憶される事が望ましい
。
のパッケージ化WS30,58.59等が同時に維持さ
れうる。パッケージ化WSは、MVSのリンク・パック
・エリア、又はCMSの不連続共有セグメント等の、い
わゆる共通システム領域60に記憶される事が望ましい
。
パッケージ化WSが共通システム領域にあると、それは
複数のユーザーによってアクセス可能である。即ち、そ
れは複数の活動状態のWSと共に効率的に同時に動作可
能である。図面に示すように、パッケージ化WS30,
5B、59が内部データ記憶装置の共通システム領域に
60にロードされている。
複数のユーザーによってアクセス可能である。即ち、そ
れは複数の活動状態のWSと共に効率的に同時に動作可
能である。図面に示すように、パッケージ化WS30,
5B、59が内部データ記憶装置の共通システム領域に
60にロードされている。
各パッケージ化WSは内部名と外部名を含む名前表51
.61を有しており、パッケージ化WSが生成される時
、そのパッケージ化WSに関する唯一のエントリ・ポイ
ントとして名前の限界付けられた組を宣言する事ができ
る。この例では、活動状態のWS14を使用するユーザ
ー・プログラム55がパッケージ化WS30にアクセス
する毎に、名前表31の外部名45が、パッケージ化W
S30からの名前表コピー52のエントリ・ポイント名
64と一致又は−致可能でなければならない。このエン
トリの制限は、名前表61中の全ての内部的に指定され
たオブジェクト等の、パッケージ化WSの指定されたオ
ブジェクトの任意のものにアクセスする事を可能にする
ために実施される。
.61を有しており、パッケージ化WSが生成される時
、そのパッケージ化WSに関する唯一のエントリ・ポイ
ントとして名前の限界付けられた組を宣言する事ができ
る。この例では、活動状態のWS14を使用するユーザ
ー・プログラム55がパッケージ化WS30にアクセス
する毎に、名前表31の外部名45が、パッケージ化W
S30からの名前表コピー52のエントリ・ポイント名
64と一致又は−致可能でなければならない。このエン
トリの制限は、名前表61中の全ての内部的に指定され
たオブジェクト等の、パッケージ化WSの指定されたオ
ブジェクトの任意のものにアクセスする事を可能にする
ために実施される。
ユーザー・プログラム55を実行する時、APLインタ
プリタ12は名前表31中の外部名45°に到達すると
、R37(第2図)に示すように、その名前が識別され
ていない事を見出す。次にそれは、プライベート名前衣
コピー52を指し示す(矢印75)制御ブロック74中
の情報から、APLの式46.47等のAPLの式を動
的に形成して実行する。名前表コピー52中の名前エン
トリ64は、矢印77により示されるようにパッケージ
化WS30を識別する。この時パッケージ化WS30は
、活動状態のWS中のプライベート名前衣コピー52を
用いて、プログラムの実行、オブジェクトのアクセス等
の為にAPLインクプリタによりアクセスされる。この
時、従来技術のように外部データ記憶装置に活動状態の
WS14を保管する代りに、活動状態のWS14は、A
PLインタプリタ12の戻りアクセスの準備のために内
部データ記憶装置中にとどまる。APLインタプリタ1
2は従来技術で使われているのと同じ手続きを用いてパ
ッケージ化WS30内のAPLプログラムのインタプリ
タ方式のプログラム実行を続ける。但し、パッケージ化
WS中の名前表のコピーは使われず、結果は活動状態の
WS14中に記憶される。パッケージ化WS内からのこ
の実行は、wssoを活動状態のWSにせず、むしろW
S14が活動状態のWSのままにとどまる。WS30内
のAPLの動作が完了すると、APLインタプリタ12
はユーザー・プログラム55の実行を続けるために活動
状態のWSに戻る。
プリタ12は名前表31中の外部名45°に到達すると
、R37(第2図)に示すように、その名前が識別され
ていない事を見出す。次にそれは、プライベート名前衣
コピー52を指し示す(矢印75)制御ブロック74中
の情報から、APLの式46.47等のAPLの式を動
的に形成して実行する。名前表コピー52中の名前エン
トリ64は、矢印77により示されるようにパッケージ
化WS30を識別する。この時パッケージ化WS30は
、活動状態のWS中のプライベート名前衣コピー52を
用いて、プログラムの実行、オブジェクトのアクセス等
の為にAPLインクプリタによりアクセスされる。この
時、従来技術のように外部データ記憶装置に活動状態の
WS14を保管する代りに、活動状態のWS14は、A
PLインタプリタ12の戻りアクセスの準備のために内
部データ記憶装置中にとどまる。APLインタプリタ1
2は従来技術で使われているのと同じ手続きを用いてパ
ッケージ化WS30内のAPLプログラムのインタプリ
タ方式のプログラム実行を続ける。但し、パッケージ化
WS中の名前表のコピーは使われず、結果は活動状態の
WS14中に記憶される。パッケージ化WS内からのこ
の実行は、wssoを活動状態のWSにせず、むしろW
S14が活動状態のWSのままにとどまる。WS30内
のAPLの動作が完了すると、APLインタプリタ12
はユーザー・プログラム55の実行を続けるために活動
状態のWSに戻る。
各パッケージ化WSはロード・モジュール外からアドレ
ス可能な名前を指定されたエントリを有している。その
ようなアドレス可能性は第3図に示すような方式で達成
されている。さらに、パッケージ化WSの外部名のある
ものは、他のパッケージ化WSをアクセスするために使
われる事もある。パッケージ化WS30において、外部
名64はパッケージ化WS30に関する一時的な出口外
部名でありうる。APLインタプリタ12は、パッケー
ジ化WS30における処理中に外部名64をアクセスす
る時に、アクセスすべきWSを識別する左側引数、及び
アクセスすべきWS内の指定されたオブジェクトを識別
する右側引数を有する公知のAPLシステム関数を生成
する。アクセスすべきその上うなWSは活動状態のWS
i2か又は任意のパッケージ化WSでありうる。他のパ
ッケージ化WSも同じ方式で使用できる。例えば、パッ
ケージ化WS38は上述の手続きを用いてアクセス可能
である。パッケージ化WS30によるパッケージ化WS
38への初期のアクセス時に、その名前表61が活動状
態のWSi2に名前表のコピー80としてコピーされる
。活動状態のWSi2からパッケージ化WS38へのA
PLプログラムによるアクセスは、名前表のコピー80
を介して行なわれる。パッケージ化WS38内のプログ
ラムの実行は、パッケージ化WS30を介してアクセス
される。これは、二次的にアクセスされるパッケージ化
WSがあたかも活動状態のWSi2から直接アクセスさ
れるかのように同様に行なわれる。単一の活動状態のW
Sからパッケージ化WSをアクセスする事のこの連結は
、論理的には無#限であるが、実行を行うホスト処理装
置の内部データ記憶装置のデータ記憶容量に基づき実用
上の限界が生じる。
ス可能な名前を指定されたエントリを有している。その
ようなアドレス可能性は第3図に示すような方式で達成
されている。さらに、パッケージ化WSの外部名のある
ものは、他のパッケージ化WSをアクセスするために使
われる事もある。パッケージ化WS30において、外部
名64はパッケージ化WS30に関する一時的な出口外
部名でありうる。APLインタプリタ12は、パッケー
ジ化WS30における処理中に外部名64をアクセスす
る時に、アクセスすべきWSを識別する左側引数、及び
アクセスすべきWS内の指定されたオブジェクトを識別
する右側引数を有する公知のAPLシステム関数を生成
する。アクセスすべきその上うなWSは活動状態のWS
i2か又は任意のパッケージ化WSでありうる。他のパ
ッケージ化WSも同じ方式で使用できる。例えば、パッ
ケージ化WS38は上述の手続きを用いてアクセス可能
である。パッケージ化WS30によるパッケージ化WS
38への初期のアクセス時に、その名前表61が活動状
態のWSi2に名前表のコピー80としてコピーされる
。活動状態のWSi2からパッケージ化WS38へのA
PLプログラムによるアクセスは、名前表のコピー80
を介して行なわれる。パッケージ化WS38内のプログ
ラムの実行は、パッケージ化WS30を介してアクセス
される。これは、二次的にアクセスされるパッケージ化
WSがあたかも活動状態のWSi2から直接アクセスさ
れるかのように同様に行なわれる。単一の活動状態のW
Sからパッケージ化WSをアクセスする事のこの連結は
、論理的には無#限であるが、実行を行うホスト処理装
置の内部データ記憶装置のデータ記憶容量に基づき実用
上の限界が生じる。
活動状態/保管状態のWS及びパッケージ化WSはAP
L言語を用いてプログラムされる事に留意されたい。任
意の活動状態のWSにより(直接又は他のパッケージ化
WSを介して)アクセスされる各パッケージ化WS毎に
、活動状態又は保管状態のWS中に1つのプライベート
の名前表のコピーが存在する。パッケージ化WSから実
行を行う間、APLインタプリタ12は、対応する活動
状態のWS中に、全ての変更されたオブジェクトのコピ
ー及び名前表における変化を記憶し、例えばAPLノー
メンクレイチャ(nomenclature)中におい
て外部名を「識別」又は「未識別Jとマークする。活動
状態のWSのスタックは、パッケージ化WSに基づいた
全てのAPL動作をトラッキングする為に使われる。
L言語を用いてプログラムされる事に留意されたい。任
意の活動状態のWSにより(直接又は他のパッケージ化
WSを介して)アクセスされる各パッケージ化WS毎に
、活動状態又は保管状態のWS中に1つのプライベート
の名前表のコピーが存在する。パッケージ化WSから実
行を行う間、APLインタプリタ12は、対応する活動
状態のWS中に、全ての変更されたオブジェクトのコピ
ー及び名前表における変化を記憶し、例えばAPLノー
メンクレイチャ(nomenclature)中におい
て外部名を「識別」又は「未識別Jとマークする。活動
状態のWSのスタックは、パッケージ化WSに基づいた
全てのAPL動作をトラッキングする為に使われる。
パッケージ化WSから活動状態のWSへの名前表の初期
のコピーの時、名前表中の全ての名前は、内部名であろ
うと外部名であろうと、「未識別」である。活動状態の
WS中のプライベート名前表コピーが中の名前が、ソー
ス・パッケージ化WSにおけるAPLの実行を継続する
ために必要になる時にのみ、APLインタプリタ12は
それらの名前を識別するプロセスに進み、従ってそのよ
うな名前はパッケージ化WS中の実際の指定されたオブ
ジェクト指し示す(アドレスを示す)ようになる。活動
状態のWSが外部データ記憶装置に保管される時、全て
の名前表のコピーも、保管される活動状態のWSの一部
として保管される。
のコピーの時、名前表中の全ての名前は、内部名であろ
うと外部名であろうと、「未識別」である。活動状態の
WS中のプライベート名前表コピーが中の名前が、ソー
ス・パッケージ化WSにおけるAPLの実行を継続する
ために必要になる時にのみ、APLインタプリタ12は
それらの名前を識別するプロセスに進み、従ってそのよ
うな名前はパッケージ化WS中の実際の指定されたオブ
ジェクト指し示す(アドレスを示す)ようになる。活動
状態のWSが外部データ記憶装置に保管される時、全て
の名前表のコピーも、保管される活動状態のWSの一部
として保管される。
内部データ記憶装置の使用を保存する事も望ましい。パ
ッケージ化WSが不便用状態になると、そのようなWS
は内部データ記憶装置から消去する事ができる。使用状
態をトラッキングする単純な技術は、活動状態のWSを
介する各々のアクセスをロード・モジュールのオープン
として、及びパッケージ化WSにおけるAPLインタプ
リタ12の処理の完了をロード・モジュールのクローズ
として取り扱う事である。オープンはカウントされ、ク
ローズはオープン・カウントから減算される。カウント
がゼロになると、パッケージ化WSは消去の候補になる
。このオープン及びクローズの技術はあらゆる型のファ
イルの処理に関して広く使われている。幾つかの重要な
又は広く使われるパッケージ化WSは、APLインタプ
リタ12が内部データ記憶装置中に存在する限り内部デ
ータ記憶装置に束縛することができる(消去の候補にな
らない)。他のスペース管理技術も同様に用いる事がで
きる。
ッケージ化WSが不便用状態になると、そのようなWS
は内部データ記憶装置から消去する事ができる。使用状
態をトラッキングする単純な技術は、活動状態のWSを
介する各々のアクセスをロード・モジュールのオープン
として、及びパッケージ化WSにおけるAPLインタプ
リタ12の処理の完了をロード・モジュールのクローズ
として取り扱う事である。オープンはカウントされ、ク
ローズはオープン・カウントから減算される。カウント
がゼロになると、パッケージ化WSは消去の候補になる
。このオープン及びクローズの技術はあらゆる型のファ
イルの処理に関して広く使われている。幾つかの重要な
又は広く使われるパッケージ化WSは、APLインタプ
リタ12が内部データ記憶装置中に存在する限り内部デ
ータ記憶装置に束縛することができる(消去の候補にな
らない)。他のスペース管理技術も同様に用いる事がで
きる。
上記の全ての事から、パッケージ化され且つプライベー
トのWSを含む概念及び動作が、インタプリタ方式の言
語の柔軟性及びパワーを増大する事が明らかである。ま
た、それは、パッケージ化WSが複数の活動状態のWS
(その各々は独立なユーザーに関連し且つそれらによ
り制御される)との間で共有されるメモリ空間を節約す
る。パッケージ化WSの名前表のプライベート・コピー
は、パッケージ化WSの変更の記録を維持し、これは読
み取り専用のパッケージ化WSを用いながら、再帰的で
且つ独立な処理を可能にする。
トのWSを含む概念及び動作が、インタプリタ方式の言
語の柔軟性及びパワーを増大する事が明らかである。ま
た、それは、パッケージ化WSが複数の活動状態のWS
(その各々は独立なユーザーに関連し且つそれらによ
り制御される)との間で共有されるメモリ空間を節約す
る。パッケージ化WSの名前表のプライベート・コピー
は、パッケージ化WSの変更の記録を維持し、これは読
み取り専用のパッケージ化WSを用いながら、再帰的で
且つ独立な処理を可能にする。
第4図は、APL環境に本発明を組みこんだと参の単純
化した計算機動作の図である。この図は、APLがステ
ップ1oOでユーザー・プログラムを実行していること
を仮定する。プログラム55中の次のAPLステートメ
ントはステップ101で読み取られる。もしそれ以上の
ステートメントが存在しなければステップ102で矢印
103に示すようにユーザー・プログラムは終了する。
化した計算機動作の図である。この図は、APLがステ
ップ1oOでユーザー・プログラムを実行していること
を仮定する。プログラム55中の次のAPLステートメ
ントはステップ101で読み取られる。もしそれ以上の
ステートメントが存在しなければステップ102で矢印
103に示すようにユーザー・プログラムは終了する。
そうでなければ、ステップ104で、読み取ったステー
トメントが解析される。解析されたステートメントにオ
ブジェクト名が含まれていなければ、ステートメントは
ステップ106で実行される。ステップ106が終了す
ると、次のAPLステートメントを読み取るために制御
はステップ101に戻される。
トメントが解析される。解析されたステートメントにオ
ブジェクト名が含まれていなければ、ステートメントは
ステップ106で実行される。ステップ106が終了す
ると、次のAPLステートメントを読み取るために制御
はステップ101に戻される。
もしAPLステートメントの解析中にオブジェクト名に
出会うと、ステップ107及び108で現在の名前表が
アクセスされ、指定されたオブジェクトの特性が決定さ
れる。もしオブジェクトが内部的である事が見出される
と、それはステップ110でアクセスされ、111mは
解析ステップ104に戻される。もしオブジェクトが外
部的である事が見出されると、ステップ109で、その
名前が解決されているか否かを判定するために検査が行
なわれる。もし名前が識別されていなければ、ステップ
109で制御ブロック72.74からパッケージ化WS
が決定される。パッケージ化WSは、必要ならば生成さ
れたステートメント46.47と共に内部データ記憶装
置中にロードされる。次にパッケージ化WS中でオブジ
ェクトの位置が見出される。パッケージ化WSの名前表
のプライベート・コピーが、パッケージ化WS中のオブ
ジェクトの解決を反映するために更新される。最後に、
ステップ110でオブジェクトがアクセスされ、制御は
ステートメント解析ステップ104に戻される。第4図
は、説明のためだけのものであり、実際の実施例では計
算機の動作はより複雑である。
出会うと、ステップ107及び108で現在の名前表が
アクセスされ、指定されたオブジェクトの特性が決定さ
れる。もしオブジェクトが内部的である事が見出される
と、それはステップ110でアクセスされ、111mは
解析ステップ104に戻される。もしオブジェクトが外
部的である事が見出されると、ステップ109で、その
名前が解決されているか否かを判定するために検査が行
なわれる。もし名前が識別されていなければ、ステップ
109で制御ブロック72.74からパッケージ化WS
が決定される。パッケージ化WSは、必要ならば生成さ
れたステートメント46.47と共に内部データ記憶装
置中にロードされる。次にパッケージ化WS中でオブジ
ェクトの位置が見出される。パッケージ化WSの名前表
のプライベート・コピーが、パッケージ化WS中のオブ
ジェクトの解決を反映するために更新される。最後に、
ステップ110でオブジェクトがアクセスされ、制御は
ステートメント解析ステップ104に戻される。第4図
は、説明のためだけのものであり、実際の実施例では計
算機の動作はより複雑である。
ステップ110でアクセスされた指定されたオブジェク
トが、パッケージ化WS中のユーザー・プログラムであ
る事が見出されると、実行中のAPLプログラム55の
状態は周知のようにAPL実行スタック(図示せず)中
に保管される。その名前表31の識別子56もAPL実
行スタックに保管され、現在の名前表31はパッケージ
化WSの名前表52のプライベート・コピーに切り換え
られる。次に、指定されたユーザー・プログラムが実行
される。そのユーザー・プログラムが実行されている間
(例えば第4図に示されているように)、そのパッケー
ジ化WSの名前表52のプライベート・コピーがパッケ
ージ化WS中の指定されたオブジェクトを見出すのに使
用される。ユーザー・プログラムの実行が終了すると、
矢印103により表されるように、以前に実行されてい
たプログラムの状態が通常の方式で実行スタックから回
復され、それに関連した名前表31が現在の名前表とし
て回復される。
トが、パッケージ化WS中のユーザー・プログラムであ
る事が見出されると、実行中のAPLプログラム55の
状態は周知のようにAPL実行スタック(図示せず)中
に保管される。その名前表31の識別子56もAPL実
行スタックに保管され、現在の名前表31はパッケージ
化WSの名前表52のプライベート・コピーに切り換え
られる。次に、指定されたユーザー・プログラムが実行
される。そのユーザー・プログラムが実行されている間
(例えば第4図に示されているように)、そのパッケー
ジ化WSの名前表52のプライベート・コピーがパッケ
ージ化WS中の指定されたオブジェクトを見出すのに使
用される。ユーザー・プログラムの実行が終了すると、
矢印103により表されるように、以前に実行されてい
たプログラムの状態が通常の方式で実行スタックから回
復され、それに関連した名前表31が現在の名前表とし
て回復される。
パッケージ化WSは、その形成後に変更又は更新できる
。そのような変更は、パッケージ化WSの初期のバージ
ョンを以前にアクセスしていた活動状態のWSにより呼
び出される時に、予期しない結果を生じる事がある。プ
ログラム実行における正確さを保証するために、パッケ
ージ化WSの各名前表は作成日付のエントリ98(第2
図)を有している。パッケージ化WSにアクセスするプ
ログラムの実行時には、アクセスされたパッケージ化W
Sの作成日付を、活動状態のWSのプライベート名前表
コピー中の作成日付エントリと比較する事ができ、不一
致によりユーザー・メツセージを生じさせるか、又はエ
ラー条件を定義する事ができる。
。そのような変更は、パッケージ化WSの初期のバージ
ョンを以前にアクセスしていた活動状態のWSにより呼
び出される時に、予期しない結果を生じる事がある。プ
ログラム実行における正確さを保証するために、パッケ
ージ化WSの各名前表は作成日付のエントリ98(第2
図)を有している。パッケージ化WSにアクセスするプ
ログラムの実行時には、アクセスされたパッケージ化W
Sの作成日付を、活動状態のWSのプライベート名前表
コピー中の作成日付エントリと比較する事ができ、不一
致によりユーザー・メツセージを生じさせるか、又はエ
ラー条件を定義する事ができる。
上記の全ての事から、パッケージ化WSは、APLアプ
リケーションを任意の又は組織的な方法でセグメント化
で会、あたかも1つの活動状態のWSが事実上−人のユ
ーザーのためにあるかのような外観を呈する事ができる
ことが分かる。APLアプリケ−シコンはよりモジュー
ル的に構成する事ができ、即ちテスト済みの大規模な関
数をパッケージ化WS中に埋めこみ、読み取り専用方式
で複数のユーザーが利用するようにできる。またパッケ
ージ化WSは、APLアプリケーションの成長又は変更
時における名前の衝突の可能性を減らすための名前のア
イソレージコンも提供する。名前の確認手続きが単純化
され短縮されるという点で効率が向上する。またパッケ
ージ化WSは、共有アプリケ−シコンを含めて、最小限
の努力と最大限の正確さでアプリケ−シリン・プログラ
ムを動的に変更する手段を提供する。プライベート・ロ
ード・モジュールをパッケージ化WSとして用いる事に
より、WSの可読性が減少し、安全性及び保護属性が向
上する。最後に、パッケージ化WSは、事実上1つのセ
ツション中の1人のユーザーのために複数のWSへのア
クセスを与える。ユーザーの活動状態のWSから外部関
数が呼び出される時、システムは、活動状態のWSの名
前表(名前範囲とも呼ばれる)からパッケージ化WSの
それに切り換える事ができる。外部関数が実行されてい
る間、パッケージ化WSの動作が終了するまで、活動状
態のWS中の全ての名前は識別状態のままである。
リケーションを任意の又は組織的な方法でセグメント化
で会、あたかも1つの活動状態のWSが事実上−人のユ
ーザーのためにあるかのような外観を呈する事ができる
ことが分かる。APLアプリケ−シコンはよりモジュー
ル的に構成する事ができ、即ちテスト済みの大規模な関
数をパッケージ化WS中に埋めこみ、読み取り専用方式
で複数のユーザーが利用するようにできる。またパッケ
ージ化WSは、APLアプリケーションの成長又は変更
時における名前の衝突の可能性を減らすための名前のア
イソレージコンも提供する。名前の確認手続きが単純化
され短縮されるという点で効率が向上する。またパッケ
ージ化WSは、共有アプリケ−シコンを含めて、最小限
の努力と最大限の正確さでアプリケ−シリン・プログラ
ムを動的に変更する手段を提供する。プライベート・ロ
ード・モジュールをパッケージ化WSとして用いる事に
より、WSの可読性が減少し、安全性及び保護属性が向
上する。最後に、パッケージ化WSは、事実上1つのセ
ツション中の1人のユーザーのために複数のWSへのア
クセスを与える。ユーザーの活動状態のWSから外部関
数が呼び出される時、システムは、活動状態のWSの名
前表(名前範囲とも呼ばれる)からパッケージ化WSの
それに切り換える事ができる。外部関数が実行されてい
る間、パッケージ化WSの動作が終了するまで、活動状
態のWS中の全ての名前は識別状態のままである。
F1発明の効果
本発明によれば、ホスト処理装置のメモリ要求及び外部
アクセス要求を減少させながらインタプリタ方式の計算
においてより大きな柔軟性が提供される。
アクセス要求を減少させながらインタプリタ方式の計算
においてより大きな柔軟性が提供される。
第1図は本発明を実施する時に使用されるデータ構造並
びにホスト処理装置及び外部データ記憶装置におけるそ
のようなデータ構造の相互作用を示す図、 第2図は第1図に関連して有用ないくつかの制御ステー
トメント及び名前表の構成を示す図、第3図は活動状態
のWS及びパッケージ化WSの間の論理的接続を示す図
、 第4図は第1図及び第2図に関係する計算機動作を説明
する図である。
びにホスト処理装置及び外部データ記憶装置におけるそ
のようなデータ構造の相互作用を示す図、 第2図は第1図に関連して有用ないくつかの制御ステー
トメント及び名前表の構成を示す図、第3図は活動状態
のWS及びパッケージ化WSの間の論理的接続を示す図
、 第4図は第1図及び第2図に関係する計算機動作を説明
する図である。
Claims (4)
- (1)内部データ記憶装置を有するディジタル計算機に
おいてマルチ・プロセッシングを行う方法であって、上
記マルチ・プロセッシングにおいて実行される各プロセ
スが独立であり且つ上記内部データ記憶装置中のアドレ
ス可能な作業空間内で動作し、上記作業空間は上記プロ
セスに関して活動状態の時該プロセスにより排他的にア
クセス可能であり、上記各作業空間は名前付きオブジェ
クト及び該作業空間に含まれる名前付きオブジェクトの
アドレス可能性を内部的に確立するための名前表を含む
ものにおいて、各々の名前表を含む上記作業空間の所定
のものを、パッケージ化作業空間を構成するロード・モ
ジュールに変換し、 上記所定の作業空間の名前表中の名前を、各パッケージ
化作業空間の各々そのような作業空間に関するエントリ
・ポイントに指定し、 各々そのような作業空間に関する出口点として変換され
ない上記作業空間の名前表に外部名を付加し、 上記出口名及びエントリ名の所定のものを上記名前を有
する作業空間をリンクするために関連付け可能にし、 活動状態の変換されていない作業空間中で実行中のプロ
セスが上記活動状態の作業空間の名前表中で外部名に出
あう時、活動状態の作業空間を出て、上記出口外部名に
関連可能なエントリ名を有する上記パッケージ化作業空
間中で実行を継続し、 上記パッケージ化作業空間中で最初にプロセスの実行を
開始する時、パッケージ化作業空間の名前表を上記変換
されていない作業空間中にコピーし、パッケージ化作業
空間に関して実行する時、該パッケージ化作業空間の名
前表ではなく上記変換されていない作業空間中のコピー
から上記パッケージ化作業空間中のオブジェクトにアク
セスするステップを含む マルチ・プロセッシング方式。 - (2)複数の作業空間中のデータ構造と共に作業を行う
インタプリタ・プログラムを有するディジタル計算機を
動作させる方法であって、上記各作業空間は上記作業空
間に関して内部的及び外部的な名前付きオブジェクトの
アクセスを制御する名前表を含むものであって、 上記作業空間を、外部データ記憶装置に、保管された作
業空間として保管し、 上記保管された作業空間の所定のものを、外部名により
アクセス可能で且つ各々名前表を含むパッケージ化作業
空間を構成するロード・モジュールに変換し、上記パッ
ケージ化作業空間を外部データ記憶装置中に記憶し、 上記保管された作業空間の所定のものを活動状態の作業
空間として活性化し、 上記活動状態の作業空間を用いて上記インタプリタと共
にプログラムを実行し、上記活動状態の作業空間の名前
表において、上記パッケージ化作業空間中のオブジェク
トの名前を含む上記パッケージ化作業空間の外部名を読
み取り、上記パッケージ化作業空間を、ロードされたパ
ッケージ化作業空間として、上記内部データ記憶装置中
にコピーし、 上記ロードされたパッケージ化作業空間の名前表を活動
状態の作業空間中にコピーし、 上記活動状態の作業空間中で、上記コピーされた名前表
を用いて、上記ロードされたパッケージ化作業空間から
操作を行なうステップを含むディジタル計算機を動作さ
せる方法。 - (3)内部データ記憶装置を含み且つ外部データ記憶装
置に接続されたディジタル計算機と、上記外部データ記
憶装置中にありAPLプログラムを実行するために上記
内部データ記憶装置中にロード可能なAPLインタプリ
タ・プログラムと、各々名前表と上記名前表により指し
示されるオブジェクトとを有し上記外部データ記憶装置
中に記憶された複数の保管された作業空間とを含むシス
テムであって、 上記保管された作業空間の所定のものを、上記外部デー
タ記憶装置中のパッケージ化作業空間を構成するロード
・モジュールに変換する、上記APLプログラムと共に
動作するパッケージ・プログラムと、 上記パッケージ化作業空間内の名前付きオブジェクトを
識別する外部名手段を含む、上記作業空間中の名前表と
、 名前表を上記保管された作業空間にコピーする事を含む
、パッケージ化作業空間のアドレスされたものにアクセ
スする事を可能にする手段と、上記保管された作業空間
に関してコピーされた名前表のみを用いて上記パッケー
ジ化作業空間からプログラムを実行する手段とを含む システム。 - (4)対話式の環境においてプログラムを実行する方法
であって、 複数の対話式作業空間を同時に記憶するホスト処理装置
の内部データ記憶装置において、 作業空間の第1のものにおいてプログラムを実行し、 作業空間の第2のものを表すシーケンス制御データ構造
を上記第1の作業空間中に確立し、 上記第1の作業空間においてプログラムを実行しながら
、上記第2の作業空間にアクセスして、上記第1の作業
空間中の上記シーケンス制御データ構造を用いて上記第
2の作業空間中のプログラムを実行するステップを含む プログラム実行方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/241,496 US5062039A (en) | 1988-09-07 | 1988-09-07 | Sharing of workspaces in interactive processing using workspace name tables for linking of workspaces |
US241496 | 1988-09-07 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH02114335A true JPH02114335A (ja) | 1990-04-26 |
Family
ID=22910908
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1229475A Pending JPH02114335A (ja) | 1988-09-07 | 1989-09-06 | マルチ・プロセツシング方式 |
Country Status (3)
Country | Link |
---|---|
US (1) | US5062039A (ja) |
EP (1) | EP0358621A3 (ja) |
JP (1) | JPH02114335A (ja) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0731606B2 (ja) * | 1988-09-20 | 1995-04-10 | ディジタル イクイプメント コーポレーション | デジタルデータ処理システム用総称コード共用化装置及び方法 |
US5557798A (en) * | 1989-07-27 | 1996-09-17 | Tibco, Inc. | Apparatus and method for providing decoupling of data exchange details for providing high performance communication between software processes |
JPH06105440B2 (ja) * | 1990-03-08 | 1994-12-21 | 株式会社日立製作所 | 主メモリ管理方法 |
US5297291A (en) * | 1991-03-07 | 1994-03-22 | Digital Equipment Corporation | System for linking program units by binding symbol vector index in the symbol table into calling image to obtain current value of the target image |
US5652869A (en) * | 1991-03-07 | 1997-07-29 | Digital Equipment Corporation | System for executing and debugging multiple codes in a multi-architecture environment using jacketing means for jacketing the cross-domain calls |
JPH04364548A (ja) * | 1991-06-11 | 1992-12-16 | Matsushita Electric Ind Co Ltd | 暗証入力装置 |
US5627996A (en) * | 1992-08-19 | 1997-05-06 | At&T | Method and apparatus for accessing the same computer file using different file name formats |
JPH08137689A (ja) * | 1994-11-14 | 1996-05-31 | Nec Corp | 仮引数による副プログラム結合方法 |
US6526565B1 (en) * | 1995-12-21 | 2003-02-25 | International Business Machines Corporation | Packaging algorithm for providing object oriented applications having reduced footprints |
US6115714A (en) * | 1998-03-20 | 2000-09-05 | Kenan Systems Corp. | Triggering mechanism for multi-dimensional databases |
US7346903B2 (en) * | 2003-02-04 | 2008-03-18 | Sun Microsystems, Inc. | Compiling and linking modules of a cycle-based logic design |
US20050246762A1 (en) * | 2004-04-29 | 2005-11-03 | International Business Machines Corporation | Changing access permission based on usage of a computer resource |
US7603666B2 (en) * | 2004-06-16 | 2009-10-13 | International Business Machines Corporation | Class loader |
US20060130036A1 (en) * | 2004-12-09 | 2006-06-15 | International Business Machines Corporation | Method, system and storage medium for dynamic service activation |
US20070157155A1 (en) * | 2005-12-30 | 2007-07-05 | Peters Eric C | System and method for software generation and execution |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01211131A (ja) * | 1988-02-19 | 1989-08-24 | Nec Corp | 共用データ領域参照方式 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US1904039A (en) * | 1930-10-27 | 1933-04-18 | Emil A Bruder | Body exercising apparatus |
US2533273A (en) * | 1946-03-13 | 1950-12-12 | Macgregor May | Exercising equipment |
US3721434A (en) * | 1971-01-08 | 1973-03-20 | Raymond Lee Organization Inc | Infant changing board |
US3779540A (en) * | 1972-05-22 | 1973-12-18 | Hedstrom Co | Infant{40 s dressing table securement |
US4073005A (en) * | 1974-01-21 | 1978-02-07 | Control Data Corporation | Multi-processor computer system |
US4127120A (en) * | 1976-11-08 | 1978-11-28 | Applegate Lee C | Torso-board straps and method of using the same |
US4194500A (en) * | 1977-07-15 | 1980-03-25 | Grimaldi Anthony J | Gravity orthopedic device |
US4478413A (en) * | 1980-09-03 | 1984-10-23 | Siwula John T | Torsion type exercise device |
US4410940A (en) * | 1980-12-05 | 1983-10-18 | International Business Machines Corporation | Transfer of control method and means among hierarchical cooperating sequential processes |
US4519106A (en) * | 1981-08-19 | 1985-05-28 | Ralph Sandquist | Spine board |
US4553202A (en) * | 1982-05-06 | 1985-11-12 | International Business Machines Corporation | User controlled dialog resource switching in a multi-tasking word processor |
US4787035A (en) * | 1985-10-17 | 1988-11-22 | Westinghouse Electric Corp. | Meta-interpreter |
US4736321A (en) * | 1986-05-05 | 1988-04-05 | International Business Machines Corporation | Communication method between an interactive language processor workspace and external processes |
US4914570A (en) * | 1986-09-15 | 1990-04-03 | Counterpoint Computers, Inc. | Process distribution and sharing system for multiple processor computer system |
US4809168A (en) * | 1986-10-17 | 1989-02-28 | International Business Machines Corporation | Passive serialization in a multitasking environment |
US4849877A (en) * | 1986-12-22 | 1989-07-18 | American Telephone And Telegraph Company | Virtual execution of programs on a multiprocessor system |
-
1988
- 1988-09-07 US US07/241,496 patent/US5062039A/en not_active Expired - Fee Related
-
1989
- 1989-08-09 EP EP19890850251 patent/EP0358621A3/en not_active Withdrawn
- 1989-09-06 JP JP1229475A patent/JPH02114335A/ja active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01211131A (ja) * | 1988-02-19 | 1989-08-24 | Nec Corp | 共用データ領域参照方式 |
Also Published As
Publication number | Publication date |
---|---|
US5062039A (en) | 1991-10-29 |
EP0358621A2 (en) | 1990-03-14 |
EP0358621A3 (en) | 1992-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3550151B2 (ja) | ロード・リンキング装置および方法 | |
US5675804A (en) | System and method for enabling a compiled computer program to invoke an interpretive computer program | |
US5740431A (en) | Configuration file management | |
US5632034A (en) | Controlling method invocation sequence through virtual functions in an object-oriented class library | |
US6170018B1 (en) | Remote procedure calling using an existing descriptor mechanism | |
US6983447B1 (en) | Efficient method router that supports multiple simultaneous object versions | |
US6968540B2 (en) | Software instrumentation method and apparatus | |
US5303392A (en) | Accessing current symbol definitions in a dynamically configurable operating system | |
US6003042A (en) | Systems, methods and computer programs products for storing a new version of an Envy Library file in a teamconnection object oriented programming environment | |
EP0735465A1 (en) | Method and apparatus for providing transparent persistence in a distributed object operating environment | |
US20030093420A1 (en) | Method and system for retrieving sharable information using a hierarchically dependent directory structure | |
JPH1040087A (ja) | ソフトウェア工学で使われるデータモデルの取り扱い方法 | |
US5062039A (en) | Sharing of workspaces in interactive processing using workspace name tables for linking of workspaces | |
JPH02188833A (ja) | アプリケーションとデータベース管理システム間の相互通信システム及び方法 | |
JPH05197697A (ja) | ソフトウエア・システム構築装置及び方法 | |
CA2255035C (en) | Archiving tool | |
JP2927180B2 (ja) | 情報処理プログラムのデバッグ方法およびそのためのデバッガ | |
KR19990064026A (ko) | 컴퓨터 시스템 또는 그 프로그램이 중지될 필요가 없는 객체 지향형 메쏘드 유지 보수 메카니즘 | |
CA2245133A1 (en) | Language manager interface | |
JP4084956B2 (ja) | オブジェクト集合方法およびシステム | |
Dearle | On the construction of persistent programming environments | |
US5963955A (en) | Bridge for exporting and importing objects between object oriented programming environments | |
JPH0895757A (ja) | マイクロカーネル・データ処理システム用のマスタ・サーバ・プログラム・ロード方法および装置 | |
US6275985B1 (en) | Method and apparatus for developing an application that implements garbage collection efficiently by combining proxy objects with compiler support | |
US7703108B2 (en) | Native code isolation in a multi-tasking Java virtual machine |