(57)【要約】【課題】複数のプログラムが連携して動作するようなプログラムの設計において、プログラムの連携を制御する部分に関する個々のプログラムの生産効率が向上し、他人の設計したプログラムでも効率の良いメンテナンスができるようにする。【解決手段】複数のプログラム夫々が動作状態にあるか又は非動作状態にあるかを示す動作状態をパターン情報としてプログラム動作状態テーブル１４に予め設定しておき、現在実行中のプログラムはそのパターン情報を指示することにより複数のプログラム夫々の実行状態を指示し、処理種別情報によってどういう処理を行うかの処理内容を指示する。指示されたプログラム動作状態管理部１１は処理種別情報とパターン情報を元に、現在の各プログラムの動作状態を判別して複数のプログラムの実行を制御する。【選択図】        図２
2004310226.tif 000002
【特許請求の範囲】
【請求項１】
複数のプログラムからなるプログラムの実行制御処理を前記複数のプログラムの現在の実行状態に基づいて行う複数プログラムの実行制御方法において、
前記複数のプログラムのうち現在実行中のプログラムから実行処理内容を示す処理種別情報と実行対象プログラム情報とを含む実行指令情報を受け取る第１のステップと、
前記実行指令情報を受け取った際に、前記複数のプログラム夫々の動作状態を取得する第２のステップと、
前記複数のプログラム夫々が実行し得る複数の動作状態に対応してパターン化されて予め設定されたパターン情報から前記実行対象プログラム情報に該当するパターン情報を取得する第３のステップと、
前記第３のステップにて取得したパターン情報で表されるプログラムの動作状態と前記第２のステップで取得したプログラムの動作状態とを対比して前記処理種別情報の種類に応じて行うべき前記実行処理内容を判別する第４のステップと、
第４のステップの判別結果の実行処理内容に基づいて、前記複数のプログラムの実行制御を行う第５のステップと、
を備えることを特徴とする複数プログラムの実行制御方法。
【請求項２】
前記処理種別情報は、前記複数のプログラム夫々の動作状態の確認処理を指示する指示情報であることを特徴とする請求項１記載の複数プログラムの実行制御方法。
【請求項３】
前記処理種別情報は、前記複数のプログラムのうち実行対象プログラムの起動処理を指示する指示情報であることを特徴とする請求項１記載の複数プログラムの実行制御方法。
【請求項４】
前記処理種別情報は、前記複数のプログラムのうち実行対象プログラムの終了処理を指示する指示情報であることを特徴とする請求項１記載の複数プログラムの実行制御方法。
【請求項５】
前記処理種別情報は、前記実行対象プログラム情報に従って複数のプログラムのうち実行対象プログラムの起動処理あるいは実行対象プログラムの終了処理を指示する指示情報であることを特徴とする請求項１記載の複数プログラムの実行制御方法。
【請求項６】
前記パターン情報は、予め設定された前記複数のプログラム夫々の動作状態の組合せを示す複数のパターン情報であることを特徴とする請求項１記載の複数プログラムの実行制御方法。
【請求項７】
前記複数のパターンの夫々は、プログラムの動作状態又は非動作状態を示すフラグにより前記複数のプログラム夫々の動作状態を表すことを特徴とする請求項６記載の複数プログラムの実行制御方法。
【請求項８】
前記第４のステップにおける前記判別は、前記パターン情報に設定された前記複数のプログラムの夫々の動作状態又は非動作状態を示すフラグの値と前記複数のプログラムの現在の動作状態をフラグに対応させて表した値とを対比して、前記複数のプログラム個別に前記フラグの値と前記フラグに対応させて表した値との組合せによる場合別に夫々判別を行うことを特徴とする請求項１記載の複数プログラムの実行制御方法。
【請求項９】
複数のプログラムからなるプログラムの実行制御処理を前記複数のプログラムの現在の実行状態に基づいてコンピュータに行わせるためのプログラムであって、
前記複数のプログラムのうち現在実行中のプログラムから実行処理内容を示す処理種別情報と実行対象プログラム情報とを含む実行指令情報を受け取る第１の処理と、
前記実行指令情報を受け取った際に、前記複数のプログラム夫々の動作状態を取得する第２の処理と、
前記複数のプログラム夫々が実行し得る複数の動作状態に対応してパターン化されて予め設定されたパターン情報から前記実行対象プログラム情報に該当するパターン情報を取得する第３の処理と、
前記第３の処理にて取得したパターン情報で表されるプログラムの動作状態と前記第２の処理で取得したプログラムの動作状態とを対比して前記処理種別情報の種類に応じて行うべき前記実行処理内容を判別する第４の処理と、
第４の処理の判別結果の前記実行処理内容に基づいて、前記複数のプログラム夫々の実行制御を行う第５の処理と、
をコンピュータに行わせるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明が属する技術分野】
本発明は、複数プログラムの実行制御方法およびそのプログラムに関する。
【０００２】
【従来の技術】
プログラムによって処理を行わせる場合、簡単な処理であれば１つのプログラムを作成すればよいが、プログラム中に多くの機能を持たせる様な場合は処理が複雑になるので複数のプログラムで各機能を分担させ、それぞれのプログラム間を遷移させて処理を実行する様に構成することが行われている。
【０００３】
図１４は従来の複数のプログラム間を遷移させてプログラムを実行させる際における機能ブロック図を示すもので、タスク管理部１０と３つのプログラムＰＲＯＧ１、ＰＲＯＧ２、ＰＲＯＧ３とが連携して１つの業務を実行する場合の構成を示している。図１４において、夫々のプログラムＰＲＯＧ１、ＰＲＯＧ２、ＰＲＯＧ３は、他のプログラムが動作状態又は非動作状態いずれの状態にあるかの動作状態を確認する機能及び他のプログラムの動作状態を変更する機能を有する状態確認・状態制御部５０、５１、５２と、そのプログラム固有の機能を実行する機能部５０Ａ、５１Ａ、５２Ａとから構成されている。夫々のプログラムＰＲＯＧ１、ＰＲＯＧ２、ＰＲＯＧ３は業務の仕様に合わせ、例えば破線の矢印で示すように実行の順序を任意に設計することができる。
【０００４】
ここで、例えば人事システムの業務プログラムを例にして従来例を説明する。この人事システムの業務プログラムは図１５に示すように、プログラムＰＲＯＧ１の人事システムメニュー画面Ａ、プログラムＰＲＯＧ２の個人情報メニュー画面Ｂ、プログラムＰＲＯＧ３の社員情報メニュー画面Ｃを有し、表示装置５に表示される夫々の画面により処理が分岐している。またプログラムＰＲＯＧ２およびプログラムＰＲＯＧ３ではさらに処理項目を選択できるようになっている。まずプログラムＰＲＯＧ１の人事システムメニュー画面Ａから入力装置３によりプログラムＰＲＯＧ２の個人情報メニュー画面Ｂが選択され、次に個人情報メニュー画面Ｂの処理項目が選択された後、選択された処理が実行される。選択された処理項目が実行された後に、終了操作によりプログラムＰＲＯＧ１の人事システムメニュー画面Ａに戻る。プログラムＰＲＯＧ１の人事システムメニュー画面Ａから今度はプログラムＰＲＯＧ３の社員情報メニュー画面Ｃが選択され、次に社員情報メニュー画面Ｃの処理項目が選択された後、選択された処理が実行される。選択された処理項目が実行された後に、終了操作によりプログラムＰＲＯＧ１の人事システムメニュー画面Ａに戻る。更に、プログラムＰＲＯＧ２の個人情報メニュー画面Ｂにおいては社員情報メニュー画面Ｃに遷移するための表示釦ｂが、プログラムＰＲＯＧ３の社員情報メニュー画面Ｃにおいては個人情報メニュー画面Ｂに遷移するための表示釦ｃが表示される。
【０００５】
上記各プログラム間の遷移をタイムチャートで示すと図１６のようになる。各プログラムからの起動または終了の開始指令を実線の矢印で表す。各プログラムの動作状態の確認処理および起動または終了処理は、実行中のプログラムの指令に従ってタスク管理部１０が行う。タイムチャートはプログラムＰＲＯＧ１が起動している状態から開始する例を示している。プログラムＰＲＯＧ１においてプログラムＰＲＯＧ２の処理が選択されるとプログラムＰＲＯＧ２が起動（１）される。起動されたプログラムＰＲＯＧ２は、まずプログラムＰＲＯＧ１及びＰＲＯＧ３の動作状態をタスク管理部１０に確認した後に、タスク管理部１０にプログラムＰＲＯＧ１の終了（２）指令を行いプログラムＰＲＯＧ１を終了させる。このとき、プログラムＰＲＯＧ３が動作状態にある場合はプログラムＰＲＯＧ３も終了させる。次に、プログラムＰＲＯＧ２において選択された処理を実行する。終了操作によりプログラムＰＲＯＧ２の選択された処理が終了するとプログラムＰＲＯＧ１を起動（３）する。起動されたプログラムＰＲＯＧ１はプログラムＰＲＯＧ２及びＰＲＯＧ３の動作状態を確認した後に、プログラムＰＲＯＧ２を終了（４）させる。このとき、プログラムＰＲＯＧ３が動作状態にある場合はプログラムＰＲＯＧ３も終了させる。プログラムＰＲＯＧ１が動作している状態で今度はプログラムＰＲＯＧ３が選択されるとプログラムＰＲＯＧ３を起動（５）する。起動されたプログラムＰＲＯＧ３は上述したのと同様にプログラムＰＲＯＧ１及びＰＲＯＧ２の動作状態を確認し、プログラムＰＲＯＧ１を終了（６）させる。このとき、プログラムＰＲＯＧ２が動作状態にある場合はプログラムＰＲＯＧ２も終了させる。次に、プログラムＰＲＯＧ３において選択された処理を実行する。終了操作によりプログラムＰＲＯＧ３の処理が終了するとプログラムＰＲＯＧ１を起動（７）する。上述したように１つのプログラムから他のプログラムに遷移するような場合は、遷移先のプログラムが、まず、他のプログラムの動作状態をタスク管理部１０に確認し、遷移元のプログラム及び他の動作状態にあるプログラムの動作を終了させる処理をタスク管理部１０に行わせた後に、遷移先のプログラムの機能を実行させるようにして動作の整合性を保つようにしている。
【０００６】
このように複数のプログラムが連携して動作するようにプログラムの設計をする時は、プログラム毎にそのプログラム自身の動作状態だけでなく他の連携するプログラムの動作状態をも考慮してプログラムの設計を行っている。各プログラムにおける他のプログラムとの連携に関する部分は、各々のプログラム設計者がオペレーティングシステムのマニュアルおよび解説書（例えば、非特許文献１を参照。）を熟読し充分に理解した上で、オペレーティングシステムのＡＰＩに従って試行錯誤を繰り返しながら最適と思う方法で設計している。
【０００７】
【非特許文献１】
Ｄｏｕｇｌａｓ  Ｂｏｌｉｎｇ著、（株）ドキュメントシステム訳、「Ｍｉｃｒｏｓｏｆｔ  Ｐｒｅｓｓ  プログラミング  Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）  ＣＥ  マイクロソフト公式解説書」、日経ＢＰソフトプレス、１９９９年３月２２日、ｐ．１−１０２４
【０００８】
【発明が解決しようとする課題】
このように、複数のプログラムが連携して動作するようにプログラムの設計をする場合は、複数のプログラム設計者が分担してそれぞれのプログラムを設計するのが一般的である。そうするとプログラム設計者の技術レベルや個性によってプログラムの記述方法が異なりがちであり、個人差が出るためプログラムの生産効率が悪く、さらに他の人が設計したプログラムを短時間で理解しづらいために、プログラムのメンテナンスの効率も悪いという課題があった。
【０００９】
本発明は上記実情に鑑みてなされたもので、複数のプログラムが連携して動作するように各プログラムの設計をする場合に、プログラムの生産効率を向上させると共にプログラムのメンテナンスの効率も向上させる複数プログラムの実行制御方法およびそのプログラムを提供することを目的とする。
【００１０】
【課題を解決するための手段】
本発明は上記目的を達成するために、複数のプログラムからなるプログラムの実行制御処理を前記複数のプログラムの現在の実行状態に基づいて行う複数プログラムの実行制御方法において、前記複数のプログラムのうち現在実行中のプログラムから実行処理内容を示す処理種別情報と実行対象プログラム情報とを含む実行指令情報を受け取る第１のステップと、前記実行指令情報を受け取った際に、前記複数のプログラム夫々の動作状態を取得する第２のステップと、前記複数のプログラム夫々が実行し得る複数の動作状態に対応してパターン化されて予め設定されたパターン情報から前記実行対象プログラム情報に該当するパターン情報を取得する第３のステップと、前記第３のステップにて取得したパターン情報で表されるプログラムの動作状態と前記第２のステップで取得したプログラムの動作状態とを対比して前記処理種別情報の種類に応じて行うべき前記実行処理内容を判別する第４のステップと、第４のステップの判別結果の実行処理内容に基づいて、前記複数のプログラムの実行制御を行う第５のステップと、を備えることを特徴とする。
【００１１】
このような構成によれば、予め複数のプログラムが実行し得る動作状態を示すパターン情報をプログラム設計者が設定しておけば、現在実行中のプログラムはそのパターン情報によってどのプログラムの実行状態をどうすべきかという実行対象プログラム情報と、処理種別情報によってどういう処理を行うかの処理内容が指示できる。そして実行制御プログラムは指示された処理種別情報と実行対象プログラム情報から、行うべき処理内容を判別して他のプログラムの実行を制御できる。その結果、プログラム設計者はパターン情報を見ることにより複数のプログラムの動作状態が確認できるようになり、また、プログラム夫々が統一されたインターフェスにより実行の連携を行うことができるようになるので、各プログラムの実行制御に関する設計効率が向上し、メンテナンス効率も向上するという効果が得られる。
【００１２】
また、本発明では前記処理種別情報は、前記複数のプログラム夫々の動作状態の確認処理を指示する指示情報であることを特徴とする。
こうすることにより、複数のプログラム夫々の現在の動作状態を確認することができるようになる。
【００１３】
更に、本発明では前記処理種別情報は、前記複数のプログラムのうち実行対象プログラムの起動処理を指示する指示情報であることを特徴とする。
こうすることにより、複数のプログラムのうち実行対象プログラムを起動することができる。
【００１４】
更に、本発明では前記処理種別情報は、前記複数のプログラムのうち実行対象プログラムの終了処理を指示する指示情報であることを特徴とする。
こうすることにより、複数のプログラムのうち実行対象プログラムを終了させることができる。
【００１５】
更に、本発明では前記処理種別情報は、前記実行対象プログラム情報に従って前記複数のプログラムのうち実行対象プログラムの起動処理あるいは実行対象プログラムの終了処理を指示する指示情報であることを特徴とする。
こうすることにより、複数のプログラムのうち実行対象プログラムを起動または終了させることができる。
【００１６】
更に、本発明では前記パターン情報は、予め設定された前記複数のプログラム夫々の動作状態の組合せを示す複数のパターン情報であることを特徴とする。
こうすることにより、複数のプログラム夫々の動作状態の組合せであるパターン情報を複数設定することができる。
【００１７】
更に、前記複数のパターンの夫々は、プログラムの動作状態又は非動作状態を示すフラグにより前記複数のプログラム夫々の動作状態を表すことを特徴とする。
こうすることにより、プログラムの動作状態又は非動作状態を示すフラグにより複数のプログラム夫々の動作状態を表すパターン情報を設定することができる。
【００１８】
更に、また、本発明では前記第４のステップにおける前記判別は、前記パターン情報に設定された前記複数のプログラムの夫々の動作状態又は非動作状態を示すフラグの値と前記複数のプログラムの現在の動作状態をフラグに対応させて表した値とを対比して、前記複数のプログラム個別に前記フラグの値と前記フラグに対応させて表した値との組合せによる場合別に夫々判別を行うことを特徴とする。
こうすることにより、パターン情報に設定された動作状態又は非動作状態を示すフラグの値と現在の動作状態をフラグに対応させて表した値との組合せによる場合別に夫々判別を行えるので、プログラム個別にこの組合せによる場合別の異なる実行制御をすることができる。
【００１９】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照しながら説明する。
図１は、本発明の実施の形態に係わるパーソナルコンピュータ１（以下、コンピュータ１と略称する。）の回路構成図である。コンピュータ１は、ＣＰＵ２、入力装置３、ＲＡＭ４、表示装置５、記憶装置６、記憶媒体７及び通信装置８により構成されており、記憶媒体７を除く各部はバス９に接続されている。
【００２０】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２は、記憶装置６に記憶されているシステムプログラム及び各種アプリケーションプログラムの中から指定されたアプリケーションプログラムをＲＡＭ４内の図示しないプログラム格納領域に格納し、入力装置３から入力される各種指示あるいはデータをＲＡＭ４内に格納し、この入力指示及び入力データに応じてＲＡＭ４内に格納したアプリケーションプログラムに従って各種処理を実行し、その処理結果データをＲＡＭ４内に格納するとともに、表示装置５に表示する。また、ＲＡＭ４に格納した処理結果データのうち、電源オフとなっても消去しないデータを記憶装置６内に保存する。
【００２１】
入力装置３は、キーボード及びマウス等のポインティングデバイスを含み、キーボードにおいて押下されたキーの押下信号やマウスの位置信号をＣＰＵ２に出力する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）４は、記憶装置６から転送されＣＰＵ２により処理されるプログラムや後述する各種データを一時的に格納するメモリエリアを形成する。表示装置５は、液晶表示パネル等により構成され、ＲＡＭ４に記憶されたデータをメニュー画面や処理結果の画面として表示する。記憶装置６は、記憶媒体７を有しており、この記憶媒体７は磁気的、光学的記録媒体、若しくは不揮発性の半導体メモリで構成されている。この記憶媒体７は記憶装置６に固定的に設けたもの、若しくは着脱自在に装着するものであり、この記憶媒体７には上記システムプログラム及び各種アプリケーションプログラム、通信処理プログラム等が記憶されていると共に各処理プログラムで処理されたデータ等を記憶する。通信装置８は、通信回線等を介して他の機器からデータを受信したり、他の機器へデータを送信したりする通信処理等をＣＰＵ２の制御により通信プロトコルを実行することにより行う。
【００２２】
次に、コンピュータ１におけるプログラム実行制御の動作を図２の機能ブロック図を参照して説明する。ここではタスク管理部１０とプログラム動作状態管理部１１と業務プログラムを構成する３つのプログラムＰＲＯＧ１、ＰＲＯＧ２、ＰＲＯＧ３とが連携して１つの業務プログラム、例えば会社の人事情報の管理等に用いられる人事システムの業務プログラムを実行する場合の構成を示している。夫々のプログラムは他のプログラムが動作状態又は非動作状態いずれの状態にあるかの動作状態を確認する機能及び他のプログラムの動作状態を変更する機能を有する状態確認・状態制御部１７、１８、１９と、そのプログラム固有の機能を実行する機能部１７Ａ、１８Ａ、１９Ａとから構成されている。
【００２３】
プログラム動作状態管理部１１は詳細を後述する動作状態確認部１２と動作状態制御部１３とで構成されており、プログラム動作状態テーブル１４を参照して処理を行っている。即ち、プログラム動作状態テーブル１４には、業務プログラム毎にその業務プログラムを構成する各プログラムが動作状態又は非動作状態いずれの状態にあるかの動作状態を示す動作パターンが記憶されているテーブルである。図５はプログラム動作状態テーブル１４に記憶された前記人事システムの業務プログラムを構成する３つのプログラムＰＲＯＧ１、ＰＲＯＧ２、ＰＲＯＧ３の動作パターンの例である。各プログラム毎の動作状態を示すデータを「１」、又は非動作状態を示すデータを「０」とし、この「１」及び「０」の組合せの列を動作パターンｓ１乃至ｓ８として夫々設定する。即ち、動作パターンｓ１の場合は、プログラムＰＲＯＧ１、ＰＲＯＧ２、ＰＲＯＧ３のいずれもが非動作状態を示し、動作パターンｓ２の場合は、プログラムＰＲＯＧ１のみが動作状態で他のプログラムＰＲＯＧ２及びＰＲＯＧ３は非動作状態を示している。
【００２４】
図６は図５で示したプログラム動作状態テーブル１４の動作パターンデータをＲＡＭ４に格納した場合のデータ内容を示している。先頭の業務プログラム名メモリ２０は業務プログラム名を、動作パターンメモリ２１は動作パターンを、プログラム名メモリ２２はプログラム名を、状態値メモリ２３はプログラム毎の動作状態（値：「１」）又は非動作状態（値：「０」）を示す状態値を夫々格納している。
【００２５】
また、動作状態確認部１２は、各プログラムの現在の動作状態、非動作状態を示す状態値データを記憶するプログラム状態メモリｍ１５を有している。このプログラム状態メモリｍ１５には、１番目のメモリ３０にプログラムＰＲＯＧ１の状態値が記憶され、２番目のメモリ３１にプログラムＰＲＯＧ２の状態値、３番目のメモリ３２にプログラムＰＲＯＧ３の状態値が記憶される。この人事システムの例ではプログラムの数を３本としたが、業務プログラムを構成するプログラムの数に応じて状態値を記憶するメモリが設けられるもので、例えばプログラムの数がｎ本であればメモリ３３ｎが設けられる。動作状態制御部１３はプログラム動作状態管理部１１における全体の制御を行っており、現在実行中のプログラムの次に動作させるべきプログラムの動作パターンを記憶するプログラム状態引数メモリｍａ１６が設けられている。このプログラム状態引数メモリｍａ１６の構成はプログラム状態メモリｍ１５と同様に構成されており、１番目のプログラムＰＲＯＧ１の状態値３４乃至ｎ番目のプログラムの状態値３７ｎを参照して処理を行っている。
【００２６】
図８は、各プログラムＰＲＯＧ１、ＰＲＯＧ２、ＰＲＯＧ３の状態確認・状態制御部１７、１８、１９が、現在実行中のプログラムから次のプログラムに遷移する際にプログラム動作状態管理部１１へ送信する動作要求フォーマットｆを示している。この動作要求フォーマットｆは、プログラム動作状態管理部１１で処理してもらいたい情報、即ち、処理種別データを記憶するｍｏｄｅメモリ４０と、処理をする業務プログラム指定するａｐメモリ４１と、このａｐメモリ４１で指定された業務プログラムにおける各プログラムの動作パターンを示すｍａメモリ４２とから構成されている。
【００２７】
例えば上記人事システムのプログラムにおいて、プログラムＰＲＯＧ１の実行処理からプログラムＰＲＯＧ２に実行を遷移させる場合には、処理種別データを示すｍｏｄｅメモリ４０の値を「１」（プログラムの起動）、業務プログラムの名称を示すａｐメモリ４１の値を「人事システムのプログラムを示す値」、動作パターンを示すｍａメモリ４２の値を「ｓ３」にセットして動作要求を送信する。プログラム動作状態管理部１１は、動作パターンを示すｍａメモリ４２の値「ｓ３」を用いて、図６に示したＲＡＭ４の動作パターンデータを検索し、「ｓ３」の場合の各プログラムＰＲＯＧ１、ＰＲＯＧ２、ＰＲＯＧ３の動作状態、非動作状態を確認するための制御指令をタスク管理部１０に送信して、受信した確認結果を判別し、プログラムＰＲＯＧ２の「起動」の制御指令をタスク管理部１０へ送信する。タスク管理部１０は制御指令に従ってプログラムＰＲＯＧ２を起動させる。上述したように、１つの動作要求により複数のプログラムの動作状態の確認と、指定したプログラムの起動処理が行われる。
【００２８】
次に、本発明のプログラム連携の手順を示すタイムチャートを図４を参照して説明する。このタイムチャートで示す動作内容は図１６に示す従来例のタイムチャートと対応している。各プログラムからのプログラム動作状態管理部１１に対する図８の動作要求フォーマットｆで指示する動作要求を破線の矢印で表わし、プログラム動作状態管理部１１が行う起動または終了の開始指令を実線の矢印で表す。各プログラムの動作状態の確認および起動または終了の処理は、現在実行中のプログラムの動作要求をプログラム動作状態管理部１１がタスク管理部１０への指令に置き換え、その指令に応える処理をタスク管理部１０が行うことで実現される。
【００２９】
タイムチャートはプログラムＰＲＯＧ１が起動している状態から開始する。図３に示す人事システムメニュー画面Ａが表示されている。ここで１の個人情報が選択されると動作要求（Ａ）を行いプログラムＰＲＯＧ２を起動（１）する。起動されたプログラムＰＲＯＧ２は個人情報メニュー画面Ｂを表示した後プログラムＰＲＯＧ１を終了させるための動作要求（Ｂ）を行い、プログラムＰＲＯＧ１を終了（２）させ、プログラムＰＲＯＧ２において選択された処理を実行する。選択された処理を実行した後、終了操作によりプログラムＰＲＯＧ２の処理が終了するとプログラムＰＲＯＧ１を起動するための動作要求（Ｃ）を行いプログラムＰＲＯＧ１を起動（３）する。起動されたプログラムＰＲＯＧ１は人事システムメニュー画面Ａを表示した後プログラムＰＲＯＧ２を終了させるための動作要求（Ｄ）を行いプログラムＰＲＯＧ２を終了（４）させる。今度は２の社員情報が選択されたのでプログラムＰＲＯＧ３を起動するための動作要求（Ｅ）を行いプログラムＰＲＯＧ３を起動（５）する。起動されたプログラムＰＲＯＧ３は社員情報メニュー画面Ｃを表示した後プログラムＰＲＯＧ１を終了させるための動作要求（Ｆ）を行いプログラムＰＲＯＧ１を終了（６）させ、プログラムＰＲＯＧ３において選択された処理を実行する。選択された処理を実行した後、終了操作によりプログラムＰＲＯＧ３の処理が終了するとプログラムＰＲＯＧ１を起動するための動作要求（Ｇ）を行いプログラムＰＲＯＧ１を起動（７）する。起動されたプログラムＰＲＯＧ１は人事システムメニュー画面Ａを表示した後プログラムＰＲＯＧ３を終了させるための動作要求（Ｈ）を行いプログラムＰＲＯＧ３を終了（８）させる。
【００３０】
図８の動作要求フォーマットで指示されたプログラム動作状態管理部１１による処理種別毎の処理を図９のフローチャートを参照して説明する。まず、ステップＳ１（以降、Ｓ１と記す。）で現在実行中のプログラムから実行指令を受信すると、図８のｍｏｄｅメモリ４０に設定された処理種別が「０」乃至「３」のいずれかを判別する（Ｓ２）。処理種別が「０」ならば（Ｓ３）、プログラム状態の確認処理（Ｓ４）を行った後Ｓ１に戻る。処理種別が「１」ならば（Ｓ５）、プログラムの起動処理（Ｓ６）を行った後Ｓ１に戻る。処理種別が「２」ならば（Ｓ７）、プログラムの終了処理（Ｓ８）を行った後Ｓ１に戻る。Ｓ７において処理種別が「２」でない、即ち処理種別が「３」ならば、プログラムの状態指定処理（Ｓ９）を行った後Ｓ１に戻る。以上のように処理種別毎に処理を振り分けている。
【００３１】
処理種別が「０」の場合に行うプログラム状態の確認処理の詳細について図１０を参照して説明する。この処理はａｐメモリ４１に設定された業務プログラムを構成するプログラム夫々の動作状態を確認してプログラム状態メモリｍ１５へ格納し、そのプログラム状態メモリｍ１５の内容を現在実行中のプログラムへ応答する処理である。
【００３２】
まず、初期処理としてＳ１０でＲＡＭ４に格納されている図６のプログラム動作状態テーブル１４の業務プログラム名メモリ２０の内容を読み出して、業務プログラム名メモリ２０とａｐメモリ４１に設定された業務プログラム名とが一致する行データを索引する。索引した行データの中からプログラム名メモリ２２に格納されたプログラムの種類の数を計数して対象プログラム数ｎへ格納する。次に、Ｓ１１でカウンタＮの値を「１」に初期化し、プログラム状態メモリｍ１５の値を「０」に初期化する（Ｓ１２）。
【００３３】
Ｓ１３ではカウンタＮの値と対象プログラム数ｎの値とを比較し、カウンタＮの値が対象プログラム数ｎの値と等しくなるまでＳ１５乃至Ｓ１８の処理を繰り返す。Ｓ１５ではプログラム動作状態テーブル１４の業務プログラム名メモリ２０の内容を読み出して、業務プログラム名メモリ２０とａｐメモリ４１に設定された業務プログラム名とが一致する行データをカウンタＮの値の順に索引し、索引した行データのプログラム名メモリ２２に格納されたプログラムの動作状態（値：「１」）又は非動作状態（値：「０」）を示す現在の状態値をタスク管理部１０から取得する。Ｓ１６では取得した状態値を判別し、状態値が「１」ならばバイナリ値であるプログラム状態メモリｍ１５の値に２の（Ｎ−１）乗を加算してＮ番目のプログラムに該当するビットの値を「１」にする（Ｓ１７）。Ｓ１６において状態値が「０」ならばＳ１７を実行しないのでＮ番目のプログラムに該当するビットの値は「０」のままとなる。Ｓ１８ではカウンタＮの値に「１」を加算してＳ１３に戻り、上記の処理を繰り返す。Ｓ１３においてカウンタＮの値が対象プログラム数ｎの値と等しくなった場合はプログラム状態メモリｍ１５の内容を現在実行中のプログラムへ応答してプログラム状態の確認処理を終了する（Ｓ１４）。
【００３４】
処理種別が「１」の場合に行うプログラムの起動処理の詳細について図１１を参照して説明する。この処理はａｐメモリ４１に業務プログラム名、ｍａメモリ４２にプログラム動作状態テーブル１４の動作パターンが夫々設定されているので、業務プログラムを構成するプログラムの現在の動作状態を確認した後、動作パターンによって起動を指示されたプログラムを確認結果に応じて起動する処理である。
【００３５】
まず、初期処理としてＳ２０でＲＡＭ４に格納されている図６のプログラム動作状態テーブル１４の業務プログラム名メモリ２０の内容を読み出して、業務プログラム名メモリ２０とａｐメモリ４１に設定された業務プログラム名とが一致する行データを索引する。索引した行データの中からプログラム名メモリ２２に格納されたプログラムの種類の数を計数して対象プログラム数ｎへ格納する。次に、Ｓ２１でカウンタＮの値を「１」に初期化し、図１０のプログラム状態の確認処理を行って業務プログラムを構成するプログラム夫々の動作状態を確認してプログラム状態メモリｍ１５へ格納する（Ｓ２２）。さらに、図６のプログラム動作状態テーブル１４の内容を参照して、ａｐメモリ４１に設定された業務プログラム名及びｍａメモリ４２に設定された動作パターンに一致する状態値を取得し、プログラム状態引数メモリｍａ１６に格納する（Ｓ２３）。
【００３６】
Ｓ２４ではカウンタＮの値と対象プログラム数ｎの値とを比較し、カウンタＮの値が対象プログラム数ｎの値と等しくなるまでＳ２６乃至Ｓ３１の処理を繰り返す。Ｓ２６ではプログラム状態引数メモリｍａ１６に格納されたＮ番目の動作状態（値：「１」）又は非動作状態（値：「０」）を示す状態値を取得する。Ｓ２７ではＳ２６で取得したプログラム状態引数メモリｍａ１６に格納されたＮ番目の状態値を判別し、状態値が「１」ならば起動の指示なので対応するプログラム状態メモリｍ１５に格納されたＮ番目の動作状態（値：「１」）又は非動作状態（値：「０」）を示す状態値を取得する（Ｓ２８）。Ｓ２９ではＳ２８で取得したプログラム状態メモリｍ１５に格納されたＮ番目の状態値を判別し、状態値が「０」ならば非動作状態なのでタスク管理部１０へＮ番目のプログラムの起動要求を行うことによりＮ番目のプログラムを起動する（Ｓ３０）。Ｓ２７において状態値が「０」の場合、およびＳ２９において状態値が「１」の場合はＳ３１に進む。Ｓ３１ではカウンタＮの値に「１」を加算してＳ２４に戻り、上記の処理を繰り返す。Ｓ２４においてカウンタＮの値が対象プログラム数ｎの値と等しくなった場合は処理結果を現在実行中のプログラムへ応答してプログラムの起動処理を終了する（Ｓ２５）。
【００３７】
処理種別が「２」の場合に行うプログラムの終了処理の詳細について図１２を参照して説明する。この処理はａｐメモリ４１に業務プログラム名、ｍａメモリ４２にプログラム動作状態テーブル１４の動作パターンが夫々設定されているので、業務プログラムを構成するプログラムの現在の動作状態を確認した後、動作パターンによって終了を指示されたプログラムを確認結果に応じて終了させる処理である。
【００３８】
まず、初期処理としてＳ４０でＲＡＭ４に格納されている図６のプログラム動作状態テーブル１４の業務プログラム名メモリ２０の内容を読み出して、業務プログラム名メモリ２０とａｐメモリ４１に設定された業務プログラム名とが一致する行データを索引する。索引した行データの中からプログラム名メモリ２２に格納されたプログラムの種類の数を計数して対象プログラム数ｎへ格納する。次に、Ｓ４１でカウンタＮの値を「１」に初期化し、図１０のプログラム状態の確認処理を行って業務プログラムを構成するプログラム夫々の動作状態を確認してプログラム状態メモリｍ１５へ格納する（Ｓ４２）。さらに、図６のプログラム動作状態テーブル１４の内容を参照して、ａｐメモリ４１に設定された業務プログラム名及びｍａメモリ４２に設定された動作パターンに一致する状態値を取得し、プログラム状態引数メモリｍａ１６に格納する（Ｓ４３）。
【００３９】
Ｓ４４ではカウンタＮの値と対象プログラム数ｎの値とを比較し、カウンタＮの値が対象プログラム数ｎの値と等しくなるまでＳ４６乃至Ｓ５１の処理を繰り返す。Ｓ４６ではプログラム状態引数メモリｍａ１６に格納されたＮ番目の動作状態（値：「１」）又は非動作状態（値：「０」）を示す状態値を取得する。Ｓ４７ではＳ２６で取得したプログラム状態引数メモリｍａ１６に格納されたＮ番目の状態値を判別し、状態値が「０」ならば終了の指示なので対応するプログラム状態メモリｍ１５に格納されたＮ番目の動作状態（値：「１」）又は非動作状態（値：「０」）を示す状態値を取得する（Ｓ４８）。Ｓ４９ではＳ４８で取得したプログラム状態メモリｍ１５に格納されたＮ番目の状態値を判別し、状態値が「１」ならば動作状態なのでタスク管理部１０へＮ番目のプログラムの終了要求を行うことによりＮ番目のプログラムを終了させる（Ｓ５０）。Ｓ４７において状態値が「１」の場合、およびＳ４９において状態値が「０」の場合はＳ５１に進む。Ｓ５１ではカウンタＮの値に「１」を加算してＳ４４に戻り、上記の処理を繰り返す。Ｓ４４においてカウンタＮの値が対象プログラム数ｎの値と等しくなった場合は処理結果を現在実行中のプログラムへ応答してプログラムの終了処理を終了する（Ｓ４５）。
【００４０】
処理種別が「３」の場合に行うプログラムの状態指定処理の詳細について図１３を参照して説明する。この処理はａｐメモリ４１に業務プログラム名、ｍａメモリ４２にプログラム動作状態テーブル１４の動作パターンが夫々設定されているので、業務プログラムを構成するプログラムの現在の動作状態を確認した後、動作パターンによって起動または終了を指示されたプログラムを確認結果に応じて起動または終了する処理である。
【００４１】
まず、初期処理としてＳ６０でＲＡＭ４に格納されている図６のプログラム動作状態テーブル１４の業務プログラム名メモリ２０の内容を読み出して、業務プログラム名メモリ２０とａｐメモリ４１に設定された業務プログラム名とが一致する行データを索引する。索引した行データの中からプログラム名メモリ２２に格納されたプログラムの種類の数を計数して対象プログラム数ｎへ格納する。次に、Ｓ６１でカウンタＮの値を「１」に初期化し、図１０のプログラム状態の確認処理を行って業務プログラムを構成するプログラム夫々の動作状態を確認してプログラム状態メモリｍ１５へ格納する（Ｓ６２）。さらに、図６のプログラム動作状態テーブル１４の内容を参照して、ａｐメモリ４１に設定された業務プログラム名及びｍａメモリ４２に設定された動作パターンに一致する状態値を取得し、プログラム状態引数メモリｍａ１６に格納する（Ｓ６３）。
【００４２】
Ｓ６４ではカウンタＮの値と対象プログラム数ｎの値とを比較し、カウンタＮの値が対象プログラム数ｎの値と等しくなるまでＳ６６乃至Ｓ７３の処理を繰り返す。Ｓ６６ではプログラム状態引数メモリｍａ１６に格納されたＮ番目の動作状態（値：「１」）又は非動作状態（値：「０」）を示す状態値を取得する。Ｓ６７ではプログラム状態メモリｍ１５に格納されたＮ番目の動作状態（値：「１」）又は非動作状態（値：「０」）を示す状態値を取得する。Ｓ６８ではＳ６６で取得したプログラム状態引数メモリｍａ１６に格納されたＮ番目の状態値を判別し、状態値が「０」ならば終了の指示なので続けてＳ６７で取得したプログラム状態メモリｍ１５に格納されたＮ番目の状態値を判別し（Ｓ６９）、状態値が「１」ならば動作状態なのでタスク管理部１０へＮ番目のプログラムの終了要求を行うことによりＮ番目のプログラムを終了させる（Ｓ７０）。Ｓ６８において状態値が「１」の場合は起動の指示なので続けてＳ６７で取得したプログラム状態メモリｍ１５に格納されたＮ番目の状態値を判別し（Ｓ７１）、状態値が「０」ならば非起動の状態なのでタスク管理部１０へＮ番目のプログラムの起動要求を行うことによりＮ番目のプログラムを起動させる（Ｓ７２）。Ｓ７１において状態値が「１」ならばＳ７３に進む。Ｓ７３ではカウンタＮの値に「１」を加算してＳ６４に戻り、上記の処理を繰り返す。Ｓ６４においてカウンタＮの値が対象プログラム数ｎの値と等しくなった場合は処理結果を現在実行中のプログラムへ応答してプログラムの状態指定処理を終了する（Ｓ６５）。以上が処理種別毎の処理の詳細である。
【００４３】
上記のように本実施の形態においては各プログラムがプログラム動作状態管理部１１に動作要求を出し、それに対応してプログラム動作状態管理部１１がタスク管理部１０に起動または終了の制御指令を出すことにより実行の制御を行う。従来例における各プログラムからタスク管理部１０への制御指令は、プログラム単位で必要であり制御指令の取り扱いも難しく制御指令の使い方の統一も困難であるが、それに対して本実施の形態における各プログラムからプログラム動作状態管理部１１への動作要求は、同時に複数のプログラムを対象とすることができ動作要求の取り扱いも簡単であり動作要求は自ずから統一されたものとなる。
【００４４】
尚、上記の実施の形態では、プログラム動作状態管理部１１とタスク管理部１０とが機能を分担してプログラムの実行制御を行っているが、タスク管理部１０がプログラム動作状態テーブル１４を管理し、プログラムからの動作要求を直接受信するようにしてタスク管理部１０だけでプログラムの実行制御を行うようにしてもよい。
【００４５】
また、上記の実施の形態では、プログラム動作状態管理部１１へ動作要求を行う動作要求フォーマットにおいて引数は１つであるが、引数を複数にして複合条件による実行指示が出来るようにし、複合条件による実行指示に応えられようにプログラム動作状態管理部１１の処理内容を変更してもよい。
【００４６】
【発明の効果】
以上説明したように、本発明では複数プログラムの動作状態を動作パターンとして示した動作テーブルを指示することにより複数プログラム夫々の動作状態を一度で指定できるので、各プログラムの動作確認および各プログラムの起動または終了の実行制御の指示方法が容易になり、かつ実行制御の仕様が明確になるという効果がある。
【図面の簡単な説明】
【図１】本発明の実施の形態に係わるコンピュータの回路構成図である。
【図２】本発明の実施の形態に係わるプログラム実行制御の機能ブロック図である。
【図３】本発明の実施の形態に係わる業務プログラムの画面遷移を示す図である。
【図４】本発明の実施の形態に係わるプログラムの連携を示すタイムチャートである。
【図５】３つのプログラムから構成される業務プログラムのプログラム動作状態テーブルの表示形態を示す図である。
【図６】３つのプログラムから構成される業務プログラムのプログラム動作状態テーブルの内容を示す図である。
【図７】（ａ）はプログラム状態メモリｍの内容を示す図、（ｂ）はプログラム状態引数メモリｍａの内容を示す図である。
【図８】プログラム動作状態管理部へ動作要求を行う動作要求フォーマットを示す図である。
【図９】プログラム動作状態管理部の動作を説明するためのフローチャートである。
【図１０】図９のプログラム状態の確認処理の動作を説明するためのフローチャートである。
【図１１】図９のプログラムの起動処理の動作を説明するためのフローチャートである。
【図１２】図９のプログラムの終了処理の動作を説明するためのフローチャートである。
【図１３】図９のプログラムの状態指定処理の動作を説明するためのフローチャートである。
【図１４】従来例のプログラム実行制御の機能ブロック図である。
【図１５】従来例の業務プログラムの画面遷移を示す図である。
【図１６】従来例のプログラムの連携を示すタイムチャートである。
【符号の説明】
１  コンピュータ
２  ＣＰＵ
３  入力装置
４  ＲＡＭ
５  表示装置
６  記憶装置
７  記憶媒体
８  通信装置
９  バス
１０  タスク管理部
１１  プログラム動作状態管理部
１２  動作状態確認部
１３  動作状態制御部
１４  プログラム動作状態テーブル
１５  プログラム状態メモリｍ
１６  プログラム状態引数メモリｍａ
【図１】
2004310226.tif 000003
【図２】
2004310226.tif 000004
【図３】
2004310226.tif 000005
【図４】
2004310226.tif 000006
【図５】
2004310226.tif 000007
【図６】
2004310226.tif 000008
【図７】
2004310226.tif 000009
【図８】
2004310226.tif 000010
【図９】
2004310226.tif 000011
【図１０】
2004310226.tif 000012
【図１１】
2004310226.tif 000013
【図１２】
2004310226.tif 000014
【図１３】
2004310226.tif 000015
【図１４】
2004310226.tif 000016
【図１５】
2004310226.tif 000017
【図１６】
2004310226.tif 000018