JPH0962637A - プログラム実行管理方法 - Google Patents

プログラム実行管理方法

Info

Publication number
JPH0962637A
JPH0962637A JP7218441A JP21844195A JPH0962637A JP H0962637 A JPH0962637 A JP H0962637A JP 7218441 A JP7218441 A JP 7218441A JP 21844195 A JP21844195 A JP 21844195A JP H0962637 A JPH0962637 A JP H0962637A
Authority
JP
Japan
Prior art keywords
message
activation
program
application program
processor
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
Application number
JP7218441A
Other languages
English (en)
Inventor
Takeo Aizono
岳生 相薗
Katsumi Kono
克己 河野
Kinji Mori
欣司 森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP7218441A priority Critical patent/JPH0962637A/ja
Priority to US08/668,778 priority patent/US6282578B1/en
Publication of JPH0962637A publication Critical patent/JPH0962637A/ja
Priority to US09/888,657 priority patent/US6792603B2/en
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】データを受信したタスクが即座に処理を開始す
るのではなく、送信タスクと適当なタイミングをとって
タスクが処理を開始するタスクの実行管理を可能とす
る。 【構成】ネットワークに接続されたプロセッサは、他の
プロセッサからメッセージを受信すると、受信したメッ
セージを処理するタスクを即座に起動するのではなく、
あらかじめ設定された起動タイプと起動パラメータで定
義される起動条件に従ってそのメッセージのデータを処
理するタスクを起動する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、複数のプロセッサから
なる分散処理システムでのプログラムの実行管理方法に
係り、特に、プログラムの実行に用いるメッセージの受
信後に、受信したメッセージを処理するプログラムの起
動のタイミング管理を可能とするプログラム実行管理方
法に関する。
【0002】
【従来の技術】機械制御やプラント制御を行う制御シス
テムにおいては、機器間で連携動作することにより制御
を実現しているため、機器の制御を行っているコンピュ
ータ間でのデータ送受信のタイミングや処理の開始と終
了のタイミング、コンピュータ内部のタスク間でのデー
タ送受信のタイミングや処理の開始と終了のタイミング
が重要になる。このため、従来、プログラマブル・コン
トローラや制御用プロセスコンピュータにおいては、タ
イマにより時間を計ってタスクの実行を開始するリアル
タイムOSが提供されていた(例えば、「日立 HID
IC S10aシリーズ コンパクトPMS マクロ仕
様編」に記されている)。
【0003】また、データ送受信により処理のタイミン
グを取るための技術として、例えば、特開昭57―14
6361号公報には、共通の伝送路に接続された複数の
プロセッサからなる分散処理システムにおいて、各プロ
セッサ内プログラムの起動を、そのプログラムを実行す
るのに必要なデータが伝送路から自プロセッサ内に取り
込まれ、それがそろったときに行う、いわゆるデータ駆
動方式のプログラム実行管理方法が開示されている。
【0004】一般的なデータ駆動の概念では、オブジェ
クトやアプリケーションプログラムなどのプロセッサの
処理単位は、データを受信すると、即座にその処理を開
始する。また、コンピュータのプログラムにおけるサブ
ルーチンの呼び出しにおいても、サブルーチンコールが
発行されると即座にサブルーチンの処理が開始される。
【0005】
【発明が解決しようとする課題】上記従来技術で示した
リアルタイムOSでは、データの送受信と処理の開始や
終了とのタイミングを取ることが考慮されておらず、タ
スク間で適当なタイミングを取って処理を行うような制
御を実現する場合には、タスク内で処理を中断して一定
時間待つというマクロを発行し、さらに他のタスクを起
動するマクロを発行して他のタスクを起動し、グローバ
ルメモリを介して他のタスクにデータを渡すという面倒
な手法が取られていた。また、各タスクはグローバルメ
モリを介してデータ交換を行っているためタスク間の独
立性が低く、プログラマが、プログラム内でタスク間の
インターフェースを設定してタイミングを調整しなけれ
ばならなかった。このため、プログラムの開発が困難な
だけではなく、タイミングを変更するにはプログラムの
コンパイルを仕直す等の手続きが必要になり、プログラ
ムの改造も困難であって、タスクに障害が発生したとき
には他のタスクに直接影響するなどの問題があった。さ
らに、従来技術におけるタスク間の連携は1つのノード
内に限られ、ネットワークを介してデータを送信し、適
当なタイミングで他ノード内のタスクを起動するといっ
たことができないという問題があった。
【0006】また、特開昭57―146361号公報記
載の方式は、一連の処理が終了した時点で次の処理を開
始する方式であり、タイマを使って適当な時間で処理を
開始するという方式は考慮されていない。このため、リ
アルタイム制御のタスク実行管理方式には使用できない
という問題があった。
【0007】また、オブジェクト指向やサブルーチンコ
ールにおいても、処理が終了すればデータを送信して次
の処理を開始するという方式であり、制御システムにお
いて必要となるデータ送受信とタイマによる実行管理と
いう方式は全く考慮されていない。
【0008】本発明の第1の目的は、このような従来技
術の問題を解決し、ユーザがプログラム開発時にタスク
の実行管理やグローバルメモリの管理を意識することな
くプログラムを開発し、簡単な起動タイミングの設定の
みを行うだけで、タスク間でメッセージの送受信を行う
ことにより、他のタスクとタイミングを取った制御を実
現できるタスクの実行管理方法を提供することにある。
【0009】また、本発明の第2の目的は、システム設
計やシステム変更を容易にするシステムの開発と保守環
境を提供することにある。
【0010】
【課題を解決するための手段】上記目的を達成するため
に本発明のプログラム実行管理方法では、それぞれ所定
の処理を行うプログラムを有する複数のプロセッサによ
り構成され、前記プログラム間でメッセージの送受信を
行いながら一連の処理を実行する分散処理システムにお
いて、各プロセッサがメッセージを受信後、そのメッセ
ージを利用して処理を行うプログラムを起動するタイミ
ングを定義した起動条件情報を設定しておき、各処理装
置では、メッセージ受信に応答して、前記起動条件情報
による定義に従って、受信メッセージを利用して処理を
行うプログラムの起動を行うことを特徴としている。起
動条件情報は、例えば、個々のプログラム対応、あるい
は、プログラム間で授受されるメッセージ対応に設定さ
れる。また、より柔軟なプログラム間での連携を達成す
るためには、起動条件情報をプログラム間で授受される
メッセージに付与してメッセージとともに伝送する。各
プロセッサは、受信したメッセージに付与された起動条
件に従って、該当するプログラムの起動を管理する。さ
らに、メッセージに対して複数の起動条件情報を付与
し、該複数の起動条件情報から決定される起動条件に従
ってプログラムの起動を行う。
【0011】
【作用】プログラム、あるいはプログラムが必要とする
メッセージに対してプログラムの起動タイミングを起動
条件情報として定義することで、従来ユーザが行ってい
たプログラム内からの他プログラムの起動やグローバル
を介したデータ管理を行う必要がなくなる。さらに、プ
ログラム間のインターフェースの設定を行う必要もなく
なり、プログラム間の独立性が向上してプログラムの改
造が容易になる。また、プログラムに障害が発生したと
きにも、他のプログラムに対して、直接影響与える心配
がなくなる。また、起動条件情報をメッセージに付与す
ることによりネットワークを介して他プロセッサ内のプ
ログラムを適当なタイミングで起動することが可能とな
る。
【0012】
【実施例】図2は、本発明が適用されるマルチプロセッ
サシステムの一実施例における構成を示すブロック図で
ある。プロセッサ201、202、および203は、ネ
ットワーク200に接続されており、ネットワーク20
0を介してメッセージを授受する。各プロセッサは、演
算処理装置およびデータを蓄積するための記憶装置を内
蔵する。なお、本実施例では、ネットワーク20として
バス型のネットワークを適応した場合を示すが、これは
任意の形態のネットワークでよく、無線などの通信手段
を用いてもよい。また、プロセッサの実例としては、制
御用プロセスコンピュータ、ワークステーション、パー
ソナルコンピュータ、PCプログラマブル・コントロー
ラ(PC)、インテリジェントI/Oデバイスなどがあ
げられる。また、図においては、プロセッサは3台しか
示されていないが、プロセッサの数は任意である。これ
らのことは、以降説明する各実施例についても同様であ
る。
【0013】図3は、プロセッサの構成を示すブロック
図である。なお、図3には、代表としてプロセッサ20
1の構成を示すが、他のプロセッサも同様に構成され
る。処理装置300は、インターフェース301を介し
てネットワーク200に接続される。処理装置300
は、また、入力バッファ303、出力バッファ304、
メッセージ格納バッファ305、受信キュー306、送
信キュー307、実行管理テーブル308、起動タイプ
管理テーブル309、起動条件管理テーブル310、ア
プリケーションプログラム名称管理テーブル311、お
よびタイマー330に接続される。入力バッファ303
には、ネットワークより受信されたメッセージが一時的
に格納される。出力バッファ304には、ネットワーク
へ送信されるメッセージが一時的に格納される。メッセ
ージ格納バッファ305には、処理の実行待ち状態にあ
るメッセージが格納される。受信キュー306は、メッ
セージの受信順序を管理するためのFIFOキューであ
る。送信キュー307は、メッセージの送信順序を管理
するためのFIFOキューである。実行管理テーブル3
08は、アプリケーションプログラムの実行までの時間
などを管理するのに使用される。起動タイプ管理テーブ
ル309は、起動タイプと起動タイプ番号との対応付け
を保持する。起動タイプとは、メッセージ受信後に特定
の時間条件によってアプリケーションプログラムを起動
を管理するアプリケーションプログラム起動方式の種類
である。起動条件管理テーブル310には、アプリケー
ションプログラム対応に起動条件を定義する情報が格納
される。また、アプリケーション名称管理テーブル31
1には、プロセッサ内にローディングされているアプリ
ケーションプログラムの名称が格納される。
【0014】起動タイプ管理テーブル309の構成を図
4に示す。起動タイプ管理テーブル309は、起動タイ
プ番号(カラム401)と起動タイプ(カラム402)
の対応付けを保持する。本実施例では、起動タイプとし
て、時間起動、周期起動、時刻起動を有する。時間起動
とは、メッセージを受信した後、予め設定された一定時
間が経過するとそのメッセージを必要とするアプリケー
ションプログラムを起動する起動方式である。周期起動
とは、メッセージを受信した後、そのメッセージを必要
とするアプリケーションプログラムを予め設定された一
定の時間間隔で繰り返し起動する起動方式である。ま
た、時刻起動とは、メッセージを受信した後、予め指定
された時刻になるとそのメッセージを必要とするアプリ
ケーションプログラムを起動する起動方式である。図4
から明らかなように、本実施例では、時間起動には、起
動タイプ番号「1」(ロウ403)、周期起動には、起
動タイプ番号「2」(ロウ404)、時刻起動には、起
動タイプ番号「3」(ロウ405)が割り当てられてい
る。
【0015】起動条件管理テーブル310の構成を図5
に示す。起動条件管理テーブル310は、アプリケーシ
ョンプログラムを識別するアプリケーションプログラム
名称が登録されるカラム501、各アプリケーションに
対応して、その起動タイプを示す起動タイプ番号が登録
されるカラム502、および起動パラメータが登録され
るカラム503を有する。起動パラメータとは、時間起
動、周期起動、時刻起動を行うのに必要な時間情報であ
る。各アプリケーションプログラムの起動間ターンは、
対応する起動タイプ番号を基に起動タイプ管理テーブル
309を参照することにより認識することができる。例
えば、図5において、ロウ511は、アプリケーション
プログラム名称が「ABC」なるアプリケーションプロ
グラムは、起動タイプ番号が「1」、つまり時間起動で
あることを示している。また、起動パラメータは「1
0」であり、アプリケーションプログラム「ABC」が
必要とするメッセージが受信されると、アプリケーショ
ンプログラム「ABC」は、10msec後に1回起動
されることを示す。ロウ512は、アプリケーションプ
ログラム「ABD」は、起動タイプ番号が「2」、つま
り周期起動であり、起動パラメータが50であることを
示している。従って、アプリケーションプログラム「A
BD」は、必要とするメッセージが受信されると、50
msec毎に繰り返し起動される。次に、ロウ523
は、アプリケーションプログラム「ABE」は起動タイ
プ番号が「3」、つまり時刻起動であり、起動パラメー
タは「2000、10、5、10、50、30」である
ことを示している。ここで、時刻起動タイプのパラメー
タは、6つのパラメータからなり、最初のパラメータは
西暦、2番目のパラメータは月、3番目のパラメータは
日、4番目のパラメータは時間、5番目のパラメータは
分、6番目のパラメータは秒を表わす。従って、アプリ
ケーションプログラム「ABE」は、必要とするメッセ
ージが受信されると、西暦2000年10月5日10時
50分30秒に1回起動される。次に、ロウ514は、
アプリケーションプログラム「ABF」は起動タイプ番
号が3、つまり時刻起動であり、起動パラメータは「−
1、−1、−1、21、30、00」であることを示し
ている。本実施例では、値が負のパラメータは無視され
るので、この場合、アプリケーションプログラム「AB
F」は、必要とするメッセージが受信されると、毎日2
1時50分30秒に1回起動されることになる。カラム
502、503の起動タイプ番号、並びに起動パラメー
タは、各アプリケーションプログラムに対して設定さ
れ、各プロセッサに事前に登録される。登録はオペレー
タによりターミナルを備えたプロセッサからなされ、ネ
ットワーク200を介して各プロセッサ上にダウンロー
ドされる。なお、本実施例では、各アプリケーションプ
ログラムに対して起動タイプと起動パラメータを定義し
てアプリケーションプログラムを特定の時間条件で起動
する例を示すが、タスク、オブジェクトなど、プロセッ
サが取り扱える任意の処理の実行単位に対して起動タイ
プと起動パラメータを定義し、それらを特定の時間条件
で起動するようにしてもよい。また、本実施例では各プ
ロセッサは、アプリケーションプログラムをソースコー
ドとして保持するのではなく、プロセッサ上で即座に実
行できる形態で所有している。
【0016】図8は、実行管理テーブル308の構成図
である。カラム802の各エントリには、当該プロセッ
サ内にローディングされているアプリケーションプログ
ラムの名称が登録される。カラム801の各エントリに
は、カラム802に登録されたアプリケーションプログ
ラムごとにそのアプリケーションプログラムを起動する
までの待ち時間が設定される。カラム803の各エント
リには、カラム802の対応するエントリに登録された
アプリケーションプログラムが利用するメッセージのメ
ッセージ格納バッファ305内での格納場所を示す情報
が設定される。カラム804の各エントリには、カラム
802の対応するエントリに登録されたアプリケーショ
ンプログラムの起動タイプが周期起動である場合に、起
動周期が設定される。また、カラム805の各エントリ
には、アプリケーションプログラムの動タイプが時刻起
動である場合にフラグが設定される。
【0017】ネットワーク200上を流れるメッセージ
のフォーマットを図6に示す。メッセージはヘッダ部と
して、アプリケーションプログラムの名称が設定される
アプリケーションプログラム名称部601と、データを
格納したデータ部602により構成される。メッセージ
は、ネットワーク200上にブロードキャストされ、各
プロセッサは、アプリケーションプログラム名称部60
1に設定されるアプリケーション名称に基づいてそのメ
ッセージの受信要否を判断する。
【0018】図1にプロセッサ201内の処理装置30
0により実行される処理のフローチャートを示す。ま
た、図7にプロセッサ201の機能ブロック図を示す。
図7中、インターフェースモジュール701、受信処理
モジュール702、実行管理モジュール703、および
送信処理モジュール704は、処理装置300が実行す
る制御プログラムを構成するモジュールであり、その機
能は、実際には、処理装置300により達成される。
【0019】ネットワーク200より受信されたメッセ
ージは、インターフェースモジュール701により入力
バッファ303に格納される(ステップ101、10
2)。受信処理モジュール720は、メッセージが入力
バッファ303に格納されると、メッセージ内のアプリ
ケーションプログラム名称部601に設定されたアプリ
ケーションプログラム名称を読み込み(ステップ10
3)、アプリケーションプログラム名称管理テーブル3
11内に同じアプリケーションプログラム名称が登録さ
れていれているか否か、つまり、自プロセッサ内にアプ
リケーションプログラム名称が示すアプリケーションプ
ログラムがローディングされているか否か調べる(ステ
ップ104)。同じアプリケーションプログラム名称が
登録されていない場合には、そのメッセージを廃棄する
(ステップ105)。
【0020】アプリケーションプログラム名称がアプリ
ケーションプログラム名称管理テーブル311に登録さ
れていれば、そのメッセージをメッセージ格納バッファ
305に格納し、メッセージの格納場所をFIFOキュ
ーである受信キュー306に接続(格納)する。メッセ
ージ格納バッファ305には、メッセージサイズと受信
したメッセージが格納される。実行管理モジュール70
3は、受信キュー306から順次メッセージの格納場所
を読み込み、メッセージを受信した順番に処理する。実
行管理モジュール703は、次に処理するメッセージの
格納場所を受信キュー306より読み込むと、メッセー
ジ格納バッファ305内に格納された該メッセージ内の
アプリケーションプログラム名称を読み込み、起動タイ
プ管理テーブル309と起動条件管理テーブル310よ
り該アプリケーションプログラム名称に対応した起動タ
イプと起動パラメータを読み込む(ステップ106、1
07)。
【0021】次に、実行管理モジュール703は、受信
キュー306より読み込んだメッセージ格納場所、メッ
セージを必要とするアプリケーションプログラム名称、
起動タイプと起動パラメータにより分かるアプリケーシ
ョンプログラム実行までの実行待ち時間を実行管理テー
ブル308の所定のエントリに設定する。さらに、カラ
ム802に設定したアプリケーションプログラム名称の
アプリケーションプログラムの起動タイプが周期起動で
あれば、起動周期804をカラム804に設定し、ま
た、起動タイプが時刻起動である場合には、カラム80
5にフラグ805を立てる。ここで、メッセージ格納場
所としては、例えば、メッセージ格納バッファ305内
でのメッセージの先頭アドレスが用いられる。実行管理
モジュール703は実行待ち時間(カラム801の値)
をタイマ330により更新し(ステップ108)、実行
までの待ち時間が0になるとアプリケーションプログラ
ムを起動する(ステップ109)。次に、実行管理モジ
ュール703は、起動したアプリケーションプログラム
710から受信要求があれば、カラム803に設定され
たメッセージ格納場所に格納されたメッセージ内のデー
タをアプリケーションプログラムから指定されたメモリ
エリアに格納する(ステップ110)。アプリケーショ
ンモジュール710は、指定したメモリエリアに格納さ
れたデータを読み込み、処理を実施する(ステップ11
1)。なお、処理が終了したメッセージ格納バッファ3
05内のメッセージは消去される。実行管理モジュール
703は、実行待ち時間が0となったアプリケーション
プログラムが周期起動でなければ、起動したアプリケー
ションプログラムに関する情報を消去する。また、周期
起動であればカラム804の起動周期をカラム801に
実行待ち時間としてコピーする。実行管理モジュール7
03は、メッセージ格納バッファ305内のメッセージ
のタイムアウトチェックも行う。メッセージ格納バッフ
ァ305内のメッセージが一定時間消去されない場合に
は、それを強制的に消去し、バッファがオーバーフロー
するのを防ぐ。
【0022】アプリケーションプログラム710は、デ
ータを送信するとき、送信先のアプリケーションプログ
ラム名称、送信データ、メッセージサイズの指定ととも
に送信すべきデータをメッセージ格納バッファ305に
格納して実行管理モジュール703に送信要求を出す
(ステップ112)。実行管理モジュール703は、ア
プリケーションプログラム710より受け取ったメッセ
ージサイズ、アプリケーションプログラム名称、データ
をメッセージ格納バッファ305に格納し、送信キュー
307にメッセージ格納場所を接続する。送信処理モジ
ュール704は、送信キュー307に接続されたメッセ
ージ格納場所を順次読み込み、メッセージ格納バッファ
内のメッセージを順番に処理する。送信処理モジュール
704は、メッセージ内のアプリケーションプログラム
名称をアプリケーションプログラム名称管理テーブル3
11内から検索する。もし、送信先のアプリケーション
プログラムが自プロセッサ内にあると判断されれば、メ
ッセージ格納場所を受信キュー306に接続する。送信
先のアプリケーションプログラムが自プロセッサ内にな
いときには、メッセージを出力バッファ304内に格納
する。出力バッファ304に格納されたメッセージは、
インターフェースモジュール701によりネットワーク
201にブロードキャストされる(ステップ113)。
アプリケーションプログラムの起動タイプが周期起動で
ある時には、起動パラメータにて指定された時間が経過
後に再びアプリケーションプログラムが起動される(ス
テップ114)。なお、周期起動の時には、同じデータ
が繰り返しアプリケーションプログラムにより読み込ま
れる。
【0023】図9は、各アプリケーションプログラムに
対する起動タイプと起動パラメータの定義に用いられる
時間特性定義画面の構成例である。各アプリケーション
プログラムに対する起動タイプと起動パラメータの定義
は、例えば、ディスプレイ装置を備えた開発系のコンピ
ュータにおいてオペレータにより行われる。ここで定義
された情報は、開発系のコンピュータよりネットワーク
200を介して各プロセッサにダウンロードされる。オ
ペレータは、時間特性定義画面900上で、キーボード
あるいはマウスを使って、カーソルを適当なセルに移動
し、アプリケーション名称、アプリケーションの起動タ
イプ、起動パラメータをキーボードより入力することで
アプリケーションプログラムに対する起動タイプと起動
パラメータの定義を行う。なお、ここでは、起動タイプ
の定義に、起動タイプ管理テーブル309により定義さ
れた起動タイプ番号を用いている。時間特性定義画面9
00に表示される表のカラム901、902、903
は、起動条件管理テーブル310のカラム501、50
2、503に対応しており、ここで定義されたアプリケ
ーションプログラム名称、起動タイプ、起動パラメータ
の関係は、起動条件管理テーブル310に格納される。
また、アプリケーションプログラム名称は、アプリケー
ションプログラム名称管理テーブル311にも格納され
る。オペレータは必要に応じて、これらのパラメータを
変更することができる。
【0024】図10は、アプリケーションプログラムに
対して起動タイプと起動パラメータを定義する時間特性
定義画面の別の構成例である。図10において、(a)
は、起動タイプとして時間起動を定義したときの時間特
性定義画面1000を示している。また、(b)は、起
動タイプとして時刻起動を定義したときの時間特性定義
画面1000を示している。図10に示す時間特性定義
画面1000により定義を行うには、アプリケーション
プログラム名称をセル1001に、起動タイプをセル1
002に入力する。定義しようとする起動タイプが時間
起動もしくは周期起動のときには、図10(a)に示す
ように、起動パラメータとしてその時間をセル1003
にミリ秒を単位として入力する。定義しようとする起動
タイプが時刻起動であるときには、図10(b)に示す
ように、起動パラメータとして年月日時分秒をセル10
04に入力する。
【0025】以上説明した実施例によれば、各アプリケ
ーションプログラムは、必要とするメッセージが受信さ
れた後、即座に1回のみ起動されるのではなく、予め定
義された起動タイプに従った時間条件によって起動され
る。このようにプロセッサの実行単位であるアプリケー
ションプログラム、オブジェクト、タスクなどの間のリ
ンケージに時間条件を加えることにより、プログラム開
発時にプログラマは、アプリケーションプログラム間の
起動タイミングを意識することなくプログラム開発をす
ることができ、プログラム開発効率が向上する。また、
プログラム間のタイミング調整の変更に対しても、プロ
グラムの再コンパイルなどの必要がなくなり、デバッグ
効率が飛躍的に向上することができる。また、各プログ
ラム内で関数を使って一定時間処理を停止するなどの方
式を用いた場合には、プログラムがバグによって無限ル
ープに入って停止しているといった障害によるプログラ
ム停止との区別が難しい。しかし、上述した実施例で
は、アプリケーションプログラムの実行タイミングの管
理をアプリケーションプログラムの外部で行っているた
め、どのアプリケーションプログラムが待ち状態にある
かといったアプリケーションプログラムの状態管理が簡
単に行える。これにより、システムの保守性が向上す
る。
【0026】なお、本実施例では、メッセージの伝送
は、ブロードキャストにより行っているが、各プロセッ
サに、各アプリケーションプログラムがどのプロセッサ
にローディングされているかという情報を持たせ、送信
先プロセッサを指定した1対1通信を行ってもよい。こ
の場合、プロセッサは、全てのメッセージを受信してメ
ッセージに付与されたアプリケーションプログラム名称
が示すアプリケーションプログラムが自プロセッサ内に
ローディングされているか否かを判断する必要はなくな
り、プロセッサでの受信処理の負荷が軽減する。
【0027】第1の実施例では、各プロセッサ内に設け
られたアプリケーションプログラム毎の起動条件を起動
条件管理テーブルに登録しておき、この情報によりアプ
リケーションプログラムの起動を制御していた。以下
に、各プロセッサでの起動条件の管理を不要とした第2
の実施例について説明する。本実施例において、各プロ
セッサは、図3において起動条件管理テーブル310が
不要となる点、および、起動タイプ管理テーブル309
の構成が異なる点を除くと、第1の実施例におけるプロ
セッサと同様の構成を有する。
【0028】図12は、本実施例においてネットワーク
を介して伝送されるメッセージのフォーマット図であ
る。本実施例では、アプリケーションプログラムに対す
る起動タイプ、起動パラメータの定義情報は、メッセー
ジに付加され、メッセージとともに送信される。メッセ
ージは、アプリケーションプログラム名称部1201、
起動タイプ番号部1202、起動パラメータ部120
3、およびデータ部1204から構成される。アプリケ
ーション名称部1201には、データ部1204に格納
されたデータを必要とするアプリケーションプログラム
を識別する名称が格納される。起動タイプ番号部120
2には、アプリケーションプログラム部1201により
特定されるアプリケーションプログラムを起動する際の
起動タイプを示す起動タイプ番号が、また、起動パラメ
ータ部1203には、起動管理に必要なパラメータが設
定される。
【0029】図13に、本実施例における起動タイプ管
理テーブル309の構成例を示す。本実施例の起動タイ
プ管理テーブル309も、第1の実施例と同様に、起動
タイプが登録されるカラム1301と、起動タイプの定
義が登録されるカラム1302からなる。本実施例では
起動タイプとして、時間起動(ロウ1303)、周期起
動(ロウ1304)、時刻起動(ロウ1305)に加え
て、時間起動キャンセル(ロウ1306)、周期起動キ
ャンセル(ロウ1307)、時刻起動キャンセル(ロウ
1308)を定義する。時間起動キャンセル、周期起動
キャンセル、および時刻起動キャンセルそれぞれの起動
タイプ番号は、図13に示すように、それぞれ「4」、
「5」、「6」が割り当てられている。時間起動キャン
セルとは、時間起動で起動待ち状態にあるアプリケーシ
ョンプログラムの起動を取り消す起動タイプである。周
期起動キャンセルとは、周期起動で起動待ち状態にある
アプリケーションプログラムの起動を取り消す起動タイ
プである。また、時刻起動キャンセルとは、時刻起動で
起動待ち状態にあるアプリケーションプログラムの起動
を取り消す起動タイプである。いずれの起動タイプにお
いても、アプリケーションプログラムが既に実行を開始
している場合、起動のキャンセルを指示するメッセージ
を受信しても実行が中止されることはなく、周期起動キ
ャンセルの場合には、現在実行中以降の処理の起動がキ
ャンセルされる。
【0030】図14に、起動タイプとして、時間起動キ
ャンセル、周期起動キャンセル、時刻起動キャンセルを
指定する際のメッセージのフォーマットを示す。メッセ
ージ1410は起動タイプ番号が4であり、アプリケー
ションプログラム名称「ACA」のアプリケーションプ
ログラムに対して時間起動キャンセルを指示するメッセ
ージである。プロセッサは、メッセージ1410を受信
すると、自内でアプリケーションプログラム「ACA」
が時間起動で起動待ち状態にあるか否かを判断し、起動
待ち状態にあればアプリケーションプログラム「AC
A」の時間起動を取り消す。同時に、アプリケーション
プログラム「ACA」が受信する筈であったメッセージ
格納バッファ305内のメッセージを消去する。
【0031】メッセージ1420は起動タイプ番号が5
であり、アプリケーションプログラム「ACB」に対し
て周期起動キャンセルを指示するメッセージである。プ
ロセッサは、メッセージ1420を受信すると、自内で
アプリケーションプログラム「ACB」が周期起動で起
動待ち状態にあるか否かを判断し、起動待ち状態にあれ
ば、アプリケーションプログラム「ACB」の周期起動
を取り消す。同時に、アプリケーションプログラム「A
CB」が受信する筈であったメッセージ格納バッファ3
05内のメッセージを消去する。周期起動が取り消され
るのは1回のみではなく、メッセージ受信以降の起動全
てが取り消される。
【0032】メッセージ`1430は起動タイプ番号が
6であり、アプリケーションプログラム「ACC」に対
して時刻起動キャンセルを指示するメッセージである。
プロセッサは、メッセージ1430を受信すると、自内
でアプリケーションプログラム「ACC」が時刻起動で
起動待ち状態にあるか否かを判断し、起動待ち状態にあ
れば、アプリケーションプログラム「ACC」の時刻起
動を取り消す。同時に、アプリケーションプログラム
「ACC」が受信する筈であったメッセージ格納バッフ
ァ305内のメッセージを消去する。起動パターンが、
時間起動キャンセル、周期起動キャンセル、時刻起動キ
ャンセルの場合、起動パラメータ部1203とデータ部
1204は必要ない。従って、起動パラメータ部120
3とデータ部1204に何らかの情報が設定されていた
としてもその情報は無視される。
【0033】図11に本実施例におけるアプリケーショ
ンプログラムの起動処理フローを示す。プロセッサは、
ネットワークよりメッセージを受信すると(ステップ1
101)、受信したメッセージを入力バッファ303に
格納する(ステップ1102)。受信したメッセージの
アプリケーションプログラム名称部1201を読み込み
(ステップ1103)、自プロセッサ内にローディング
されているアプリケーションプログラムに該当するもの
があるか否かをアプリケーションプログラム名称管理テ
ーブル311より判断する(ステップ1104)。自プ
ロセッサ内に存在しないアプリケーションプログラムで
あれば、入力バッファ303内のメッセージを廃棄し
(ステップ1105)、処理を終了する。該当するアプ
リケーションプログラムが、自プロセッサ内に存在すれ
ば、起動タイプ番号部1202を読み込む(ステップ1
106)。起動タイプ番号部1202の起動タイプ番号
が示す起動タイプが、時間起動キャンセル、周期起動キ
ャンセル、時刻起動キャンセルのいずれかであれば(ス
テップ1107)、実行管理テーブル310内の同一の
アプリケーションプログラム名称を検索する(ステップ
1108)。アプリケーションプログラム名称と起動タ
イプが一致した場合には実行管理テーブルから該当アプ
リケーションプログラムに関する情報を削除して起動を
取り消すとともに(ステップ1109)、メッセージ格
納バッファ305内の該アプリケーションプログラムが
読み込む筈であったメッセージを消去する(ステップ1
110)。一方、受信したメッセージの起動タイプが時
間起動、周期起動、時刻起動のいずれかであるときに
は、メッセージ内の起動パラメータ部1203を読み込
み(ステップ1111)、起動パラメータとして設定さ
れた時間が経過した後に(ステップ1112)、アプリ
ケーションプログラム名称部1201により示されるア
プリケーションプログラムを起動する(ステップ111
3)。起動したアプリケーションプログラムは、データ
の受信要求を出して、受信したメッセージ内のデータを
読み込み(ステップ1114)、このデータを使って処
理を行う(ステップ1115)。処理終了後、アプリケ
ーションプログラムは、送信先のアプリケーションプロ
グラムと該アプリケーションプログラムの起動タイプ、
起動パラメータを設定して、送信データと共にメッセー
ジ格納バッファ305に格納する(ステップ111
6)。このとき、起動タイプが時間起動キャンセル、周
期起動キャンセル、時刻起動キャンセルのいずれかであ
れば、起動パラメータと送信データは必要ない。メッセ
ージ格納バッファ305に格納されたメッセージは、送
信先アプリケーションプログラムが自プロセッサ内にロ
ーディングされていないときにはネットワークに送信
し、ローディングされているときにはメッセージ格納場
所を受信キュー1706に接続する(ステップ111
7)。起動タイプ番号部1202に設定された起動タイ
プが周期起動であるときには、起動パラメータで指定さ
れた時間が経過後に、再びアプリケーションプログラム
が起動される(ステップ1118)。周期起動の時に
は、同じデータ1204が繰り返しアプリケーションプ
ログラムにより読み込まれる。
【0034】本実施例によれば、プロセッサがメッセー
ジを受信した後、メッセージに付与された時間条件にも
とづいてアプリケーションプログラムが起動される。メ
ッセージに起動タイプ番号と起動パラメータが付与され
ているため、ネットワーク上を伝送されているメッセー
ジを解析することで、各プロセッサ上のアプリケーショ
ンプログラム間での実際の起動状況を把握でき、システ
ム内の一連の処理の進捗状況の把握や、各プロセッサ上
のアプリケーションプログラム間での起動タイミングの
把握が容易になる。また、データ送信時に送信先のアプ
リケーションプログラムに対して起動タイプ、起動パラ
メータの設定を行うので、同一アプリケーションプログ
ラムに対して時間起動と時間起動キャンセルなどといっ
た異なる起動タイプを設定することができる。
【0035】第1の実施例と第2の実施例では、各アプ
リケーションプログラムに対して起動タイプ、起動パラ
メータを定義する方式を示した。次に、第3の実施例と
して、起動タイプと起動パラメータをデータに対して定
義する方式について説明する。本実施例では、データは
1つ以上、任意の数のアプリケーションプログラムによ
り受信され、データを受信する全てのアプリケーション
プログラムがデータに対して定義された起動タイプと起
動パラメータをもとに起動される点において、第1の実
施例および第2の実施例と異なる。
【0036】図15は、本実施例を適応したマルチプロ
セッサシステムの構成図である。プロセッサ1501、
プロセッサ1502、プロセッサ1503はネットワー
ク1500に接続されている。各プロセッサは接続され
るネットワーク1500を介してメッセージ1510を
授受する。メッセージ1510のメッセージフォーマッ
トを図16に示す。メッセージは、内容コード部160
1とデータ部602からなる。内容コード部1601に
は、データ部602に格納されたデータに対応して予め
定められた、その内容を示す内容コードが設定される。
各プロセッサは内容コード部1601に設定された内容
コードによってそのメッセージが自プロセッサに必要で
あるか否かを判断する。
【0037】本実施例では、アプリケーションプログラ
ム「AP1」1551により送信されたデータは、メッ
セージとしてブロードキャストされ、それを必要とする
アプリケーションプログラム「AP1」1551と同じ
プロセッサ内のアプリケーションプログラム「AP2」
1502、プロセッサ1502内のアプリケーションプ
ログラム「AP3」1553とアプリケーションプログ
ラム「AP4」1554、そしてプロセッサ1503内
のアプリケーションプログラム「AP6」1556が受
信している。各プロセッサはメッセージ1510に付与
された内容コードに基づきそのメッセージが自プロセッ
サに必要なメッセージであるかどうかを判断する。必要
なメッセージであれば受信して、メッセージ内のデータ
をそれを必要とする自内のアプリケーションプログラム
に渡す。
【0038】図17に、プロセッサ1501の構成を示
す。他のプロセッサもプロセッサ1501と同様に構成
される。
【0039】プロセッサ1501内における各種の処
理、制御は、処理装置1700により実現される。処理
装置1700は、インターフェース1701を介してネ
ットワーク1500に接続される。処理装置1700
は、また入力バッファ1703、出力バッファ170
4、メッセージ格納バッファ1705、受信キュー17
06、送信キュー1707、実行管理テーブル170
8、起動タイプ管理テーブル1709、内容コード管理
テーブル1710、送信範囲管理テーブル1711、お
よびタイマー1730に接続される。入力バッファ17
03、出力バッファ1704、メッセージ格納バッファ
1705、受信キュー1706、送信キュー1707、
実行管理テーブル1708の各機能と構成は第1の実施
例におけるプロセッサのものと同じである。起動タイプ
管理テーブル1709は、図13に示した第2の実施例
と同じ構成を有している。
【0040】内容コード管理テーブル1710の構成を
図18に示す。カラム1801の各エントリには、当該
プロセッサが受信するメッセージに付与されている内容
コードが登録される。カラム1802には、カラム18
01に登録されている内容コードに対応して、その内容
コードが付与されたメッセージのデータを必要とするア
プリケーションプログラムの名称が登録される。カラム
1803には、カラム1801に登録された対応する内
容コードが付与されるメッセージのデータの起動タイプ
を示す起動タイプ番号が登録される。また、カラム18
04には、起動パラメータに関する情報が登録される。
プロセッサは、この内容コード管理テーブル1710の
情報をもとにアプリケーションプログラムの起動を管理
する。例えば、図18に示す定義例では、ロウ1805
の定義により、プロセッサは内容コード「CC1」が付
与されたメッセージを受信すると、起動タイプ番号
「1」、起動パラメータ「10」、つまり10msec
の時間起動でアプリケーションプログラム「A1」、
「A2」、「B2」を起動する。また、ロウ1806の
定義により、プロセッサは内容コード「CC3」が付与
されたメッセージを受信すると、アプリケーションプロ
グラム「B1」、「C5」を起動タイプ番号「2」、起
動パラメータ「50」、つまり50msecの周期起動
で起動する。
【0041】送信範囲管理テーブル1711の構成を図
19に示す。送信範囲管理テーブル1711は、メッセ
ージに付与される内容コードごとに、メッセージの送信
される範囲を定義する情報を持つ。図18において、カ
ラム1901の各エントリには、少なくともそのプロセ
ッサ内のアプリケーションプログラムの出力するデータ
に対応する内容コードが登録される。カラム1902に
は、カラム1901に登録された対応するエントリの内
容コードが付与されるメッセージに対して定義された送
信範囲に関する情報を保持する。プロセッサはメッセー
ジ送信時に送信範囲管理テーブル1711の情報をもと
にメッセージをブロードキャストする範囲を指定する。
メッセージをブロードキャストする範囲としては、例え
ば、自プロセッサ内、自プロセッサを含む全プロセッサ
の2つが指定可能である。
【0042】図20に本実施例におけるプロセッサの機
能ブロック図を示す。インターフェースモジュール20
01は、ネットワーク1500のメッセージを取り込
み、それを入力バッファ1703に格納する。また、出
力バッファ1704に送信メッセージがあれば、それを
ネットワーク1500に送出する。受信モジュール20
02は、入力バッファ1703に格納されたメッセージ
を読み出し、内容コード管理テーブル1710を参照し
て、メッセージの内容コード部1601に設定された内
容コードが登録されているか調べ、登録されていればそ
のメッセージをメッセージ格納バッファに格納する。こ
のとき、メッセージの格納場所を受信キュー1706に
接続する。なお、メッセージ格納バッファ1705に
は、メッセージサイズがメッセージとともに格納され
る。また、該当する内容コードが登録されていなけれ
ば、そのメッセージを破棄する。実行管理モジュール2
003は、受信キュー1706に格納されたメッセージ
の格納場所を示す情報を基に、メッセージ格納バッファ
1705に格納されたメッセージを受信順に読み出し、
アプリケーションプログラム2010の起動を管理す
る。具体的には、実行管理モジュール2003は、メッ
セージ格納バッファ1705から読み出したメッセージ
の内容コードに基づいて、内容コード管理テーブル17
10を参照し、その内容コードに対して定義された起動
タイプ番号、起動パラメータ、およびアプリケーション
プログラム名称を読み込む。起動タイプ番号が、起動キ
ャンセルに関する起動タイプを示す場合には、実行管理
テーブル1708内の内容コード管理テーブルを参照し
て得られたアプリケーションプログラム名称に関する情
報を削除する。起動タイプがその他の場合には、得られ
た起動タイプ番号、起動パラメータ、およびアプリケー
ションプログラムに基づき実行管理テーブル1708に
情報を設定して、該当するアプリケーションプログラム
2010を起動する。アプリケーションプログラム20
10は、起動されると必要なデータを実行管理モジュー
ル2003から受け取って処理を行い、その結果得られ
たデータを、そのデータに対応して定められた内容コー
ド、メッセージサイズを指定して、実行管理モジュール
2003に渡す。実行管理モジュール2003は、受け
取った情報を基にメッセージを生成し、それをメッセー
ジ格納バッファ1705に格納して、その格納場所を送
信キュー1707に登録する。送信処理モジュールは、
実行管理モジュール2003によりメッセージ格納バッ
ファ1705に格納されたメッセージを順に読み出し、
送信範囲管理テーブル1711を参照して、そのメッセ
ージの送信範囲が自プロセッサ内であれば、そのメッセ
ージの格納場所を受信キュー1706に登録し、その他
のときは、出力バッファ1704に格納し、メッセージ
格納バッファ1705内のメッセージを削除する。
【0043】図21は、プロセッサにより実施される処
理のフローチャートである。まず、インターフェースモ
ジュール2001によりネットワーク1500上のメッ
セージを受信し(2101)、メッセージ格納バッファ
1705にそのメッセージを格納する(2102)。入
力バッファ1703に格納されたメッセージを、受信処
理モジュールにより読み出し、さらに、そのメッセージ
の内容コード部1601に設定されている内容コードを
読み込み(ステップ2103)、内容コード管理テーブ
ル1710内に同じ内容コードが登録されているか否か
を検索して、そのメッセージが必要なものかどうか判定
する(ステップ2104)。もしも登録されていなけれ
ば、受信したメッセージは必要なメッセージではないの
で、そのメッセージを廃棄して処理を終了する(ステッ
プ2105)。該当する内容コードが登録されていれ
ば、内容コード管理テーブル1710より、その内容コ
ードに対して定義されたアプリケーションプログラム名
称と起動タイプ番号を読み込む(ステップ2106、2
107)。起動タイプ番号が時間起動キャンセル、周期
起動キャンセル、時刻起動キャンセルのいずれか示すも
のであれば(ステップ2108)、読み込んだアプリケ
ーションプログラム名称と同一の名称を実行管理テーブ
ル1708より検索し(ステップ2109)、そのアプ
リケーションプログラム名称に対応して設定されている
起動タイプが同じであれば、その情報を実行管理テーブ
ル1708から消去し、実行を取り消す(ステップ21
10)。そして、該アプリケーションプログラムに読み
込まれる筈であったメッセージをメッセージ格納バッフ
ァ1705から消去する(ステップ2111)。一方、
ステップ2108において、起動タイプ番号が時間起
動、周期起動、時刻起動のいずれかを示しているときに
は、内容コード管理テーブル1709より、その内容コ
ードに対して定義された起動パラメータを読み込む(ス
テップ2112)。起動パラメータとして定義された指
定時間に従い(ステップ2113)、該当するアプリケ
ーションプログラムを起動する(ステップ2114)。
実行管理モジュール2003は、起動したアプリケーシ
ョンプログラムよりデータの受信要求があると、メッセ
ージ内のデータを読み込んてアプリケーションプログラ
ムが指定した領域にコピーして、そのデータをアプリケ
ーションプログラムに渡す(ステップ2115)。アプ
リケーションプログラムは、このデータを使って処理を
行い(ステップ2116)、処理終了が終了すると送信
要求を出し、内容コードと送信データをメッセージ格納
バッファ1705に格納する(ステップ2117)。実
行管理モジュール2003は、アプリケーションプログ
ラムより指定された内容コードを送信範囲管理テーブル
1711より検索し、送信範囲が自プロセッサ内である
かどうか調べる(ステップ2118)。送信範囲が自プ
ロセッサ内であれば、メッセージ格納場所を受信キュー
1706に接続する(ステップ2119)。送信範囲が
全プロセッサであれば、メッセージは、ネットワークに
ブロードキャストされる(ステップ2120)。次に、
処理を終了したアプリケーションプログラムが周期起動
か調べ(ステップ2121)、周期起動であれば、次の
起動までの時間を実行管理テーブル1708に設定し、
処理を繰り返す。
【0044】本実施例では、オペレータが内容コードに
対して起動タイプと起動パラメータを定義する。また、
アプリケーションプログラムが間違った内容コードをデ
ータに付与してメッセージを送信した場合に、システム
全体に悪影響が及ぶことを防ぐため、各アプリケーショ
ンプログラムに対して入出力可能な内容コードを事前に
定義する。図22と図23に、オペレータによりこれら
の定義を行うための定義画面の構成例を示す。
【0045】図22は、内容コード定義画面の一例を示
す画面構成図である。オペレータは、カラム2201に
設定した各内容コードに対して、ブロードキャストの範
囲指定(カラム2202)、起動アプリケーションプロ
グラム名称(カラム2203)、起動タイプ番号(カラ
ム2204)、起動パラメータ(カラム2205)を定
義する。カラム2202で定義する範囲指定では、送信
するメッセージを自プロセッサ内のみにブロードキャス
トする場合は0を設定し、システムの全プロセッサ内に
ブロードキャストする場合には1を設定する。カラム2
203には、対応する内容コードのメッセージにより起
動されるアプリケーションプログラムの名称を設定す
る。カラム2204、2205には、対応する内容コー
ドのメッセージにより起動されるアプリケーションプロ
グラムの起動タイプを示す起動パラメータ、起動条件と
なる時間的条件を示す起動パラメータをそれぞれ設定す
る。
【0046】例えば、図22では、内容コード「CC
1」に対応する定義に着目すると、範囲指定として
「0」が定義されており、内容コード「CC1」が付与
されたメッセージは、自プロセッサ内にしかブロードキ
ャストされないことを示している。アプリケーションプ
ログラム名称としては、「AP2」が定義されており、
内容コード「CC1」が付与されたメッセージを受信し
たプロセッサは、アプリケーションプログラム「AP
2」を起動すること示している。また、起動タイプ番号
として「1」、起動パラメータとして「50」が定義さ
れている。これは、アプリケーションプログラム「AP
2」が、50msecの時間起動により起動されること
を意味する。つまり、内容コード「CC1」が付与され
たメッセージは、自プロセッサ内でブロードキャストさ
れ、プロセッサは、そのメッセージによりアプリケーシ
ョンプログラム「AP2」を50msecの時間起動で
起動する。同様に、内容コード「CC5」に関する定義
によれば、内容コード「CC5」が付与されたメッセー
ジは、全プロセッサに対してブロードキャストされ、そ
のメッセージを受信したプロセッサは、アプリケーショ
ンプログラム「AP8」と「AP10」を1994年1
0月1日21時に起動する。なお、すでに指定時刻が過
ぎている場合には、メッセージは消去されアプリケーシ
ョンプログラムは起動されない。
【0047】図23は、入出力内容コード定義画面の一
例を示す画面構成図である。入出力内容コード定義画面
では、カラム2302に設定したアプリケーションプロ
グラムに対応して、カラム2301に入力内容コード
を、また、カラム2303に出力内容コードを設定す
る。入力内容コードとは、カラム2302の対応するエ
ントリに設定されているアプリケーションプログラムが
必要とするデータの内容を示す内容コードであり、出力
内容コードとは、そのアプリケーションプログラムが出
力可能なデータの内容を示す内容コードである。プロセ
ッサは、アプリケーションプログラムが出力内容コード
として定義されていない内容コードをデータに付与して
送信しようとすると、これを抑制する。例えば、図23
に示す設定では、アプリケーションプログラム「AP
1」には、出力内容コードとして「CC1」のみが定義
されている。このため、アプリケーションプログラム
「AP1」は、内容コード「CC1」のみ出力データに
付与して送信できる。アプリケーションプログラム「A
P1」には、入力内容コードが定義されていない。これ
は、アプリケーションプログラム「AP1」が、イニシ
ャル起動されるアプリケーションプログラム、即ち、プ
ロセッサが最初に起動するときに自動的に起動されるア
プリケーションプログラムであることを意味する。アプ
リケーションプログラム「AP2」に対しては、入力内
容コードとして「CC1」が、出力内容コードとして
「CC2」が定義されている。これは、アプリケーショ
ンプログラム「AP2」の入力となるメッセージの内容
コードが「CC1」であり、処理結果は、出力内容コー
ド「CC2」を付与したメッセージとして送信されるこ
とを意味している。
【0048】図24は、必要な情報を定義するために用
いられる図22、23で説明した定義画面に代わる他の
定義画面の構成例である。画面2400は、オペレータ
が使用するツールとアイコン用の画面であり、画面24
01は、時間特性の定義付が行われる時間特性定義画面
である。
【0049】画面2400に矢印で表されたツール24
11、2412は、アプリケーションプログラム間のリ
ンケージを定義するのに用いるリンケージツールであ
る。リンケージとは、アプリケーション間でデータの受
け渡しがあることを意味する。リンケージツール241
1は、プロセッサ外にブロードキャストしてデータを2
つのアプリケーションプログラム間で受け渡すことを定
義するのに用いるツールである。リンケージツール24
12は、送信範囲が自プロセッサ内のデータを2つのア
プリケーションプログラム間で受け渡すことを定義する
のに用いるツールである。2413は、文字ツールであ
り、時間特性定義画面2401上での文字入力を指定の
に用いるツールである。文字ツール2413は、アプリ
ケーションプログラム名称の入力、時間情報の指定など
に用いられる。アイコン2414は、時間特性定義画面
2401上でアプリケーションプログラムを定義するの
に用いられるアイコンである。アイコン2415、24
16、2417は、時間特性定義画面2401上で起動
パターンを定義するのに用いられるアイコンであり、そ
れぞれ、時間起動、周期起動、時刻起動を定義するのに
用いられる。アイコン2418は、時間特性画面240
1上で時間起動キャンセル、周期起動キャンセル、時刻
起動キャンセルを定義するのに用いられる。定義の操作
手順は、次の通りである。まず、オペレータは、マウス
を使ってカーソルを移動し、アイコン2414をクリッ
クすることにより選択する。アイコン2414をドラッ
グして時間特性定義画面2401上に移動すると、アプ
リケーションプログラムを定義できる。正常に定義され
ると、時間特性定義画面2401上にアプリケーション
プログラムを示すボックスが表示される。次に、文字ツ
ール2413により、アプリケーションプログラム名称
を定義する。具体的には、文字ツール2413を選択し
た後、先に定義したアプリケーションプログラムのボッ
クスをクリックして選択し、選択したボックス上にアプ
リケーションプログラム名称を入力することにより行
う。入力されたアプリケーションプログラム名称は、そ
のアプリケーションプログラムを表すボックス内に表示
される。アプリケーションプログラム間のリンケージを
定義は、リンケージツール2411、あるいは2412
を選択したのち、メッセージの受け渡しを行うアプリケ
ーションプログラムを定義したボックスを、例えば、メ
ッセージの送信元、メッセージの受信元の順にマウスで
クリックして行う。リンケージツール2411を選択し
たときは、アプリケーションプログラム間のリンケージ
は、データの流れを示す実線の矢印で表され、リンケー
ジツールを用いたときは、破線の矢印で表される。起動
タイプの設定は、アイコン2415、2416、241
7、2418から所望のものを選択、ドラッグして、起
動タイプを定義しようとするアプリケーションプログラ
ム間の矢印の上に移動しておこなう。そして、文字ツー
ルにより起動パラメータの設定を行う。なお、プログラ
ム間で受け渡しの行われるメッセージに付与される内容
コードは、予め定めた所定の規則に従ってシステムによ
り自動的に決められるので、オペレータは、これを意識
する必要はない。例えば、アプリケーションプログラム
間のリンケージの定義を行う際、定義されたリンケージ
を表す矢印に対応して、その定義順に決定される。この
ようにして定義を行うことにより、図24の時間特性定
義画面2401に示すような形でアプリケーションプロ
グラム間のリンケージ、起動タイプ、起動パラメータの
定義がされる。図24に示す定義画面による定義付は、
図22、23に示したものと同じ内容の定義付を示して
いる。
【0050】1つのプロセッサに対してローディングで
きるアプリケーションプログラムの数を1つに限定した
場合、例えば、図24に示したアプリケーションプログ
ラム間のリンケージは、ノード間のリンケージに置き換
えることができる。一例として、インテリジェントI/
Oデバイスのように単純な処理しか行わないノードによ
り構成されるシステムでは、ノード内のプロセッサ上に
1つのアプリケーションプログラムしかローディングし
ないという制約を設けても問題はない。図25は、1つ
のプロセッサに1つのアプリケーションプログラムしか
ローディングできないという制約を設けたときの時間特
性設定画面2500である。ボタン、モーター、ライ
ト、センサなどはアイコンとして提供され、図24のア
プリケーションプログラム定義用のアイコン2414と
同じ操作方法でノードを定義する。以下、図25の定義
例について適当なアプリケーションプログラムの処理を
仮定して説明する。「ボタン1」(2501)が押され
るとメッセージ2502が送信される。メッセージ25
02を受信した「ライト1」(2503)と「ライト
2」(2504)が1995年3月1日8時30分に点
灯したのち、「ライト1」(2503)はメッセージ2
504を、「ライト2」(2506)はメッセージ25
07を送信する。「モーター1」(2505)は、メッ
セージ2504を受信し、5秒が経過してから回転す
る。「モーター2」(2508)は、メッセージ250
7を受信し、5秒が経過してから回転する。「ライト
1」と「ライト2」は、モーターが回転することを知ら
せる警告ランプである。これにより、ボタンが押されて
すぐにモーターが回転を始めるのではなく、危険回避の
ために予め警告ランプでモーターが回転を始めることを
知らせてからモーターを回転させるという設定を定義で
きる。また、「ボタン2」(2510)が押されるとメ
ッセージ2511がブロードキャストされ、それを「モ
ーター3」(2512)が受信する。「モーター3」は
メッセージを受信すると、1秒周期で動き、例えば、1
秒毎に1回転する。「センサ1」(2513)は物体を
感知するセンサであり、物体を感知するとメッセージ2
514とメッセージ2515をブロードキャストする。
「モーター3」(2512)は、メッセージ2514を
受信すると回転を停止する。「ライト3」は、メッセー
ジ2515を受信すると即座に点灯し、メッセージ25
17をブロードキャストする。「スピーカー1」(25
18)はメッセージ2517を受信すると即座に音を出
す。「センサ1」(2513)は、「モーター3」(2
512)の異常検知用センサ、「ライト3」(251
6)は異常を知らせる警告灯、「スピーカー1」(25
18)は異常を知らせるためにビープ音あるいは音声な
どを鳴らすスピーカーである。これにより、「モーター
3」が回転中に、モータに人間が近づいたことを「セン
サ1」が感知すると、モーターを止め、「ライト3」と
「スピーカー1」により警告を発するという設定を定義
することができる。
【0051】図25に示す定義画面は、ノード間のリン
ケージやデータに対して起動タイプや起動パラメータを
定義する画面であると同時に、プログラミング画面とし
ての機能も達成し得るものである。つまり、ボタン、モ
ーター、センサなどの単純な処理をライブラリとして用
意し、オペレータに対してアイコンという形で提供した
場合には、従来のようなプログラミングを行う必要はな
く、図25における定義のみでシステムを構築できる。
【0052】図22、図23、図24、図25に示した
各定義画面は、システム構築時に必要な時間情報などを
定義するために用いられる他、システムを修正する必要
が生じたときにも用いられる。この場合には、システム
構築時に定義された情報を同じ画面上で追加もしくは修
正し、定義された情報を再び各プロセッサにダウンロー
ドする。
【0053】本実施例によれば、メッセージは自プロセ
ッサ内あるいはシステム内の全プロセッサに対してブロ
ードキャストされ、メッセージを必要とするアプリケー
ションプログラムのみがメッセージを受信する。メッセ
ージを必要とするアプリケーションプログラムは、即座
に1回のみ起動されるのではなく、メッセージ受信後に
予め設定された時間条件に従って起動される。これによ
り、例えば複数のアプリケーションプログラムを同じ時
刻に起動させたり、複数のアプリケーションプログラム
が、互いにタイミングを取って連携動作するようにする
ことが容易になり、システム構築時の開発者の負担が軽
減する。また、各アプリケーションプログラムのインタ
ーフェースが内容コードにより統一されるため、プログ
ラム開発者は個々の処理に関するプログラム開発に専念
でき、プログラミング効率が向上する。更にアプリケー
ションプログラム間のデータ交換や起動タイミングの定
義が容易であるため、データ定義やアプリケーションプ
ログラム間のデータ交換を定義するための負担が大幅に
削減される。これにより、システムの開発効率とシステ
ムの修正や変更にかかる労力が従来システム構築手法に
比べ飛躍的に軽減する。
【0054】第3の実施例では、プロセッサがメッセー
ジを受信すると、予め設定された起動タイプと起動パラ
メータに従ってアプリケーションプログラムを起動し
た。この場合、アプリケーションプログラムが受信でき
るメッセージは1つに限られる。しかし、アプリケーシ
ョンプログラムが必要とするメッセージは複数であって
もよい。この場合、各プロセッサはアプリケーションプ
ログラムが必要とする全てのメッセージが揃ったら、予
め設定された起動タイプと起動パラメータに従ってその
アプリケーションプログラムを起動し、起動されたアプ
リケーションプログラムに必要とする全てのメッセージ
内のデータを読み込ませることができる。以下、このよ
うな方式による第4の実施例につき説明する。
【0055】本実施例において各プロセッサは、第3の
実施例とほぼ同様に構成される。第3の実施例における
プロセッサと異なる点は、実行管理モジュールによるア
プリケーションプログラムの起動管理方法と、実行管理
モジュールが必要な全てのメッセージがそろったかどう
かを判断する際に参照する受信メッセージ管理テーブル
が追加されている点である。
【0056】図27に、受信メッセージ管理テーブルの
構成例を示す。受信メッセージ管理テーブルでは、カラ
ム2701のエントリにアプリケーションプログラム名
称が設定される。カラム2701に設定されたアプリケ
ーションプログラムに対応して、カラム2702にその
アプリケーションプログラムが必要とするメッセージの
内容コード、カラム2703に優先順位が設定される。
カラム2704には、カラム2702に設定された内容
コードが付与されたメッセージが受信されたときに、フ
ラグがセットされる。また、カラム2705には、メッ
セージ格納バッファ内のメッセージ格納場所が設定され
る。カラム2704には、メッセージを受信すると受信
フラグ2704が立てられ、メッセージ格納場所270
5が設定される。カラム2703に設定される優先順位
は、起動条件を決定するのに用いられる。例えば、内容
コード「CC3」のメッセージ受信に基づくアプリケー
ションプログラムの起動タイプが5000msecの時
間起動であり、内容コード「CC1」のメッセージ受信
に基づくアプリケーションプログラムの起動タイプが1
000msecの時間起動であるとする。図27に示す
ように「CC3」の優先順位の方が高いとすると、内容
コード「CC3」を含むメッセージを受信してから20
00msec後に「CC1」を含むメッセージを受信し
ても、アプリケーションプログラムが起動されるのは、
内容コード「CC3」を含むメッセージを受信してから
5000msec後となる。逆に、「CC1」の方が優
先順位が高いとすると「CC1」を含むメッセージを受
信してから1000msec後にアプリケーションプロ
グラムは起動される。優先順位が定義されていない場合
あるいは優先順位を用いない場合には、最初に起動する
起動タイプと起動パラメータが定義された内容コードが
最優先される。また、最も優先順位の高い内容コードの
起動タイプとして周期起動が定義されている場合には周
期起動を行う。
【0057】図26に本実施例における処理のフローチ
ャートを示す。図26のステップ2601から2612
で実施される処理は、図21におけるステップ2101
から2112で行われる処理に対応しており、の各処理
と同様に実施されるので、ここではその説明を省略す
る。本実施例では、ステップ2612に続いて、アプリ
ケーションプログラムが必要とするメッセージが揃った
かどうかを受信メッセージ管理テーブルを参照して判断
する(ステップ2613)。なお、ステップ2613で
は、メッセージが揃ったかどうかの判断に先立ち、受信
メッセージ管理テーブルに今回受信したメッセージの格
納場所と、受信済みを示すフラグが設定される。ここ
で、今回受信したメッセージに付与された内容コードと
同一の内容コードが付与されたメッセージであって、ア
プリケーションプログラムの処理に使われていない古い
メッセージがメッセージ格納バッファに格納されている
とき、即ち、メッセージが揃う前に新しいメッセージが
受信されたときは、古いメッセージはメッセージ格納バ
ッファから消去される。また、受信メッセージ管理テー
ブル内の情報は上書きされる。必要なメッセージが揃わ
なかった場合は、実行管理テーブルの実行待ち時間を受
信したメッセージの内容コードの優先順位、起動タイ
プ、起動パラメータをもとに更新する(ステップ261
4)。実行管理テーブルは、周期的にチェックされ、実
行待ち時間が0になってもアプリケーションプログラム
が必要とするメッセージが揃わなかった場合には、実行
管理テーブル内の該アプリケーションプログラムに関す
る情報は消去され、アプリケーションプログラムは起動
されない。一方、ステップ2613で必要なメッセージ
が揃ったと判断された場合は、実行管理テーブルに設定
されている起動条件に従って、実行時間まで待った後
(ステップ2615)、アプリケーションプログラムを
起動する(ステップ2616)。起動されたアプリケー
ションプログラムは、受信要求を出して必要な全てのメ
ッセージを読み込み(ステップ2617)。その中のデ
ータを使って処理を行う(ステップ2618)。アプリ
ケーションプログラムによる処理結果は、送信メッセー
ジとしてバッファに格納され(ステップ2619)、メ
ッセージ格納場所を示す情報が送信キューに接続される
(ステップ2620)。メッセージの内容コードに対し
て、送信範囲として自プロセッサ内が定義されていると
きには(ステップ2621)、メッセージ格納場所を受
信キュー1706に接続する(ステップ2622)。メ
ッセージの送信範囲として全プロセッサが定義されてい
るときには、メッセージはネットワークにブロードキャ
ストされる(ステップ2623)。アプリケーションプ
ログラムが周期起動を行う場合には(ステップ262
4)、ステップ2113の実行時間待ち以降の処理を繰
り返す。
【0058】図28は、本実施例での時間特性定義画面
の一例であり、図25と同様のものである。従って、こ
の画面による定義手順については図24に関する説明を
流用する。以下に、本実施例におけるシステム内での処
理の流れの様子を図28を参照して説明する。「ボタン
1」(2801)が押されると、「ボタン1」(280
1)よりメッセージ2802がブロードキャストされ
る。メッセージ2802は「ライト1」(2803)と
「ボタン2」(2806)によって受信される。「ライ
ト1」(2803)は、メッセージ2802を受信した
後、即座に点灯し、メッセージ2804をブロードキャ
ストする。また、「ボタン2」(2806)はメッセー
ジ2802を受信後に押されると、メッセージ2807
をブロードキャストする。「モーター1」(2805)
は、メッセージ2804、2807を受信する。「モー
ター1」(2805)は、メッセージ2804とメッセ
ージ2807を受信すると、それらメッセージの内容コ
ードに設定された起動条件に従って回転を開始する。こ
こでは、「ライト1」(2803)より送信されたメッ
セージ2804に付与された内容コードには、起動タイ
プとして5000msecの時間起動が定義されてい
る。メッセージ2804とメッセージ2807には優先
順位が定義されていないので、先に起動する方が優先さ
れる。すなわち、「モーター1」(2805)は、メッ
セージ2804を受信後5000msec以内にメッセ
ージ2807を受信すると即座に起動する。あるいは、
メッセージ2807を先に受信したときには、メッセー
ジ2804を受信して即座に起動する。しかし、「モー
ター1」(2805)は、メッセージ2804を受信後
5000msec以内にメッセージ2807を受信しな
かったときは起動することはない。このような定義は、
例えば、「ボタン1」(2801)を押したのち、即座
に「モーター1」(2805)の回転を開始せず、オペ
レータに回転開始の確認をうながす「ライト1」(28
03)を点灯したのち、5秒以内にオペレータにより
「ボタン2」(2806)が押されれば、「モーター
1」(2805)の回転を開始させるといった設定をし
たい場合に用いることができる。ボタンが押されるとメ
ッセージを送信する、メッセージを受信するとライトを
点灯してメッセージを送信する、メッセージを受信する
とモーターの回転を開始するといった簡単な機能を実現
するアプリケーションプログラムがライブラリとして提
供されていれば、図28に示した時間特性定義画面28
00のみの設定で、このような一連の処理を実現でき
る。
【0059】同様にして、「ボタン3」(2808)が
押されると、メッセージ2809がブロードキャストさ
れ、「ボタン4」(2813)が押されると、メッセー
ジ2814がブロードキャストされる。「ライト2」
(2810)はメッセージ2809とメッセージ281
4を受信するとメッセージに付与された内容コードに対
して定義された時間条件に従って点灯する。「ボタン
3」(2808)よりブロードキャストされたメッセー
ジ2809に付与された内容コードに対しては、起動タ
イプとして1995年3月1日8時30分に起動する時
刻起動が定義されており、「ボタン4」(2813)よ
りブロードキャストされたメッセージ2814に付与さ
れた内容コードに対しては、起動タイプとして5000
msecの時刻起動が定義されている。2つのメッセー
ジには優先順位(図中では、丸で囲まれた数字が優先順
位の定義である)が設定されおり、メッセージ2814
の内容コードに対して定義されている起動条件の方が優
先される。このため、メッセージ2809を受信後にメ
ッセージ2814を受信したとしても、起動時刻に関係
なくメッセージ2814受信後5000msecで「ラ
イト2」(2810)は点灯する。「ライト2」(28
10)は点灯後、メッセージ2811をブロードキャス
トする。メッセージ2811は「モーター2」(281
2)に受信され、「モーター2」(2812)は即座に
回転を開始する。メッセージの優先順位の設定には、優
先順位設定用のツールを設け、数字の入力により設定す
る。メッセージ間の優先順位が容易に分かるように、例
えばメッセージの流れを表わす矢印の太さを優先順位の
高いものほど太くする、あるいは優先度が高くなるにし
たがって矢印の色を濃くする、矢印の色を変えるなどの
方式を用いてもよい。
【0060】本実施例によれば、メッセージは自プロセ
ッサ内あるいはシステム内の全プロセッサに対してブロ
ードキャストされ、メッセージを必要とするアプリケー
ションプログラムのみがメッセージを受信する。アプリ
ケーションプログラムが必要とする全てメッセージを受
信するとアプリケーションプログラムは予め設定された
起動条件に従って起動される。これにより、1つのアプ
リケーションプログラムを他の複数のアプリケーション
プログラムとタイミングを取って起動することが可能と
なり、複雑な連携動作を必要とするプログラミングを容
易に行うことが可能となる。
【0061】以上説明してきた各実施例では、1つのア
プリケーションプログラム名称、あるいは内容コードに
対して1つの起動タイプと起動パラメータを定義してい
るが、1つのアプリケーションプログラム名称、あるい
は内容コードに対して複数の起動タイプ、起動パラメー
タを定義してもよい。このとき、定義された情報は予め
起動条件管理テーブル、あるいは内容コード管理テーブ
ルに登録される。図29に、1つのアプリケーションプ
ログラム名称、あるいは内容コードに対して複数の起動
タイプと起動パラメータを定義する場合の起動条件管理
テーブル、並びに内容コード管理テーブルの構成を示
す。
【0062】図29(a)は、起動条件管理テーブルの
構成図であり、カラム2901に設定される1つのアプ
リケーションプログラム名称に対して複数の起動タイプ
(カラム2902、2904)と起動パラメータ(カラ
ム2903、2905)が定義される。また、図29
(b)は、内容コード管理テーブルの構成図である。こ
の内容コード管理テーブルには、カラム2911に設定
される1つの内容コードに対して、その内容コードを付
与されたメッセージを必要とし、該メッセージにより起
動される1または複数のアプリケーションプログラム名
称が設定されるカラム2912の他、起動タイプを定義
する複数のカラム2913、2915、および起動パラ
メータを定義する複数のカラム2914、2915が設
けられる。
【0063】また、これらの複数の起動タイプと起動パ
ラメータは、メッセージに付与されてメッセージととも
に送信されてもよい。この場合、メッセージフォーマッ
トは図30のようになる。第1および第2の実施例のよ
うに送信先アプリケーションプログラムを指定した方式
の場合、メッセージフォーマットは図30(a)のよう
になる。データ部3006に対して、アプリケーション
プログラム名称部3001と複数の起動タイプ番号部3
002および起動パラメータ部3003が付与される。
また、第3の実施例に示した内容コードによる通信の場
合には、メッセージフォーマットは図30(b)のよう
になる。この場合のメッセージは、データ部3016に
対して、内容コード部3011と複数の起動タイプ番号
部3012および起動パラメータ部3013が付与され
たものとなる。
【0064】このように、複数の起動タイプと起動パラ
メータを定義する方式では、1つの起動パラメータの値
により実行待ち時間を計算するのではなく、定義された
複数の起動タイプと起動パラメータにより起動条件、つ
まりは、実行待ち時間を計算し、実行管理テーブルに設
定する。この方式の場合、複数の起動タイプの中に、実
行を取り消す起動タイプ、即ち、時間起動キャンセル、
周期起動キャンセル、時刻起動キャンセルといった起動
タイプを含ませ、図31に示すような実行取消管理テー
ブルにより、実行取消までの時間管理を行うようにでき
る。実行取消管理テーブルは、時間起動、周期起動、時
刻起動の実行を取り消すまでの実行取消待ち時間(カラ
ム3101)と実行を取り消されるアプリケーションプ
ログラムのアプリケーションプログラム名称(カラム3
102)、起動タイプ番号(カラム3103)に関する
情報を保持する。カラム3103に設定される起動タイ
プ番号は、時間起動、周期起動、時刻起動のうち、どの
起動を取り消すかによって時間起動キャンセル、周期起
動キャンセル、時刻起動キャンセルのいずれかを示す起
動タイプ番号が設定される。
【0065】図32に、図30(a)に示したメッセー
ジフォーマットにより、複数の起動タイプ番号と起動タ
イプを定義する場合について、いくつかの例を挙げ、本
方式における実行待ち時間および実行取消待ち時間の設
定方法を説明する。図32(a)は、メッセージフォー
マットであり、図30(a)に示したメッセージフォー
マットと同一のものである。図30(b)に示す例1で
は、アプリケーションプログラム「AP1」(321
1)に対して、5000msecの時間起動(321
2)と、20msecの周期起動(3213)が設定さ
れている。このメッセージを受信したプロセッサは、ア
プリケーションプログラム「AP1」を5000mse
c後に起動し、さらにその後、アプリケーションプログ
ラム「AP1」を20msec毎に周期的に起動する。
このとき、実行管理テーブルの設定は、図33(a)に
示すようになる。即ち、アプリケーションプログラム
「AP1」に対して、ロウ3311に時間起動に関する
起動条件を設定し、ロウ3312に周期起動に関する起
動条件を設定する。なお、図33に示す実行管理テーブ
ルの構成は、図8により説明した第1の実施例の実行管
理テーブルと同一である。実行待ち時間としては500
0msecと5020msecとを設定する。ロウ33
12に設定される実行待ち時間5020msecは時間
起動によりアプリケーションプログラム「AP1]を起
動した後、2回目以降の起動までの時間を表す。これ
は、時間起動の実行までの待ち時間に周期起動の起動周
期を加えることにより計算される。
【0066】図32(c)に示す例2では、アプリケー
ションプログラム「AP2」(3221)に対して、2
000年3月23日10時30分30秒の時刻起動(3
222)と、20msecの周期起動(3213)が設
定されている。このメッセージを受信したプロセッサ
は、アプリケーションプログラム「AP2」を2000
年3月23日10時30分30秒から50msecの周
期で起動する。
【0067】図32(d)に示す例3では、アプリケー
ションプログラム「AP3」(3231)に対して、8
000msecの時間起動(3232)と、周期起動キ
ャンセル(3233)が設定されている。このメッセー
ジを受信したプロセッサは、8000msec後、即ち
8秒後にアプリケーションプログラム「AP3」の周期
起動を取り消す。この場合、実行取消管理テーブルの設
定は図33(b)に示すようになる。実行取消待ち時間
として8000msecが設定され、アプリケーション
プログラム名称として「AP3」が、起動タイプ番号と
して周期起動キャンセルを示す「5」が設定される(ロ
ウ3321)。プロセッサの実行管理モジュールは、こ
の実行取り消し管理テーブルに従って、8000mse
c後にアプリケーションプログラム「AP3」に対する
周期起動キャンセルを実行する。
【0068】図32(e)に示す例4では、アプリケー
ションプログラム「AP4」(3241)に対して、3
000msecの時間起動(3242)と、2001年
5月1日20時ちょうどの時刻起動(3243)が設定
されている。メッセージを受信したプロセッサは、アプ
リケーションプログラム「AP4」を3000msec
後に1回起動し、さらに2000年3月23日10時3
0分30秒にもう1度起動する。
【0069】図32(f)に示す例5では、アプリケー
ションプログラム「AP5」(3251)に対して、1
000msecの時間起動(3252)、100mse
cの周期起動(3253)、5000msecの時間起
動(3254)、および周期起動キャンセル(325
5)が設定されている。メッセージを受信したプロセッ
サは、アプリケーションプログラム「AP5」を100
0msec後に起動し、その後100msec毎に周期
的に起動し、メッセージを受信してから5000mse
c後に周期起動を取り消す。この場合、実行管理テーブ
ルと実行取消管理テーブルの設定は図33(c)のよう
になる。まず、実行管理テーブルには、アプリケーショ
ンプログラム名称として「AP5」が、実行待ち時間と
して1100msecが設定される。起動タイプが周期
起動であるので、起動パラメータから、起動周期として
100msecを設定する(ロウ2241)。アプリケ
ーションプログラム「AP5」の最初の起動は1100
msec後であり、以降100msec毎に起動され
る。次に、実行取消管理テーブルには、実行取消待ち時
間として5000msec、アプリケーションプログラ
ム名称として「AP5」、そして、起動タイプ番号とし
て周期起動キャンセルを示す「5」が設定される。
【0070】本実施例では、アプリケーションプログラ
ムまたは内容コードに対して、複数の起動タイプと起動
パラメータを定義し、各プロセッサは、メッセージを受
信すると、これらの複数の起動条件をもとに起動時間を
判断し、適当な時間に1回もしくは複数回アプリケーシ
ョンプログラムを起動する。従来であると、このように
複雑なアプリケーションプログラムの起動を行おうとす
ると、プログラマが複雑なプログラムを組む必要があっ
た。しかし、本実施例では、起動タイプと起動パラメー
タを設定するのみですみ、複雑なプログラミングを行う
必要は全くない。このため、プログラミング効率が大幅
に向上する。また、アプリケーションプログラムの処理
とアプリケーションプログラムの起動を分離して設計す
ることができるため、システムの設計効率が向上すると
ともに、起動タイミングの変更なども容易になる。この
ため、システムの変更も容易になる。つまり、システム
設計、システム保守の効率が大幅に向上する。
【0071】
【発明の効果】本発明によれば、タスクの起動を時間条
件により管理しており、タスク間の起動タイミングを容
易に管理することができる。このため、システム設計、
システム保守の負荷を大幅に軽減することができる。
【図面の簡単な説明】
【図1】第1の実施例におけるプロセッサ内での処理手
順を示すフローチャートである。
【図2】本発明が適用される計算機システムの構成図で
ある。
【図3】第1の実施例における処理装置のブロック図で
ある。
【図4】起動タイプ管理テーブルの構成図である。
【図5】起動条件管理テーブルの構成図である。
【図6】ネットワーク上に送信されるメッセージのフォ
ーマット図である。
【図7】第1の実施例における処理装置の機能ブロック
図である。
【図8】実行管理テーブルの構成図である。
【図9】起動タイプ、起動パラメータの定義時に用いる
定義画面の構成図である。
【図10】起動タイプ、起動パラメータの定義時に用い
る定義画面の他の一例を示す構成図である。
【図11】第2の実施例におけるプロセッサ内での処理
手順を示すフローチャートである。
【図12】ネットワーク上に送信されるメッセージのフ
ォーマット図である。
【図13】起動タイプ管理テーブルの構成図である。
【図14】メッセージ内の情報の設定例を示すフォーマ
ット図である。
【図15】第3の実施例における計算機システムの構成
図である。
【図16】ネットワーク上を送信されるメッセージのフ
ォーマット図である。
【図17】第3の実施例における処理装置のブロック図
である。
【図18】内容コード管理テーブルの構成図である。
【図19】送信範囲管理テーブルの構成図である。
【図20】第3の実施例における処理装置の機能ブロッ
ク図である。
【図21】第3の実施例におけるプロセッサ内での処理
手順を示すフローチャートである。
【図22】内容コードの定義に用いる定義画面の構成図
である。
【図23】入出力内容コードの定義に用いる定義画面の
構成図である。
【図24】内容コードに対する起動方式と時間条件の定
義に用いる定義画面の構成図である。
【図25】内容コードに対する起動方式と時間条件の定
義に用いる定義画面の構成図である。
【図26】第4の実施例におけるプロセッサ内での処理
手順を示すフローチャートである。
【図27】受信メッセージ管理テーブルの構成図であ
る。
【図28】内容コードに対する起動方式と時間条件の定
義に用いる定義画面の構成図である。
【図29】起動条件管理テーブルおよび内容コード管理
テーブルの構成図である。
【図30】ネットワーク上を送信されるメッセージのフ
ォーマット図である。
【図31】実行取消管理テーブルの構成図である。
【図32】メッセージへの定義情報の設定例を示すフォ
ーマット図である。
【図33】実行管理テーブルおよび実行取消管理テーブ
ルへの管理情報の設定例を示す例示図である。

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】複数のプロセッサにより構成される分散処
    理システムのプログラム実行管理方法において、メッセ
    ージを受信したプロセッサは、受信したメッセージを処
    理するプログラムを、あらかじめ該プログラムに対して
    設定されたにより与えられる起動タイミングで該プログ
    ラムを起動することを特徴とするプログラム実行管理方
    法。
  2. 【請求項2】前記起動の形態は、メッセージ受信後指定
    される時間経過後にプログラムの起動を行う第1の起動
    形態、メッセージ受信後指定される周期でプログラムの
    起動を行う第2の起動形態、および指定される時刻にプ
    ログラムの起動を行う第3の起動形態のいずれか1つを
    含むことを特徴とする請求項1記載のプログラム実行管
    理方法。
  3. 【請求項3】前記起動条件情報を各プロセッサ内のテー
    ブルにあらかじめ登録しておき、前記プロセッサの各々
    は、前記テーブル内の起動条件情報に基づいて自プロセ
    ッサ内のプログラムを起動することを特徴とする請求項
    2記載のプログラム実行管理方法。
  4. 【請求項4】前記プロセッサの各々は、前記起動条件情
    報を自プロセッサ内のプログラムの処理結果のメッセー
    ジに付与して送信し、該メッセージを受信したプロセッ
    サは、メッセージに付与された前記起動条件情報をもと
    に、プログラム起動のタイミングを決定することを特徴
    とする請求項2記載のプログラム実行管理方法。
  5. 【請求項5】前記起動条件情報としてさらに、前記第1
    の起動形態、第2の起動形態、および第3の起動形態の
    それぞれに対応して、対応する起動形態で起動が管理さ
    れているプログラムの起動の取り消しを指示する起動情
    報を設けておき、該取り消しを指示する起動情報を含む
    メッセージを前記ネットワークを介して伝送し、前記プ
    ログラムの起動を中止することを特徴とする請求項4記
    載のプログラム実行管理方法。
  6. 【請求項6】前記プロセッサのいずれかより前記起動条
    件情報が複数付与されたメッセージを送信し、該メッセ
    ージを受信したプロセッサは、該メッセージに付与され
    た複数の起動条件情報に基づいて決定される起動タイミ
    ングに従って該メッセージを処理に必要とするプログラ
    ムの起動を管理する請求項4または請求項5記載のプロ
    グラム実行管理方法。
  7. 【請求項7】複数のプロセッサにより構成され、各プロ
    セッサが自プロセッサ内のプログラムの処理結果のメッ
    セージに、そのメッセージの内容を示す内容コードを付
    与してネットワークにブロードキャストし、該メッセー
    ジを受信したプロセッサは、該メッセージに付与された
    内容コードをもとに該メッセージを受信するか否かを判
    断し、該メッセージが必要と判断した場合に受信するよ
    うに構成された分散処理システムのプログラム実行管理
    方法において、前記内容コードに対して設定された起動
    の形態を示す起動タイプ情報と時間的条件を与える時間
    情報とからなる起動条件情報をもとに、該メッセージを
    処理する少なくとも1つのプログラムを、メッセージ受
    信後、前記起動条件情報により与えられる起動タイミン
    グに従って起動することを特徴とするプログラム実行管
    理方法。
  8. 【請求項8】前記起動の形態は、メッセージ受信後指定
    される時間経過後にプログラムの起動を行う第1の起動
    形態、メッセージ受信後指定される周期でプログラムの
    起動を行う第2の起動形態、および指定される時刻にプ
    ログラムの起動を行う第3の起動形態のいずれか1つを
    含むことを特徴とする請求項7記載のプログラム実行管
    理方法。
  9. 【請求項9】前記起動条件情報と前記内容コードとを対
    応させて各プロセッサ内のテーブルにあらかじめ登録し
    ておき、前記プロセッサの各々は、前記テーブル内の起
    動条件情報に基づいて自プロセッサ内のプログラムを起
    動することを特徴とする請求項8記載のプログラム実行
    管理方法。
  10. 【請求項10】前記プロセッサの各々は、前記起動条件
    情報を自プロセッサ内のプログラムの処理結果のメッセ
    ージに付与して送信し、該メッセージを受信したプロセ
    ッサは、メッセージに付与された前記起動条件情報をも
    とに、プログラム起動のタイミングを決定することを特
    徴とする請求項8記載のプログラム実行管理方法。
  11. 【請求項11】前記起動条件情報としてさらに、前記第
    1の起動形態、第2の起動形態、および第3の起動形態
    のそれぞれに対応して、対応する起動形態で起動が管理
    されているプログラムの起動の取り消しを指示する起動
    情報を設けておき、該取り消しを指示する起動情報を含
    むメッセージを前記ネットワークを介して伝送し、前記
    プログラムの起動を中止することを特徴とする請求項1
    0記載のプログラム実行管理方法。
  12. 【請求項12】前記プロセッサのいずれかより前記起動
    条件情報が複数付与されたメッセージを送信し、該メッ
    セージを受信したプロセッサは、該メッセージに付与さ
    れた複数の起動条件情報に基づいて決定される起動タイ
    ミングに従って該メッセージを処理に必要とするプログ
    ラムの起動を管理する請求項10または請求項11記載
    のプログラム実行管理方法。
  13. 【請求項13】少なくとも1つのプロセッサ内のプログ
    ラムは、その処理に複数のメッセージを必要とし、前記
    少なくとも1つのプロセッサは、該プログラムが処理を
    行うのに必要な全てのメッセージを受信し、受信したメ
    ッセージに付与された内容コードの中の少なくとも1つ
    の内容コードに対して定義された起動条件情報をもと
    に、該プログラムを起動するまでの時間間隔を決定して
    該プログラムを起動することを特徴とする請求項8、
    9、または10いずれかに記載のプログラム実行管理方
    法。
  14. 【請求項14】前記内容コードに対して優先順位を設定
    しておき、前記複数のメッセージに付与された複数の内
    容コードに対して定義された前記起動条件情報から、前
    記優先順位に基づいて前記プログラムの起動管理に用い
    る起動条件情報を決定することを特徴とする請求項15
    記載のプログラム実行管理方法。
JP7218441A 1995-06-26 1995-08-28 プログラム実行管理方法 Pending JPH0962637A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP7218441A JPH0962637A (ja) 1995-08-28 1995-08-28 プログラム実行管理方法
US08/668,778 US6282578B1 (en) 1995-06-26 1996-06-24 Execution management method of program on reception side of message in distributed processing system
US09/888,657 US6792603B2 (en) 1995-06-26 2001-06-26 Execution management method of program on reception side of message in distributed processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7218441A JPH0962637A (ja) 1995-08-28 1995-08-28 プログラム実行管理方法

Publications (1)

Publication Number Publication Date
JPH0962637A true JPH0962637A (ja) 1997-03-07

Family

ID=16719968

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7218441A Pending JPH0962637A (ja) 1995-06-26 1995-08-28 プログラム実行管理方法

Country Status (1)

Country Link
JP (1) JPH0962637A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001086133A (ja) * 1999-09-14 2001-03-30 Hitachi Ltd 異種システムにおける連携管理方法及び連携管理システム
JP2001306776A (ja) * 2000-04-25 2001-11-02 Seiko Epson Corp 異なるシステム間のデータ連動方法、データ連動装置及び情報記憶媒体
JP2004013852A (ja) * 2002-06-11 2004-01-15 Clarion Co Ltd ウェブページ表示装置、方法及びプログラム
JP2009199499A (ja) * 2008-02-25 2009-09-03 Fujitsu Ltd リソース制御プログラム及びリソース制御方法
JP2011108208A (ja) * 2009-11-20 2011-06-02 National Institute Of Advanced Industrial Science & Technology 分散制御システムおよび分散制御方法
JP2012503231A (ja) * 2008-09-15 2012-02-02 マイクロソフト コーポレーション ウェブアプリケーションのための非同期待ち行列型メッセージング
JPWO2019198221A1 (ja) * 2018-04-13 2020-04-30 三菱電機株式会社 データ処理装置、データ処理方法及びプログラム

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001086133A (ja) * 1999-09-14 2001-03-30 Hitachi Ltd 異種システムにおける連携管理方法及び連携管理システム
JP2001306776A (ja) * 2000-04-25 2001-11-02 Seiko Epson Corp 異なるシステム間のデータ連動方法、データ連動装置及び情報記憶媒体
JP2004013852A (ja) * 2002-06-11 2004-01-15 Clarion Co Ltd ウェブページ表示装置、方法及びプログラム
JP2009199499A (ja) * 2008-02-25 2009-09-03 Fujitsu Ltd リソース制御プログラム及びリソース制御方法
JP2012503231A (ja) * 2008-09-15 2012-02-02 マイクロソフト コーポレーション ウェブアプリケーションのための非同期待ち行列型メッセージング
US8949344B2 (en) 2008-09-15 2015-02-03 Microsoft Corporation Asynchronous queued messaging for web applications
JP2011108208A (ja) * 2009-11-20 2011-06-02 National Institute Of Advanced Industrial Science & Technology 分散制御システムおよび分散制御方法
JPWO2019198221A1 (ja) * 2018-04-13 2020-04-30 三菱電機株式会社 データ処理装置、データ処理方法及びプログラム

Similar Documents

Publication Publication Date Title
US6282578B1 (en) Execution management method of program on reception side of message in distributed processing system
RU2377635C2 (ru) Обработка информации, принимаемой дополнительным вычислительным устройством
US6571273B1 (en) Process control system
JPH06314189A (ja) コンソール
JPH06509431A (ja) コンピュータシステムの監視方法及び装置
WO1995002217B1 (en) Agent-based multithreading application programming interface
CN110457154A (zh) 异常服务处理方法及装置、存储介质、通信终端
JPH0962637A (ja) プログラム実行管理方法
EP3767411A1 (en) Control system, development assistance device, and development assistance program
WO2023124657A1 (zh) 微应用的运行方法、装置、设备、存储介质及程序产品
CN118891609A (zh) 带智能提示的基于用户界面的全机群智能体安装
WO2014191335A1 (en) Dynamic loading of application components
JP4366576B2 (ja) プログラマブルコントローラ用機器
CN112231231A (zh) 云端服务的调试方法、系统及装置
JP2004171282A (ja) クライアント装置、それを備える制御システム、および、そのプログラム
KR20050009805A (ko) 이동통신 단말기의 프로그램작업 예약 및 실행 방법
EP4455866A1 (en) Subprogram updating method and apparatus, and electronic device, computer-readable storage medium and computer program product
CN118227148A (zh) 显示设备及数据部署方法
CN115946126A (zh) 任务执行控制方法及机器人
CN116450182A (zh) 自动化流程机器人的更新方法、计算机设备及存储介质
JPH0378034A (ja) プログラム並行実行装置
CN115016774A (zh) 一种idc数据中心行业动环数据采集系统
CN114661310A (zh) 基于双系统的应用安装方法、终端设备及存储介质
CN116166291A (zh) 一种系统升级方法、显示设备及服务器
CN118707898A (zh) 一种产线调度系统、装置及产线