JPS62171033A - サブル−チン管理方式 - Google Patents
サブル−チン管理方式Info
- Publication number
- JPS62171033A JPS62171033A JP1194186A JP1194186A JPS62171033A JP S62171033 A JPS62171033 A JP S62171033A JP 1194186 A JP1194186 A JP 1194186A JP 1194186 A JP1194186 A JP 1194186A JP S62171033 A JPS62171033 A JP S62171033A
- Authority
- JP
- Japan
- Prior art keywords
- subroutine
- program
- management
- block
- subroutines
- 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
- 238000007726 management method Methods 0.000 claims description 45
- 230000015654 memory Effects 0.000 abstract description 11
- 238000010586 diagram Methods 0.000 description 8
- 238000000034 method Methods 0.000 description 5
Landscapes
- Executing Machine-Instructions (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔発明の利用分野〕
本発明は、サブルーチン管理方式に関し、特に統一イン
タフェースによるサブルーチン群を、サブルーチンID
により管理する方式に関する。
タフェースによるサブルーチン群を、サブルーチンID
により管理する方式に関する。
OAソフトウェアやユーティリティ等のプログラムの開
発において、各プログラムは複数のモジュール(処理部
分)と1つないし複数のサブルーチン群より構成される
。これらのサブルーチン群をプログラム単位で個々に開
発したのでは作業効率が悪く、またインタフェースが不
統一であるため、流用が困儀である。各プログラム間の
類似したサブルーチンの2重開発を避けるために、統一
したインタフェース仕様によるサブルーチン群を開発し
、共通サブルーチンとして部品化し1作業の効率化、流
用化を図る必要がある。そのためには。
発において、各プログラムは複数のモジュール(処理部
分)と1つないし複数のサブルーチン群より構成される
。これらのサブルーチン群をプログラム単位で個々に開
発したのでは作業効率が悪く、またインタフェースが不
統一であるため、流用が困儀である。各プログラム間の
類似したサブルーチンの2重開発を避けるために、統一
したインタフェース仕様によるサブルーチン群を開発し
、共通サブルーチンとして部品化し1作業の効率化、流
用化を図る必要がある。そのためには。
プログラムあるいはサブルーチンの管理方式を検討する
必要がある。
必要がある。
従来、プログラム管理方式としては、例えば、特開昭5
9−60639号公報に示されているように、全てのプ
ログラム名をそれぞれの主入口名に対応させて、プログ
ラム名テーブルを設け、これにより副入口名しか知るこ
とができない場合でも、目的プログラムの呼出しを可能
にした方式が知られている。すなわち、プログラムライ
ブラリと、それを管理するライブラリ管理システムと、
プログラム引用処理システムとを設け、プログラム名テ
ーブルをライブラリ管理下にあるプログラムの全ての主
入口糸、副入口名を同一レベルで配列し、それぞれを主
入口糸に対応付ける。ライブラリ管理システムは、プロ
グラム引用処理システムからプログラムAのオープン要
求を受付けたとき、先ずプログラムテーブルを参照して
指定されたプログラム名を主入口糸に変換し、その主入
口糸によりライブラリ管理テーブルを検索し、要素プロ
グラムAにアクセスして主入口糸を復帰パラメータとし
て、要素プログラムAを含むプログラムをプログラム引
用処理システムに引渡すようにしている。しかし、上記
管理方式では、サブルーチンを一元管理し、オーバレイ
管理、メモリ管理。
9−60639号公報に示されているように、全てのプ
ログラム名をそれぞれの主入口名に対応させて、プログ
ラム名テーブルを設け、これにより副入口名しか知るこ
とができない場合でも、目的プログラムの呼出しを可能
にした方式が知られている。すなわち、プログラムライ
ブラリと、それを管理するライブラリ管理システムと、
プログラム引用処理システムとを設け、プログラム名テ
ーブルをライブラリ管理下にあるプログラムの全ての主
入口糸、副入口名を同一レベルで配列し、それぞれを主
入口糸に対応付ける。ライブラリ管理システムは、プロ
グラム引用処理システムからプログラムAのオープン要
求を受付けたとき、先ずプログラムテーブルを参照して
指定されたプログラム名を主入口糸に変換し、その主入
口糸によりライブラリ管理テーブルを検索し、要素プロ
グラムAにアクセスして主入口糸を復帰パラメータとし
て、要素プログラムAを含むプログラムをプログラム引
用処理システムに引渡すようにしている。しかし、上記
管理方式では、サブルーチンを一元管理し、オーバレイ
管理、メモリ管理。
リロケータ管理、およびネストコール管理を行う方式に
ついては、何も記載されていない。
ついては、何も記載されていない。
本発明の目的は、このような従来の問題を改善し、サブ
ルーチンブロック内のサブルーチンのオーバレイ管理、
メモリ管理、リロケータブル管理およびネストコール管
理を行うことにより、各プログラム内に存在するサブル
ーチン群を一切意識しないで利用できるサブルーチン管
理方式を提供することにある。
、〔発明の概要〕 上記目的を達成するため、本発明のサブルーチン管理方
式は、プログラムで使用される全てのサブルーチン群を
管理するサブルーチン管理モニタプログラムを備え、か
つサブルーチン群に対してサブルーチンIDおよびサブ
ルーチンブロックを定義して、該サブルーチンブロック
内でユニークなサブルーチンIDにより、上記管理モニ
タプログラムを介してサブルーチンブロック内またはサ
ブルーチンブロック間で該当サブルーチンを呼出し、移
動させ、かつ管理することに特徴がある。
ルーチンブロック内のサブルーチンのオーバレイ管理、
メモリ管理、リロケータブル管理およびネストコール管
理を行うことにより、各プログラム内に存在するサブル
ーチン群を一切意識しないで利用できるサブルーチン管
理方式を提供することにある。
、〔発明の概要〕 上記目的を達成するため、本発明のサブルーチン管理方
式は、プログラムで使用される全てのサブルーチン群を
管理するサブルーチン管理モニタプログラムを備え、か
つサブルーチン群に対してサブルーチンIDおよびサブ
ルーチンブロックを定義して、該サブルーチンブロック
内でユニークなサブルーチンIDにより、上記管理モニ
タプログラムを介してサブルーチンブロック内またはサ
ブルーチンブロック間で該当サブルーチンを呼出し、移
動させ、かつ管理することに特徴がある。
以下、本発明の実施例を、図面により詳細に説明する。
先ず、本発明の原理について、説明する。
第2図は、プログラム単位にサブルーチンを作成した場
合のサブルーチン構成の概念図である。第2図(A)(
B)において、1,3はそれぞれ独立したプログラム、
2,4はそれぞれのプログラムで制御されるサブルーチ
ン群である。プログラムl内のサブルーチン群2は、プ
ログラム1内で閉じたインタフェース仕様のため、プロ
グラム2への流用が困難である。また、プログラム1は
、サブルーチン群2のメモリ配置、オーバレイ構造等を
意識して制御する必要があり、プログラム1とサブルー
チン群2とのリンク作業に多大の時間を費している。例
えば、1回のリンクで、平均20時間、平均10回のリ
ンクが必要である。プログラム3とサブルーチン4の関
係についても、上述した事項と全く同じであって、他へ
の流用は難かしい。このように、プログラム単位で個々
にサブルーチン群を開発すると、インタフェースの不統
一により、他プログラムへの流用が困難である。また、
プログラムのモジュールとサブルーチン群との関係を特
に意識する必要があり、実行可能なオブジェクトプログ
ラムを作成する場合、そのリンク作業に多大な時間を費
している。そこで、本実施例では、統一したインタフェ
ース仕様により、簡単に他に流用できるサブルーチン管
理方式を実現する。
合のサブルーチン構成の概念図である。第2図(A)(
B)において、1,3はそれぞれ独立したプログラム、
2,4はそれぞれのプログラムで制御されるサブルーチ
ン群である。プログラムl内のサブルーチン群2は、プ
ログラム1内で閉じたインタフェース仕様のため、プロ
グラム2への流用が困難である。また、プログラム1は
、サブルーチン群2のメモリ配置、オーバレイ構造等を
意識して制御する必要があり、プログラム1とサブルー
チン群2とのリンク作業に多大の時間を費している。例
えば、1回のリンクで、平均20時間、平均10回のリ
ンクが必要である。プログラム3とサブルーチン4の関
係についても、上述した事項と全く同じであって、他へ
の流用は難かしい。このように、プログラム単位で個々
にサブルーチン群を開発すると、インタフェースの不統
一により、他プログラムへの流用が困難である。また、
プログラムのモジュールとサブルーチン群との関係を特
に意識する必要があり、実行可能なオブジェクトプログ
ラムを作成する場合、そのリンク作業に多大な時間を費
している。そこで、本実施例では、統一したインタフェ
ース仕様により、簡単に他に流用できるサブルーチン管
理方式を実現する。
第3図は、プログラム間で使用するサブルーチンを、部
品化された共通サブルーチンとして作成した場合のサブ
ルーチン構成の概念図である。
品化された共通サブルーチンとして作成した場合のサブ
ルーチン構成の概念図である。
第3図(A)(B)において、lおよび5はそれぞれ独
立したプログラム、6はサブルーチン管理モニタ、7は
単一または複数のサブルーチン、8はサブルーチンブロ
ックである。本実施例では、各サブルーチン7に対応し
て、システムでユニーク(唯一)なサブルーチンブロッ
ク番号を付与する。
立したプログラム、6はサブルーチン管理モニタ、7は
単一または複数のサブルーチン、8はサブルーチンブロ
ックである。本実施例では、各サブルーチン7に対応し
て、システムでユニーク(唯一)なサブルーチンブロッ
ク番号を付与する。
第3図では、サブルーチンブロック8は太線で囲まれた
部分により示されている。サブルーチンブロック番号ご
とに、単一ないし複数のサブルーチン7が存在し、それ
ぞれのサブルーチン7はサブルーチンブロック8内で唯
一のサブルーチン番号が付与される。サブルーチン番号
およびサブルーチンブロック番号を合せて、サブルーチ
ンIDという。
部分により示されている。サブルーチンブロック番号ご
とに、単一ないし複数のサブルーチン7が存在し、それ
ぞれのサブルーチン7はサブルーチンブロック8内で唯
一のサブルーチン番号が付与される。サブルーチン番号
およびサブルーチンブロック番号を合せて、サブルーチ
ンIDという。
第3図において、プログラム1または5は、該当のサブ
ルーチンIDを指定し、サブルーチン管理モニタ6を介
して、サブルーチンブロック8内の該当サブルーチン7
を呼出すことができる。
ルーチンIDを指定し、サブルーチン管理モニタ6を介
して、サブルーチンブロック8内の該当サブルーチン7
を呼出すことができる。
プログラム1または5は、呼出す該当サブルーチンがメ
モリ上に存在するか、あるいはどのエリアに格納されて
いるか、または該当サブルーチンからさらに他のサブル
ーチンを呼出す必要があるか等は、−切意識しなくても
よい。上記に示すような管理は、全てサブルーチン管理
モニタ6が行う。すなわち、サブルーチン管理モニタ6
により。
モリ上に存在するか、あるいはどのエリアに格納されて
いるか、または該当サブルーチンからさらに他のサブル
ーチンを呼出す必要があるか等は、−切意識しなくても
よい。上記に示すような管理は、全てサブルーチン管理
モニタ6が行う。すなわち、サブルーチン管理モニタ6
により。
サブルーチンのオーバレイ管理、メモリ管理、リロケー
タブル管理、およびネストコール管理を行う。
タブル管理、およびネストコール管理を行う。
第4図は、第3図におけるサブルーチンIDの構造図で
ある。サブルーチン10は、階層化された2バイトで構
成されており、101はサブルーチン属性(2ビツト)
、102はサブルーチンブロック番号(6ビツト)、1
03はサブルーチン番号(1バイト)を示す。
ある。サブルーチン10は、階層化された2バイトで構
成されており、101はサブルーチン属性(2ビツト)
、102はサブルーチンブロック番号(6ビツト)、1
03はサブルーチン番号(1バイト)を示す。
サブルーチン属性101は、サブルーチンブロック内で
単一または複数のサブルーチンで構成されているか否か
を示す情報である。また、サブルーチンブロック番号1
02は、単一または複数サブルーチンが存在するブロッ
クの番号を示し、システムでユニークな値である。サブ
ルーチン番号10.3は、サブルーチンブロック内に存
在するサブルーチンの番号を示し、サブルーチンブロッ
ク内でユニークな値である。
単一または複数のサブルーチンで構成されているか否か
を示す情報である。また、サブルーチンブロック番号1
02は、単一または複数サブルーチンが存在するブロッ
クの番号を示し、システムでユニークな値である。サブ
ルーチン番号10.3は、サブルーチンブロック内に存
在するサブルーチンの番号を示し、サブルーチンブロッ
ク内でユニークな値である。
第5図は、本発明で使用するサブルーチンブロックテー
ブルの構成図である。このテーブルは、サブルーチンブ
ロック内の先頭からセットされる。
ブルの構成図である。このテーブルは、サブルーチンブ
ロック内の先頭からセットされる。
ただし、このテーブルは、サブルーチン属性情報101
がサブルーチンブロック内で複数のサブルーチン構成を
示す場合に存在する。
がサブルーチンブロック内で複数のサブルーチン構成を
示す場合に存在する。
第5図において、31はサブルーチンブロックテーブル
ID、32はサブルーチンID、33はサブルーチンI
Dに対応するサブルーチンが存在する開始相対アドレス
、34はこのテーブルの終了情報である。なお、サブル
ーチン管理モニタ6は、このテーブル情報により、外部
記憶装置(フレキシブルディスクまたはハードディスク
)から主記憶装置の空エリアにサブルーチンをロードす
るか、またはロードして、サブルーチンに制御を移す。
ID、32はサブルーチンID、33はサブルーチンI
Dに対応するサブルーチンが存在する開始相対アドレス
、34はこのテーブルの終了情報である。なお、サブル
ーチン管理モニタ6は、このテーブル情報により、外部
記憶装置(フレキシブルディスクまたはハードディスク
)から主記憶装置の空エリアにサブルーチンをロードす
るか、またはロードして、サブルーチンに制御を移す。
第1図は、本発明の一実施例を示すサブルーチン管理の
処理フローチャートである。
処理フローチャートである。
先ず、パラメータ内より該当サブルーチンIDを得て(
ステップ11)、これが既にロードされているか否か調
べ(ステップ12)、ロードされていなければ、空エリ
アを調べて(ステップ13)、ロードアドレスを求め(
ステップ14)、外部記憶装置より3亥当サブルーチン
をロードする(ステップ15)。なお、空エリアがなけ
れば、エラーコードをセットしくステップ19)、呼出
し元にリターンする。次に、サブルーチン属性を調べて
(ステップI6)、複数のサブルーチンが存在すれば。
ステップ11)、これが既にロードされているか否か調
べ(ステップ12)、ロードされていなければ、空エリ
アを調べて(ステップ13)、ロードアドレスを求め(
ステップ14)、外部記憶装置より3亥当サブルーチン
をロードする(ステップ15)。なお、空エリアがなけ
れば、エラーコードをセットしくステップ19)、呼出
し元にリターンする。次に、サブルーチン属性を調べて
(ステップI6)、複数のサブルーチンが存在すれば。
サブルーチンブロックテーブル内に該当サブルーチンI
Dがあるか否か調べる(ステップ17)。なければ、エ
ラーフードをセットしくステップ19)、あれば該当サ
ブルーチンIDの先頭アドレスを求める(ステップ20
)。また、サブルーチン属性が単一であれば、該当サブ
ルーチンに制御を移しくステップ21)、該当サブルー
チンからのリターンがあれば(ステップ22)、正常終
了情報をセットしくステップ23)、呼出し元にリター
ンする。
Dがあるか否か調べる(ステップ17)。なければ、エ
ラーフードをセットしくステップ19)、あれば該当サ
ブルーチンIDの先頭アドレスを求める(ステップ20
)。また、サブルーチン属性が単一であれば、該当サブ
ルーチンに制御を移しくステップ21)、該当サブルー
チンからのリターンがあれば(ステップ22)、正常終
了情報をセットしくステップ23)、呼出し元にリター
ンする。
このようにして、本実施例においては、プログラムで使
用されるサブルーチン群は全てサブルーチン管理モニタ
により管理され、複数のメモリに重複して格納される場
合のオーバレイ管理、メモリ内のどのエリアに格納され
ているか等のメモリ管理、メモリと外部記憶との間で移
動する場合のりロケータプル管理、あるいは該当サブル
ーチンからさらに他のサブルーチンを呼出す場合のネス
トコール管理は全て管理モニタが管理するので。
用されるサブルーチン群は全てサブルーチン管理モニタ
により管理され、複数のメモリに重複して格納される場
合のオーバレイ管理、メモリ内のどのエリアに格納され
ているか等のメモリ管理、メモリと外部記憶との間で移
動する場合のりロケータプル管理、あるいは該当サブル
ーチンからさらに他のサブルーチンを呼出す場合のネス
トコール管理は全て管理モニタが管理するので。
プログラム構造の簡略化が可能になる。
以上説明したように、本発明によれば、プログラムで使
用されるサブルーチン群は全て管理モ二タにより管理さ
れるので、プログラム構造が簡略化されるとともに、こ
れにより部品化されたサブルーチンの流用が簡単となり
、プログラム開発時の工数低減、および品質確保を図る
ことが可能である。
用されるサブルーチン群は全て管理モ二タにより管理さ
れるので、プログラム構造が簡略化されるとともに、こ
れにより部品化されたサブルーチンの流用が簡単となり
、プログラム開発時の工数低減、および品質確保を図る
ことが可能である。
第1図は本発明の一実施例を示すサブルーチン管理方式
の処理フローチャート、第2図はプログラム単位に作成
した場合のサブルーチンの構成図、第3図は共通サブル
ーチンとして作成した場合のサブルーチンの構成図、第
4図はサブルーチン■Dの構成図、第5図は本発明のサ
ブルーチンブロックテーブルの構成図である。 1.3.5ニブログラム、2.4:サブルーチン、6:
サブルーチン管理モニタ、7:サブルーチン、8:サブ
ルーチンブロック、101:サブルーチンID、102
:サブルーチンブロック番号、103:サブルーチン番
号。 第 1 図 第 2 図 (A) (T3)第
3 図 第 牛 図
の処理フローチャート、第2図はプログラム単位に作成
した場合のサブルーチンの構成図、第3図は共通サブル
ーチンとして作成した場合のサブルーチンの構成図、第
4図はサブルーチン■Dの構成図、第5図は本発明のサ
ブルーチンブロックテーブルの構成図である。 1.3.5ニブログラム、2.4:サブルーチン、6:
サブルーチン管理モニタ、7:サブルーチン、8:サブ
ルーチンブロック、101:サブルーチンID、102
:サブルーチンブロック番号、103:サブルーチン番
号。 第 1 図 第 2 図 (A) (T3)第
3 図 第 牛 図
Claims (1)
- (1)プログラムで使用される全てのサブルーチン群を
管理するサブルーチン管理モニタプログラムを備え、か
つサブルーチン群に対してサブルーチンIDおよびサブ
ルーチンブロックを定義して、該サブルーチンブロック
内でユニークなサブルーチンIDにより、上記管理モニ
タプログラムを介してサブルーチンブロック内またはサ
ブルーチンブロック間で該当サブルーチンを呼出し、移
動させ、かつ管理することを特徴とするサブルーチン管
理方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1194186A JPS62171033A (ja) | 1986-01-24 | 1986-01-24 | サブル−チン管理方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1194186A JPS62171033A (ja) | 1986-01-24 | 1986-01-24 | サブル−チン管理方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS62171033A true JPS62171033A (ja) | 1987-07-28 |
Family
ID=11791671
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1194186A Pending JPS62171033A (ja) | 1986-01-24 | 1986-01-24 | サブル−チン管理方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS62171033A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08241211A (ja) * | 1995-03-06 | 1996-09-17 | Nec Corp | システム共有機能実行方式 |
JP2570238B2 (ja) * | 1990-03-06 | 1997-01-08 | オムロン株式会社 | プログラム作成システム,同システムを構成するプログラム作成装置およびプログラム作成方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5960639A (ja) * | 1982-09-30 | 1984-04-06 | Fujitsu Ltd | プログラム管理方式 |
-
1986
- 1986-01-24 JP JP1194186A patent/JPS62171033A/ja active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5960639A (ja) * | 1982-09-30 | 1984-04-06 | Fujitsu Ltd | プログラム管理方式 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2570238B2 (ja) * | 1990-03-06 | 1997-01-08 | オムロン株式会社 | プログラム作成システム,同システムを構成するプログラム作成装置およびプログラム作成方法 |
JPH08241211A (ja) * | 1995-03-06 | 1996-09-17 | Nec Corp | システム共有機能実行方式 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5410703A (en) | System for changing software during computer operation | |
US6526441B2 (en) | Input/output device information management system for multi-computer system | |
JP3875999B2 (ja) | 総称データ交換環境において動的データ参照を提供するシステムと方法 | |
DE69131745T2 (de) | Verfahren und Gerät zum Verschaffen einer Kundenschnittstelle zu einem objektorientierten Aufruf eines Anwendungsprogramms | |
US4631664A (en) | Partnership data base management system and method | |
JPH02201653A (ja) | アプリケーシヨン・プログラム・インターフエース方法 | |
JPH02181242A (ja) | 高信頼性データベース管理装置 | |
CN1989500A (zh) | 文件系统串行化重新初始化装置、方法和系统 | |
JPH0863342A (ja) | プログラム管理方法および装置 | |
JPH0622015B2 (ja) | データ処理システムの制御方法 | |
JPS62171033A (ja) | サブル−チン管理方式 | |
JPH0256666A (ja) | ジョブネットワーク一元管理システム生成情報動的更新方式 | |
JPH04107654A (ja) | 分散データ制御方式 | |
JP3298904B2 (ja) | 付加サービス実行プログラム管理方式 | |
JP3693311B2 (ja) | 分散処理システム | |
KR100284491B1 (ko) | 원격 교환기 시스템용 데이터베이스 구축방법 | |
US5479623A (en) | Starting system for multiple resident processes under DOS | |
JP2841363B2 (ja) | 外部モジュール獲得方式 | |
JP3113498B2 (ja) | システム構成管理装置 | |
JP3608206B2 (ja) | 構内自動交換機 | |
JPH04260141A (ja) | データ共有処理装置 | |
JPS59180736A (ja) | 計算機システムにおけるプログラムのリンケージ方式 | |
JPH04339492A (ja) | 構内自動交換機 | |
JPS63148366A (ja) | 分散処理制御方法 | |
JP2000235496A (ja) | コンパイル処理方法、コンパイル処理装置、記録媒体およびクライアントサーバシステム |