INtimeドキュメンタリトップへ

タスク相関図をつくれ!!

課題
タスク相関図・・・タスク・・・仕事・・・仕事の相関関係図・・・。
あまりピンときませんが、私なりに解釈して作成してみようと思います。

10月4日・・・フローチャート的タスク相関図

先日の調査でベンダーID、デバイスIDを入手しました。

「INtimeアプリケーションではINtimeの提供するライブラリを使用すること」この言葉を胸に、INtime Helpを開いてみると・・・ そこにはPciFindDevice()というAPIがありました。

これによりPCIデバイスの検出が可能ということがわかりました。PCIデバイスの検出クリア!!
だんだん不明点が解消されていく中で、マネージャーより、タスク相関図の作成を命じられました。

   「タスク相関図・・・・・? タスクって何ですか?」


タスク相関図について知識のなかった私はインターネットで調査し、ほとんどない情報からある答えを見つけ、納得しました。

タスク相関図とは・・・:
「マルチスレッド、マルチ・プロセスにおいて、複数のタスク(スレッド)動作の相関関係を示すダイアグラム」


つまり今回のシステムをタスクとして概念付け、その相関関係を示した図を書けばよい!?と思い、早速作業を始めました。

まずはどのようなタスク(仕事)があるかを抽出し、それらのタスク(仕事)の相関関係をとりあえず作成してみました・・・  (不安)


タスクの抽出

・初期化
・アナログボードの検出
・初期化
・デジタル入出力ボードの検出
・初期化
・ログ出力
・擬似アナログデータ作成(8つ)
・デジタル入出力ボード出力
・アナログデータ取り込み

最初に作成したタスク相関図・・・
これらのタスク(仕事)相関関係ということはこのようなものですか・・・?
最初に作成したタスク相関図

途中経過
   ≪・・・・・・・・・・・・・・・・・・・・・・・おい! これはフローチャートだよ!!≫

・・・でも!仕方ない!とりあえず提出しなければ、タスク相関図を書いて提出しなければ・・・
ということでこれを提出しました・・・。

するとマネージャーから返ってきた答えは・・・:

   「・・・・・・・・・・・・・・・・・・・・・・・これはフローチャートですよ!!」

やはり!!どういうものがタスク相関図と呼べるものなのか分からない私は参考になる資料を探しつつ、先輩からの意見をもらいつつ、最終的には以下のタスク相関図を仕上げました。

最終的に作成したタスク相関図
スレッド間のデータのやり取り(メールボックスを使用)
 
スレッド(タスク)数:4 
        アナログデータ取り込みスレッド   GetADataThread 
        擬似アナログデータ生成スレッド    MakeADataThread 
        デジタルボード点滅制御スレッド     DOBlinkCtrlThread 
        ログ出力スレッド                   LogThread 
                   
メールボックス数:3 
        ログ出力データ送信用メールボックス:    ParamMbox 
        RT/NTインターフェース用メールボックス: NtRecvMbox 
        NT/RTインターフェース用メールボックス: RtQueMbox 

本日の感想

このタスク相関図を作成するまでには実際に推敲を繰り返し、7回ほど修正しました。
タスク相関図を作成するのに多少時間がかかりましたが、これを作成することによりスレッド間のデータのやり取り(メールボックスを使用)などの方法を知ることが出来ました。