JPH09185528A - Method and device for inspecting software - Google Patents

Method and device for inspecting software

Info

Publication number
JPH09185528A
JPH09185528A JP8000462A JP46296A JPH09185528A JP H09185528 A JPH09185528 A JP H09185528A JP 8000462 A JP8000462 A JP 8000462A JP 46296 A JP46296 A JP 46296A JP H09185528 A JPH09185528 A JP H09185528A
Authority
JP
Japan
Prior art keywords
event
task
response
software
tasks
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.)
Withdrawn
Application number
JP8000462A
Other languages
Japanese (ja)
Inventor
Seiji Sasaki
誠司 佐々木
Atsushi Hirahara
厚志 平原
Hiroyasu Watanabe
浩康 渡辺
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP8000462A priority Critical patent/JPH09185528A/en
Publication of JPH09185528A publication Critical patent/JPH09185528A/en
Withdrawn legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

PROBLEM TO BE SOLVED: To minutely inspect the operation of multi-task software for detecting the error of inter-task interface. SOLUTION: Multi-task software 1001 operating on hardware loading a low speed communication equipment is inspected by operating multi-task software 1001 on a real time basis and automatically detecting violence against interface specification between tasks, which is previously set, and incorporating an inspection method for inspecting multi-task software 1001 into a multi-task monitor 1005.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明はソフトウェア検査方
法およびその装置に関し、例えば、ハードウェアに組込
まれるとソフトウェアなど実時間動作を行うソフトウェ
ア検査方法およびその装置に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a software inspection method and an apparatus therefor, and more particularly, to a software inspection method and an apparatus therefor for performing real-time operation such as software when incorporated in hardware.

【0002】[0002]

【従来の技術】ソフトウェア検査は、通常、プログラム
デバッガを用いて行われる。プログラムデバッガは、プ
ログラムソースの任意行でプログラムの実行停止と再開
ができるとともに、実行停止時にはプログラム変数やフ
ラグの状態表示および変更を行うことができる。従っ
て、ソフトウェアの開発者は、プログラムデバッガを対
話的に使用し、ソフトウェアのバグを探すとともに、そ
のバグを修正する作業を繰返して、ソフトウェアを完成
させる。
2. Description of the Related Art Software inspection is usually performed using a program debugger. The program debugger can stop and restart the execution of the program at an arbitrary line of the program source, and can display and change the status of the program variables and flags when the execution is stopped. Therefore, the software developer interactively uses the program debugger to search for a bug in the software and repeats the work of fixing the bug to complete the software.

【0003】より大規模な実時間システムでは、マルチ
タスク機構に基づいたタスク分割プログラミング手法が
一般に利用されているが、マルチタスク処理に特有な、
タスク間の制御の移り変わり,メッセージの送受信,同
期化機能を、外部記憶装置に蓄積するようなタスク間イ
ベントのトレーサが実用化されている。従って、タスク
分割プログラミングにおいては、タスク間イベントトレ
ーサを用いてタスク間のインタフェイスの検証を行うと
ともに、プログラムデバッガを用いて個別のタスクを検
証する方法が、現時点で最も効率的なソフトウェアの検
証方法であると考えられる。
In a larger real-time system, a task division programming method based on a multitasking mechanism is generally used.
A tracer for inter-task events has been put into practical use, in which control transitions between tasks, message transmission / reception, and synchronization functions are accumulated in an external storage device. Therefore, in task division programming, the method of verifying the interface between tasks using the event tracer between tasks and verifying individual tasks using the program debugger is the most efficient software verification method at present. Is considered to be.

【0004】[0004]

【発明が解決しようとする課題】しかし、上述した技術
においては、次のような問題点がある。
However, the above-mentioned technique has the following problems.

【0005】ハードウェア制御を目的にするソフトウェ
アにおいては、プログラムの実行を止めると制御対象の
ハードウェアが破損する場合があるので、必ずしも、プ
ログラムの実行を停止させることができない。このた
め、このような目的のソフトウェアにおいては、プログ
ラムデバッガを効率的に利用するごとができない。
In software for the purpose of controlling hardware, stopping the execution of a program may damage the hardware to be controlled, so it is not always possible to stop the execution of the program. For this reason, it is not possible to efficiently use the program debugger in software for such purposes.

【0006】また、マルチタスクソフトウェアの開発に
おいても、タスク間イベントトレーサは、イベント系列
を報告/表示するのみであり、そのトレース結果から、
マルチタスクソフトウェアの動作シーケンスの正当性に
関する判断は人手に頼っている。通常、タスク間イベン
トは、数msから数10ms単位で発生するため、ソフトウェ
アの動作が短時間であっても、膨大な量のトレース結果
が生成され、通常、その正当性の判断は不可能である。
Also in the development of multitask software, the intertask event tracer only reports / displays the event series, and from the trace result,
Judgment regarding the correctness of the operation sequence of multitasking software relies on humans. Normally, an inter-task event occurs in units of several ms to several tens of ms, so even if the software operation is short, a huge amount of trace results are generated, and it is usually impossible to judge its correctness. is there.

【0007】従って、マルチタスクソフトウェアの不具
合現象に対して、その現象の発生を含むトレース結果を
丹念に調べ、不具合の直接の原因を探るという方法が最
も有効であると思われるが、従来のソフトウェア検査装
置がソフトウェアの不具合を検出する能力はさほど高く
ない。
[0007] Therefore, for the defect phenomenon of the multitask software, the method of carefully examining the trace result including the occurrence of the phenomenon and searching for the direct cause of the defect seems to be most effective. The inspection device is not very capable of detecting software defects.

【0008】さらに、トレーサは、膨大な量のトレース
データを外部記憶装置に転送するため、マルチタスクソ
フトウェアが搭載されるハードウェアは、高速通信機能
を備えていなければならず、そうでなければ、ハードウ
ェアに搭載するマルチタスクソフトウェアの開発におい
て、トレーサを利用することができない。
Further, since the tracer transfers a huge amount of trace data to the external storage device, the hardware on which the multitask software is mounted must have a high speed communication function, and otherwise, Tracers cannot be used in the development of multi-task software to be installed in hardware.

【0009】本発明は、上述の問題を解決するためのも
のであり、マルチタスクソフトウェアの動作を詳細に調
べることなく、タスク間インタフェイスのエラーを検出
することができるソフトウェア検査方法およびその装置
を提供することを目的とする。
The present invention is intended to solve the above-mentioned problems, and provides a software inspection method and apparatus for detecting an error in an interface between tasks without inspecting the operation of multitask software in detail. The purpose is to provide.

【0010】[0010]

【課題を解決するための手段】本発明は、前記の目的を
達成する一手段として、以下の構成を備える。
The present invention has the following configuration as one means for achieving the above object.

【0011】本発明にかかるソフトウェア検査方法は、
マルチタスクソフトウェアを実時間で動作させ、予め設
定されたタスク間のインタフェイス仕様に対する違反を
検出することにより、前記マルチタスクソフトウェアの
検査を行うことを特徴とする。
The software inspection method according to the present invention is
The multitask software is inspected by operating the multitask software in real time and detecting a violation of a preset interface specification between tasks.

【0012】また、本発明にかかるソフトウェア検査装
置は、マルチタスクソフトウェアを実時間で動作させ、
予め設定されたタスク間のインタフェイス仕様に対する
違反を検出することにより、前記マルチタスクソフトウ
ェアの検査を行うソフトウェア検査方法をマルチタスク
モニタへ組込むことにより、低速な通信装置を搭載する
ハードウェア上で動作するマルチタスクソフトウェアの
検査を行うことを特徴とする。
The software inspection apparatus according to the present invention operates the multitask software in real time,
Operates on hardware equipped with a low-speed communication device by incorporating a software inspection method that inspects the multitask software by detecting a violation of preset interface specifications between tasks. It is characterized by performing the inspection of the multitasking software.

【0013】[0013]

【発明の実施の形態】以下、本発明にかかる一実施形態
のソフトウェア検査装置を図面を参照して詳細に説明す
る。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS A software inspection apparatus according to an embodiment of the present invention will be described in detail below with reference to the drawings.

【0014】[機能構成]図1は本発明にかかる一実施
形態のソフトウェア検査装置の構成例を示す機能ブロッ
ク図である。
[Functional Configuration] FIG. 1 is a functional block diagram showing an exemplary configuration of a software inspection apparatus according to an embodiment of the present invention.

【0015】同図において、イベント応答テーブル(以
下、単に「テーブル」と呼ぶ場合がる)1002は、検査対
象のマルチタスクソフトウェア1001のタスク間インタフ
ェイス仕様を表現したイベント応答ペアからなる。マル
チタスクモニタ1005は、マルチタスク動作を実現し、テ
ーブル1002のタスク間インタフェイス仕様に基づく、マ
ルチタスクソフトウェア1001の検証機能を備えている。
そして、マルチタスクモニタ1005は、タスクの状態を保
持するタスクコントロールブロック(TCB)1006と、タス
ク間通信およびタスク間同期機能を実現するためのリソ
ース1007を管理している。
In the figure, an event response table (hereinafter sometimes simply referred to as "table") 1002 is composed of an event response pair expressing the inter-task interface specification of the multitask software 1001 to be inspected. The multitask monitor 1005 realizes a multitask operation and has a verification function of the multitask software 1001 based on the inter-task interface specification of the table 1002.
The multitask monitor 1005 manages a task control block (TCB) 1006 that holds the task state and a resource 1007 that implements intertask communication and intertask synchronization functions.

【0016】マルチタスクソフトウェア1001は、マルチ
タスクモニタ1005に対して、サービス要求1004を発行す
ることで、タスク状態の変更、および、リソースヘのア
クセスを行うことができる。また、マルチタスクソフト
ウェア1001は、ハードウェアタイマからの定期的なタイ
マ割込に応答して、タイマサービス1003を呼出し、マル
チタスクモニタ1005にシステムクロックを提供する。
By issuing a service request 1004 to the multitask monitor 1005, the multitask software 1001 can change the task state and access the resource. In addition, the multitask software 1001 calls the timer service 1003 in response to the periodic timer interrupt from the hardware timer, and provides the system clock to the multitask monitor 1005.

【0017】マルチタスクモニタ1005は、マルチタスク
ソフトウェア1001の実行に必要なタスクおよびリソース
を生成した時点で、通信装置1008を介して入力/表示装
置1011から、マルチタスクソフトウェア1001のタスク間
インタフェイス仕様を表現するイベント-応答リストを
読込み、テーブル1002に保存する。
The multi-task monitor 1005 is a task interface resource specification of the multi-task software 1001 from the input / display device 1011 via the communication device 1008 at the time when the tasks and resources necessary for executing the multi-task software 1001 are generated. Event-representing event is read and saved in table 1002.

【0018】マルチタスクモニタ1005は、サービス要求
1004を通して発行されるリソースへの送信/受信/受信要
求などのイベントが、テーブル1002のイベント部分と一
致する場合、対応する応答(アクション)が所定の許容
時間内で実行されることを監視する。発生したイベント
に対する応答が許容時間内に実行されない場合、マルチ
タスクモニタ1005は、通信装置1008を介して入力/表示
装置1011にエラーを報告する。
The multitask monitor 1005 is a service request
When an event such as a transmission / reception / reception request to a resource issued through 1004 matches the event part of the table 1002, the corresponding response (action) is monitored to be executed within a predetermined allowable time. If the response to the occurred event is not executed within the allowed time, the multitasking monitor 1005 reports an error to the input / display device 1011 via the communication device 1008.

【0019】[マルチタスクソフトウェア]図2は典型
的なマルチタスクソフトウェアを示す図である。
[Multitask Software] FIG. 2 is a diagram showing typical multitask software.

【0020】同図において、割込ハンドラ2001はハード
ウェアからの割込2041を処理し、タイマ割込ハンドラ20
02はハードウェアタイマからの割込2042を処理する。ま
た、2011〜2013はそれぞれ固有の処理を実現するタスク
である。
In the figure, an interrupt handler 2001 processes an interrupt 2041 from the hardware, and a timer interrupt handler 20
02 handles the interrupt 2042 from the hardware timer. Further, 2011 to 2013 are tasks that realize unique processing.

【0021】タスク間通信を実現するキュー2021は割込
ハンドラ2001からタスク2011へ情報を渡し、同様に、タ
スク間通信を実現するキュー2022はタスク2012からタス
ク2013へ情報を渡すために使用される。
The queue 2021 for realizing inter-task communication passes information from the interrupt handler 2001 to the task 2011, and similarly, the queue 2022 for realizing inter-task communication is used for passing information from the task 2012 to the task 2013. .

【0022】タスク間同期機能を実現するイベントフラ
グ2031のビット0は、タスク2011によりセットされ、タ
スク2012とタスク2011の同期に利用される。イベントフ
ラブ2031のビット1は、タスク2013によりセットされ、
タスク2011とタスク2013の同期に利用される。
Bit 0 of the event flag 2031 for realizing the inter-task synchronization function is set by the task 2011 and is used for synchronization between the task 2012 and the task 2011. Bit 1 of event flab 2031 is set by task 2013,
Used to synchronize task 2011 and task 2013.

【0023】図3は図2に示すマルチタスクソフトウェア
の時系列的な動作例を示すシーケンス図である。なお、
このシーケンス図においては、タスクの優先度が2011>2
012>2013の順であり、割込ハンドラ2001の優先度が各タ
スクよりも高い場合を想定している。
FIG. 3 is a sequence diagram showing a time series operation example of the multitask software shown in FIG. In addition,
In this sequence diagram, the task priority is 2011> 2
The order is 012> 2013, and it is assumed that the priority of the interrupt handler 2001 is higher than that of each task.

【0024】タイミングt0においてタスク2011,2012,20
13は中断状態にあり、タイミングt1において割込み2041
が発生して割込ハンドラ2001が起動される。割込ハンド
ラ2001は、タイミングt2でキュー2021ヘの送信イベント
2051を発行する。またこのとき、タスク2011は、タイミ
ングt0で要求したキュー受信要求2052が満たされ、中断
状態から実行待ち状態に遷移する。
At the timing t0, tasks 2011, 2012, 20
13 is in a suspended state and interrupt 2041 at timing t1
Occurs and interrupt handler 2001 is started. The interrupt handler 2001 sends a transmission event to the queue 2021 at the timing t2.
Issue 2051. Further, at this time, the task 2011 is satisfied from the queue reception request 2052 requested at the timing t0 and transits from the suspended state to the execution waiting state.

【0025】タイミングt3において、割込ハンドラ2001
が終了するため、唯一、実行可能な状態(実行状態また
は実行待ち状態)のタスク2011に制御が切替わる。
At the timing t3, the interrupt handler 2001
Ends, the control is switched to the task 2011 in the executable state (execution state or execution waiting state).

【0026】タイミングt4において、タスク2011はイベ
ントフラグ2031への送信イベント2053を発行し、タスク
2012はイベントフラグ2031から受信イベント2054を受取
って実行待ち状態に遷移する。
At timing t4, the task 2011 issues the send event 2053 to the event flag 2031 and the task
In 2012, the reception event 2054 is received from the event flag 2031 and the state transitions to the execution waiting state.

【0027】タイミングt5において、タスク2011はイベ
ントフラグ2031への受信要求2058を発行して中断状態に
遷移する。このとき、タスク2012だけが実行可能状態に
なるので、タイミングt6において、タスク2012はキュー
2022ヘの送信イベント2055を発行し、タスク2013はキュ
ー2022から受信イベント2056を受取り、タスク2013は中
断状態から実行待ち状態に遷移する。
At timing t5, the task 2011 issues a reception request 2058 to the event flag 2031 and transits to the suspended state. At this time, only task 2012 is ready to run, so at time t6, task 2012 is queued.
The send event 2055 to 2022 is issued, the task 2013 receives the receive event 2056 from the queue 2022, and the task 2013 transits from the suspended state to the execution waiting state.

【0028】タイミングt7において、タスク2012はイベ
ントフラグ2031への受信要求2054を発行し、中断状態に
遷移する。このとき、タスク2013が、唯一、実行可能な
状態になるので、タスク2013は実行状態に遷移する。
At timing t7, the task 2012 issues a reception request 2054 to the event flag 2031 and transits to the suspended state. At this time, since the task 2013 is the only executable state, the task 2013 transitions to the execution state.

【0029】タイミングt8において、タスク2013は、イ
ベントフラグ2031への送信イベント2057を発行し、実行
待ち状態に遷移する。また、より優先度の高いタスク20
11は、イベントフラグ2031から受信イベント2058を受取
り、実行状態に遷移する。
At timing t8, the task 2013 issues a transmission event 2057 to the event flag 2031 and transitions to the execution waiting state. Also, higher priority tasks 20
11 receives the reception event 2058 from the event flag 2031 and transits to the execution state.

【0030】タイミングt9において、タスク2011はキュ
ー2021ヘの受信要求2052を発行して中断状態になり、タ
スク2013が実行状態になる。そして、タイミングt10に
おいて、タスク2013はキュー2022ヘの受信要求2056を発
行して中断状態になり、この時点で、すべてのタスクは
タイミングt0と同様の初期状態に戻る。
At the timing t9, the task 2011 issues the reception request 2052 to the queue 2021 and enters the suspended state, and the task 2013 enters the execution state. Then, at the timing t10, the task 2013 issues a reception request 2056 to the queue 2022 and enters the suspended state, at which point all the tasks return to the initial state similar to the timing t0.

【0031】図4はタスク間インタフェイスプロトコル
をイベント-応答表現で表す図で、図2に示すマルチタス
クシステムが図3のシーケンス図に従って動作するため
に守らなければならないプロトコルである。
FIG. 4 is a diagram showing an inter-task interface protocol by an event-response expression, which is a protocol that the multi-task system shown in FIG. 2 must follow in order to operate according to the sequence diagram of FIG.

【0032】同図に示すように、キュー2021は、送信イ
ベント2051が発生したならば、受信イベント2052により
応答しなければならない。また、キュー2022は、送信イ
ベント2055が発生したならば、受信イベント2056により
応答しなければならない。また、イベントフラグ2031
は、送信イベント2053に対して受信イベント2054で、送
信イベント2057に対して受信イベント2058で、それぞれ
応答しなければならない。
As shown in the figure, the queue 2021 must respond with a reception event 2052 if a transmission event 2051 occurs. Also, the queue 2022 must respond with a receive event 2056 if a send event 2055 occurs. Also, event flag 2031
Must respond to the send event 2053 with a receive event 2054 and the send event 2057 with a receive event 2058.

【0033】タスク2011においては、受信イベント2052
に対して、送信イベント2053とそれに続く受信要求イベ
ント2058が引き起こされることが示され、受信イベント
2058に対しては受信要求イベント2052が引き起されるこ
とが示されている。
In task 2011, received event 2052
Indicates that a send event 2053 followed by a receive request event 2058 is triggered.
It is shown that a reception request event 2052 is triggered for 2058.

【0034】また、タスク2012においては、受信イベン
ト2054に対して、送信イベント2055とそれに続く受信要
求イベント2054が引き起こされることが示され、同様
に、タスク2013においては、受信イベント2056に対し
て、送信イベント2057とそれに続く受信要求イベント20
56が引き起こされることが示されている。
Further, in Task 2012, it is shown that the transmission event 2055 and the subsequent reception request event 2054 are triggered for the reception event 2054. Similarly, in Task 2013, for the reception event 2056, Send event 2057 followed by receive request event 20
56 has been shown to be triggered.

【0035】上記のプロトコルがすべて満足されている
限り、図2に示すマルチタスクソフトウェアは、タスク
スケジュール時に実行可能なタスクの内、どのタスクが
先に実行されるかの違いを除いて、図3に示すシーケン
ス図に従って動作することが保証される。
As long as all of the above protocols are satisfied, the multitasking software shown in FIG. 2 is the same as that shown in FIG. 3 except for which task among the tasks that can be executed at the time of task scheduling is executed first. The operation is guaranteed according to the sequence diagram shown in FIG.

【0036】以下では、リソースに対するより複雑なタ
スク間インタフェイスの場合のイベント-応答表現を検
証する。
In the following, the event-response representation for a more complex task-to-task interface will be verified.

【0037】[複雑なタスク間インタフェイス(タイプ
1)]図5は複雑なタスク間インタフェイスの一例を示す
図で、一つのキューに対して複数のタスクが送信し、さ
らに、複数のタスクが受信するようなタスク間インタフ
ェイスである。
[Complex task-to-task interface (type
1)] FIG. 5 is a diagram showing an example of a complicated inter-task interface, which is an inter-task interface in which a plurality of tasks transmits to one queue and further a plurality of tasks receives.

【0038】同図において、キュー5001はタスク間でデ
ータの受け渡しを行うものであり、タスク5011と5012は
キュー5001にデータを送信するタスクであり、タスク50
21と5022はキュー5001からデータを受信するタスクであ
る。
In the figure, a queue 5001 is for transferring data between tasks, and tasks 5011 and 5012 are tasks for transmitting data to the queue 5001.
21 and 5022 are tasks for receiving data from the queue 5001.

【0039】タスク5021または5022は、キュー5001に対
して受信要求を発行すると、キュー5001内にデータがあ
れば、そのデータがキュー5001から送られてくる。ま
た、キュー5001が空であれば、キュー5001がデータを受
信するまで、その受信要求はブロックされる。
When the task 5021 or 5022 issues a reception request to the queue 5001, if there is data in the queue 5001, the data is sent from the queue 5001. If the queue 5001 is empty, the reception request is blocked until the queue 5001 receives data.

【0040】タスク5011または5012が、キュー5001へデ
ータを送信した場合、それらのタスクはブロックされな
い。
If tasks 5011 or 5012 send data to queue 5001, those tasks are not blocked.

【0041】図6は図5に示すタスク間インタフェイスの
動作例を示すシーケンス図で、送受信の順序関係により
場合分けした例を示している。
FIG. 6 is a sequence diagram showing an operation example of the inter-task interface shown in FIG. 5, showing an example in which the cases are classified according to the order relation of transmission and reception.

【0042】ケースAは、受信タスクの一つ(図では502
1)により先に受信要求が発行された状態で、送信タス
クの一つ(図では5011)がキュー5001に対して送信イベ
ントを発行した場合を示している。この場合、キュー50
01ヘ受信要求を発行しブロックされていたタスク5021
は、タスク5011が送信イベントを発行した時点で解放さ
れ、実行可能な状態になる。
Case A is one of receiving tasks (502 in the figure).
It shows a case where one of the transmission tasks (5011 in the figure) issues a transmission event to the queue 5001 in the state where the reception request was issued earlier by 1). In this case, queue 50
Task 5021 that issued a receive request to 01 and was blocked
Is released when the task 5011 issues a send event, and becomes ready for execution.

【0043】ケースBは、先に送信タスクの一つ(図で
は5011)がキュー5001に対して送信イベントを発行し、
その後、受信タスクの一つ(図では5021)がキュー5001
に受信要求を発行した場合を示している。この場合、受
信タスク5021の受信要求は直ちに受入れられ、受信タス
ク5021は、送信タスク5011が送信したデータを受信す
る。
In case B, one of the transmission tasks (5011 in the figure) first issues a transmission event to the queue 5001.
After that, one of the receiving tasks (5021 in the figure) is queue 5001.
The case where the reception request is issued is shown in FIG. In this case, the reception request of the reception task 5021 is immediately accepted, and the reception task 5021 receives the data transmitted by the transmission task 5011.

【0044】ケースCは、二つの送信タスクがキュー500
1に対して送信イベントを発行し、その後、受信タスク
の一つ(図では5021)がキュー5001に対して受信イベン
トを続けて二つ発行した場合を示している。この場合、
受信タスク5021は、ブロックされることなく、送信され
たデータを先着順に(先入り先出し方式で)受取る。キ
ュー5001へ続けて送信イベントを発行する場合、同数の
受信イベントが引き起こされるので、キュー5001ヘの送
信イベントは累積効果をもつ。
In case C, two sending tasks are queued to 500
This shows a case where a send event is issued to 1 and then one of the receive tasks (5021 in the figure) issues two receive events to the queue 5001 in succession. in this case,
The reception task 5021 receives the transmitted data on a first-come-first-served basis (first-in first-out system) without being blocked. If the sending event is issued to the queue 5001 successively, the same number of receiving events are triggered, so that the sending event to the queue 5001 has a cumulative effect.

【0045】ケースDは、二つの受信タスクがキュー500
1に対して受信要求を発行した後、送信タスクの一つ
(図では5011)がキュー5001に対して送信イベントを発
行した場合を示している。この場合、ブロックされてい
た二つの受信タスクの内、優先順位の高いタスク(図で
はタスク5022)が送信データを受信し、実行可能な状態
になる。もう一方の受信タスク5021は中断状態のままで
ある。
In case D, two receiving tasks are queued to 500.
After issuing a reception request to 1, one of the transmission tasks (5011 in the figure) issues a transmission event to the queue 5001. In this case, of the two blocked reception tasks, the task with the higher priority (task 5022 in the figure) receives the transmission data and becomes ready to execute. The other receiving task 5021 remains suspended.

【0046】図7は図5に示すタスク間インフェイスを備
えたマルチタスクソフトウェアが図6に示すシーケンス
図に従って動作するために必要なイベント-応答プロト
コルを示す図である。
FIG. 7 is a diagram showing an event-response protocol necessary for the multitask software having the inter-task interface shown in FIG. 5 to operate according to the sequence diagram shown in FIG.

【0047】同図(a)は、忠実にイベント-応答プロトコ
ルを表現したものであり、イベントおよび応答がOR条件
になっている。
FIG. 6A faithfully expresses the event-response protocol, and the event and response are OR conditions.

【0048】同図(b)は、同図(a)に示すプロトコルを二
分割したもので、キュー5001に対する送信イベントは累
積効果があるため、二つのプロトコルがともに満足され
ることは、同図(a)に示すプロトコルが満足されること
と等価である。
FIG. 11B is a diagram in which the protocol shown in FIG. 11A is divided into two parts. Since the transmission events for the queue 5001 have a cumulative effect, both protocols are satisfied. It is equivalent to satisfying the protocol shown in (a).

【0049】同図(c)は、同図(a)に示すプロトコルにお
いて、どの送信タスクが送信したかを問わないプロトコ
ルである。キュー5001に送信するタスクが5011と5012に
限られていることが確実であれば、同図(c)のプロトコ
ルは同図(a)のプロトコルと等価である。
FIG. 11C is a protocol in the protocol shown in FIG. 11A regardless of which transmitting task transmitted. If it is certain that the tasks to be sent to the queue 5001 are limited to 5011 and 5012, the protocol of FIG. 7C is equivalent to the protocol of FIG.

【0050】同図(d)は、同図(b)に示すプロトコルにお
いて、どの受信タスクが受信するかを問わないプロトコ
ルである。キュー5001から受信するタスクが5021と5022
に限られていることが確実であれば、同図(d)のプロト
コルの両立は同図(a)のプロトコルと等価である。
FIG. 6D is a protocol in the protocol shown in FIG. 6B regardless of which receiving task receives. Tasks received from queue 5001 are 5021 and 5022
If it is certain that it is limited to, the compatibility of the protocols of FIG. 7D is equivalent to the protocol of FIG.

【0051】同図(e)は、同図(c)に示すプロトコルにお
いて、どの受信タスクが受信するかを問わない(また
は、同図(d)に示すプロトコルにおいて、どの送信タス
クかを問わない)プロトコルである。キュー5001に送信
するタスクが5011と5012に限られ、キュー5001から受信
するタスクが5021と5022に限られる状況では、同図(e)
に示すプロトコルと同図(a)に示すプロトコルとは等価
である。
FIG. 7E does not care which reception task receives in the protocol shown in FIG. 7C (or does not matter which transmission task in the protocol shown in FIG. ) Is a protocol. In the situation where the tasks sent to the queue 5001 are limited to 5011 and 5012, and the tasks received from the queue 5001 are limited to 5021 and 5022, the same figure (e)
The protocol shown in (a) is equivalent to the protocol shown in (a).

【0052】[複雑なタスク間インタフェイス(タイプ
2)]図8は複雑なタスク間インタフェイスの第二例を示
す図で、タスク間同期機能を果たす一つのイベントフラ
グ8001と、複数の送信タスク8011と8012と、同一ビット
位置を複数の受信タスク8021と8022がAND受信するよう
な、複雑なタスク間インタフェイスを示している。
[Complex task-to-task interface (type
2)] FIG. 8 is a diagram showing a second example of a complex inter-task interface, in which one event flag 8001 fulfilling the inter-task synchronization function, a plurality of transmitting tasks 8011 and 8012, and a plurality of receiving the same bit positions are received. It shows a complex inter-task interface such that tasks 8021 and 8022 receive AND.

【0053】送信タスク8011は、イベントフラグ8001の
ビット7をセット(送信)し、受信タスク8012はビット8
をセット(送信)する。受信タスク8021と8022は、イベ
ントフラグ8001のビット7とビット8に対してAND受信要
求(両ビットがセットされることを確認する)を発行
し、受信完了後、受信タスク8021と8022はそれぞれ、イ
ベントフラグ8001のビット7と8をクリア(送信)する。
The transmission task 8011 sets (transmits) bit 7 of the event flag 8001, and the reception task 8012 sets bit 8
Set (send). The reception tasks 8021 and 8022 issue an AND reception request (confirm that both bits are set) for bit 7 and bit 8 of the event flag 8001, and after reception completion, the reception tasks 8021 and 8022 respectively Clear (send) bits 7 and 8 of event flag 8001.

【0054】図9は図8に示すタスク間インタフェイスの
動作例を示すシーケンス図で、送受信の順序関係により
場合分けした例を示している。
FIG. 9 is a sequence diagram showing an operation example of the inter-task interface shown in FIG. 8, showing an example in which the cases are classified according to the order relation of transmission and reception.

【0055】ケースAは、二つの受信タスク8021と8022
が受信要求を発行後、二つの送信タスク8011と8012が送
信イベントを発行した場合を示している。この場合、イ
ベントフラグ8001のビット7と8がともにセットされた時
点で、ブロックされていた受信タスク8021と8022が一斉
に実行可能になる(ブロードキャストされる)。
Case A has two receive tasks 8021 and 8022.
Shows the case where two send tasks 8011 and 8012 issue send events after issue a receive request. In this case, the blocked reception tasks 8021 and 8022 can be simultaneously executed (broadcast) when bits 7 and 8 of the event flag 8001 are both set.

【0056】ケースBは、二つの送信タスク8011と8012
が送信イベントを発行後、二つの受信タスク8021と8022
が受信要求を発行した場合を示している。この場合、受
信タスク8021と8022はブロックされることなく、受信要
求が直ちに満たされる。
In case B, there are two transmission tasks 8011 and 8012.
Issue two send tasks, then two receive tasks 8021 and 8022
Shows the case in which the request is issued. In this case, the receiving tasks 8021 and 8022 are not blocked and the receiving request is immediately satisfied.

【0057】ケースCは、ケースAと同様に、二つの受信
タスク8021と8022が受信要求を発行後、二つの送信タス
ク8011と8012が送信イベントを発行した場合を示してい
るが、送信タスク8011がセットしたビットが受信される
前に(従ってクリアされる前に)、もう一度、そのビッ
トをセットする場合を示している。この場合のシーケン
ス図は、ケースAと同様であり、結局、イベントフラグ8
001に対する送信イベントは蓄積効果が無いことを示し
ている。
As in the case A, the case C shows the case where the two receiving tasks 8021 and 8022 issue the receiving request and then the two transmitting tasks 8011 and 8012 issue the transmitting event. Illustrates setting the bit again before it is received (and therefore cleared). The sequence diagram in this case is the same as in case A. Eventually, event flag 8
The transmission event for 001 indicates that there is no accumulation effect.

【0058】図10は図8に示すタスク間インフェイスを
備えたマルチタスクソフトウェアが図9に示すシーケン
ス図に従って動作するために必要なイベント-応答プロ
トコルを示す図である。
FIG. 10 is a diagram showing an event-response protocol necessary for the multitask software having the inter-task interface shown in FIG. 8 to operate according to the sequence diagram shown in FIG.

【0059】同図(a)は、忠実にイベント-応答プロトコ
ルを表現したものであり、イベントと応答がそれぞれAN
D条件になっている。
FIG. 11A is a faithful representation of the event-response protocol, where the event and response are each AN.
D condition.

【0060】同図(b)は、同図(a)に示すプロトコルを二
つ分割したもので、ビット7とビット8がともにセットさ
れない限り、タスク8021と8022は受信イベントを受取ら
ないため、このような分割が可能になる。
FIG. 11B is a diagram in which the protocol shown in FIG. 11A is divided into two. Tasks 8021 and 8022 do not receive a reception event unless bit 7 and bit 8 are set. Such division is possible.

【0061】同図(c)は、同図(b)に示すプロトコルにお
いて、どの送信タスクが送信したかを問わないプロトコ
ルである。イベントフラグ8001のビット7と8をセットお
よびクリアするタスクが8011,8012,8021,8022であるこ
とが確実であれば、同図(c)における二つのプロトコル
の両立は、同図(b)の二つのプロトコルの両立と、そし
て同図(a)と等価である。
FIG. 7C is a protocol in the protocol shown in FIG. 7B regardless of which transmission task transmitted. If the task of setting and clearing bits 7 and 8 of the event flag 8001 is sure to be 8011, 8012, 8021, 8022, the compatibility of the two protocols in the same figure (c) is shown in the same figure (b). It is equivalent to the compatibility of the two protocols and (a) in the figure.

【0062】[イベント-応答表現の変換]図11は図4,
図7,図10に示したイベント-応答表現をより簡単な表現
形式に変換する規則を示す図である。
[Event-Response Expression Conversion] FIG. 11 is shown in FIG.
FIG. 11 is a diagram showing rules for converting the event-response expressions shown in FIGS. 7 and 10 into a simpler expression format.

【0063】同図(a)の一行目は、イベントEに対して、
レスポンスR1,R2の順に応答しなければならないことを
示している(以下、このような場合を「手順型応答結
合」と称する)。累積効果があるイベントの場合、同図
(a)の二行目および三行目に示す、二つの独立なイベン
ト-応答プロトコルに分解することができる。累積効果
がないイベントの場合は、タイミングの問題が生じて、
一般に、このような分解は等価ではない。
The first line in FIG. 10A shows that for event E,
It indicates that responses must be made in the order of responses R1 and R2 (hereinafter, such a case is referred to as "procedural response combination"). If the event has a cumulative effect, the same figure
It can be broken down into two independent event-response protocols, shown in the second and third lines of (a). For events that don't have a cumulative effect, there are timing issues,
In general, such decompositions are not equivalent.

【0064】同図(b)の一行目は、イベントEに対して、
レスポンスR1とR2がすべて応答しなければならないこと
を示している(以下、このような場合を「AND型応答結
合」と称する)。累積効果があるイベントの場合、同図
(b)の二行目および三行目に示す、二つの独立なイベン
ト-応答プロトコルに分解することができる。累積効果
がないイベントの場合は、タイミングの問題が生じて、
一般に、このような分解は等価ではない。
The first line in FIG. 10B shows that for event E,
It indicates that the responses R1 and R2 must all respond (hereinafter, such a case is referred to as "AND type response combination"). If the event has a cumulative effect, the same figure
It can be broken down into two independent event-response protocols, shown in lines 2 and 3 of (b). For events that don't have a cumulative effect, there are timing issues,
In general, such decompositions are not equivalent.

【0065】同図(c)の一行目は、イベントE1に引続い
てE2が発生した場合に、レスポンスRが応答しなければ
ならないことを示している(以下、このような場合を
「手順型イベント結合」と称する)。累積効果があるイ
ベントの場合、同図(c)の二行目および三行目に示す、
二つの独立なイベント-応答プロトコルに分解すること
ができる。累積効果がないイベントの場合は、タイミン
グの問題が生じて、一般に、このような分解は等価では
ない。
The first line in FIG. 6C shows that the response R must respond when the event E1 is followed by the event E2 (hereinafter, such a case will be referred to as "procedural type"). "Event combination"). In the case of events that have a cumulative effect, as shown in the second and third lines of Figure (c),
It can be broken down into two independent event-response protocols. For events that do not have a cumulative effect, timing issues arise and such decompositions are generally not equivalent.

【0066】同図(d)の一行目は、イベントE1またはE2
が発生した場合に、レスポンスRが応答しなければなら
ないことを示している(以下、このような場合を「OR型
イベント結合」と称する)。累積効果の有無にかかわら
ず、同図(d)の二行目および三行目に示す、二つの独立
なイベント-応答プロトコルに分解することができる。
The first line in FIG. 6 (d) shows the event E1 or E2.
Indicates that the response R must respond when the occurrence of the event occurs (hereinafter, such a case is referred to as “OR type event combination”). With or without cumulative effects, it can be broken down into two independent event-response protocols, shown in the second and third lines of Figure (d).

【0067】上記の以外の場合(例えば、OR型応答結合
やAND型イベント結合)は、簡単な分解規則は存在しな
いと思われる。しかし、図7(d)に示したプロトコルのよ
うに、受信タスクを特定しない方法により、OR型応答結
合のプロトコルの表現を簡素化することが可能である。
また、図10(b)に示したプロトコルのように応答の言い
換えを行う方法により、AND型応答結合のプロトコル
(イベントフラグのAND受信のときに発生する)の表現
を簡素化することが可能である。
In cases other than the above (for example, OR type response connection and AND type event connection), it seems that there is no simple decomposition rule. However, like the protocol shown in FIG. 7 (d), it is possible to simplify the expression of the OR type response coupling protocol by a method that does not specify the receiving task.
In addition, it is possible to simplify the expression of the AND-type response coupling protocol (which occurs when AND reception of event flags) by the method of paraphrasing the response like the protocol shown in FIG. 10 (b). is there.

【0068】[タスク間インタフェイス違反の検出]次
に、マルチタスクモニタ1005がイベント-応答テーブル
に従って、マルチタスクソフトウェアのタスク間インタ
フェイス違反を検出する方法について説明する。なお、
以下の説明では、まず図12から図17を用いてデータ構造
を説明し、次に、図18から図25を用いてそのデータ構造
を用いた違反検出手続を説明する。
[Detection of Inter-Task Interface Violation] Next, a method for the multi-task monitor 1005 to detect the inter-task interface violation of the multi-task software according to the event-response table will be described. In addition,
In the following description, the data structure will be described first with reference to FIGS. 12 to 17, and then the violation detection procedure using the data structure will be described with reference to FIGS. 18 to 25.

【0069】[データ構造]図12はイベントおよびレス
ポンスを表現するイベント-応答データ構造体の一例を
示す図で、タイプフィールド12001は、タスクまたはリ
ソース、あるいはとくにリソースの場合はリソースのタ
イプを表現する記号常数を格納するフィールドである。
IDフィールド12002は、タイプフィールド12001に従い、
タスクまたはリソースのIDを格納するフィールドであ
る。動作フィールド12003は、イベントまたはレスポン
スの動作の識別子を格納するフィールドである。値フィ
ールド12004は、イベントまたは応答の動作対象リソー
スに固有の値を格納するフィールドである。
[Data Structure] FIG. 12 is a diagram showing an example of an event-response data structure representing an event and a response. A type field 12001 represents a task or resource, or in the case of a resource, a resource type. This field stores the symbol constant.
ID field 12002 follows type field 12001
This field stores the task or resource ID. The operation field 12003 is a field that stores an operation identifier of an event or a response. The value field 12004 is a field for storing a value unique to the operation target resource of the event or the response.

【0070】図13はイベント-応答データ構造体の詳細
例を示す図で、イベントおよびレスポンスの発生対象
を、タスクとリソース、さらにリソースのときはそのリ
ソースのタイプにより場合分けして示すものである。
FIG. 13 is a diagram showing a detailed example of the event-response data structure, and shows the occurrence targets of events and responses according to tasks and resources, and in the case of resources, depending on the resource type. .

【0071】同図(a)は、キューを対象としたイベント-
応答データ構造体の詳細で、タイプフィールドは常に記
号常数「TASK」であり、IDフィールドには動作主体のタ
スクIDまたはタスクを特定しない場合には「0」を格納
する。動作フィールドには動作識別子の「送信」「受
信」または「受信要求」を格納する。値フィールドは使
わない。
FIG. 9A shows an event for a queue-
In the details of the response data structure, the type field is always the symbol constant "TASK", and the task ID of the action subject or "0" is stored in the ID field when the task is not specified. In the operation field, the operation identifier “send”, “receive” or “reception request” is stored. Do not use the value field.

【0072】同図(b)は、イベントフラグを対象とした
イベント-応答データ構造体の詳細で、タイプフィール
ドとIDフィールドは同図(a)と同様である。動作フィー
ルドには動作識別子の「セット」「クリア」「送信」
「受信」または「受信要求」を格納する。値フィールド
には、動作フィールドの識別子が「セット」または「ク
リア」の場合にはイベントフラグとビット演算するビッ
トパターンを格納し、他の識別子の場合にはイベントフ
ラグのどのビット位置を対象とするかを示すビットマス
クを格納する。
FIG. 11B shows the details of the event-response data structure for the event flag. The type field and ID field are the same as in FIG. "Set", "Clear", "Send" of the operation identifier in the operation field
It stores “reception” or “reception request”. In the value field, when the identifier of the operation field is "set" or "clear", the bit pattern for bit operation with the event flag is stored, and in the case of other identifiers, the bit position of the event flag is targeted. Stores a bit mask indicating whether.

【0073】同図(c)は、セマフォ(semaphore)を対象と
したイベント-応答データ構造体の詳細で、タイプフィ
ールドとIDフィールドは同図(a)と同様である。動作フ
ィールドには動作識別子の「送信」「受信」または「受
信要求」を格納する。値フィールドには送信または受信
するセマフォ資源数を格納する。
FIG. 11C shows the details of the event-response data structure for a semaphore, and the type field and ID field are the same as in FIG. In the operation field, the operation identifier “send”, “receive” or “reception request” is stored. The value field stores the number of semaphore resources to be transmitted or received.

【0074】同図(d)は、タスクを対象としたイベント-
応答データ構造体の詳細で、タイプフィールドにはその
タスクの操作対象になるリソースの種類を示す記号常数
「QUEUE」「FLAG」「SEMAPHORE」を格納し、それぞれキ
ュー,イベントフラグ,セマフォを識別する。IDフィー
ルドにはタイプフィールドで特定されるリソースのIDを
格納する。動作フィールドおよび値フィールドは、タイ
プが「QUEUE」の場合は同図(a)と、「FLAG」の場合は同
図(b)と、「SEMAPHORE」の場合は同図(c)と、それぞれ
同様である。
FIG. 6D shows an event for a task-
In the details of the response data structure, the type field stores the symbol constants "QUEUE", "FLAG", and "SEMAPHORE" indicating the type of resource to be operated by the task, and identifies the queue, event flag, and semaphore, respectively. The ID field stores the ID of the resource specified in the type field. The operation field and the value field are the same as the figure (a) when the type is "QUEUE", the figure (b) when it is "FLAG", and the figure (c) when it is "SEMAPHORE". Is.

【0075】図14はイベント-応答テーブル1002内の要
素であるイベント-応答プロトコル構造体の一例を示す
図で、モードフィールド14001は、イベント発生の累積
効果があるか否かを示すフィールドである。なお、以下
では、累積効果がある場合を「係数モード」、無い場合
を「バイナリモード」と称する。
FIG. 14 is a diagram showing an example of an event-response protocol structure which is an element in the event-response table 1002. A mode field 14001 is a field showing whether or not there is a cumulative effect of event occurrence. In the following, the case where there is a cumulative effect is referred to as “coefficient mode”, and the case where there is no cumulative effect is referred to as “binary mode”.

【0076】励起数フィールド14002は、イベント発生
後、まだレスポンスが実行されていないイベント発生数
をカウントするフィールドである。モードフィールドが
「係数モード」のとき、励起数フィールドは零以上の整
数になり、「バイナリモード」のときは0か1になる。
The excitation number field 14002 is a field for counting the number of event occurrences for which a response has not been executed after the event occurrence. When the mode field is "coefficient mode", the excitation number field is an integer greater than or equal to zero, and when it is "binary mode", it is 0 or 1.

【0077】イベントフィールド14003および応答フィ
ールド14004にはそれぞれ、イベント-応答データ構造体
が格納される。手順/AND/OR結合された複合のイベント
およびレスポンスは考えない。図11で説明した方法に従
い、単純なイベント-応答ペアとして、タスク間インタ
フェイスの仕様を表現する必要がある。
The event field 14003 and the response field 14004 each store an event-response data structure. Procedure / AND / OR Do not consider combined event and response. Following the method described in Figure 11, it is necessary to express the specification of the task-task interface as a simple event-response pair.

【0078】許容時間フィールド14005は、イベント発
生後、応答が実行されるまでの許容時間をシステムクロ
ックを単位に表現した値を格納する。この許容時間を経
過してもレスポンスが実行されない場合は、このイベン
ト-応答プロトコルに違反したと解釈する。
The permissible time field 14005 stores a value representing the permissible time until the response is executed after the occurrence of the event, in system clock units. If the response is not executed within this allowed time, it is interpreted as a violation of this event-response protocol.

【0079】リンクフィールド14006は、イベント-応答
プロトコル構造体をリスト状に連結するためのフィール
ドである。
The link field 14006 is a field for linking the event-response protocol structures in a list.

【0080】図15はイベントに対するレスポンスの実行
を検出するために用いる励起応答構造体の一例を示す図
で、イベント-応答構造体リンクフィールド15001は、イ
ベント発生後、レスポンスが未実行のイベント-応答構
造体を指すフィールドである。
FIG. 15 is a diagram showing an example of the excitation response structure used to detect the execution of the response to the event. The event-response structure link field 15001 indicates the event-response for which the response has not been executed after the event occurs. A field that points to a structure.

【0081】残時間フィールド15002は応答が実行され
なければなない残り時間を示すフィールドであり、前方
リンクフィールド15003および後方リンクフィールド150
04は励起応答構造体を双方向にリスト状に連結するため
に使用するフィールドである。
The remaining time field 15002 is a field showing the remaining time that the response must be executed, and it is the forward link field 15003 and the backward link field 1503.
04 is a field used to connect the excitation response structures in a bidirectional list.

【0082】図16Aおよび図16Bはタスク間インタフェイ
スの検査のために変更されるマルチタスクモニタ1005内
のデータ構造体の一例を示す図で、図16Aに示す拡張タ
スクコントロールブロック(拡張TBC)16001は、タスク
を管理するTCB1006をタスク間インタフェイスの検査用
に拡張したものである。拡張部分のイベント-応答リス
ト16012には、TBC1006が管理するタスクに対するイベン
ト-応答プロトコルのリストを指すポインタを格納す
る。同じく拡張部分の励起応答リスト16013には、対応
する励起応答構造体のリストを指すポインタを格納す
る。
FIGS. 16A and 16B are diagrams showing an example of the data structure in the multitask monitor 1005 which is changed for checking the inter-task interface. The extended task control block (extended TBC) 16001 shown in FIG. 16A is shown. Is an extension of TCB1006 that manages tasks for inspection of task-to-task interfaces. The extended part event-response list 16012 stores a pointer to a list of event-response protocols for tasks managed by the TBC 1006. Similarly, the excitation response list 16013 of the extension portion stores a pointer pointing to the list of the corresponding excitation response structures.

【0083】また、図16Bに示す拡張リソースコントロ
ールブロック16002は、リソースを管理するリソースコ
ントロールブロックを拡張したものであり、拡張TBC160
01と同様のイベント-応答リスト16022および励起応答リ
スト16023の拡張部分を備えている。
The extended resource control block 16002 shown in FIG. 16B is an extension of the resource control block for managing resources.
Similar to 01, with an expanded portion of the event-response list 16022 and excitation response list 16023.

【0084】図17は図14〜図16Bに示したデータ構造体
の動的なリンク構造の一例を示す図で、17001は拡張TBC
またはリソースコントロールブロック、17002はコント
ロールブロック17001により管理されるタスクまたはリ
ソースに対するイベント-応答プロトコルリスト、17003
は応答実行がチェックされる励起応答構造体のリストで
ある。
FIG. 17 is a diagram showing an example of a dynamic link structure of the data structure shown in FIGS. 14 to 16B, and 17001 is an extended TBC.
Or resource control block, 17002 is the event-response protocol list for the task or resource managed by control block 17001, 17003
Is a list of excitation response structures whose response execution is checked.

【0085】コントロールブロック17001のイベント-応
答プロトコルのリストフィールドには、イベント-応答
プロトコルリスト17002の先頭要素を指すポインタが格
納され、励起応答リストフィールドには、励起応答構造
体のリスト17003の先頭要素を指すポインタが格納され
る。
A pointer pointing to the first element of the event-response protocol list 17002 is stored in the event-response protocol list field of the control block 17001, and the first element of the excitation response structure list 17003 is stored in the excitation response list field. The pointer that points to is stored.

【0086】[違反検出手続]図18はマルチタスクソフ
トウェアからマルチタスクモニタ1005にサービス要求を
発行した場合にマルチタスクモニタ1005が実行する処理
の一例を示すフローチャートで、ステップS181,S186は
マルチタスクモニタ1005の通常の処理であり、ステップ
S182,S183,S185がイベント-応答プロトコルをチェック
するために追加した処理である。
[Violation Detection Procedure] FIG. 18 is a flowchart showing an example of processing executed by the multitask monitor 1005 when a service request is issued from the multitask monitor to the multitask monitor 1005. Steps S181 and S186 are multitask monitor. 1005 normal processing, step
S182, S183, and S185 are processes added to check the event-response protocol.

【0087】ステップS182は、実行中のタスクに対し
て、イベント-応答リストを調べる手続の呼出しであ
る。なお、どのタスクが実行中であるかは、マルチタス
クモニタ1005により管理されている。
Step S182 is a procedure call for checking the event-response list for the task being executed. Note that which task is being executed is managed by the multitask monitor 1005.

【0088】ステップS183は、サービス対象のリソース
に対して、イベント-応答リストを調べる手続の呼出し
である。なお、サービス対象のリソースIDは、サービス
要求呼出しパラメータに含まれている。
Step S183 is a call to a procedure for checking the event-response list for the resource to be serviced. The service target resource ID is included in the service request invocation parameter.

【0089】ステップS184は実行中のタスクに対して励
起応答リストを調べる手続の呼出し、ステップS185はサ
ービス対象のリソースに対して励起応答リストを調べる
手続の呼出しである。
Step S184 is a call of a procedure for checking the excitation response list for the task being executed, and step S185 is a call of a procedure for checking the excitation response list for the resource to be serviced.

【0090】図19は基本クロックを通知するためにマル
チタスクソフトウェアからマルチタスクモニタ1005のタ
イマサービスが呼出された場合にマルチタスクモニタ10
05が実行する処理の一例を示すフローチャートで、ステ
ップS191,S193はマルチタスクモニタ1005の通常の処理
であり、ステップS192がイベント-応答プロトコルをチ
ェックするために追加した処理である。ステップS192
は、全タスクおよび全リソースに対して、励起応答リス
トのタイムアウトを調べる手続の呼出しである。
FIG. 19 shows that when the timer service of the multitask monitor 1005 is called from the multitask software to notify the basic clock, the multitask monitor 10
In the flowchart showing an example of the process executed by 05, steps S191 and S193 are normal processes of the multitask monitor 1005, and step S192 is a process added to check the event-response protocol. Step S192
Is a call to the procedure for checking the timeout of the excitation response list for all tasks and all resources.

【0091】図20はイベント-応答リストを調べてリス
ト中のイベント発生を検出する手続の一例を示すフロー
チャートで、図18に示したステップS182およびS183から
呼出される手続である。同図において、ステップS201
で、パラメータで指定されたイベント-応答リストの先
頭要素(イベント-応答プロトコル構造体)を取出す。
次に、ステップS202とS204によりリストの要素を次々に
取出し、ステップS203で取出したイベント-応答プロト
コル構造体に対してイベントの発生を調べる手続を呼出
す。
FIG. 20 is a flowchart showing an example of a procedure for checking the event-response list and detecting the occurrence of an event in the list, which is a procedure called from steps S182 and S183 shown in FIG. In the figure, step S201
Then, the first element (event-response protocol structure) of the event-response list specified by the parameter is fetched.
Next, in steps S202 and S204, the elements of the list are sequentially fetched, and a procedure for checking the occurrence of an event is called for the event-response protocol structure fetched in step S203.

【0092】図21は励起応答リストを調べてリスト中の
励起応答の実行を検出する手続の一例を示すフローチャ
ートで、図18に示したステップS184およびS185から呼出
される手続である。同図において、ステップS211で、パ
ラメータで指定された励起応答リストの先頭要素(励起
応答構造体)を取出す。次に、ステップS212とS214によ
りリストの要素を次々に取出し、ステップS213で取出し
た励起応答構造体に対して励起応答の実行を調べる手続
を呼出す。
FIG. 21 is a flow chart showing an example of the procedure for checking the excitation response list and detecting the execution of the excitation response in the list, which is the procedure called from steps S184 and S185 shown in FIG. In the figure, in step S211, the head element (excitation response structure) of the excitation response list designated by the parameter is taken out. Next, in steps S212 and S214, the elements of the list are fetched one after another, and the procedure for checking the execution of the excitation response is called for the excitation response structure fetched in step S213.

【0093】図22は励起応答リスト中の励起応答のタイ
ムアウトを検出する手続の一例を示すフローチャート
で、図19に示したステップS192から呼出される手続であ
る。同図において、ステップS221で、パラメータで指定
された励起応答リストの先頭要素(励起応答構造体)を
取出す。次に、ステップS222とS224によりリストの要素
を次々に取出し、ステップS223で取出した励起応答構造
体に対して励起応答のタイムアウトを調べる手続を呼出
す。
FIG. 22 is a flow chart showing an example of the procedure for detecting the timeout of the excitation response in the excitation response list, which is the procedure called from step S192 shown in FIG. In the figure, in step S221, the head element (excitation response structure) of the excitation response list designated by the parameter is taken out. Next, in steps S222 and S224, the elements of the list are fetched one after another, and the procedure for checking the timeout of the excitation response is called for the excitation response structure fetched in step S223.

【0094】図23はパラメータで指定されたタスクまた
はリソースに対して、さらにパラメータで指定されたイ
ベント-応答プロトコル構造体に対するイベントの発生
を検出する手続の一例を示すフローチャートで、図20に
示したステップS203から呼出される手続である。同図に
おいて、ステップS231およびステップS232で、イベント
-応答プロトコル構造体のモードフィールドおよび励起
数フィールドを調べ、「バイナリモード」かつ励起数フ
ィールドが正の場合は直ちにリターンする。
FIG. 23 is a flow chart showing an example of the procedure for detecting the occurrence of an event for the task or resource specified by the parameter and for the event-response protocol structure specified by the parameter, which is shown in FIG. This is the procedure called from step S203. In the figure, in step S231 and step S232, the event
-Examine the mode and excitation number fields of the response protocol structure and return immediately if "binary mode" and the excitation number field is positive.

【0095】次に、ステップS233とS234で、イベントフ
ィールド(イベント-応答データ構造体)のタイプ,I
D,動作,値フィールドを比較して、もし一致しなけれ
ば、つまりイベントが発生したのでなければ直ちにリタ
ーンする。
Next, in steps S233 and S234, the type of the event field (event-response data structure), I
Compare the D, Behavior, and Value fields and if they don't match, that is, if no event has occurred, return immediately.

【0096】次に、ステップS235で、励起応答構造体の
ためのメモリ領域を割当て、残時間フィールドにイベン
ト-応答プロトコル構造体の許容時間フィールドの値を
コピーし、イベント-応答プロトコルリンクフィールド
にイベント-応答プロトコル構造体のアドレスをセット
し、パラメータで指定されたタスクまたはリソースの励
起応答リストに追加する、つまり前方リンクまたは後方
リンクフィールドを適切に設定する。
Next, in step S235, a memory area for the excitation response structure is allocated, the value of the allowable time field of the event-response protocol structure is copied to the remaining time field, and the event is written to the event-response protocol link field. -Set the address of the response protocol structure and add it to the excitation response list of the task or resource specified by the parameter, ie set the forward link or backward link field appropriately.

【0097】次に、ステップS236で、イベント-応答プ
ロトコル構造体の励起数フィールドをインクリメントす
る。
Next, in step S236, the excitation number field of the event-response protocol structure is incremented.

【0098】図24はパラメータで指定された励起応答構
造体に対して励起応答の実行を検出する処理の一例を示
すフローチャートで、図21に示したステップS213から呼
出される手続である。同図において、ステップS241で、
パラメータで指定された励起応答構造体のイベント-応
答プロトコルリンクフィールドの値から、該当するイベ
ント-応答プロトコル構造体を獲得する。
FIG. 24 is a flow chart showing an example of the process for detecting the execution of the excitation response for the excitation response structure designated by the parameter, which is the procedure called from step S213 shown in FIG. In the figure, in step S241,
The corresponding event-response protocol structure is acquired from the value of the event-response protocol link field of the excitation response structure specified by the parameter.

【0099】次に、ステップS242とS243で、イベント-
応答プロトコル構造体の応答フィールド(イベント-応
答データ構造体)のタイプ,ID,動作,値フィールドを
比較して、もし一致しなければ、つまり応答が検出され
なかった場合は直ちにリターンする。
Next, in steps S242 and S243, an event-
The response field (event-response data structure) type, ID, action, and value fields of the response protocol structure are compared, and if they do not match, that is, no response is detected, an immediate return is made.

【0100】次に、ステップS244でイベント-応答プロ
トコル構造体の励起数フィールドをデクリメントし、ス
テップS245でその励起応答構造体を励起応答リストから
取除き、その構造体に割当てたメモリ領域を解放する。
Next, in step S244, the excitation number field of the event-response protocol structure is decremented, in step S245 the excitation response structure is removed from the excitation response list, and the memory area allocated to the structure is released. .

【0101】図25はパラメータで指定された励起応答構
造体のタイムアウトを検出する手続の一例を示すフロー
チャートで、図22に示すステップS223から呼出される手
続である。同図において、ステップS251とS252で、パラ
メータで指定された励起応答構造体の残時間フィールド
をデクリメントし、その結果の残時間フィールドが正で
あれば直ちにリターンする。もし、残時間フィールドが
零になった場合はタイムアウトが発生したことになり、
この場合は、ステップS253で図1に示した通信装置1008
を用いてエラーを通知し、ステップS254で励起応答構造
体のイベント-応答プロトコルリンクフィールドから、
対応するイベント-応答プロトコル構造体を獲得し、ス
テップS255でイベント-応答プロトコル構造体の励起数
フィールドをデクリメントし、ステップS256で励起応答
構造体を励起応答リストから取除き、励起応答構造体が
占めていたメモリ領域を解放する。
FIG. 25 is a flowchart showing an example of a procedure for detecting the timeout of the excitation response structure designated by the parameter, which is the procedure called from step S223 shown in FIG. In the figure, in steps S251 and S252, the remaining time field of the excitation response structure designated by the parameter is decremented, and if the resulting remaining time field is positive, the process immediately returns. If the remaining time field becomes zero, a timeout has occurred,
In this case, the communication device 1008 shown in FIG.
Error notification using the event-response protocol link field of the excitation response structure in step S254,
Acquire the corresponding event-response protocol structure, decrement the excitation number field of the event-response protocol structure in step S255, remove the excitation response structure from the excitation response list in step S256, occupied by the excitation response structure. The memory area that was previously released.

【0102】以上説明したように、本実施形態によれ
ば、マルチタスクソフトウェアの動作を詳細に調べるこ
となく、タスク間インタフェイスのエラーを自動的に検
出することができる。従って、タスク間インタフェイス
仕様の検査により、ソフトウェアの不具合現象の原因が
どのタスクにあるかが直ちに判明するため、現象の発現
から対策までの時間ラグを短縮することができる。
As described above, according to this embodiment, it is possible to automatically detect an error in the inter-task interface without examining the operation of the multi-task software in detail. Therefore, by checking the inter-task interface specification, it is immediately known which task is the cause of the software defect phenomenon, and the time lag from the appearance of the phenomenon to the countermeasure can be shortened.

【0103】さらに、本実施形態のソフトウェア検査方
法は、簡便な通信装置しか備えないハードウェアのマル
チタスクソフトウェアを開発する際にも、直ちに利用す
ることができる。
Furthermore, the software inspection method of this embodiment can be immediately used when developing multitasking software of hardware having only a simple communication device.

【0104】[0104]

【他の実施形態】なお、本発明は、複数の機器(例えば
ホストコンピュータ,インタフェイス機器,リーダ,プ
リンタなど)から構成されるシステムに適用しても、一
つの機器からなる装置(例えば、複写機,ファクシミリ
装置など)に適用してもよい。
[Other Embodiments] Even if the present invention is applied to a system including a plurality of devices (for example, a host computer, an interface device, a reader, a printer, etc.), an apparatus (for example, a copying machine) Machine, facsimile machine, etc.).

【0105】また、本発明の目的は、前述した実施形態
の機能を実現するソフトウェアのプログラムコードを記
録した記憶媒体を、システムあるいは装置に供給し、そ
のシステムあるいは装置のコンピュータ(またはCPUやM
PU)が記憶媒体に格納されたプログラムコードを読出し
実行することによっても、達成されることは言うまでも
ない。この場合、記憶媒体から読出されたプログラムコ
ード自体が前述した実施形態の機能を実現することにな
り、そのプログラムコードを記憶した記憶媒体は本発明
を構成することになる。プログラムコードを供給するた
めの記憶媒体としては、例えば、フロッピディスク,ハ
ードディスク,光ディスク,光磁気ディスク,CD-ROM,
CD-R,磁気テープ,不揮発性のメモリカード,ROMなど
を用いることができる。
Further, an object of the present invention is to supply a storage medium having a program code of software for realizing the functions of the above-described embodiments to a system or apparatus, and to supply the computer (or CPU or M or M) of the system or apparatus.
Needless to say, this can also be achieved by the PU) reading and executing the program code stored in the storage medium. In this case, the program code itself read from the storage medium implements the functions of the above-described embodiment, and the storage medium storing the program code constitutes the present invention. Examples of the storage medium for supplying the program code include a floppy disk, a hard disk, an optical disk, a magneto-optical disk, a CD-ROM,
CD-R, magnetic tape, non-volatile memory card, ROM, etc. can be used.

【0106】また、コンピュータが読出したプログラム
コードを実行することにより、前述した実施形態の機能
が実現されるだけでなく、そのプログラムコードの指示
に基づき、コンピュータ上で稼働しているOSなどが実際
の処理の一部または全部を行い、その処理によって前述
した実施形態の機能が実現される場合も含まれることは
言うまでもない。
Moreover, not only the functions of the above-described embodiments are realized by executing the program code read by the computer, but also the OS or the like running on the computer is actually executed based on the instructions of the program code. It goes without saying that a case where a part or all of the processing of (1) is performed and the functions of the above-described embodiments are realized by the processing is also included.

【0107】さらに、記憶媒体から読出されたプログラ
ムコードが、コンピュータに挿入された機能拡張ボード
やコンピュータに接続された機能拡張ユニットに備わる
メモリに書込まれた後、そのプログラムコードの指示に
基づき、その機能拡張ボードや機能拡張ユニットに備わ
るCPUなどが実際の処理の一部または全部を行い、その
処理によって前述した実施形態の機能が実現される場合
も含まれることは言うまでもない。
Further, after the program code read from the storage medium is written in the memory provided in the function expansion board inserted into the computer or the function expansion unit connected to the computer, based on the instruction of the program code, It goes without saying that a case where the CPU or the like included in the function expansion board or the function expansion unit performs a part or all of the actual processing and the processing realizes the functions of the above-described embodiments is also included.

【0108】[0108]

【発明の効果】以上説明したように、本発明によれば、
マルチタスクソフトウェアの動作を詳細に調べることな
く、タスク間インタフェイスのエラーを検出するソフト
ウェア検査方法およびその装置を提供することができ
る。
As described above, according to the present invention,
It is possible to provide a software inspection method and apparatus for detecting an error in an inter-task interface without examining the operation of multitask software in detail.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明にかかる一実施形態のソフトウェア検査
装置の構成例を示す機能ブロック図、
FIG. 1 is a functional block diagram showing a configuration example of a software inspection device according to an embodiment of the present invention,

【図2】典型的なマルチタスクソフトウェアを示す図、FIG. 2 is a diagram showing a typical multitasking software,

【図3】図2に示すマルチタスクソフトウェアの時系列
的な動作例を示すシーケンス図、
FIG. 3 is a sequence diagram showing a time-series operation example of the multitask software shown in FIG.

【図4】タスク間インタフェイスプロトコルをイベント
-応答表現で表す図、
[Fig.4] Event interface protocol between tasks
-Diagram represented by response expression,

【図5】複雑なタスク間インタフェイスの一例を示す
図、
FIG. 5 is a diagram showing an example of a complex inter-task interface,

【図6】図5に示すタスク間インタフェイスの動作例を
示すシーケンス図、
6 is a sequence diagram showing an operation example of the inter-task interface shown in FIG.

【図7】図5に示すタスク間インフェイスを備えたマル
チタスクソフトウェアが図6に示すシーケンス図に従っ
て動作するために必要なイベント-応答プロトコルを示
す図、
7 is a diagram showing an event-response protocol necessary for the multitasking software having the intertask interface shown in FIG. 5 to operate according to the sequence diagram shown in FIG. 6;

【図8】複雑なタスク間インタフェイスの第二例を示す
図、
FIG. 8 is a diagram showing a second example of a complex inter-task interface,

【図9】図8に示すタスク間インタフェイスの動作例を
示すシーケンス図、
9 is a sequence diagram showing an operation example of the inter-task interface shown in FIG.

【図10】図8に示すタスク間インフェイスを備えたマ
ルチタスクソフトウェアが図9に示すシーケンス図に従
って動作するために必要なイベント-応答プロトコルを
示す図、
10 is a diagram showing an event-response protocol necessary for the multitask software having the intertask interface shown in FIG. 8 to operate according to the sequence diagram shown in FIG. 9;

【図11】図4,図7,図10に示したイベント-応答表現
をより簡単な表現形式に変換する規則を示す図、
FIG. 11 is a diagram showing a rule for converting the event-response expression shown in FIGS. 4, 7, and 10 into a simpler expression format;

【図12】イベントおよびレスポンスを表現するイベン
ト-応答データ構造体の一例を示す図、
FIG. 12 is a diagram showing an example of an event-response data structure representing an event and a response,

【図13】イベント-応答データ構造体の詳細例を示す
図、
FIG. 13 is a diagram showing a detailed example of an event-response data structure,

【図14】イベント-応答テーブル内の要素であるイベ
ント-応答プロトコル構造体の一例を示す図、
FIG. 14 is a diagram showing an example of an event-response protocol structure that is an element in an event-response table;

【図15】イベントに対するレスポンスの実行を検出す
るために用いる励起応答構造体の一例を示す図、
FIG. 15 is a diagram showing an example of an excitation response structure used for detecting execution of a response to an event,

【図16A】タスク間インタフェイスの検査のために変
更されるマルチタスクモニタ内のデータ構造体の一例を
示す図、
FIG. 16A is a diagram showing an example of a data structure in a multitask monitor which is changed for checking an interface between tasks;

【図16B】タスク間インタフェイスの検査のために変
更されるマルチタスクモニタ内のデータ構造体の一例を
示す図、
FIG. 16B is a diagram showing an example of a data structure in a multitask monitor which is changed for checking an interface between tasks;

【図17】図14〜図16Bに示したデータ構造体の動的な
リンク構造の一例を示す図、
FIG. 17 is a diagram showing an example of a dynamic link structure of the data structure shown in FIGS. 14 to 16B;

【図18】マルチタスクソフトウェアからマルチタスク
モニタにサービス要求を発行した場合にマルチタスクモ
ニタが実行する処理の一例を示すフローチャート、
FIG. 18 is a flowchart showing an example of processing executed by the multitask monitor when a service request is issued from the multitask software to the multitask monitor;

【図19】基本クロックを通知するためにマルチタスク
ソフトウェアからマルチタスクモニタのタイマサービス
が呼出された場合にマルチタスクモニタが実行する処理
の一例を示すフローチャート、
FIG. 19 is a flowchart showing an example of processing executed by the multitask monitor when the timer service of the multitask monitor is called from the multitask software to notify the basic clock.

【図20】イベント-応答リストを調べてリスト中のイ
ベント発生を検出する手続の一例を示すフローチャー
ト、
FIG. 20 is a flowchart showing an example of a procedure for examining an event-response list and detecting occurrence of an event in the list.

【図21】励起応答リストを調べてリスト中の励起応答
の実行を検出する手続の一例を示すフローチャート、
FIG. 21 is a flow chart showing an example of a procedure for examining an excitation response list and detecting execution of an excitation response in the list.

【図22】励起応答リスト中の励起応答のタイムアウト
を検出する手続の一例を示すフローチャート、
FIG. 22 is a flowchart showing an example of a procedure for detecting a timeout of an excitation response in the excitation response list.

【図23】パラメータで指定されたタスクまたはリソー
スに対して、さらにパラメータで指定されたイベント-
応答プロトコル構造体に対するイベントの発生を検出す
る手続の一例を示すフローチャート、
[Fig. 23] An event specified by a parameter for a task or resource specified by a parameter-
A flowchart showing an example of a procedure for detecting the occurrence of an event for a response protocol structure,

【図24】パラメータで指定された励起応答構造体に対
して励起応答の実行を検出する処理の一例を示すフロー
チャート、
FIG. 24 is a flowchart showing an example of processing for detecting execution of an excitation response with respect to an excitation response structure specified by a parameter;

【図25】パラメータで指定された励起応答構造体のタ
イムアウトを検出する手続の一例を示すフローチャート
である。
FIG. 25 is a flowchart showing an example of a procedure for detecting a timeout of an excitation response structure designated by a parameter.

Claims (6)

【特許請求の範囲】[Claims] 【請求項1】 マルチタスクソフトウェアを実時間で動
作させ、予め設定されたタスク間のインタフェイス仕様
に対する違反を検出することにより、前記マルチタスク
ソフトウェアの検査を行うことを特徴とするソフトウェ
ア検査方法。
1. A software inspection method, wherein the multitask software is inspected by operating the multitask software in real time and detecting a violation of a preset interface specification between tasks.
【請求項2】 さらに、各タスクおよびタスク間で共通
にアクセスされるリソースに対するイベントと、そのイ
ベントに対するレスポンスのペア集合により、タスク間
のインタフェイス仕様を表現することを特徴とする請求
項1に記載されたソフトウェア検査方法。
2. The interface specification between tasks is expressed by a set of a pair of an event corresponding to each task and a resource commonly accessed between the tasks and a response to the event. Described software inspection method.
【請求項3】 前記リソースはキュー,セマフォ,イベ
ントフラグを含むことを特徴とする請求項2に記載され
たソフトウェア検査方法。
3. The software inspection method according to claim 2, wherein the resources include queues, semaphores, and event flags.
【請求項4】 請求項1に記載されたソフトウェア検査
方法をマルチタスクモニタへ組込むことにより、低速な
通信装置を搭載するハードウェア上で動作するマルチタ
スクソフトウェアの検査を行うことを特徴とするソフト
ウェア検査装置。
4. Software for inspecting multitask software operating on hardware equipped with a low-speed communication device by incorporating the software inspection method according to claim 1 into a multitask monitor. Inspection device.
【請求項5】 前記マルチタスクモニタは、そのテーブ
ルに外部から設定された前記マルチタスクソフトウェア
のタスク間インタフェイス仕様にかかわる動作を監視
し、前記通信装置を用いてインタフェイスプロトコル違
反を外部へ通知することを特徴とする請求項4に記載さ
れたソフトウェア検査装置。
5. The multi-task monitor monitors the operation related to the inter-task interface specification of the multi-task software externally set in the table, and notifies the interface protocol violation to the outside using the communication device. The software inspection device according to claim 4, wherein
【請求項6】 前記マルチタスクモニタは、前記タスク
間インタフェイス仕様にかかわるイベントの発生を検出
した場合は対応するレスポンスを励起状態にし、所定の
許容時間内にレスポンスが実行されない場合は外部へエ
ラーを通知することを特徴とする請求項5に記載された
ソフトウェア検査装置。
6. The multitask monitor activates a corresponding response when detecting the occurrence of an event related to the inter-task interface specification, and outputs an error to the outside when the response is not executed within a predetermined allowable time. 6. The software inspection device according to claim 5, wherein the software inspection device is notified.
JP8000462A 1996-01-08 1996-01-08 Method and device for inspecting software Withdrawn JPH09185528A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8000462A JPH09185528A (en) 1996-01-08 1996-01-08 Method and device for inspecting software

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8000462A JPH09185528A (en) 1996-01-08 1996-01-08 Method and device for inspecting software

Publications (1)

Publication Number Publication Date
JPH09185528A true JPH09185528A (en) 1997-07-15

Family

ID=11474470

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8000462A Withdrawn JPH09185528A (en) 1996-01-08 1996-01-08 Method and device for inspecting software

Country Status (1)

Country Link
JP (1) JPH09185528A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001154872A (en) * 1999-11-25 2001-06-08 Nec Ic Microcomput Syst Ltd Device and method for supporting software development and recording medium having the same program recorded thereon
US7647579B2 (en) 2004-03-31 2010-01-12 International Business Machines Corporation Method, system and program product for detecting deviation from software development best practice resource in a code sharing system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001154872A (en) * 1999-11-25 2001-06-08 Nec Ic Microcomput Syst Ltd Device and method for supporting software development and recording medium having the same program recorded thereon
US7647579B2 (en) 2004-03-31 2010-01-12 International Business Machines Corporation Method, system and program product for detecting deviation from software development best practice resource in a code sharing system
US8356278B2 (en) 2004-03-31 2013-01-15 International Business Machines Corporation Method, system and program product for detecting deviation from software development best practice resource in a code sharing system

Similar Documents

Publication Publication Date Title
US8239838B2 (en) Kernel-aware debugging system, medium, and method
US5630049A (en) Method and apparatus for testing software on a computer network
US6117181A (en) Synchronization mechanism for distributed hardware simulation
KR930000592B1 (en) Task searching apparatus
US8903703B2 (en) Dynamically adjusting speed versus accuracy of computer platform simulation
US8793115B2 (en) Interface converter for unified view of multiple computer system simulations
US5748959A (en) Method of conducting asynchronous distributed collective operations
US20030120980A1 (en) System trace unit
TWI521438B (en) Detecting potential access errors in a multi-threaded application
US20010014958A1 (en) Information processing apparatus, defect analysis program, defect analysis method, and application program development assistance system
JPH0823835B2 (en) Faulty software component detection method and apparatus
EP2052324A2 (en) Methods and products for determining and visualizin ic behaviour
CN102736956A (en) Technique for thread communication and synchronization
US8358773B2 (en) Apparatus and method for executing agent
US5737240A (en) Programmable hardware mailbox message technique and system
JPH0287212A (en) Automatic operation control system for computer system
JP2000066904A (en) Method for controlling multitask and storage medium
US6279104B1 (en) Debugging system for parallel processed program and debugging method thereof
Cunha et al. A framework to support parallel and distributed debugging
JPH09185528A (en) Method and device for inspecting software
JP2008135008A (en) Program module verification method
JPH06332689A (en) Program displaying method and program edition accepting method
Giese et al. Architecture-driven platform independent deterministic replay for distributed hard real-time systems
KR100428712B1 (en) A Tracepoint Setting Method for Non-Stop Debugging of Multi-task Programs
US7685470B2 (en) Method and device for debugging a program executed by a multitask processor

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20030401