(57)【要約】【課題】バックアノテーションによる情報を早く反映させることを可能とする。【解決手段】実施形態の情報処理プログラムは、コンピュータに、第１の工程で決定された情報を第１の工程よりも前の第２の工程に関する情報に反映させるバックアノテーション処理を、第２の工程にかかるエディッタの動作に関するログファイルに基づいて、第１の工程で決定された情報にかかる部品がエディッタによりロックされている場合、起動中のエディッタに依頼し、ロックされていない場合、自装置で行う処理を実行させる。【選択図】図３
2015207218.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
第１の工程で決定された情報を前記第１の工程よりも前の第２の工程に関する情報に反映させるバックアノテーション処理を、前記第２の工程にかかるエディッタの動作に関するログファイルに基づいて、前記第１の工程で決定された情報にかかる部品が前記エディッタによりロックされている場合、起動中の前記エディッタに依頼し、ロックされていない場合、自装置で行う、
処理を実行させることを特徴とする情報処理プログラム。
【請求項２】
前記バックアノテーション処理は、
前記ロックされている場合、当該バックアノテーション処理により反映させる情報を前記ログファイルに出力する
請求項１に記載の情報処理プログラム。
【請求項３】
前記バックアノテーション処理は、
前記ロックされていない場合、当該バックアノテーション処理により反映させた情報を前記ログファイルに出力する
請求項１又は２に記載の情報処理プログラム。
【請求項４】
第１の工程で決定された情報を前記第１の工程よりも前の第２の工程に関する情報に反映させるバックアノテーション処理を、前記第２の工程にかかるエディッタの動作に関するログファイルに基づいて、前記第１の工程で決定された情報にかかる部品が前記エディッタによりロックされている場合、起動中の前記エディッタに依頼し、ロックされていない場合、自装置で行うバックアノテーション処理部
を有することを特徴とする情報処理装置。
【請求項５】
コンピュータが、
第１の工程で決定された情報を前記第１の工程よりも前の第２の工程に関する情報に反映させるバックアノテーション処理を、前記第２の工程にかかるエディッタの動作に関するログファイルに基づいて、前記第１の工程で決定された情報にかかる部品が前記エディッタによりロックされている場合、起動中の前記エディッタに依頼し、ロックされていない場合、自装置で行う
処理を実行することを特徴とするバックアノテーション方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、情報処理プログラム、情報処理装置およびバックアノテーション方法に関する。
【背景技術】
【０００２】
従来、プリント板設計、ＬＳＩ（Lage  Scale  Integrated  Circuit）／ＦＰＧＡ（Field  Programmable  Gate  Array）設計、ハーネス設計等の設計現場では、ＣＡＤ（Computer  Aided  Design）を利用した論理設計（回路設計）と、実装設計とが行われている。このＣＡＤを利用した設計においては、後工程である実装設計によって決定された情報を前工程の回路設計に反映させるバックアノテーションを行う場合がある。
【０００３】
例えば、プリント板設計では、設計したプリント板のデバッグ・試験の際に回路図で不具合箇所を追跡するため、回路図上に基板上の部品の搭載座標を表記している。この搭載座標は、回路設計の後工程である実装設計によって決定され、バックアノテーションにより反映される情報である。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平９−１９８４２６号公報
【特許文献２】特開２００３−３１６８４１号公報
【特許文献３】特開２００４−２８７８３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した従来技術では、ユーザがＣＡＤを利用した回路設計を行っているときには、回路図に関するデータがロックされており、実装設計によって決定された情報をバックアノテーションできない場合があった。このため、実装設計によって決定された情報を回路設計側に反映させるのに時間を要することがあった。
【０００６】
１つの側面では、本発明は、バックアノテーションによる情報を早く反映させることを可能とする情報処理プログラム、情報処理装置およびバックアノテーション方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
一実施形態の情報処理プログラムは、コンピュータに、第１の工程で決定された情報を第１の工程よりも前の第２の工程に関する情報に反映させるバックアノテーション処理を、第２の工程にかかるエディッタの動作に関するログファイルに基づいて、第１の工程で決定された情報にかかる部品がエディッタによりロックされている場合、起動中のエディッタに依頼し、ロックされていない場合、自装置で行う処理を実行させる。
【発明の効果】
【０００８】
バックアノテーションによる情報を早く反映させることを可能とする。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施形態にかかるシステム構成を例示する説明図である。
【図２】図２は、設計工程を説明する説明図である。
【図３】図３は、機能構成を例示するブロック図である。
【図４】図４は、バックアノテーションを説明する説明図である。
【図５】図５は、ログファイルを例示する説明図である。
【図６】図６は、バックアノテーション処理の一例を示すフローチャートである。
【図７】図７は、ＢＡ情報の一例を示す説明図である。
【図８】図８は、ＢＡ情報の一例を示す説明図である。
【図９】図９は、回路設計ＣＡＤの処理の一例を示すフローチャートである。
【図１０】図１０は、変形例１にかかるバックアノテーション処理の一例を示すフローチャートである。
【図１１】図１１は、変形例２にかかるバックアノテーション処理の一例を示すフローチャートである。
【図１２】図１２は、変形例２にかかる回路設計ＣＡＤの処理の一例を示すフローチャートである。
【図１３】図１３は、コンピュータの構成を説明する説明図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照して、実施形態にかかる情報処理プログラム、情報処理装置およびバックアノテーション方法を説明する。実施形態において同一の機能を有する構成には同一の符号を付し、重複する説明は省略する。なお、以下の実施形態で説明する情報処理プログラム、情報処理装置およびバックアノテーション方法は、一例を示すに過ぎず、実施形態を限定するものではない。また、以下の各実施形態は、矛盾しない範囲内で適宜組みあわせてもよい。
【００１１】
図１は、実施形態にかかるシステム構成を例示する説明図である。図１に示すように、実施形態にかかるシステムは、ＣＡＤを利用した回路設計及び実装設計を行うシステムであり、ＬＡＮ（Local  Area  Network）等の通信ネットワークＮを介して互いに通信可能に接続されたサーバ装置１００と、コンピュータ２００とを有する。なお、本実施形態では、プリント板設計についての回路設計及び実装設計を行うシステムを例示するが、ＬＳＩ／ＦＰＧＡ設計、ハーネス設計などのシステムであってもよい。
【００１２】
サーバ装置１００は、回路図ＤＢ１、実装設計ＤＢ２、ログファイル３等の情報をコンピュータ２００に提供するファイルサーバなどである。コンピュータ２００は、例えばＰＣ（Personal  Computer）などであり、回路設計又は実装設計を行うユーザが回路設計用のＣＡＤ又は実装設計用のＣＡＤなどを利用する端末である。
【００１３】
回路図ＤＢ１は、設計対象の回路についての電気的、論理的な構成を示す回路図など、回路設計で決定された情報を記憶するデータベースである。具体的には、回路図ＤＢ１は、設計対象の回路ごとに、その回路を構成する部品（ＩＣ（Integrated  Circuit）、トランジスタ等）及びそれら部品の接続構成などの情報を項目ごとに記憶する。
【００１４】
実装設計ＤＢ２は、設計対象の回路についての各部品の配置、品番等の実装上の構成など、実装設計で決定された情報を記憶するデータベースである。具体的には、実装設計ＤＢ２は、設計対象の回路ごとに、その回路を構成する部品の基板上の搭載位置、配線位置、型番などの情報を項目ごとに記憶する。なお、回路図ＤＢ１と、実装設計ＤＢ２とにおいて、同一の回路には、同一の識別子（例えば、ＩＤ、ワーク名など）などが割り当てられている。これにより、回路図ＤＢ１及び実装設計ＤＢ２より同一の識別子のデータを抽出することで、設計対象の回路について、回路設計及び実装設計を経て実際に製造するための製造データを取得できる。
【００１５】
ログファイル３は、起動しているＣＡＤの動作に関する情報が逐次記述されたファイルである。具体的には、ログファイル３には、現在起動中であるＣＡＤの情報、起動中のＣＡＤが編集を行った編集内容などが時系列順に記述されている。また、ログファイル３には、起動中のＣＡＤが編集対象としてロックし、他のＣＡＤによる編集が出来ないように排他的に編集している部品（例えばＩＣ、トランジスタ等）についての情報などが時系列順に記述されている。
【００１６】
図２は、設計工程を説明する説明図である。より具体的には、図２は、図１に例示したシステムを用いてプリント板設計を行う設計工程を説明する図である。
【００１７】
図２に示すように、プリント板設計においては、先ず設計対象のプリント板に要求される仕様の検討が行われる（Ｓ１）。次いで、要求された仕様を満たすように、ＩＣ、トランジスタ等の各部品による回路図を作成するための論理（回路）設計が回路設計用のＣＡＤ等のエディッタ（以下、回路設計ＣＡＤ）を用いて行われる（Ｓ２）。次いで、回路設計で作成された回路図の各部品について、基板上の搭載位置、配線位置、型番などを決める実装設計が実装設計用のＣＡＤ等のエディッタ（以下、実装設計ＣＡＤ）を用いて行われる（Ｓ３）。次いで、設計対象のプリント板について、回路設計及び実装設計を経て決定された製造データを回路図ＤＢ１及び実装設計ＤＢ２より取得する（Ｓ４）。
【００１８】
図３は、機能構成を例示するブロック図である。具体的には、図３は、図１に例示したシステムにおける、回路設計及び実装設計にかかる機能構成を例示する図である。
【００１９】
図３に示すように、回路設計及び実装設計にかかる機能構成は、実装設計ＣＡＤ１０、バックアノテーション部２０及び回路設計ＣＡＤ３０を有する。実装設計ＣＡＤ１０は、コンピュータ２００などで実行されるプログラムであり、回路図の各部品について、基板上の搭載位置、配線位置、型番などをユーザの操作をもとに編集・決定する。
【００２０】
具体的には、実装設計ＣＡＤ１０は、編集対象とする回路のデータを回路図ＤＢ１より読み出し、モニタに回路図として表示する。次いで、実装設計ＣＡＤ１０は、回路図上の各部品について、ＧＵＩ（Graphical  User  Interface）による操作（例えばマウスによる選択、指示など）をユーザより受け付けることで、実装設計にかかる編集・決定を行う。また、実装設計ＣＡＤ１０は、ユーザの指示によって実装設計について決定された情報を実装設計ＤＢ２へ登録する。また、実装設計ＣＡＤ１０は、実装設計について決定された情報の中に回路図ＤＢ１へ反映すべきバックアノテーション情報（以下、ＢＡ情報）がある場合、バックアノテーション部２０を呼び出してＢＡ情報を回路図ＤＢ１へ反映するバックアノテーションを依頼する。
【００２１】
バックアノテーション部２０は、コンピュータ２００などで実行されるプログラムであり、例えば実装設計ＣＡＤ１０などにより呼び出されるＡＰＩ（Application  Programming  Interface）などである。バックアノテーション部２０は、実装設計ＣＡＤ１０より依頼されたＢＡ情報を回路図ＤＢ１へ反映するバックアノテーション処理（詳細は後述する）を実行する。
【００２２】
図４は、バックアノテーションを説明する説明図である。図４に示すように、回路図上のＩＣなどの部品Ｆ１について、実装設計ＣＡＤ１０で決定された情報の中で、部品Ｆ１の搭載座標については回路図ＤＢ１へ反映すべきＢＡ情報であるとする。実装設計ＣＡＤ１０は、実装設計ＤＢ２の項目の中で部品Ｆ１の搭載座標が決定された場合、その部品Ｆ１の搭載座標をＢＡ情報とし、バックアノテーション部２０に回路図ＤＢ１へのバックアノテーションを依頼する。なお、ＢＡ情報とする実装設計ＤＢ２の項目については、設定情報として予め設定されており、部品Ｆ１の搭載座標だけでなく、部品Ｆ１の品番などであってもよい。
【００２３】
回路設計ＣＡＤ３０は、コンピュータ２００などで実行されるプログラムであり、設計対象の回路についての電気的、論理的な構成を示す回路図をユーザの操作をもとに編集・決定する。
【００２４】
具体的には、回路設計ＣＡＤ３０は、ＧＵＩによる操作（例えばマウスによる選択、指示など）をユーザより受け付けることで、回路設計にかかる編集・決定を行う。また、回路設計ＣＡＤ３０は、ユーザの指示によって回路設計について決定された情報を回路図ＤＢ１へ設定する。また、回路設計ＣＡＤ３０は、起動時や回路図ＤＢ１の編集時にログファイル３への書き込みを行うとともに、ログファイル３を逐次参照することで、複数起動している回路設計ＣＡＤ３０間の情報を共有する。具体的には、回路設計ＣＡＤ３０は、起動時／終了時に自身のタスクを識別するＩＤなどを、起動／終了を示す情報とともにログファイル３に記録する。また、回路設計ＣＡＤ３０は、編集対象としてロックし、他のＣＡＤによる編集が出来ないように排他的に編集している部品Ｆ１についての情報、回路図ＤＢ１への編集内容などをログファイル３に記録する。
【００２５】
図５は、ログファイル３を例示する説明図である。図５に示すように、ログファイル３には、複数起動している回路設計ＣＡＤ３０ごとのタスクの情報が時系列順に逐次記録されている。回路設計ＣＡＤ３０は、ログファイル３を逐次参照することで、各タスクによる編集状態などを共有する。例えば、図示例では、「タスクＡ」、「タスクＢ」、「タスクＣ」の起動が記録されており、それぞれに終了の記録がないことから、「タスクＡ」、「タスクＢ」、「タスクＣ」が起動中であることがわかる。また、「タスクＡ」による「部品Ａ」の追加配置と、「タスクＢ」による「部品Ｂ」の追加配置とが記録されていることから、追加配置された「部品Ａ」、「部品Ｂ」の情報を「タスクＡ」、「タスクＢ」、「タスクＣ」間で共有できる。
【００２６】
また、ログファイル３には、「タスクＣ」による「部品Ａ」のロック及びロック解除が記録されている。したがって、「タスクＣ」による「部品Ａ」のロックが記録された後の、ロック解除が記録されるまでの間は、「タスクＣ」によって「部品Ａ」がロック中であることを、「タスクＡ」、「タスクＢ」、「タスクＣ」間で共有できる。
【００２７】
次に、バックアノテーション部２０におけるバックアノテーション処理の詳細について説明する。図６は、バックアノテーション処理の一例を示すフローチャートである。
【００２８】
図６に示すように、バックアノテーション部２０は、実装設計ＣＡＤ１０などにより呼び出されて処理が開始されると、実装設計ＣＡＤ１０より依頼されたＢＡ情報の読み込みと（Ｓ１１）、回路図ＤＢ１の読み込みとを行う（Ｓ１２）。
【００２９】
図７、８は、ＢＡ情報Ｉ１の一例を示す説明図である。より具体的には、図７はＢＡ情報Ｉ１が部品Ｆ１の搭載座標である場合を示す図であり、図８はＢＡ情報Ｉ１が部品Ｆ１の部品仕様、長さである場合を示す図である。図７、８に示すように、デバッグ・試験の際に回路図で不具合箇所を追跡するために回路図上に示すＢＡ情報Ｉ１としては、部品Ｆ１の搭載座標（搭載位置）、部品仕様、長さなどがある。バックアノテーション部２０は、実装設計ＣＡＤ１０などにより呼び出されて処理が開始されると、このＢＡ情報Ｉ１を読み込む。
【００３０】
次いで、バックアノテーション部２０は、ＢＡ情報Ｉ１に含まれる部品Ｆ１ごとのループ処理（Ｓ１３〜Ｓ１９）を開始する。具体的には、図７の例では、「ＰＡＲＴ−Ａ」、「ＰＡＲＴ−Ｂ」、「ＰＡＲＴ−Ｃ」ごとのループ処理が行われる。また、図８の例では、「コネクタＡ」、「コネクタＢ」、「ケーブルＣ」ごとのループ処理が行われる。
【００３１】
バックアノテーション部２０は、ループ処理が開始されると（Ｓ１３）、ログファイル３を参照して現時点までの回路設計ＣＡＤ３０のログを読み込む（Ｓ１４）。次いで、バックアノテーション部２０は、読み込んだログをもとに、処理対象の部品Ｆ１が起動中の回路設計ＣＡＤ３０によってロックされているか否かを判定する（Ｓ１５）。例えば、図５に例示したログファイル３では、「タスクＡ」、「タスクＢ」、「タスクＣ」のいずれかによって、処理対象の部品Ｆ１がロックされているか否かを判定する。
【００３２】
ロックされていない場合（Ｓ１５：ＮＯ）、バックアノテーション部２０は、自身がＢＡ情報Ｉ１を回路図ＤＢ１に設定する（Ｓ１６）。具体的には、バックアノテーション部２０は、回路図ＤＢ１において、ＢＡ情報Ｉ１を反映する回路と同一の識別子を有する回路の項目に、ＢＡ情報Ｉ１の内容を設定する。
【００３３】
これにより、処理対象の部品Ｆ１がロックされていない場合には、バックアノテーション部２０がＢＡ情報Ｉ１を素早く回路図ＤＢ１に反映できる。また、部品Ｆ１ごとにループ処理が行われることから、他の部品Ｆ１のロックの有無に関係なく、ＢＡ情報Ｉ１の回路図ＤＢ１への反映を行うことができる。
【００３４】
次いで、バックアノテーション部２０は、回路図ＤＢ１にＢＡ情報Ｉ１を設定したことを示す通常ログをログファイル３に出力する（Ｓ１７）。具体的には、バックアノテーション部２０は、部品Ｆ１についてＢＡ情報Ｉ１を設定したことをログファイル３に記述する。これにより、起動中の回路設計ＣＡＤ３０は、バックアノテーション部２０によって回路図ＤＢ１にＢＡ情報Ｉ１が設定されたことを共有できる。
【００３５】
ロックされている場合（Ｓ１５：ＹＥＳ）、バックアノテーション部２０は、ロックしている回路設計ＣＡＤ３０に対してＢＡ情報Ｉ１のバックアノテーションを依頼する依頼ログをログファイル３に出力する（Ｓ１８）。具体的には、バックアノテーション部２０は、ロックしている回路設計ＣＡＤ３０を依頼先とし、ＢＡ情報Ｉ１を回路図ＤＢ１へ反映する依頼内容のログをログファイル３に記述する。これにより、依頼先とされた回路設計ＣＡＤ３０では、自身がロックしている部品Ｆ１についてのＢＡ情報Ｉ１を回路図ＤＢ１へ反映することができる。
【００３６】
バックアノテーション部２０は、上述したＳ１４〜Ｓ１８の処理を、ＢＡ情報Ｉ１に含まれる部品Ｆ１の全てについて行ったところで、ループ処理を終了する（Ｓ１９）。これにより、ＢＡ情報Ｉ１に含まれる全ての部品Ｆ１について、バックアノテーションを行うことができる。
【００３７】
次に、回路設計ＣＡＤ３０における処理の詳細について説明する。図９は、回路設計ＣＡＤ３０の処理の一例を示すフローチャートである。図９に示すように、回路設計ＣＡＤ３０の起動指示などによって処理が開始されると、回路設計ＣＡＤ３０は、回路図ＤＢ１と、ログファイル３との読み込みを行う（Ｓ２１、Ｓ２２）。
【００３８】
次いで、回路設計ＣＡＤ３０は、ログファイル３に記述された他の回路設計ＣＡＤ３０の状態（起動の有無、編集内容など）、バックアノテーション部２０が行ったバックアノテーションの内容などの通常ログをメモリに展開して最新の情報に反映する（Ｓ２３）。これにより、回路設計ＣＡＤ３０における回路図上の表記などが、ログファイル３に記述された最新の内容に更新されることとなる。
【００３９】
次いで、回路設計ＣＡＤ３０は、ログファイル３に記述されたログの中に、ＢＡ情報Ｉ１のバックアノテーションを依頼する依頼ログがあるか否かを判定する（Ｓ２４）。依頼ログがない場合（Ｓ２４：ＮＯ）、回路設計ＣＡＤ３０はＳ２８へ処理を進める。
【００４０】
依頼ログがある場合（Ｓ２４：ＹＥＳ）、回路設計ＣＡＤ３０は自身が依頼ログの依頼先であるか否かを判定する（Ｓ２５）。例えば、ログファイル３上における自身を示すＩＤが「タスクＡ」である場合、依頼ログの依頼先が「タスクＡ」であるか否かを判定する。依頼先でない場合（Ｓ２５：ＮＯ）、回路設計ＣＡＤ３０は、依頼ログに記述された依頼内容については何もせず、Ｓ２８へ処理を進める。
【００４１】
依頼先である場合（Ｓ２５：ＹＥＳ）、回路設計ＣＡＤ３０は、依頼ログをもとにＢＡ情報Ｉ１を回路図ＤＢ１に設定し（Ｓ２６）、回路図ＤＢ１にＢＡ情報Ｉ１を設定したことを示す通常ログをログファイル３に出力する（Ｓ２７）。これにより、依頼先とされた回路設計ＣＡＤ３０では、自身がロックしている部品Ｆ１についてのＢＡ情報Ｉ１を回路図ＤＢ１へ反映する。
【００４２】
Ｓ２８において、回路設計ＣＡＤ３０は、マウス・キーボードなどの入力デバイスからのイベント処理を受け付けて、イベント処理による受け付けられたコマンドが実行可能なコマンドであるか否かを判定する（Ｓ２９）。
【００４３】
具体的には、Ｓ２９では、回路設計において実行可能なコマンド以外のコマンドがイベント処理で受け付けられたか否かを判定する。例えば、部品Ｆ１の選択、移動などのコマンドは、回路設計において実行できるコマンドとして判定される。また、部品Ｆ１の品番変更などは、回路設計ではなく実装設計において実行可能なコマンドであることから、回路設計において実行できないコマンドとして判定される。実行可能なコマンドでない場合（Ｓ２９：ＮＯ）、回路設計ＣＡＤ３０は、Ｓ２２へと処理を戻し、次のイベント処理の受け付けを行う。
【００４４】
実行可能なコマンドである場合（Ｓ２９：ＹＥＳ）、回路設計ＣＡＤ３０は、ログファイル３を読み込み（Ｓ３０）、他のタスクによるロック要素の読み込み、すなわち他の回路設計ＣＡＤ３０がロックしている部品Ｆ１の情報を読み込む（Ｓ３１）。
【００４５】
次いで、回路設計ＣＡＤ３０は、コマンドの処理対象要素である部品Ｆ１が他の回路設計ＣＡＤ３０によりロックされているか否かを判定する（Ｓ３２）。ロックされている場合（Ｓ３２：ＹＥＳ）、回路設計ＣＡＤ３０は、他の回路設計ＣＡＤ３０によりロックされており、コマンドが実行できない（コマンドキャンセル）のメッセージ通知をモニタなどに行う（Ｓ３３）。
【００４６】
ロックされていない場合（Ｓ３２：ＮＯ）、回路設計ＣＡＤ３０は、ログファイル３にコマンドの処理対象要素である部品Ｆ１をロック要素とすることを書き込む（Ｓ３４）。具体的には、コマンドの処理対象となった部品Ｆ１をロックすることをログファイル３に記述する。これにより、コマンドの処理対象となった部品Ｆ１がロック中であることを、他の回路設計ＣＡＤ３０やバックアノテーション部２０などに通知できる。
【００４７】
次いで、回路設計ＣＡＤ３０は、受け付けたコマンドを実行し（Ｓ３５）、コマンドの実行により新たに反映された編集内容をログファイル３に書き込む（Ｓ３６）。これにより、新たに反映された編集内容を他の回路設計ＣＡＤ３０などと共有することができる。
【００４８】
次いで、回路設計ＣＡＤ３０は、自身のタスクを終了するコマンドの入力の有無を判定する（Ｓ３７）。終了するコマンドの入力がなかった場合（Ｓ３７：ＮＯ）、回路設計ＣＡＤ３０はＳ２２へ処理を戻す。終了するコマンドの入力があった場合（Ｓ３７：ＹＥＳ）、回路設計ＣＡＤ３０は処理を終了する。
【００４９】
［変形例１］
次に、上述した実施形態の変形例１を説明する。変形例１は、処理対象の部品Ｆ１がロックされていない場合であっても、バックアノテーション部２０自身がＢＡ情報Ｉ１を反映することなく、任意のタスクにＢＡ情報Ｉ１の反映を依頼する点が上述した実施形態とは異なる。
【００５０】
図１０は、変形例１にかかるバックアノテーション処理の一例を示すフローチャートである。図１０に示すように、処理対象の部品Ｆ１がロックされていない場合（Ｓ１５：ＮＯ）、バックアノテーション部２０は、任意の回路設計ＣＡＤ３０（タスク）に対してＢＡ情報Ｉ１のバックアノテーションを依頼する依頼ログをログファイル３に出力する（Ｓ１８ａ）。なお、任意のタスクの指定については、起動中であるタスクであればいずれのタスクであってもよく、例えばランダム方式やラウンドロビン方式でいずれかのタスクを指定してもよい。これにより、依頼先とされた任意の回路設計ＣＡＤ３０において、部品Ｆ１についてのＢＡ情報Ｉ１を回路図ＤＢ１へ反映することができる。
【００５１】
また、ロックされている場合（Ｓ１５：ＹＥＳ）、バックアノテーション部２０は、ロックしている回路設計ＣＡＤ３０（タスク）に対してＢＡ情報Ｉ１のバックアノテーションを依頼する依頼ログをログファイル３に出力する（Ｓ１８ｂ）。
【００５２】
［変形例２］
次に、上述した実施形態の変形例２を説明する。変形例２は、自身がＢＡ情報Ｉ１を反映することなく、ＢＡ情報Ｉ１の反映を全タスク宛に依頼する点が上述した実施形態とは異なる。
【００５３】
図１１は、変形例２にかかるバックアノテーション処理の一例を示すフローチャートである。図１１に示すように、バックアノテーション部２０は、実装設計ＣＡＤ１０などにより呼び出されて処理が開始されると、実装設計ＣＡＤ１０より依頼されたＢＡ情報Ｉ１の読み込みと（Ｓ１１）、回路図ＤＢ１の読み込みとを行う（Ｓ１２）。
【００５４】
次いで、バックアノテーション部２０は、ログファイル３を参照して現時点までの回路設計ＣＡＤ３０のログを読み込み（Ｓ１３）、起動中の全タスクに対して、ＢＡ情報Ｉ１のバックアノテーションを依頼する依頼ログをログファイル３に出力する（Ｓ１７ｂ）。これにより、バックアノテーション部２０は、自身がＢＡ情報Ｉ１を反映することなく、ＢＡ情報Ｉ１の反映を全タスクに依頼する。
【００５５】
図１２は、変形例２にかかる回路設計ＣＡＤ３０の処理の一例を示すフローチャートである。図１２に示すように、変形例２では、Ｓ２４において依頼ログがあると判定された場合（Ｓ２４：ＹＥＳ）以後の処理の内容が上述した実施形態とは異なっている。
【００５６】
具体的には、依頼ログがある場合（Ｓ２４：ＹＥＳ）、回路設計ＣＡＤ３０は、依頼ログのＢＡ情報Ｉ１に含まれる部品Ｆ１ごとのループ処理（Ｓ４０〜Ｓ４６）を開始する。
【００５７】
ループ処理が開始されると（Ｓ４０）、回路設計ＣＡＤ３０は、処理対象要素である部品Ｆ１は起動中の回路設計ＣＡＤ３０によってロックされているか否かを判定する（Ｓ４１）。ロックされていない場合（Ｓ４１：ＮＯ）、回路設計ＣＡＤ３０は、自身がＢＡ情報Ｉ１を回路図ＤＢ１に設定する（Ｓ４２）。
【００５８】
ロックされている場合（Ｓ４１：ＹＥＳ）、回路設計ＣＡＤ３０は、自身が部品Ｆ１をロック中であるか否かを判定する（Ｓ４３）。自身がロック中でない場合（Ｓ４３：ＮＯ）、他の回路設計ＣＡＤ３０（タスク）がロック中であることから、回路設計ＣＡＤ３０は何もせずにＳ４６へ処理を進める。
【００５９】
自身がロック中である場合（Ｓ４３：ＹＥＳ）、回路設計ＣＡＤ３０は、自身がＢＡ情報Ｉ１を回路図ＤＢ１に設定し（Ｓ４４）、通常ログをログファイル３に出力する（Ｓ４５）。
【００６０】
回路設計ＣＡＤ３０は、上述したＳ４０〜Ｓ４５の処理を、ＢＡ情報Ｉ１に含まれる部品Ｆ１の全てについて行ったところで、ループ処理を終了する（Ｓ４６）。これにより、全タスク宛に依頼されたＢＡ情報Ｉ１に含まれる全ての部品Ｆ１について、バックアノテーションを行うことができる。
【００６１】
また、上記の実施形態で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータ２００で実行することによって実現することもできる。そこで、以下では、上記の実施形態と同様の機能を有するプログラムを実行するコンピュータ２００の構成を説明する。図１３は、コンピュータの構成を説明する説明図である。
【００６２】
図１３に示すように、コンピュータ２００は、ＣＰＵ２１０、ＲＯＭ（Read  Only  Memory）２２０、ＨＤＤ（Hard  Disk  Drive）２３０、ＲＡＭ（Random  Access  Memory）２４０を有する。これら２１０〜２４０の各部は、バス４００を介して接続される。
【００６３】
ＲＯＭ２２０には上記の実装設計ＣＡＤ１０、バックアノテーション部２０、回路設計ＣＡＤ３０と同様の機能を発揮するプログラム２２０ａが予め記憶される。なお、プログラム２２０ａについては、実装設計ＣＡＤ１０、バックアノテーション部２０、回路設計ＣＡＤ３０ごとに適宜分離してもよい。
【００６４】
そして、ＣＰＵ２１０が、プログラム２２０ａをＲＯＭ２２０から読み出して実行することで、実装設計ＣＡＤ１０、バックアノテーション部２０、回路設計ＣＡＤ３０と同様の動作を実行する。
【００６５】
なお、プログラム２２０ａについては、必ずしも最初からＲＯＭ２２０に記憶させることを要しない。例えば、コンピュータ２００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」にプログラムを記憶させておく。そして、コンピュータ２００がこれらからプログラムを読み出して実行するようにしてもよい。
【００６６】
さらには、公衆回線、インターネット、ＬＡＮ、ＷＡＮ（Wide  Area  Network）などを介してコンピュータ２００に接続される「他のコンピュータ（またはサーバ）」などにプログラムを記憶させておく。そして、コンピュータ２００がこれらからプログラムを読み出して実行するようにしてもよい。
【符号の説明】
【００６７】
１…回路図ＤＢ
２…実装設計ＤＢ
３…ログファイル
１０…実装設計ＣＡＤ
２０…バックアノテーション部
３０…回路設計ＣＡＤ
１００…サーバ装置
２００…コンピュータ
Ｆ１…部品
Ｉ１…ＢＡ情報
Ｎ…通信ネットワーク
【図１】
2015207218.tif 000003
【図２】
2015207218.tif 000004
【図３】
2015207218.tif 000005
【図４】
2015207218.tif 000006
【図５】
2015207218.tif 000007
【図６】
2015207218.tif 000008
【図７】
2015207218.tif 000009
【図８】
2015207218.tif 000010
【図９】
2015207218.tif 000011
【図１０】
2015207218.tif 000012
【図１１】
2015207218.tif 000013
【図１２】
2015207218.tif 000014
【図１３】
2015207218.tif 000015