JPH0695896A - タスク処理システムおよびタスク間通信制御方法 - Google Patents
タスク処理システムおよびタスク間通信制御方法Info
- Publication number
- JPH0695896A JPH0695896A JP24364592A JP24364592A JPH0695896A JP H0695896 A JPH0695896 A JP H0695896A JP 24364592 A JP24364592 A JP 24364592A JP 24364592 A JP24364592 A JP 24364592A JP H0695896 A JPH0695896 A JP H0695896A
- Authority
- JP
- Japan
- Prior art keywords
- message
- task
- tasks
- system control
- state
- 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
Abstract
(57)【要約】
【目的】 複数のタスクが、タスク間通信によって連携
を取りながら機能を実現するシステムにおいて、タスク
の追加・削除等によって生じるタスク間におけるメッセ
ージの変更、システムの機能の変更や拡張に対して容易
に対応できるタスク処理システムを提供する。 【構成】 予め定められた処理を実行するタスクを複数
有し、該タスク間でメッセージの送受信を行うタスク処
理システムにおいて、前記複数のタスクのうち少なくと
も1のタスクは、前記各タスクからのメッセージを受信
してメッセージを解析し、該メッセージに従って前記各
タスクの進行状態を把握して保持し、前記各タスクの進
行状態が予め定めた進行状態になったときに、受信した
メッセージに対応したメッセージを対応する出力先に出
力する。
を取りながら機能を実現するシステムにおいて、タスク
の追加・削除等によって生じるタスク間におけるメッセ
ージの変更、システムの機能の変更や拡張に対して容易
に対応できるタスク処理システムを提供する。 【構成】 予め定められた処理を実行するタスクを複数
有し、該タスク間でメッセージの送受信を行うタスク処
理システムにおいて、前記複数のタスクのうち少なくと
も1のタスクは、前記各タスクからのメッセージを受信
してメッセージを解析し、該メッセージに従って前記各
タスクの進行状態を把握して保持し、前記各タスクの進
行状態が予め定めた進行状態になったときに、受信した
メッセージに対応したメッセージを対応する出力先に出
力する。
Description
【0001】
【産業上の利用分野】本発明は、複数のタスクが存在す
るシステムにおいて、各タスクが他のタスクに対してメ
ッセージを送るためのタスク間通信の制御方法に関す
る。特に、複数のタスクが、各々の持つ機能を組み合わ
せることによって、一つの機能を実現するシステムにお
いて、各タスク間での同期をとるためのタスク間通信の
制御方法に関する。
るシステムにおいて、各タスクが他のタスクに対してメ
ッセージを送るためのタスク間通信の制御方法に関す
る。特に、複数のタスクが、各々の持つ機能を組み合わ
せることによって、一つの機能を実現するシステムにお
いて、各タスク間での同期をとるためのタスク間通信の
制御方法に関する。
【0002】
【従来の技術】アプリケーションプログラムによって実
現されるタスクを複数組み合わせることによって一つの
機能を実現するシステムでは、外部との通信を行う通信
タスク、ファイルへのデータ入出力を行うファイル更新
タスク、キー入力・画面出力を行う対話制御表示タスク
等のタスクごとに処理している。例えば、通信タスクで
受信した外部システムからのデータを、ファイル更新タ
スクによってファイルに格納し、データを格納したこと
を対話制御表示タスクによって画面に表示する。これら
のタスクは、処理の進行に応じて互いに同期をとった
り、データの授受を行う必要がある。
現されるタスクを複数組み合わせることによって一つの
機能を実現するシステムでは、外部との通信を行う通信
タスク、ファイルへのデータ入出力を行うファイル更新
タスク、キー入力・画面出力を行う対話制御表示タスク
等のタスクごとに処理している。例えば、通信タスクで
受信した外部システムからのデータを、ファイル更新タ
スクによってファイルに格納し、データを格納したこと
を対話制御表示タスクによって画面に表示する。これら
のタスクは、処理の進行に応じて互いに同期をとった
り、データの授受を行う必要がある。
【0003】このようなタスク間通信には、従来二つの
方法がある。第1の方法は、各タスク間で直接にタスク
間通信を行う方法である。例えば、上記の例では、通信
タスクからファイル更新タスクに対して、データをファ
イルに格納する指示を、格納するデータと共に送る。ま
た、ファイル更新タスクから対話制御表示タスクに対し
て、画面表示の指示を画面表示する内容と共に送る。第
2の方法は、特開平2−297633号公報に記載され
ている方法である。該従来技術では、タスク間で送受信
する電文データ(以後メッセージという)の中に送信先
タスクを表す論理ユニット番号を付加してタスク間通信
を行う複数のタスクと、論理ユニット番号を解釈し、論
理ユニット番号が表すタスクに入力メッセージを送信す
るLU監理タスクとを設けている。LU監理タスク以外
のすべてのタスクは、LU監理タスクにメッセージを送
信することでタスク間通信を行っている。例えば、上記
の例では、通信タスク、ファイル更新タスクおよび対話
制御表示タスクの論理ユニット番号を、それぞれ01、
02および03とすると、通信タスクは、論理ユニット
番号がファイル更新タスクを表す02を付加し、格納す
るデータと、データをファイルに格納する指示を表すメ
ッセージとをLU監理タスクに送信する。LU監理タス
クは、本メッセージを受信すると、メッセージを解釈
し、論理ユニット番号が02であることにより、ファイ
ル更新タスクに対して本メッセージを送信する。このよ
うに、LU監理タスクを経由して通信タスクからファイ
ル更新タスクへのタスク間通信を行う。ファイル更新タ
スクから対話制御表示タスクへのタスク間通信も、同様
に、論理ユニット番号を03とし、LU監理タスクを経
由して行う。
方法がある。第1の方法は、各タスク間で直接にタスク
間通信を行う方法である。例えば、上記の例では、通信
タスクからファイル更新タスクに対して、データをファ
イルに格納する指示を、格納するデータと共に送る。ま
た、ファイル更新タスクから対話制御表示タスクに対し
て、画面表示の指示を画面表示する内容と共に送る。第
2の方法は、特開平2−297633号公報に記載され
ている方法である。該従来技術では、タスク間で送受信
する電文データ(以後メッセージという)の中に送信先
タスクを表す論理ユニット番号を付加してタスク間通信
を行う複数のタスクと、論理ユニット番号を解釈し、論
理ユニット番号が表すタスクに入力メッセージを送信す
るLU監理タスクとを設けている。LU監理タスク以外
のすべてのタスクは、LU監理タスクにメッセージを送
信することでタスク間通信を行っている。例えば、上記
の例では、通信タスク、ファイル更新タスクおよび対話
制御表示タスクの論理ユニット番号を、それぞれ01、
02および03とすると、通信タスクは、論理ユニット
番号がファイル更新タスクを表す02を付加し、格納す
るデータと、データをファイルに格納する指示を表すメ
ッセージとをLU監理タスクに送信する。LU監理タス
クは、本メッセージを受信すると、メッセージを解釈
し、論理ユニット番号が02であることにより、ファイ
ル更新タスクに対して本メッセージを送信する。このよ
うに、LU監理タスクを経由して通信タスクからファイ
ル更新タスクへのタスク間通信を行う。ファイル更新タ
スクから対話制御表示タスクへのタスク間通信も、同様
に、論理ユニット番号を03とし、LU監理タスクを経
由して行う。
【0004】
【発明が解決しようとする課題】上記従来技術は、シス
テムで実現する機能を変更・拡張する場合に、対応が困
難であるという欠点がある。
テムで実現する機能を変更・拡張する場合に、対応が困
難であるという欠点がある。
【0005】すなわち、第1に、機能の変更・拡張に伴
いタスクの追加・削除が生じると、例えば、削除された
タスクに対して今までメッセージを送信していたすべて
のタスクは、メッセージ内容(少なくとも送信先)の変
更が必要となる。メッセージの送信先の変更は、上記従
来技術第1の方法では、タスク間通信で用いる共有メモ
リのメッセージ書き込み場所を、変更後の送信先に対応
する場所に変更する必要がある。また、上記従来技術第
2の方法でも、変更後の送信先に対応する論理ユニット
番号に変更する必要がある。上記いずれの方法でも、追
加・削除した以外の既存のタスクが影響を受け、プログ
ラムの変更が必要となる問題がある。
いタスクの追加・削除が生じると、例えば、削除された
タスクに対して今までメッセージを送信していたすべて
のタスクは、メッセージ内容(少なくとも送信先)の変
更が必要となる。メッセージの送信先の変更は、上記従
来技術第1の方法では、タスク間通信で用いる共有メモ
リのメッセージ書き込み場所を、変更後の送信先に対応
する場所に変更する必要がある。また、上記従来技術第
2の方法でも、変更後の送信先に対応する論理ユニット
番号に変更する必要がある。上記いずれの方法でも、追
加・削除した以外の既存のタスクが影響を受け、プログ
ラムの変更が必要となる問題がある。
【0006】第2に、機能の変更・拡張に伴いタスクの
実行順序に変更が生じると、変更に関連するすべてのタ
スクにおいてメッセージの変更が必要となる。例えば、
タスクT1、T2、T3の順(T1からT2、T2から
T3へのメッセージを、それぞれM2、M3とする)で
実行していたものを、T1、T3、T2の順に変更する
と、タスクT1はメッセージM3を、タスクT3はメッ
セージM2を新たに送信する必要がある。そのため、上
記従来技術ではいずれの方法でも、実行順序の変更に関
連するすべてのタスクにおいて、プログラムの変更が必
要となる問題がある。更に、機能の変更・拡張に伴い、
タスク間の同期のタイミングに変更が生じると、実行の
タイミングを変更するすべてのタスクのプログラムの変
更が必要となる問題がある。以上のように、システムで
実現する機能を変更・拡張しようとすると、既存部分の
変更が広範囲におよび、多くの工数がかかる。
実行順序に変更が生じると、変更に関連するすべてのタ
スクにおいてメッセージの変更が必要となる。例えば、
タスクT1、T2、T3の順(T1からT2、T2から
T3へのメッセージを、それぞれM2、M3とする)で
実行していたものを、T1、T3、T2の順に変更する
と、タスクT1はメッセージM3を、タスクT3はメッ
セージM2を新たに送信する必要がある。そのため、上
記従来技術ではいずれの方法でも、実行順序の変更に関
連するすべてのタスクにおいて、プログラムの変更が必
要となる問題がある。更に、機能の変更・拡張に伴い、
タスク間の同期のタイミングに変更が生じると、実行の
タイミングを変更するすべてのタスクのプログラムの変
更が必要となる問題がある。以上のように、システムで
実現する機能を変更・拡張しようとすると、既存部分の
変更が広範囲におよび、多くの工数がかかる。
【0007】本発明の目的は、タスクの追加・削除、タ
スクの実行順序の変更およびタスク間の同期のタイミン
グの変更に対して、システムの機能変更・拡張に容易に
対処し得る、タスク間通信制御方法およびタスク間通信
制御装置を提供することにある。
スクの実行順序の変更およびタスク間の同期のタイミン
グの変更に対して、システムの機能変更・拡張に容易に
対処し得る、タスク間通信制御方法およびタスク間通信
制御装置を提供することにある。
【0008】
【課題を解決するための手段】上記目的を達成するため
に、予め定められた処理を実行するタスクを複数有し、
該タスク間でメッセージの送受信を行うタスク処理シス
テムにおいて、前記複数のタスクのうち少なくとも1の
タスクは、タスク間の通信制御をするシステム制御タス
クであり、前記複数のタスクは、伝達すべき情報の内容
を表すメッセージデータを有するメッセージを、前記シ
ステム制御タスクと送受信する送受信手段をそれぞれ備
え、前記システム制御タスクは、受信した前記メッセー
ジを対応する出力先に出力するメッセージ処理部と、前
記メッセージに対応する出力先を管理する状態管理部と
を有し、前記状態管理部は、メッセージを受信した場合
に、該メッセージが予め定めたメッセージであるときに
状態を遷移させ、該状態を示す内部状態表示手段と、前
記メッセージに対応する、前記内部状態表示手段の状態
と出力先タスクと出力メッセージと前記内部状態表示手
段の遷移させる状態とを予め定めたシステム制御テーブ
ルとを備え、前記メッセージ処理部は、前記複数のタス
クからのメッセージを受信してメッセージを解析し、メ
ッセージの種類を検出する検出手段と、前記システム制
御テーブルを参照して該検出手段で検出したメッセージ
に対応する内部状態表示手段の状態を取りだし、前記内
部状態表示手段の状態と一致するか否かを判断する判断
手段と、該判断手段で一致した場合には、前記システム
制御テーブルを参照し、該検出手段で検出したメッセー
ジに対応する出力先タスクと出力メッセージと前記遷移
させる状態とを取り出し、該出力先タスクに対して出力
メッセージを出力し、前記内部状態表示手段の状態を遷
移させる処理手段とを備える。
に、予め定められた処理を実行するタスクを複数有し、
該タスク間でメッセージの送受信を行うタスク処理シス
テムにおいて、前記複数のタスクのうち少なくとも1の
タスクは、タスク間の通信制御をするシステム制御タス
クであり、前記複数のタスクは、伝達すべき情報の内容
を表すメッセージデータを有するメッセージを、前記シ
ステム制御タスクと送受信する送受信手段をそれぞれ備
え、前記システム制御タスクは、受信した前記メッセー
ジを対応する出力先に出力するメッセージ処理部と、前
記メッセージに対応する出力先を管理する状態管理部と
を有し、前記状態管理部は、メッセージを受信した場合
に、該メッセージが予め定めたメッセージであるときに
状態を遷移させ、該状態を示す内部状態表示手段と、前
記メッセージに対応する、前記内部状態表示手段の状態
と出力先タスクと出力メッセージと前記内部状態表示手
段の遷移させる状態とを予め定めたシステム制御テーブ
ルとを備え、前記メッセージ処理部は、前記複数のタス
クからのメッセージを受信してメッセージを解析し、メ
ッセージの種類を検出する検出手段と、前記システム制
御テーブルを参照して該検出手段で検出したメッセージ
に対応する内部状態表示手段の状態を取りだし、前記内
部状態表示手段の状態と一致するか否かを判断する判断
手段と、該判断手段で一致した場合には、前記システム
制御テーブルを参照し、該検出手段で検出したメッセー
ジに対応する出力先タスクと出力メッセージと前記遷移
させる状態とを取り出し、該出力先タスクに対して出力
メッセージを出力し、前記内部状態表示手段の状態を遷
移させる処理手段とを備える。
【0009】前記送受信手段は、メッセージの種類を表
すメッセージ識別情報をメッセージに付加して送信し、
前記検出手段は、前記複数のタスクからのメッセージを
受信して前記メッセージ識別情報を検出してメッセージ
を解析する。
すメッセージ識別情報をメッセージに付加して送信し、
前記検出手段は、前記複数のタスクからのメッセージを
受信して前記メッセージ識別情報を検出してメッセージ
を解析する。
【0010】前記システム制御テーブルは、前記内部状
態表示手段を遷移させるまでの時間を前記メッセージに
対応してさらに有し、前記処理手段は、前記システム制
御テーブルを参照し、該時間をさらに取り出し、該時間
の経過後に前記内部状態表示手段の状態を遷移させるこ
とができる。
態表示手段を遷移させるまでの時間を前記メッセージに
対応してさらに有し、前記処理手段は、前記システム制
御テーブルを参照し、該時間をさらに取り出し、該時間
の経過後に前記内部状態表示手段の状態を遷移させるこ
とができる。
【0011】また、前記システム制御タスクは、前記状
態管理部を複数有し、前記送受信手段は、前記複数の状
態管理部を識別するシーケンス番号をメッセージに付加
して送信し、前記検出手段は、前記複数のタスクからの
メッセージを受信して前記シーケンス番号をさらに検出
して対応する状態管理部を検出する。
態管理部を複数有し、前記送受信手段は、前記複数の状
態管理部を識別するシーケンス番号をメッセージに付加
して送信し、前記検出手段は、前記複数のタスクからの
メッセージを受信して前記シーケンス番号をさらに検出
して対応する状態管理部を検出する。
【0012】さらに、前記システム制御テーブルに対し
て、指示された内容を受け付けて設定する入力手段を有
する。
て、指示された内容を受け付けて設定する入力手段を有
する。
【0013】
【作用】システム制御タスクは、メッセージが入力され
ると、システム制御テーブルおよび内部状態表示手段に
従って、入力したメッセージと内部状態のとる各状態と
に対応して出力するメッセージを出力先に送信し、内部
状態を遷移する。他のすべてのタスクは、システム制御
タスクとのみタスク間通信を行い、システム制御タスク
以外のタスクとの直接の通信はない。システム制御タス
クを除く各タスク(以後、単にタスクと言う場合はシス
テム制御タスクを除いた各タスクを表す)は、送受信手
段によりシステム制御タスクに対してのみ通信を行う。
各タスクの処理は他のタスクとは独立して行うことがで
きる。前記複数のタスクのうち少なくとも1のタスク
は、タスク間の通信制御をするシステム制御タスクであ
る。システム制御テーブルには、入力手段により、入力
メッセージと内部状態の各状態に対応する出力メッセー
ジとその出力先が予め設定されている。
ると、システム制御テーブルおよび内部状態表示手段に
従って、入力したメッセージと内部状態のとる各状態と
に対応して出力するメッセージを出力先に送信し、内部
状態を遷移する。他のすべてのタスクは、システム制御
タスクとのみタスク間通信を行い、システム制御タスク
以外のタスクとの直接の通信はない。システム制御タス
クを除く各タスク(以後、単にタスクと言う場合はシス
テム制御タスクを除いた各タスクを表す)は、送受信手
段によりシステム制御タスクに対してのみ通信を行う。
各タスクの処理は他のタスクとは独立して行うことがで
きる。前記複数のタスクのうち少なくとも1のタスク
は、タスク間の通信制御をするシステム制御タスクであ
る。システム制御テーブルには、入力手段により、入力
メッセージと内部状態の各状態に対応する出力メッセー
ジとその出力先が予め設定されている。
【0014】システム制御テーブルにおけるこの定義
((入力メッセージ、内部状態の状態、出力メッセー
ジ、出力先、遷移する内部状態の状態)の組)および内
部状態のとり得る状態を変更するのみで、他タスクとの
メッセージの結び付きを変更することが可能である。す
なわち、タスクの追加・削除に伴い必要となる、当該タ
スクとシステム制御タスクとの間で追加・削除されたメ
ッセージと他タスクのメッセージとの結び付きの変更
を、システム制御テーブルにおける定義および内部状態
のとり得る状態の変更のみで、他の既存タスクに影響を
与えないで対応することができる。また、タスクの実行
順序の変更は、システム制御タスクからの出力メッセー
ジの出力順を変更することで対応できるので、システム
制御テーブルにおける定義の変更のみで、他の既存タス
クに影響を与えないで対応することができる。さらに、
タスクに実行を指示するメッセージをシステム制御タス
クから送信するときのタイミングを変更することで対応
が可能であるので、システム制御テーブルにおける定義
および内部状態のとり得る状態の変更のみで、実行タイ
ミングを変更するタスクを変更することなくタスク間の
同期のタイミングの変更が可能である。
((入力メッセージ、内部状態の状態、出力メッセー
ジ、出力先、遷移する内部状態の状態)の組)および内
部状態のとり得る状態を変更するのみで、他タスクとの
メッセージの結び付きを変更することが可能である。す
なわち、タスクの追加・削除に伴い必要となる、当該タ
スクとシステム制御タスクとの間で追加・削除されたメ
ッセージと他タスクのメッセージとの結び付きの変更
を、システム制御テーブルにおける定義および内部状態
のとり得る状態の変更のみで、他の既存タスクに影響を
与えないで対応することができる。また、タスクの実行
順序の変更は、システム制御タスクからの出力メッセー
ジの出力順を変更することで対応できるので、システム
制御テーブルにおける定義の変更のみで、他の既存タス
クに影響を与えないで対応することができる。さらに、
タスクに実行を指示するメッセージをシステム制御タス
クから送信するときのタイミングを変更することで対応
が可能であるので、システム制御テーブルにおける定義
および内部状態のとり得る状態の変更のみで、実行タイ
ミングを変更するタスクを変更することなくタスク間の
同期のタイミングの変更が可能である。
【0015】
【実施例】以下、本発明の実施例を図1から図10によ
り説明する。
り説明する。
【0016】図1は、本発明のタスク間通信制御方法お
よびタスク処理システムを実現するための機能ブロック
図である。図1において、タスク処理システムは、シス
テム制御タスク1とそれ以外の複数のタスク2とを有し
ている。タスク2には、タスク2を識別するための固有
のタスク番号が付与されている。タスク2は、共有メモ
リ3を介して、システム制御タスク1との間でメッセー
ジの授受を行う。複数のタスクは、メッセージの内容を
表すメッセージデータを有するメッセージを、前記シス
テム制御タスクと送受信する送受信手段をそれぞれ備え
る。メッセージ30は、図2に示すように、タスク間で
授受するメッセージの内容を表すメッセージデータ35
から少なくとも構成され、メッセージの種類を表すメッ
セージ番号31を付加してもよい。構成要素として、さ
らに、メッセージの送信元32、送信先33およびシー
ケンス番号34を含むようにしてもよい。また、図1に
おいて、通信用の共有メモリ3は、システム内に設けら
れる記憶手段であり、タスク専用の場所がタスク毎に割
り当てられる。複数のタスク2に対して、共有メモリ3
の同じ場所を割り当てることも可能であるが、その場合
は、メッセージの構成要素として、送信元または送信先
のタスク2を識別するタスク固有のタスク番号を含める
必要がある。タスク2は、システム制御タスク1と共有
メモリによって通信可能であり、他のタスク2とは、シ
ステム制御タスク1を介して通信して直接通信すること
はしない。システム制御タスク1は、メッセージ通信部
4、メッセージ処理部5、入力メッセージバッファ6、
出力メッセージバッファ7、状態管理部80を有する。
メッセージ通信部4は、タスク2とのメッセージ授受を
行うために各共有メモリ3に対して読み書きを行い、タ
スク2が入力したメッセージを共有メモリ3から読みだ
して入力メッセージバッファ6へ格納することと、出力
メッセージバッファ7に格納されているメッセージを読
み出して対応するタスクの共有メモリ3へ書き込むこと
とを行う。入力メッセージバッファ6は、各タスク2か
ら入力されたメッセージを一時格納しておく場所であ
る。出力メッセージバッファ7は、各タスク2に送信す
るメッセージを一時格納しておく場所である。状態管理
部80は、システム制御テーブル8および内部状態9を
有する。メッセージ処理部5は、入力メッセージバッフ
ァ6に格納されているメッセージを順に取り出し、取り
出した各メッセージを解釈し、内部状態9の現在の状態
からシステム制御テーブル8で定義されている内容に従
って出力メッセージの作成し、作成した出力メッセージ
を出力メッセージバッファ7へ格納し、内部状態9の状
態の遷移を行う。内部状態9は、内部状態表示手段であ
り、予め定めたメッセージを受信したときに状態を遷移
させ、該状態を示す。すなわち、内部状態とは、前記各
タスクの進行状態を示すものであり、内部状態9は、各
タスクの複数とり得る状態のうち、現在とっている状態
を示すメモリである。システム制御テーブル8は、入力
メッセージと内部状態9とに従って、メッセージ処理部
5が行う処理をあらかじめ定義したデータである。この
データは、図8に示すように、少なくとも、入力メッセ
ージ81、内部状態82、出力メッセージ83、出力先
84、遷移状態85の項目から構成される。システム制
御テーブル8に対して、各項目を定義する入力手段をさ
らに有することができる。メッセージ処理部5では、処
理するメッセージの内容であるメッセージ番号31と内
部状態9とを検出する検出手段と、システム制御テーブ
ル8を参照し、メッセージ番号31と一致する入力メッ
セージ81を検出し、また、内部状態9の状態が、シス
テム制御テーブル8の内部状態82に示す状態と一致す
るか否かを判断する判断手段とを有する。また、メッセ
ージ処理部5は、該判断手段で一致した場合には、メッ
セージ番号31と内部状態9とが一致した欄の出力先8
4に示すタスクに対して出力メッセージ83に示すメッ
セージを作成し、出力メッセージバッファ7に格納し、
格納後、遷移状態85に示す状態に内部状態9を遷移す
る処理手段を有する。システム制御テーブル8の各項目
81〜85は以上の意味を表す。
よびタスク処理システムを実現するための機能ブロック
図である。図1において、タスク処理システムは、シス
テム制御タスク1とそれ以外の複数のタスク2とを有し
ている。タスク2には、タスク2を識別するための固有
のタスク番号が付与されている。タスク2は、共有メモ
リ3を介して、システム制御タスク1との間でメッセー
ジの授受を行う。複数のタスクは、メッセージの内容を
表すメッセージデータを有するメッセージを、前記シス
テム制御タスクと送受信する送受信手段をそれぞれ備え
る。メッセージ30は、図2に示すように、タスク間で
授受するメッセージの内容を表すメッセージデータ35
から少なくとも構成され、メッセージの種類を表すメッ
セージ番号31を付加してもよい。構成要素として、さ
らに、メッセージの送信元32、送信先33およびシー
ケンス番号34を含むようにしてもよい。また、図1に
おいて、通信用の共有メモリ3は、システム内に設けら
れる記憶手段であり、タスク専用の場所がタスク毎に割
り当てられる。複数のタスク2に対して、共有メモリ3
の同じ場所を割り当てることも可能であるが、その場合
は、メッセージの構成要素として、送信元または送信先
のタスク2を識別するタスク固有のタスク番号を含める
必要がある。タスク2は、システム制御タスク1と共有
メモリによって通信可能であり、他のタスク2とは、シ
ステム制御タスク1を介して通信して直接通信すること
はしない。システム制御タスク1は、メッセージ通信部
4、メッセージ処理部5、入力メッセージバッファ6、
出力メッセージバッファ7、状態管理部80を有する。
メッセージ通信部4は、タスク2とのメッセージ授受を
行うために各共有メモリ3に対して読み書きを行い、タ
スク2が入力したメッセージを共有メモリ3から読みだ
して入力メッセージバッファ6へ格納することと、出力
メッセージバッファ7に格納されているメッセージを読
み出して対応するタスクの共有メモリ3へ書き込むこと
とを行う。入力メッセージバッファ6は、各タスク2か
ら入力されたメッセージを一時格納しておく場所であ
る。出力メッセージバッファ7は、各タスク2に送信す
るメッセージを一時格納しておく場所である。状態管理
部80は、システム制御テーブル8および内部状態9を
有する。メッセージ処理部5は、入力メッセージバッフ
ァ6に格納されているメッセージを順に取り出し、取り
出した各メッセージを解釈し、内部状態9の現在の状態
からシステム制御テーブル8で定義されている内容に従
って出力メッセージの作成し、作成した出力メッセージ
を出力メッセージバッファ7へ格納し、内部状態9の状
態の遷移を行う。内部状態9は、内部状態表示手段であ
り、予め定めたメッセージを受信したときに状態を遷移
させ、該状態を示す。すなわち、内部状態とは、前記各
タスクの進行状態を示すものであり、内部状態9は、各
タスクの複数とり得る状態のうち、現在とっている状態
を示すメモリである。システム制御テーブル8は、入力
メッセージと内部状態9とに従って、メッセージ処理部
5が行う処理をあらかじめ定義したデータである。この
データは、図8に示すように、少なくとも、入力メッセ
ージ81、内部状態82、出力メッセージ83、出力先
84、遷移状態85の項目から構成される。システム制
御テーブル8に対して、各項目を定義する入力手段をさ
らに有することができる。メッセージ処理部5では、処
理するメッセージの内容であるメッセージ番号31と内
部状態9とを検出する検出手段と、システム制御テーブ
ル8を参照し、メッセージ番号31と一致する入力メッ
セージ81を検出し、また、内部状態9の状態が、シス
テム制御テーブル8の内部状態82に示す状態と一致す
るか否かを判断する判断手段とを有する。また、メッセ
ージ処理部5は、該判断手段で一致した場合には、メッ
セージ番号31と内部状態9とが一致した欄の出力先8
4に示すタスクに対して出力メッセージ83に示すメッ
セージを作成し、出力メッセージバッファ7に格納し、
格納後、遷移状態85に示す状態に内部状態9を遷移す
る処理手段を有する。システム制御テーブル8の各項目
81〜85は以上の意味を表す。
【0017】本実施例においては、前記複数のタスクの
うち少なくとも1のタスクをシステム制御タスクとし、
システム制御タスクは、前記各タスクからのメッセージ
を受信してメッセージを解析し、該メッセージに従って
前記各タスクの進行状態を把握して保持し、前記各タス
クの進行状態が予め定めた進行状態になったときに、受
信したメッセージに対応したメッセージを対応する出力
先に出力するようにしている。
うち少なくとも1のタスクをシステム制御タスクとし、
システム制御タスクは、前記各タスクからのメッセージ
を受信してメッセージを解析し、該メッセージに従って
前記各タスクの進行状態を把握して保持し、前記各タス
クの進行状態が予め定めた進行状態になったときに、受
信したメッセージに対応したメッセージを対応する出力
先に出力するようにしている。
【0018】図3は、メッセージ通信部4におけるメッ
セージ出力の処理フローである。以下、ステップS1〜
S7に従って、メッセージ通信部4のメッセージ出力処
理について説明する。
セージ出力の処理フローである。以下、ステップS1〜
S7に従って、メッセージ通信部4のメッセージ出力処
理について説明する。
【0019】まず、タスク2とメッセージの授受を行う
共有メモリ3に対して、以下のステップS4〜S7に示
す処理を、各々の共有メモリ3を対象にサイクリックに
繰り返す(ステップS1〜S3)。iはタスク番号を示
し、タスク番号iのタスクに対する処理が終わるとつぎ
のタスク番号i+1に処理を移す。メッセージ通信部4
は、共有メモリ3の使用権を調べ、使用可能な場合(フ
リーまたはシステム制御タスク側)はステップS5に進
む。共有メモリ3の使用権は、共有メモリ3におけるタ
スク2とシステム制御タスク1との間の排他制御を行う
ため、各共有メモリ3に設けたフラグである。使用権に
は以下の3種類の状態がある(ステップS4)。 (1)フリー:タスク2、システム制御タスク1共に、
共有メモリを使用していない状態。 (2)システム制御タスク側:システム制御タスク1
が、共有メモリ3の内容を更新可能な状態。タスク2か
らのメッセージが格納されている場合やシステム制御タ
スク1が出力メッセージを格納する場合。 (3)タスク側:タスク2が、共有メモリ3の内容を更
新可能な状態。システム制御タスク1からのメッセージ
が格納されている場合やタスク2が出力メッセージを格
納する場合。 つぎに、共有メモリ3の使用権がシステム制御タスク側
である場合は、共有メモリ3に格納されているタスク2
からのメッセージを取り出し、入力メッセージバッファ
6へ格納する(ステップS5)。S7に進む。共有メモ
リ3の使用権がフリーである場合は、共有メモリ3に出
力メッセージを格納するために、使用権をシステム制御
タスク側にする(ステップS6)。出力メッセージバッ
ファ7に格納してあるメッセージの中に、当該タスクに
送信するメッセージがある場合は、出力メッセージバッ
ファ7より当該メッセージ(ただし、複数存在する場合
は、最も古く出力メッセージバッファ7に格納したも
の)を取り出し、当該タスク用の共有メモリ3へ書き込
む。その後、共有メモリ3の使用権をタスク側にする
(ステップS7)。また、出力メッセージバッファ7に
格納してあるメッセージの中に、当該タスクに送信する
メッセージがない場合は、共有メモリ3の使用権をフリ
ーにする。以上で一つのタスク2との通信処理は終了
し、次のタスク2との通信処理に移るため、ステップS
2、S3に戻る。
共有メモリ3に対して、以下のステップS4〜S7に示
す処理を、各々の共有メモリ3を対象にサイクリックに
繰り返す(ステップS1〜S3)。iはタスク番号を示
し、タスク番号iのタスクに対する処理が終わるとつぎ
のタスク番号i+1に処理を移す。メッセージ通信部4
は、共有メモリ3の使用権を調べ、使用可能な場合(フ
リーまたはシステム制御タスク側)はステップS5に進
む。共有メモリ3の使用権は、共有メモリ3におけるタ
スク2とシステム制御タスク1との間の排他制御を行う
ため、各共有メモリ3に設けたフラグである。使用権に
は以下の3種類の状態がある(ステップS4)。 (1)フリー:タスク2、システム制御タスク1共に、
共有メモリを使用していない状態。 (2)システム制御タスク側:システム制御タスク1
が、共有メモリ3の内容を更新可能な状態。タスク2か
らのメッセージが格納されている場合やシステム制御タ
スク1が出力メッセージを格納する場合。 (3)タスク側:タスク2が、共有メモリ3の内容を更
新可能な状態。システム制御タスク1からのメッセージ
が格納されている場合やタスク2が出力メッセージを格
納する場合。 つぎに、共有メモリ3の使用権がシステム制御タスク側
である場合は、共有メモリ3に格納されているタスク2
からのメッセージを取り出し、入力メッセージバッファ
6へ格納する(ステップS5)。S7に進む。共有メモ
リ3の使用権がフリーである場合は、共有メモリ3に出
力メッセージを格納するために、使用権をシステム制御
タスク側にする(ステップS6)。出力メッセージバッ
ファ7に格納してあるメッセージの中に、当該タスクに
送信するメッセージがある場合は、出力メッセージバッ
ファ7より当該メッセージ(ただし、複数存在する場合
は、最も古く出力メッセージバッファ7に格納したも
の)を取り出し、当該タスク用の共有メモリ3へ書き込
む。その後、共有メモリ3の使用権をタスク側にする
(ステップS7)。また、出力メッセージバッファ7に
格納してあるメッセージの中に、当該タスクに送信する
メッセージがない場合は、共有メモリ3の使用権をフリ
ーにする。以上で一つのタスク2との通信処理は終了
し、次のタスク2との通信処理に移るため、ステップS
2、S3に戻る。
【0020】以上のように、ステップS1〜S7のフロ
ーに従い、メッセージ通信部4は処理を行う。
ーに従い、メッセージ通信部4は処理を行う。
【0021】図4は、メッセージ処理部5におけるメッ
セージ入力の処理フローである。以下、ステップS10
〜S18に従ってメッセージ処理部5のメッセージ入力
処理について説明する。
セージ入力の処理フローである。以下、ステップS10
〜S18に従ってメッセージ処理部5のメッセージ入力
処理について説明する。
【0022】メッセージ処理部5は、入力メッセージバ
ッファ6にメッセージが格納されている場合に、ステッ
プS11以降を行う(ステップS10)。入力メッセー
ジバッファ6にメッセージがある場合は、入力メッセー
ジバッファ6から、最も古く格納したメッセージを一つ
取り出す(ステップS11)。メッセージ処理部5の検
出手段は、取り出したメッセージからメッセージの種類
を表すメッセージ番号31を取り出す(ステップS1
2)。もしくは、メッセージの種類を表すメッセージ番
号31を付与しない場合には、メッセージを解析して、
メッセージの種類を識別するようにしてもよい。判断手
段は、内部状態9の現在の状態を調べる(ステップS1
3)。判断手段は、システム制御テーブル8のレコード
のうち、システム制御テーブル8のレコードの入力メッ
セージ81が、ステップS12で取り出したメッセージ
番号31に一致し、かつ、内部状態82がステップS1
3で調べた内部状態9の現在の状態に一致するレコード
を検索する(ステップS14)。システム制御テーブル
8に該当するレコードがない場合は、入力メッセージバ
ッファ6から取り出したメッセージを、入力メッセージ
バッファ6の最後に再度格納する(ステップS15)。
システム制御テーブル8の各レコードは、入力メッセー
ジに対して、メッセージの出力または内部状態9の遷移
を行う内部状態9の状態のみを示してある。内部状態9
がそれ以外の状態のときは、メッセージの出力や状態遷
移は行わず、出力や遷移が可能となる状態になるのを待
つ。そのため、入力メッセージバッファ6に再格納す
る。システム制御テーブル8に該当するレコードがある
場合は、処理手段が当該レコードの出力先84に示すタ
スクに向けた、出力メッセージ83に示すメッセージを
作成する(ステップS16)。なお、メッセージを出力
しないで、状態遷移のみ行う場合、出力メッセージ83
はメッセージなしを示し、ステップS18に進む。ステ
ップ16で作成したメッセージを、出力メッセージバッ
ファ7に格納する(ステップS17)。内部状態9を、
当該レコードの遷移状態85に示す状態に遷移する。結
果として状態が変わらない場合もある。次の入力メッセ
ージに対する処理を行うため、ステップS10に戻る
(ステップS18)。
ッファ6にメッセージが格納されている場合に、ステッ
プS11以降を行う(ステップS10)。入力メッセー
ジバッファ6にメッセージがある場合は、入力メッセー
ジバッファ6から、最も古く格納したメッセージを一つ
取り出す(ステップS11)。メッセージ処理部5の検
出手段は、取り出したメッセージからメッセージの種類
を表すメッセージ番号31を取り出す(ステップS1
2)。もしくは、メッセージの種類を表すメッセージ番
号31を付与しない場合には、メッセージを解析して、
メッセージの種類を識別するようにしてもよい。判断手
段は、内部状態9の現在の状態を調べる(ステップS1
3)。判断手段は、システム制御テーブル8のレコード
のうち、システム制御テーブル8のレコードの入力メッ
セージ81が、ステップS12で取り出したメッセージ
番号31に一致し、かつ、内部状態82がステップS1
3で調べた内部状態9の現在の状態に一致するレコード
を検索する(ステップS14)。システム制御テーブル
8に該当するレコードがない場合は、入力メッセージバ
ッファ6から取り出したメッセージを、入力メッセージ
バッファ6の最後に再度格納する(ステップS15)。
システム制御テーブル8の各レコードは、入力メッセー
ジに対して、メッセージの出力または内部状態9の遷移
を行う内部状態9の状態のみを示してある。内部状態9
がそれ以外の状態のときは、メッセージの出力や状態遷
移は行わず、出力や遷移が可能となる状態になるのを待
つ。そのため、入力メッセージバッファ6に再格納す
る。システム制御テーブル8に該当するレコードがある
場合は、処理手段が当該レコードの出力先84に示すタ
スクに向けた、出力メッセージ83に示すメッセージを
作成する(ステップS16)。なお、メッセージを出力
しないで、状態遷移のみ行う場合、出力メッセージ83
はメッセージなしを示し、ステップS18に進む。ステ
ップ16で作成したメッセージを、出力メッセージバッ
ファ7に格納する(ステップS17)。内部状態9を、
当該レコードの遷移状態85に示す状態に遷移する。結
果として状態が変わらない場合もある。次の入力メッセ
ージに対する処理を行うため、ステップS10に戻る
(ステップS18)。
【0023】以上のように、ステップS10〜S18の
フローにしたがって、メッセージ処理部5は処理を行
う。
フローにしたがって、メッセージ処理部5は処理を行
う。
【0024】つぎに、タスク間通信制御方法をライン管
理システムに適用した場合の構成および動作について説
明する。図5は、タスク間通信制御方法の適用例である
ライン管理システムの計算機構成を示している。図5に
おいて、ライン管理システムは、1ラインを対象に、1
台のライン管理ステーション36と複数台のセル管理ス
テーション37とによって構成される。1台のセル管理
ステーション37は、ラインを構成する1台以上の設備
38を対象に、設備38への作業データのダウンロー
ド、生産実績データのアップロード等を行い、設備38
および当該設備38が行う作業に関するデータの管理を
行う。設備38は、作業データに基づいて生産作業を行
い、生産実績データや設備状態データを送出する。ライ
ン管理ステーション36は、生産計画に従って、各セル
管理ステーション37に対して、次に行う作業の指示を
行ったり、各セル管理ステーション37から生産実績デ
ータや設備状態データを受け取り、予定に対する生産進
捗状況やライン上の各設備38の運転状態を監視し、ラ
イン全体の管理を行う。ライン管理ステーション36
と、セル管理ステーション37とは、共に複数のタスク
がそれぞれ存在し、システム制御タスクにおいて本タス
ク間通信制御方法によるタスク間通信によって様々な機
能を実現する。
理システムに適用した場合の構成および動作について説
明する。図5は、タスク間通信制御方法の適用例である
ライン管理システムの計算機構成を示している。図5に
おいて、ライン管理システムは、1ラインを対象に、1
台のライン管理ステーション36と複数台のセル管理ス
テーション37とによって構成される。1台のセル管理
ステーション37は、ラインを構成する1台以上の設備
38を対象に、設備38への作業データのダウンロー
ド、生産実績データのアップロード等を行い、設備38
および当該設備38が行う作業に関するデータの管理を
行う。設備38は、作業データに基づいて生産作業を行
い、生産実績データや設備状態データを送出する。ライ
ン管理ステーション36は、生産計画に従って、各セル
管理ステーション37に対して、次に行う作業の指示を
行ったり、各セル管理ステーション37から生産実績デ
ータや設備状態データを受け取り、予定に対する生産進
捗状況やライン上の各設備38の運転状態を監視し、ラ
イン全体の管理を行う。ライン管理ステーション36
と、セル管理ステーション37とは、共に複数のタスク
がそれぞれ存在し、システム制御タスクにおいて本タス
ク間通信制御方法によるタスク間通信によって様々な機
能を実現する。
【0025】図6は、本タスク間通信制御方法を用いる
セル管理ステーション37のブロック図の例である。セ
ル管理ステーション37には、システム制御タスク1
と、他の複数のタスクを有する。システム制御タスク1
とメッセージの授受を行うタスクとしては、ファイル4
4に対するデータの格納や参照を行うファイル更新タス
ク40と、ライン管理ステーション36との通信を行う
ライン管理ステーション用通信タスク41と、ライン上
の設備38との通信を行う設備用通信タスク42と、C
RT45への表示やキーボード46からの入力を受け付
ける対話制御表示タスク43とがある。ライン管理ステ
ーション用通信タスク41および設備用通信タスク42
は、ライン管理ステーション36または設備38から受
信したメッセージのシステム制御タスク1への送信およ
びその逆のメッセージの流れを行う。
セル管理ステーション37のブロック図の例である。セ
ル管理ステーション37には、システム制御タスク1
と、他の複数のタスクを有する。システム制御タスク1
とメッセージの授受を行うタスクとしては、ファイル4
4に対するデータの格納や参照を行うファイル更新タス
ク40と、ライン管理ステーション36との通信を行う
ライン管理ステーション用通信タスク41と、ライン上
の設備38との通信を行う設備用通信タスク42と、C
RT45への表示やキーボード46からの入力を受け付
ける対話制御表示タスク43とがある。ライン管理ステ
ーション用通信タスク41および設備用通信タスク42
は、ライン管理ステーション36または設備38から受
信したメッセージのシステム制御タスク1への送信およ
びその逆のメッセージの流れを行う。
【0026】本タスク間通信制御方法によって、これら
のタスク間でメッセージがどのように授受されるかを、
ライン管理システムの機能の一つである段取り指示機能
を例に説明する。図7は、段取り指示機能において、ラ
イン管理ステーション36、セル管理ステーション3
7、設備38間でやり取りするメッセージの流れを示し
たものである。段取り指示機能は、ライン上で生産する
製品の機種が変更された時に、今まで生産していた機種
に関する生産台数や使用部品等の実績データをラインよ
り吸い上げ、次の機種を生産するための準備を設備に指
示する機能である。この機能をメッセージの流れで表現
すると、まず、ライン上の設備38は、今までと違う機
種が流れてくると動作を停止し、セル管理ステーション
37に対して、メッセージ[作業終了]M1を送る。セ
ル管理ステーション37は、[作業終了]M1を受信す
ると、ライン管理ステーション36に対して、機種の切
り替えが発生したことを知らせるため、メッセージ[作
業終了]M2を送る。それと共に、設備38に対して、
今までの実績データをセル管理ステーション37に対し
て送信するよう要求するため、メッセージ[実績データ
要求]M3を設備38に対して送信する。設備38は、
[実績データ要求]M3を受信すると、実績データを含
むメッセージ[実績データ]M5によって、セル管理ス
テーション37に対して実績データを送信する。セル管
理ステーション37は、[実績データ]M5を受信する
と、それを[実績データ]M6としてライン管理ステー
ション36に対して送信する。一方、ライン管理ステー
ション36は、セル管理ステーション37からのメッセ
ージ[作業終了]M2を受け取ると、予め持っている生
産計画によって次に生産する機種を求め、その機種をセ
ル管理ステーション37に通知するため、メッセージ
[次作業指示]M4を送信する。また、[実績データ]
M6をセル管理ステーション37から受け取ると、実績
データを格納し、確かに受け取ったことを示すメッセー
ジ[実績データ了解]M7をセル管理ステーション37
に送信する。セル管理ステーション37は、[実績デー
タ了解]M7によって、ライン管理ステーション36が
実績データを確かに受け取ったことを確認した後、[次
作業指示]M4を受信済みの場合は、設備38に対し
て、次の機種の準備に取り掛かるように[次作業指示]
M8を送信する。以上のメッセージの流れによって、段
取り指示機能は、実現している。
のタスク間でメッセージがどのように授受されるかを、
ライン管理システムの機能の一つである段取り指示機能
を例に説明する。図7は、段取り指示機能において、ラ
イン管理ステーション36、セル管理ステーション3
7、設備38間でやり取りするメッセージの流れを示し
たものである。段取り指示機能は、ライン上で生産する
製品の機種が変更された時に、今まで生産していた機種
に関する生産台数や使用部品等の実績データをラインよ
り吸い上げ、次の機種を生産するための準備を設備に指
示する機能である。この機能をメッセージの流れで表現
すると、まず、ライン上の設備38は、今までと違う機
種が流れてくると動作を停止し、セル管理ステーション
37に対して、メッセージ[作業終了]M1を送る。セ
ル管理ステーション37は、[作業終了]M1を受信す
ると、ライン管理ステーション36に対して、機種の切
り替えが発生したことを知らせるため、メッセージ[作
業終了]M2を送る。それと共に、設備38に対して、
今までの実績データをセル管理ステーション37に対し
て送信するよう要求するため、メッセージ[実績データ
要求]M3を設備38に対して送信する。設備38は、
[実績データ要求]M3を受信すると、実績データを含
むメッセージ[実績データ]M5によって、セル管理ス
テーション37に対して実績データを送信する。セル管
理ステーション37は、[実績データ]M5を受信する
と、それを[実績データ]M6としてライン管理ステー
ション36に対して送信する。一方、ライン管理ステー
ション36は、セル管理ステーション37からのメッセ
ージ[作業終了]M2を受け取ると、予め持っている生
産計画によって次に生産する機種を求め、その機種をセ
ル管理ステーション37に通知するため、メッセージ
[次作業指示]M4を送信する。また、[実績データ]
M6をセル管理ステーション37から受け取ると、実績
データを格納し、確かに受け取ったことを示すメッセー
ジ[実績データ了解]M7をセル管理ステーション37
に送信する。セル管理ステーション37は、[実績デー
タ了解]M7によって、ライン管理ステーション36が
実績データを確かに受け取ったことを確認した後、[次
作業指示]M4を受信済みの場合は、設備38に対し
て、次の機種の準備に取り掛かるように[次作業指示]
M8を送信する。以上のメッセージの流れによって、段
取り指示機能は、実現している。
【0027】このときのセル管理ステーション37にお
けるシステム制御テーブル8の内容は、図8に示すよう
に定義する。このシステム制御テーブル8では、取り得
る内部状態9として、S1、S2の2状態があり、第1
レコードから第4レコードまでが定義されている。第1
レコード11は、メッセージ[作業終了]の入力に対
し、内部状態9がS1のとき、ライン管理ステーション
用通信タスク41に対してメッセージ[作業終了]を送
信し、また、設備用通信タスク42に対してメッセージ
[実績データ要求]を送信し、内部状態はS1のままで
あることを表す。同様に、第2レコード12は、メッセ
ージ[実績データ]の入力に対し、内部状態9がS1の
とき、ライン管理ステーション用通信タスク41に対し
てメッセージ[実績データ]を送信し、内部状態はS1
のままであることを表す。第3レコード13は、メッセ
ージ[実績データ了解]の入力に対し、内部状態9がS
1のとき、メッセージの送信は行わず、内部状態をS2
に遷移することを表す。第4レコード14は、メッセー
ジ[次作業指示]の入力に対し、内部状態9がS2のと
き、設備用通信タスク42に対してメッセージ[次作業
指示]を送信し、内部状態をS1に遷移することを表
す。なお、システム制御タスク1に対して、複数のタス
ク2から同じメッセージ(メッセージ番号31が等し
い)が送信される可能性がある場合は、送信したタスク
2を表す送信元を、システム制御テーブル8の項目とし
て含めることで対応できる。
けるシステム制御テーブル8の内容は、図8に示すよう
に定義する。このシステム制御テーブル8では、取り得
る内部状態9として、S1、S2の2状態があり、第1
レコードから第4レコードまでが定義されている。第1
レコード11は、メッセージ[作業終了]の入力に対
し、内部状態9がS1のとき、ライン管理ステーション
用通信タスク41に対してメッセージ[作業終了]を送
信し、また、設備用通信タスク42に対してメッセージ
[実績データ要求]を送信し、内部状態はS1のままで
あることを表す。同様に、第2レコード12は、メッセ
ージ[実績データ]の入力に対し、内部状態9がS1の
とき、ライン管理ステーション用通信タスク41に対し
てメッセージ[実績データ]を送信し、内部状態はS1
のままであることを表す。第3レコード13は、メッセ
ージ[実績データ了解]の入力に対し、内部状態9がS
1のとき、メッセージの送信は行わず、内部状態をS2
に遷移することを表す。第4レコード14は、メッセー
ジ[次作業指示]の入力に対し、内部状態9がS2のと
き、設備用通信タスク42に対してメッセージ[次作業
指示]を送信し、内部状態をS1に遷移することを表
す。なお、システム制御タスク1に対して、複数のタス
ク2から同じメッセージ(メッセージ番号31が等し
い)が送信される可能性がある場合は、送信したタスク
2を表す送信元を、システム制御テーブル8の項目とし
て含めることで対応できる。
【0028】また、出力メッセージを出力メッセージバ
ッファ7へ格納後、ある一定時間をおいてから、内部状
態を定義する状態に遷移する必要がある場合は、出力メ
ッセージバッファ7へ格納後、状態を遷移するまでの一
定時間を表すディレイ時間を、システム制御テーブル8
の項目として含めることで対応できる。例えば、あるタ
スクで作業終了メッセージを送信してから一定時間の間
に終了後の処理を行い、その後につぎの指示を受信した
い場合などには、ディレイ時間を設定しておき、一定時
間経過後にメッセージを出力するようにしてもよい。
ッファ7へ格納後、ある一定時間をおいてから、内部状
態を定義する状態に遷移する必要がある場合は、出力メ
ッセージバッファ7へ格納後、状態を遷移するまでの一
定時間を表すディレイ時間を、システム制御テーブル8
の項目として含めることで対応できる。例えば、あるタ
スクで作業終了メッセージを送信してから一定時間の間
に終了後の処理を行い、その後につぎの指示を受信した
い場合などには、ディレイ時間を設定しておき、一定時
間経過後にメッセージを出力するようにしてもよい。
【0029】以上で説明したように、セル管理ステーシ
ョン37は、図1に示すブロック図の構成をとり、図3
に示すメッセージ通信部4の処理、図4に示すメッセー
ジ処理部5の処理、および図8に示すシステム制御テー
ブルの内容によって、図7に示すメッセージの流れを実
現し、その結果、段取り機能を実現している。
ョン37は、図1に示すブロック図の構成をとり、図3
に示すメッセージ通信部4の処理、図4に示すメッセー
ジ処理部5の処理、および図8に示すシステム制御テー
ブルの内容によって、図7に示すメッセージの流れを実
現し、その結果、段取り機能を実現している。
【0030】つぎに、このライン管理システムにおい
て、機能を変更する場合のセル管理ステーション37の
対応方法を、前記の段取り指示機能を例にして2通り説
明する。第1の機能の変更例としては、前記の段取り指
示機能では、設備38より吸い上げた実績データを、ラ
イン管理ステーション36で一括管理しているが、これ
を設備38を担当する各セル管理ステーション37毎に
管理することに変更する場合である。その場合、セル管
理ステーション37のファイルに、ファイル更新タスク
を用いて実績データを格納することになる。すなわち、
今まで設備38からメッセージ[実績データ]M5を受
信すると、ライン管理ステーション36に[実績デー
タ]M6を送信していたが、その替わりに、セル管理ス
テーション37内のファイル更新タスク40に対して、
メッセージ[実績データ格納]を送り、ファイルへ格納
する。さらに、ライン管理ステーション36からの[実
績データ了解]M7を待って、設備38に[次作業指
示]M8を送っていたのに対し、送るトリガーが、ファ
イル格納終了後、ファイル更新タスク40から送信され
るメッセージ[実績データ格納完了]に替わる。このメ
ッセージの流れの変更は、システム制御テーブル8の内
容を変更するのみで対応できる。図9に変更後のシステ
ム制御テーブル8を示す。第2レコード15の出力メッ
セージ83および出力先84、第3レコード16の入力
メッセージ81を変更するのみで、タスク2を変更する
ことなく対応できる。第2の機能の変更例は、前記の段
取り機能では、ライン管理ステーション36に実績デー
タが確実にわたされたことを確かめてから、設備38に
対して次作業の段取りを指示しているが、この指示を早
め、設備38から実績データを受け取った段階で行うこ
とに変更する場合である。この場合は、設備38に[次
作業指示]M8を送るトリガーとして、今までのライン
管理ステーション36からのメッセージ[実績データ了
解]M7から、設備38からのメッセージ[実績デー
タ]M5に変更することになる。この変更は、システム
制御テーブル8の内容を変更するのみで対応できる。図
10に変更後のシステム制御テーブル8を示す。図10
に示すように、第2レコード17の遷移状態85をS1
からS2に、また第3レコード18の内部状態82をS
1からS2にそれぞれ変更するのみで対応できる。
て、機能を変更する場合のセル管理ステーション37の
対応方法を、前記の段取り指示機能を例にして2通り説
明する。第1の機能の変更例としては、前記の段取り指
示機能では、設備38より吸い上げた実績データを、ラ
イン管理ステーション36で一括管理しているが、これ
を設備38を担当する各セル管理ステーション37毎に
管理することに変更する場合である。その場合、セル管
理ステーション37のファイルに、ファイル更新タスク
を用いて実績データを格納することになる。すなわち、
今まで設備38からメッセージ[実績データ]M5を受
信すると、ライン管理ステーション36に[実績デー
タ]M6を送信していたが、その替わりに、セル管理ス
テーション37内のファイル更新タスク40に対して、
メッセージ[実績データ格納]を送り、ファイルへ格納
する。さらに、ライン管理ステーション36からの[実
績データ了解]M7を待って、設備38に[次作業指
示]M8を送っていたのに対し、送るトリガーが、ファ
イル格納終了後、ファイル更新タスク40から送信され
るメッセージ[実績データ格納完了]に替わる。このメ
ッセージの流れの変更は、システム制御テーブル8の内
容を変更するのみで対応できる。図9に変更後のシステ
ム制御テーブル8を示す。第2レコード15の出力メッ
セージ83および出力先84、第3レコード16の入力
メッセージ81を変更するのみで、タスク2を変更する
ことなく対応できる。第2の機能の変更例は、前記の段
取り機能では、ライン管理ステーション36に実績デー
タが確実にわたされたことを確かめてから、設備38に
対して次作業の段取りを指示しているが、この指示を早
め、設備38から実績データを受け取った段階で行うこ
とに変更する場合である。この場合は、設備38に[次
作業指示]M8を送るトリガーとして、今までのライン
管理ステーション36からのメッセージ[実績データ了
解]M7から、設備38からのメッセージ[実績デー
タ]M5に変更することになる。この変更は、システム
制御テーブル8の内容を変更するのみで対応できる。図
10に変更後のシステム制御テーブル8を示す。図10
に示すように、第2レコード17の遷移状態85をS1
からS2に、また第3レコード18の内部状態82をS
1からS2にそれぞれ変更するのみで対応できる。
【0031】本実施例では、状態管理部が一つの場合で
説明したが、並列して行われる複数の機能が存在する場
合は、独立した機能毎に状態管理部を持つ方が、メンテ
ナンスの点からも好ましい。図11に、状態管理部を複
数有する場合の構成を示す。その場合、メッセージ30
中に、複数の状態管理部を有し、状態管理部を識別する
ためのシーケンス番号34を含めるようにしてもよい。
すなわち、システム制御タスクは、前記状態管理部を複
数有し、前記各タスクの送受信手段は、複数の状態管理
部を識別するシーケンス番号をメッセージに付加して送
信し、検出手段は、前記複数のタスクからのメッセージ
を受信して前記シーケンス番号をさらに検出して対応す
る状態管理部を検出するようにする。
説明したが、並列して行われる複数の機能が存在する場
合は、独立した機能毎に状態管理部を持つ方が、メンテ
ナンスの点からも好ましい。図11に、状態管理部を複
数有する場合の構成を示す。その場合、メッセージ30
中に、複数の状態管理部を有し、状態管理部を識別する
ためのシーケンス番号34を含めるようにしてもよい。
すなわち、システム制御タスクは、前記状態管理部を複
数有し、前記各タスクの送受信手段は、複数の状態管理
部を識別するシーケンス番号をメッセージに付加して送
信し、検出手段は、前記複数のタスクからのメッセージ
を受信して前記シーケンス番号をさらに検出して対応す
る状態管理部を検出するようにする。
【0032】本実施例によれば、各タスク2は、システ
ム制御タスク1とのみメッセージ通信を行い、自分以外
の他のタスク2を意識する必要がない。システム制御タ
スク1は、入力されたメッセージに対して、システム制
御テーブル8に定義したメッセージを、定義した出力先
に定義した出力タイミングで送ることにより、間接的に
タスク2の間での通信を実現している。システム制御テ
ーブル8の定義および内部状態の取り得る状態を変更す
ることのみで、システム制御タスク1から出力するメッ
セージの種類、出力先および出力タイミングを変更する
ことが可能であり、その結果、タスク2を変更すること
なく、タスク2の間での通信におけるメッセージの種
類、出力先、および出力タイミングを変更することがで
きる効果がある。そのため、システムの機能の変更に伴
うタスクの追加・削除に対して、既存のタスクに影響を
与えることなく、システム制御テーブルの定義および内
部状態の取り得る状態の変更のみで容易に対応できる効
果がある。また、システムの機能の変更に伴う既存タス
ク間におけるメッセージの流れ(メッセージの種類、送
信先、送信タイミング)に変更が生じても、システム制
御テーブルの定義および内部状態の取り得る状態の変更
のみで容易に対応できる効果がある。また、機能変更や
タスクの追加・削除に容易に対応できるので、システム
の段階的構築が容易である効果がある。さらに、修正を
システム制御テーブルおよび内部状態に局所化したた
め、メンテナンスが容易である効果がある。
ム制御タスク1とのみメッセージ通信を行い、自分以外
の他のタスク2を意識する必要がない。システム制御タ
スク1は、入力されたメッセージに対して、システム制
御テーブル8に定義したメッセージを、定義した出力先
に定義した出力タイミングで送ることにより、間接的に
タスク2の間での通信を実現している。システム制御テ
ーブル8の定義および内部状態の取り得る状態を変更す
ることのみで、システム制御タスク1から出力するメッ
セージの種類、出力先および出力タイミングを変更する
ことが可能であり、その結果、タスク2を変更すること
なく、タスク2の間での通信におけるメッセージの種
類、出力先、および出力タイミングを変更することがで
きる効果がある。そのため、システムの機能の変更に伴
うタスクの追加・削除に対して、既存のタスクに影響を
与えることなく、システム制御テーブルの定義および内
部状態の取り得る状態の変更のみで容易に対応できる効
果がある。また、システムの機能の変更に伴う既存タス
ク間におけるメッセージの流れ(メッセージの種類、送
信先、送信タイミング)に変更が生じても、システム制
御テーブルの定義および内部状態の取り得る状態の変更
のみで容易に対応できる効果がある。また、機能変更や
タスクの追加・削除に容易に対応できるので、システム
の段階的構築が容易である効果がある。さらに、修正を
システム制御テーブルおよび内部状態に局所化したた
め、メンテナンスが容易である効果がある。
【0033】
【発明の効果】本発明によれば、タスク間通信制御装置
において、タスクの追加・削除、タスクの実行順序の変
更およびタスク間の同期のタイミングの変更に対して、
システムの機能変更・拡張に容易に対処することができ
る。
において、タスクの追加・削除、タスクの実行順序の変
更およびタスク間の同期のタイミングの変更に対して、
システムの機能変更・拡張に容易に対処することができ
る。
【図面の簡単な説明】
【図1】本発明のタスク処理システムのブロック図。
【図2】タスク間でやり取りするメッセージのデータ構
造。
造。
【図3】システム制御タスクの構成要素であるメッセー
ジ通信部の処理フロー。
ジ通信部の処理フロー。
【図4】システム制御タスクの構成要素であるメッセー
ジ処理部の処理フロー。
ジ処理部の処理フロー。
【図5】本発明のタスク間通信制御方法によって処理を
進める計算機によって構成したライン管理システム構成
図。
進める計算機によって構成したライン管理システム構成
図。
【図6】ライン管理システムの構成要素であるセル管理
ステーションのブロック図。
ステーションのブロック図。
【図7】ライン管理システムの一機能である段取り指示
機能において、ライン管理ステーション、セル管理ステ
ーション、および設備の間でやり取りするメッセージの
流れの説明図。
機能において、ライン管理ステーション、セル管理ステ
ーション、および設備の間でやり取りするメッセージの
流れの説明図。
【図8】段取り指示機能を実現するときのシステム制御
タスクの構成要素である、システム制御テーブル例(そ
の1)。
タスクの構成要素である、システム制御テーブル例(そ
の1)。
【図9】段取り指示機能を実現するシステム制御テーブ
ル例(その2)。
ル例(その2)。
【図10】段取り指示機能を実現するシステム制御テー
ブル例(その3)。
ブル例(その3)。
【図11】状態管理部を複数有する場合のタスク処理シ
ステムのブロック図。
ステムのブロック図。
1…システム制御タスク、2…タスク、3…共有メモ
リ、4…メッセージ通信部、5…メッセージ処理部、6
…入力メッセージバッファ、7…出力メッセージバッフ
ァ、8…システム制御テーブル、9…内部状態、30…
メッセージ。
リ、4…メッセージ通信部、5…メッセージ処理部、6
…入力メッセージバッファ、7…出力メッセージバッフ
ァ、8…システム制御テーブル、9…内部状態、30…
メッセージ。
Claims (7)
- 【請求項1】予め定められた処理を実行するタスクを複
数有し、該タスク間でメッセージの送受信を行うタスク
処理システムにおいて、 前記複数のタスクのうち少なくとも1のタスクは、タス
ク間の通信制御をするシステム制御タスクであり、 前記複数のタスクは、伝達すべき情報の内容を表すメッ
セージデータを有するメッセージを、前記システム制御
タスクと送受信する送受信手段をそれぞれ備え、 前記システム制御タスクは、受信した前記メッセージを
対応する出力先に出力するメッセージ処理部と、前記メ
ッセージに対応する出力先を管理する状態管理部とを有
し、 前記状態管理部は、メッセージを受信した場合に、該メ
ッセージが予め定めたメッセージであるときに状態を遷
移させ、該状態を示す内部状態表示手段と、前記メッセ
ージに対応する、前記内部状態表示手段の状態と出力先
タスクと出力メッセージと前記内部状態表示手段の遷移
させる状態とを予め定めたシステム制御テーブルとを備
え、 前記メッセージ処理部は、前記複数のタスクからのメッ
セージを受信してメッセージを解析し、メッセージの種
類を検出する検出手段と、前記システム制御テーブルを
参照して該検出手段で検出したメッセージに対応する内
部状態表示手段の状態を取りだし、前記内部状態表示手
段の状態と一致するか否かを判断する判断手段と、該判
断手段で一致した場合には、前記システム制御テーブル
を参照し、該検出手段で検出したメッセージに対応する
出力先タスクと出力メッセージと前記遷移させる状態と
を取り出し、該出力先タスクに対して出力メッセージを
出力し、前記内部状態表示手段の状態を遷移させる処理
手段とを備えることを特徴とするタスク処理システム。 - 【請求項2】請求項1において、前記送受信手段は、メ
ッセージの種類を表すメッセージ識別情報をメッセージ
に付加して送信し、 前記検出手段は、前記複数のタスクからのメッセージを
受信して前記メッセージ識別情報を検出してメッセージ
を解析することを特徴とするタスク処理システム。 - 【請求項3】請求項1において、前記システム制御テー
ブルは、前記内部状態表示手段を遷移させるまでの時間
を前記メッセージに対応してさらに有し、 前記処理手段は、前記システム制御テーブルを参照し、
該時間をさらに取り出し、該時間の経過後に前記内部状
態表示手段の状態を遷移させることを特徴とするタスク
処理システム。 - 【請求項4】請求項1において、前記システム制御タス
クは、前記状態管理部を複数有し、 前記送受信手段は、前記複数の状態管理部を識別するシ
ーケンス番号をメッセージに付加して送信し、 前記検出手段は、前記複数のタスクからのメッセージを
受信して前記シーケンス番号をさらに検出して対応する
状態管理部を検出することを特徴とするタスク処理シス
テム。 - 【請求項5】請求項1において、前記システム制御テー
ブルに対して、指示された内容を受け付けて設定する入
力手段をさらに有することを特徴とするタスク処理シス
テム。 - 【請求項6】予め定められた処理を実行するタスクを複
数有し、該タスク間でメッセージの送受信を行うタスク
処理システムにおいて、 前記複数のタスクのうち少なくとも1のタスクは、前記
各タスクからのメッセージを受信してメッセージを解析
し、該メッセージに従って前記各タスクの進行状態を把
握して保持し、前記各タスクの進行状態が予め定めた進
行状態になったときに、受信したメッセージに対応した
メッセージを対応する出力先に出力すること特徴とする
タスク間通信制御方法。 - 【請求項7】請求項6において、前記各タスクの進行状
態が予め定めた進行状態になったときに、受信したメッ
セージに対応したメッセージを対応する出力先に出力す
る場合に、予め定めた時間経過した後で出力すること特
徴とするタスク間通信制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP24364592A JPH0695896A (ja) | 1992-09-11 | 1992-09-11 | タスク処理システムおよびタスク間通信制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP24364592A JPH0695896A (ja) | 1992-09-11 | 1992-09-11 | タスク処理システムおよびタスク間通信制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0695896A true JPH0695896A (ja) | 1994-04-08 |
Family
ID=17106904
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP24364592A Pending JPH0695896A (ja) | 1992-09-11 | 1992-09-11 | タスク処理システムおよびタスク間通信制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0695896A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100309997B1 (ko) * | 1999-10-11 | 2001-09-29 | 윤종용 | 멀티태스킹 환경에서의 인터태스크 통신 방법 |
JP2007226793A (ja) * | 2007-02-16 | 2007-09-06 | Mitsubishi Electric Corp | 車載マルチメディア装置 |
US7900205B2 (en) | 2004-03-31 | 2011-03-01 | Toyota Jidosha Kabushiki Kaisha | System and method for executing selected task based on task management table having at least one task and at least two associated processors |
-
1992
- 1992-09-11 JP JP24364592A patent/JPH0695896A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100309997B1 (ko) * | 1999-10-11 | 2001-09-29 | 윤종용 | 멀티태스킹 환경에서의 인터태스크 통신 방법 |
US7900205B2 (en) | 2004-03-31 | 2011-03-01 | Toyota Jidosha Kabushiki Kaisha | System and method for executing selected task based on task management table having at least one task and at least two associated processors |
JP2007226793A (ja) * | 2007-02-16 | 2007-09-06 | Mitsubishi Electric Corp | 車載マルチメディア装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH0695896A (ja) | タスク処理システムおよびタスク間通信制御方法 | |
JP3695777B2 (ja) | 情報転送方法 | |
JP2003280732A (ja) | データ伝送装置、および、それを用いた制御システム | |
CN111368720A (zh) | 一种自动搬运取货系统及方法 | |
JP6813077B1 (ja) | 生産システム、復旧システム、生産方法、及びプログラム | |
JPH0677958A (ja) | 電子会議システム | |
JPH05128079A (ja) | マルチプロセツサシステムにおけるトレース方式 | |
JPH1185264A (ja) | 状態データ収集方法及び制御装置 | |
JPH052410A (ja) | プログラマブルコントローラ及びそのシーケンスプログラムモニタ方法 | |
JP2509936B2 (ja) | 出力制御装置 | |
JP2763657B2 (ja) | 図形データベース管理方式 | |
JPH06119273A (ja) | 複数台のコンピュータ・システムの運用装置および運用方法,ならびに運用のために用いられるワーク・ステーション | |
JPH11149383A (ja) | プロセス間通信制御装置 | |
JP4327403B2 (ja) | 生産計画におけるダイナミックスケジューリング方法及びそのプログラム | |
CN114327871A (zh) | 并行分区的定时任务处理方法及系统 | |
KR100214126B1 (ko) | 전전자 교환기에서의 백업 기능 중 파라미터 퍼스트의 처리 방법 | |
JPH0720930A (ja) | 製造管理装置とこれを用いた製造管理方法 | |
JPH0354655A (ja) | 端末制御方式 | |
JPH1027094A (ja) | 設備機器の保守装置 | |
JPH0774982B2 (ja) | 外部記憶装置の多重記録方式 | |
JPS63291109A (ja) | オンライン端末の画面入力デ−タステ−タス管理方式 | |
JPH01297762A (ja) | マンマシン情報処理システム | |
JPH1011690A (ja) | ハンディターミナル装置 | |
JPH09330113A (ja) | 加工制御システム | |
JPH06161785A (ja) | モジュール間通信装置 |