(57)【要約】【課題】マルチタスクＯＳ搭載機器の組込み開発に欠かせないデバッグ情報をより視覚的に表示することができるタスクスイッチ情報表示装置を提供すること。【解決手段】組込みソフトウェア開発における、開発ホストに搭載されたマルチタスクＯＳのタスクスイッチ情報表示装置において、１つに、作成されたタスクを随時追加表示する軸を取りり、もう１つにタスク情報（システムコール）を軸として、発生したタスク情報から、デバッグ情報を表示する位置を割り出し、表形式にタスクの情報を表示するタスク情報表示機構を具備し、タスク間の移り変わりの表現に、開始点と終了点をグラフィカルなアイコンを用いて表現するデバッグ情報アイコン表示機構を具備したことを特徴とする。【選択図】図１
2005222388.tif 000002
【特許請求の範囲】
【請求項１】
組込みソフトウェア開発における、開発ホストに搭載されたマルチタスクＯＳのタスクスイッチ情報表示装置において、デバッグするプログラムの動きに伴い、作成されたタスクを随時追加表示する軸と、発生したタスク情報（システムコール）を随時追加表示する軸を有し、発生するタスク情報から、表示すべきデバッグ情報の位置を検索する機構を有し、表形式にタスクの情報を表示するタスク情報表示機構を具備し、タスク間の移り変わりの表現に、開始点と終了点をグラフィカルなアイコンを用いて表現するデバッグ情報アイコン表示機構を具備したことを特徴とするタスクスイッチ表示装置。
【請求項２】
組込みソフトウェア開発における、開発ホストに搭載されたマルチタスクＯＳのタスクスイッチ情報表示装置において、請求項１の機能を具備し、動的に任意なタスクの情報のみを取り出す選択情報抽出機構を具備したことを特徴とするタスクスイッチ表示装置。
【請求項３】
組込みソフトウェア開発における、開発ホストに搭載されたマルチタスクＯＳのタスクスイッチ情報表示装置において、請求項１の機能を具備し、コールされたＯＳシステムコールの中から動的に任意な種類のシステムコール情報のみを取り出す選択情報抽出機構を具備したことを特徴とするタスクスイッチ表示装置。
【請求項４】
上記請求項１〜４の何れかに記載のタスクスイッチ表示装置をコンピュータ上で動作させるためのコンピュータプログラムを記録した媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチタスクＯＳ搭載機器の組込み開発に欠かせないデバッグ情報をより視覚的に表示するタスクスイッチ情報表示装置に関する。
【背景技術】
【０００２】
近年、多機能化が進む様々な製品開発において、製品にマルチタスクＯＳを搭載するものが増加している。その製品開発の過程において、マルチタスクＯＳが発行するシステムコールや、それによるレジスタ情報等を細かく取得することが必須となっている。
【０００３】
マルチタスクＯＳ製品の開発効率向上のため、様々なマルチタスクデバッグ技術が発明されている。中には、ＯＳ上で動作するマルチタスクプログラムのデバッグを行う際、タスク遷移状態を予測表示することにより、直感的にタスク遷移を把握し易いデバッグ環境を提供する特許文献１に記載された技術も存在する。
【０００４】
【特許文献１】特開２００１−３０６３５６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来の様々な技術開発により、マルチタスクＯＳ搭載機器の組込み開発技術は格段に向上してきている。
【０００６】
しかし、ことタスクスイッチ（タスクの切り替え）やタスク情報の表示に関しては、特許文献１（特開２００１−３０６３５６号公報）のように、シーケンシャルに情報を羅列しているだけのものが大半を占め、その表示形態に関する工夫が見られない。そのため、以下のような問題点が挙げられる。
【０００７】
ａ）デバッグ対象となるプログラムを良く理解していなければ、タスクの切り替えを容易に理解することが難しい。又、デバッグ情報として、常に全てのタスク情報が必要な訳ではない。
【０００８】
ｂ）マルタスクＯＳから発行される情報が大量なため、これらを全て表示させると可視性の乏しいものとなる。必要な情報は、時と場合により異なるため、初めから表示する情報を削減するのも好ましくない。
【０００９】
従って、本発明の目的とする処は、マルチタスクＯＳ搭載機器の組込み開発に欠かせないデバッグ情報をより視覚的に表示することができるタスクスイッチ情報表示装置及びコンピュータプログラムを記録した媒体を提供することにある。
【課題を解決するための手段】
【００１０】
本発明は、課題ａ）を解決する手段として、組込みソフトウェア開発における、開発ホストに搭載されたマルチタスクＯＳのタスクスイッチ情報表示装置において、１つに、作成されたタスクを随時追加表示する軸を取りり、もう１つにタスク情報（システムコール）を軸として、発生したタスク情報から、デバッグ情報を表示する位置を割り出し、表形式にタスクの情報を表示するタスク情報表示機構を具備し、タスク間の移り変わりの表現に、開始点と終了点をグラフィカルなアイコンを用いて表現するデバッグ情報アイコン表示機構を具備したことを特徴とするタスクスイッチ表示装置である。
【００１１】
システムコールによるタスクの状態変化を一覧の表形式で表示し、更に、視覚認識し易いＧＵＩアイコンで表示することで、全体のタスクスイッチの流れが一目で分かる表示形態となっており、課題ａ）を解決している。
【００１２】
又、課題ｂ）を解決する手段として、組込みソフトウェア開発における、開発ホストに搭載されたマルチタスクＯＳのタスクスイッチ情報表示装置において、動的に任意なタスクの情報のみを取り出す、選択情報抽出機構及びその抽出した情報を表示するデバッグ情報アイコン表示機構を具備したことを特徴とする。
【００１３】
又、組込みソフトウェア開発における、開発ホストに搭載されたマルチタスクＯＳのタスクスイッチ情報表示装置において、コールされたＯＳシステムコールの中から、動的に任意な種類のシステムコール情報のみを取り出す選択情報抽出機構及びその抽出した情報を表示する機能を具備したことを特徴とする。これら請求項２，３の機能を具備するタスクスイッチ表示装置により、必要なタスク情報のみ表示させることや、必要なシステムコールのみ表示させることが可能となり、不必要な情報を省き、必要な情報をより視覚的に確認し易いデバッグ情報表示形式を採ることにより、課題ｂ）を解決している。
【発明の効果】
【００１４】
本発明によれば、マルチタスクＯＳ搭載機器の組込み開発に欠かせないデバッグ情報をより視覚的に表示することが可能となる。実際の製品開発のデバッグツールとしては勿論、第三者やソフトウェア開発初心者に製品ソフトウェア機構を説明するのにも大いに役立つと考えられる。
【発明を実施するための最良の形態】
【００１５】
以下に本発明の実施の形態を添付図面に基づいて説明する。
【００１６】
＜実施の形態１＞
本発明の実施の形態１では、請求項１に対応して、問題ａ）を解決するための手段及び実現方法の例を示す。
【００１７】
図２に示したものは、本発明を実現したTask
Switch Viewer（以後、ＴＳＶ）の概観である。又、今回の例で用いるタスク情報（TSData）を表1 に示す。
【００１８】
ＴＳＶは８つのViewを持ち、４つの情報表示領域を持つ。View  １，２では、システムコールが発行された順序を示すseq 番号と、時刻を表わすtickを表示する（RTOSシミュレータでは、10msec＝１tickで動作している）。
【００１９】
View３，４では、発行されたシステムコール名、引数、エラーコードの値を示す。“▼”はシステムコールの呼び出し、“▲”はそのリターンを表わす。
【００２０】
View５，６では、リソースに対するアクセスが起こった場合に“●”を表示し、又、その時点のリソースの値を表示。
【００２１】
View７，８では、システムコールが発行されたときの引数の値を表示。
【００２２】
本発明に関しては、特にView３，４に注目すべきである。縦軸にマルチタスクＯＳより発行されるシステムコールを表示し、横軸に現在存在するタスクを表示している。そして、そのシステムコールにより、タスクにどのような遷移が起こったかを判断し、同時にどの位置に情報を表示するべきかを検索した後、グラフィカルなアイコンにて表示している。
【００２３】
次に、補足として、ＴＳＶの大まかな使用例を示す。
【００２４】
図１に示したような開発例において、組込み機器（１００）と開発ホストＰＣ（１０５）をRS232C等で接続する。このとき、組込み機器（１００）内にタスク情報出力機構（１１０）を共に組み込んでおく。実際の情報表示機構の説明は、図３に示したフローチャートを基に説明していく。
【００２５】
図３において、デバッグ開始と共にマルチタスクＯＳが起動し、ＯＳシステムコール発行が組込み機器内で発生する（ステップ３０１，３０２，３０３）。発生したシステムコールに伴い、付属するタスク情報等を付加し、RS232Cを用いて、開発ホストＰＣに送信する（ステップ，０４，３０５）。
【００２６】
次に、送られたこれらのTSDataは、開発ホストＰＣの共有メモリに書き込まれる（ステップ３０６，３０７）。開発ホストＰＣ側では、常時この共有メモリをポーリングにより参照し、TSDataが送られてきた時点で取得（ステップ３０７，３０８）、タスクスイッチ情報表示装置にてデバッグ情報を表示する（ステップ３０９）。
【００２７】
次に、そのタスクスイッチ情報表示装置の仕組みである、タスク情報表示機構（１１２）と、デバッグ情報アイコン表示機構（１１３）について説明する。
［タスク情報表示機構］
図４に示したフローチャートにおいて説明していく。
【００２８】
今回の例では、図３のフローチャートで説明したように、共有メモリに送られてきたデータを表示する。先ず、起動時に、Ｘ軸にタスク、Ｙ軸にシステムコールを取る二次元の表形式の表示画面（図２参照）を立ち上げる（ステップ４００）。その時、システムコールを順に表示していく行のカウントを０にセットする（ステップ４０１）。以降は、共有メモリのデータを順次読み込み、送られてくるTSDataを取得、表示していく（４０２）。このとき、送られてくるTSDataのメンバ：Syscall 等の情報により、いかなる表示処理をするかを判別し（ステップ４０３）、１行（１つのシステムコール）情報を表示していく。例として、新規タスクの起動が起こった場合、TSData.Syscallがタスク生成（CreateTask）の場合の表示表示機構について説明する。
【００２９】
横軸のタスクの項目は、システムコールで発見された順に列が追加され表示するので、初登場のタスクのTSData.Caller が来た場合、未だそのタスク情報を表示する列は存在しない。新しくタスク（列）を追加表示する（４０５）。その時、メモリ内部にも現在存在するタスク名と数を更新する。そして、現在の行カウントと、内部保持の現在のタスク（列）情報から、タスク起動情報の表示位置を検索し（４０７）、タスク起動の表示を行う（４０９）。そして、その行に、TSDataの他の付属情報を表示する（４１０）。今回の例では、from、retval、paramsといった情報になる。最後に行のカウントアップを行う（４１１）。
【００３０】
これを順次繰り返し、全体のタスクスイッチ状況を表現していく。
［デバッグ情報アイコン表示機構］
上記に示した、図３のステップ３０９及びタスク情報表示機構（図４）のステップ４０９の箇所に注目すると、このとき、いかようにタスクの起動、停止等の情報を表現するかにより、全体のタスクスイッチの見易さが大きく変わる。この機構は、数値やテキストを表示するのではなく、視覚認識しやすいＧＵＩアイコンによってタスクの動きを表す機構である。例えば、起動ならば“▼”、停止ならば“▲”というように、多くの人間が理解し易いと考えるアイコンをタスクスイッチ情報表示装置内部に保持しておき、対応する情報が来た時にこれらを表示しすることで一目で理解し易くする機構である（図２参照）。
【００３１】
＜実施の形態２＞
本発明の実施の形態２では、請求項２，３に対応して、問題ｂ）を解決するための手段及び実現方法の例を示す。実施の形態１と同様に、図１に示したような開発例において、組込み機器（１００）と開発ホストＰＣ（１０５）をRS232C等で接続する。このとき、組込み機器（１００）内にタスク情報出力機構（１１０）を共に組み込んでおく。実際の情報表示機構の例として、図５にフローチャートを示す。例として挙げる機構は、実施の形態１と重複するため、ステップ５０８までの説明は省く（実施の形態１の説明文を参照）。次のステップ５０９にて選択表示抽出機構を用いる。共有メモリから取得したTSDataが必要であるかどうかを調べ、不必要なTSDataは弾く機構である。この機構の説明を図６のフローチャートに沿って行う。
［選択情報抽出機構］
図６において、表示不必要なタスク、システムコールを、タスクスイッチ表示ツール（ＴＳＶ）上にてメニュー、入力ダイアログ等にて入力する（ステップ600 ）。ユーザから何も入力されなければ、ＴＳＶは全ての情報を表示する。入力された場合は、ＴＳＶ内に弾くべきTSDataとして保持する（ステップ６０１）、次に、共有メモリからTSDataを取得した後、そのメンバであるSyscall
或はCallerを調べ、ＴＳＶ内部に保持されている弾くべきTSDataでないかどうかを調べる（ステップ６０２）。弾くTSDataであれば、そのままそのTSDataは破棄し、再び共有メモリから情報を取得しに行く（ステップ６０３）。弾くべき情報でなければ、そのまま表示する（ステップ６０４）。
【００３２】
上記の選択情報機構をＴＳＶに組み込んだことにより、必要な情報のみを表示する理解し易いタスクスイッチ表示機構を構築した。
【００３３】
尚、表１にシステムコール例（TSData）を示す。
【００３４】
【表１】
2005222388.tif 000003
【産業上の利用可能性】
【００３５】
本発明は、実際の製品開発のデバッグツールとしては勿論、第三者やソフトウェア開発初心者に製品ソフトウェア機構を説明するのにも大いに役立つと考えられる。
【図面の簡単な説明】
【００３６】
【図１】本発明の実施の形態１，２を示す構成図である。
【図２】本発明の実施の形態１，２の表示装置の概観である。
【図３】本発明の実施の形態１のフローチャートである。
【図４】本発明の実施の形態１の二次元タスク情報表示機構のフローチャートである。
【図５】本発明の実施の形態２フローチャートである。
【図６】本発明の実施の形態２の選択情報抽出機構のフローチャートである。
【符号の説明】
【００３７】
１００  組込機器
１０１  ＲＳ２３２Ｃ又はイーサネット等
１０２  モニター
１０３  ハードディスク
１０４  ＲＯＭ
１０５  開発ホストＰＣ
１０６  α軸（タスク軸）
１０７  β軸（システムコール軸）
１０８  タスク開始、終了を表すＧＵＩアイコン
１０９  タスクスイッチ表示画面
１１０  タスク情報出力機構
１１１  タスク情報抽出機構
【図１】
2005222388.tif 000004
【図２】
2005222388.tif 000005
【図３】
2005222388.tif 000006
【図４】
2005222388.tif 000007
【図５】
2005222388.tif 000008
【図６】
2005222388.tif 000009