説明

計算機開発装置

【課題】計算機装置のハードウェアとソフトウェアとを効率よく開発する。
【解決手段】計算機開発装置1に、ハードウェアを識別する情報毎に、ハードウェアの設計情報を対応付けたハード部品DB100と、ソフトウェアを識別する情報毎に、ソフトウェアの設計情報を対応付けたソフト部品DB120と、計算機の機能毎に、その機能を実現するために必要なハードウェアおよびソフトウェアを特定するデータを登録している関連DB140と、開発対象の計算機の機能を指定する制約条件160と、を保持させて、制約条件160および関連DB140を用いて、制約条件160に含まれる機能を実現するために必要なハードウェアおよびソフトウェアを特定し、その特定したハードウェアおよびソフトウェアに対応する設計情報をハード部品DB100およびソフト部品DB120の中から抽出して出力する抽出部180を設ける。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、計算機装置を開発するための技術に関する。特に、計算機装置を構成するハードウェア構成要素と、ソフトウェア構成要素とを設計資産から選択して開発するための技術に関する。
【背景技術】
【0002】
計算機装置を開発する方式に関する技術が特許文献1に開示されている。特許文献1では、既に開発を終えた電子機器を基本として、類似する電子機器を開発する際の開発作業を支援する方法、装置、およびプログラムに関する技術が開示されている。特許文献1に記載されている、既に開発を終えた電子機器は、処理ユニット(MPU)と、周辺装置とを備えている。処理ユニットは、周辺装置を制御するためのファームウェアを実行する。そして、特許文献1には、類似の電子機器を開発する際に、既に開発した電子機器の機能を選択することにより、回路構成における部品の選択と、部品に対応するMPUのピンの削除や変更と、ファームウェアのマシン語プログラムの変更方法とが開示されている。
【0003】
【特許文献1】特開2005−234703号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
ところで、計算機装置の開発において、特に装置組み込み用途向けの計算機装置は、装置制御のための実時間制御技術に加え、ネットワークの情報共有のために情報通信技術を活用する事例が増えつつある。そのため、計算機装置を開発するためには、実時間制御のための基本ソフトウェア(Operating System;OS)の知識のみならず、情報通信のための通信ハードウェアやデバイスドライバ(ソフトウェア)の両方に関する知識が必要となってきている。開発の現場では、計算機装置のハードウェアとソフトウェアとの両方を品質良く設計し、開発効率を向上させ、開発者の負担を軽減する技術や運用方法が強く望まれている。
【0005】
しかしながら、上述の特許文献1は、以下に述べる問題を有している。具体的には、特許文献1は、既に開発した電子機器において、機能の部分的な削除や変更を行うための技術であり、開発者が所望する機能に応じて、新たに、必要なハードウェアやそれに対応するソフトウェアを選択するものではない。また、特許文献1では、既に開発した電子機器の制御ファームウェアの変更をコンパイラによらず行うため、MPUやOSを変更する場合には、新規に電子機器を開発する必要がある。そのため、開発者は、必要なハードウェアとソフトウェアに関する設計を再度行わなければならない。
【0006】
なお、一般的に、開発効率を向上させるための手法として、既存の開発品の設計資産を流用する手順が取られる。しかし、開発した当人でなければハードウェアやソフトウェア資産の使い方や方法が明らかでないことが多く、同一企業内であっても設計資産の流用が困難である。
【0007】
本発明は、上記事情に鑑みてなされたものであり、本発明の目的は、計算機装置のハードウェアとソフトウェアとを効率よく開発することにある。
【課題を解決するための手段】
【0008】
上記課題を解決するため、本発明の一態様は、計算機の設計情報を集めた設計資産情報を保持し、該設計資産情報の中から指定された計算機の機能を実現するための設計情報を抽出する計算機開発装置に適用される。前記設計資産情報には、ハードウェアを識別するハード識別情報毎に、該ハードウェアの設計情報を対応付けて登録しているハード部品データベースと、ソフトウェアを識別するソフト識別情報毎に、該ソフトウェアの設計情報を対応付けて登録しているソフト部品データベースとが含まれている。
【0009】
そして、前記計算機装置は、計算機の機能毎に、該機能を実現するために必要なハードウェアおよびソフトウェアを特定するデータが登録されている関連データベースと、開発対象の計算機の機能を指定する情報を含む制約条件が登録されている制約条件データベースと、前記制約条件データベースおよび前記関連データベースを用いて、前記制約条件に含まれる機能毎に該機能を実現するために必要なハードウェアおよびソフトウェアを特定し、該特定したハードウェアおよびソフトウェアに対応する設計情報を前記設計資産情報の中から抽出し、該抽出した該設計情報を出力する抽出手段と、を有する。
【発明の効果】
【0010】
本発明を利用よれば、計算機装置のハードウェアとソフトウェアとを効率よく開発することができる。
【発明を実施するための最良の形態】
【0011】
以下、本発明の実施形態について図面を用いて説明する。なお、本実施形態は、計算機装置のハードウェアとソフトウェアとを開発する際に、既存の設計情報を活用して、新たな構成の計算機装置の設計情報を生成するための開発装置の構成に関するものである。
【0012】
《第1実施形態》
最初に、本発明の第1実施形態の計算機開発装置について図面を用いて説明する。
【0013】
図1は、本発明の第1実施形態における計算機開発装置の構成を表す機能ブロック図である。
【0014】
図示するように、計算機開発装置1は、ハード部品DB100、ソフト部品DB120、関連DB140、制約条件160、および設計情報を抽出する抽出部180を有する。なお、後段で詳細に説明するが、抽出部180は、選択機能220、最適化機能240、および出力機能250の3つの機能を備えている。
【0015】
ハード部品DB100は、計算機の所定の機能を実現するために必要なハードウェア部品の情報が格納されるデータベースである。ソフト部品DB120は、ハードウェアを制御するためのソフトウェアや基本ソフト(OS)の情報が格納されるデータベースである。関連DB140は、ハード部品DB100とソフト部品DB120とを関連付けるデータベースである。なお、これらのデータベースの構成は、後段で詳細に説明する。
【0016】
開発者は、後述する制約条件160を計算機開発装置1に設定することで、開発対象の計算機が必要とする計算機機能を指定する。計算機開発装置1の抽出部180は、制約条件160の中で指定されている計算機機能と関連付けられたハードウェアの部品とソフトウェアの部品とを抽出し、必要に応じて変換する。なお、制約条件160の機能記述は、例えば、テキストエディタや文書処理ソフトによるテキスト形式であってもデータベースソフトによって設定されるバイナリデータであっても良い。
【0017】
抽出部180は、それぞれの抽出変換結果をハード設計情報260、およびソフト設計情報280として出力する。これらの処理については、後段で詳細に説明する。
【0018】
つぎに、計算機開発装置1のハードウェア構成について、図2を用いて説明する。
【0019】
図2は、本発明の第1実施形態の計算機開発装置1のハードウェア構成の一例を示した図である。
【0020】
図示するように、計算機開発装置1は、CPU10、内部バス11、RAM(Random Access Memory)12、通信部13、および不揮発性メモリ14を有する。CPU10、RAM12、通信部13、および不揮発性メモリ14は、内部バス11を介して相互にデータを交換する。
【0021】
不揮発性メモリ14には、ハード部品DB100、ソフト部品DB120、関連DB140、制約条件160、ハード設計情報260、ソフト設計情報280、OS20、および抽出プログラム1800が格納されている。抽出プログラム1800は、図1に示す抽出部180の機能を実現するためのプログラムである。抽出プログラム1800には、選択機能220を実現するための選択機能プログラム2200と、最適化機能240を実現するための最適化機能プログラム2400と、出力機能250を実現するための出力機能プログラム2500と、が含まれる。なお、本実施形態では、不揮発メモリ14について特に限定しない。不揮発メモリ14には、例えば、電気的に消去や書き込み可能なEEPROM(Electrically Erasable Programmable Read-Only Memory)やフラッシュメモリ、ハードディスク装置等を用いることができる。
【0022】
CPU10は、不揮発性メモリ14に格納されているOS20や、ソフトウェア(抽出プログラム1800等)の命令や定数等の各種情報を読み出し、これら命令や定数を必要に応じてRAM12に格納し、読み出し或いは書き出しを行い、ソフトウェア処理を実行する。CPU10のソフトウェア処理により、図1に示す抽出部180の機能が実現される。すなわち、上述した抽出部180の機能は、CPU10が不揮発性メモリ14に格納されているOS20、抽出プログラム1800、および各種情報をRAM12にロードして実行することにより実現される。
【0023】
通信部13は、内部バス11を介してCPU10から要求されたデータをネットワーク3へ送信する処理や、ネットワーク3から受信した処理をCPU10に報告する処理を行う。なお、本実施形態は、ネットワーク3を活用するネットワーク技術により制限されない。ネットワーク3を活用する技術には、有線のネットワーク技術であるEthernet(登録商標)やRS485、光ファイバなどによるシリアル伝送技術、あるいはSCSI(Small Computer System Interface)やPCI(Peripheral Component Interconnect)バスなどのパラレル伝送技術などがある。通信部13は、自身の状態変化や処理要求が発生したことをCPU10へ割込み信号(図示なし)で通知する。CPU10は、上記ソフトウェアの実行、通信部13からの割込みの処理を行い、目的とする機能を実現する。
【0024】
続いて、本発明の第1実施形態の計算機開発装置1の動作の概略を説明する。
【0025】
図3は、本発明の第1実施形態の計算機開発装置1の抽出部180の動作フローを示す図である。なお、以下に示す処理ステップを行う、計算機開発装置1には、あらかじめ、制約条件160が設定されているものとする(不揮発性メモリ14の所定領域に、制約条件160が格納されているものとする)。
【0026】
先ず、抽出部180は、制約条件160より、開発する対象の計算機の機能を取得する(S500)。制約条件160は、あらかじめテキスト形式やバイナリ形式にて与えられた、計算機機能を記述したデータである。
【0027】
次に、抽出部180は、制約条件160にて示された計算機機能を実現するためのハードウェア部品およびソフトウェア部品を抽出する(S510)。具体的には、抽出部180は、選択機能220を用いて関連DB140から該当するレコードを抽出する。関連DB140のレコードには、計算機機能に対応付けて、ハード部品DB100へのインデックスと、ソフト部品DB120へのインデックスとが記述されている。抽出部180は、抽出したレコードに登録されているハード部品DB100へのインデックスを用いて、ハード部品DB100からハードウェア部品情報を抽出する。また、抽出部180は、ソフト部品DB120からソフトウェア部品情報を抽出する。
【0028】
その後、抽出部180は、最適化機能240を用いて、冗長なハードウェア部品やソフトウェア部品を削除すると共に、それぞれの部品のパラメータを変更する(S530)。変更するパラメータの例として、計算機機能に応じたメモリ容量やプロセッサのクロック速度などが挙げられる。
【0029】
そして、抽出部180は、出力機能250を用いて、最適化した処理結果のうち、ハードウェア部品の設計情報をハード設計情報260として、ソフトウェア部品の設計情報をソフト設計情報280として、それぞれ出力し(S550)、処理を終了する。なお、ハード設計情報260やソフト設計情報280は、不揮発性メモリ14に格納するようにしてもよいし、通信部13を介して他の計算機装置(図示なし)へ転送してもよい。
【0030】
以上のように構成することで、開発対象の計算機装置に対応した制約条件160から、関連するハード設計情報260やソフト設計情報280を取得することが可能となる。開発者は、取得したハード設計情報260から計算機装置のハードウェアを設計することができる。その後、開発者は、設計した計算機装置のハードウェアに、取得したソフト設計情報280に含まれているOSやデバイスドライバを実装することで、所望の計算機装置を得ることができる。
【0031】
次に、第1実施形態の各構成要素、および処理について詳細について説明する。
【0032】
まず、本実施形態のハード部品DB100のデータ構成について、図4および図5を用いて説明する。
【0033】
図4は、本発明の第1実施形態のハード部品DB100のデータ構成を模擬的に示した図である。図5は、本発明の実施形態のハードウェア部品の回路構成を例示した図である。なお、図4に示すハード部品DB100は、図5(a)、(b)に示す回路構成のハード部品に関するハード部品情報が含まれる例を示している。
【0034】
さて、図4に示すように、ハード部品DB100は、ハード機能を示すデータを登録するためのフィールド101と、関連機能を示すデータを登録するためのフィールド102と、回路図データを登録するためのフィールド103と、設計データを登録するためのフィールド104と、バージョンを示すデータを登録するためのフィールド105と、共有可能か否かを示すフラグ(共有可フラグ)を登録するためのフィールド106と、を備えて1つのレコードが構成される。
【0035】
ここで、フィールド101に登録するハード機能を示すデータとは、ハードウェア部品に関するインデックス(ハードウェア部品を特定する識別情報)である。
【0036】
フィールド102に登録する関連機能を示すデータとは、対応するフィールド101に登録されたハード機能に関連するデータ(或いは当該ハード機能が包含するハード機能を示すデータ)である。例えば、関連機能を示すデータとは、対応するフィールド101に登録されたハード機能を構成する部品を示すデータをいう。
【0037】
フィールド103に登録する回路図データとは、ハードウェア部品を配線するための情報や当該ハードウェア部品の内部配線情報を示すデータである。回路図データの具体的な例として、ハードウェア部品のピン配置データやEDIF(Electronic Design Interchange Format)データなどが挙げられる。
【0038】
フィールド104に登録する設計データとは、ハードウェア部品を用いて設計する場合に必要な情報を示す。フィールド104に登録する設計データとしては、例えば、ハードウェアマニュアルや電気的仕様、アクセスタイミング仕様、クロック速度、メモリ容量、注釈、使用方法などが該当する。図示する例では、これらの設計データをまとめて拡張子「pdf」のドキュメントファイルとして示したが、必要に応じて個別に独立した要素としてハード部品DB100へ登録しても良い。
【0039】
フィールド105に登録するバージョンを示すデータとは、対応するフィールド101に格納されたハード機能を管理する際に使用するデータであって、当該情報の履歴を表す。
【0040】
フィールド106に登録する共有可フラグは、当該ハードウェア部品が複数の構成に渡って共有できる部品か否かを示すフラグである。例えば、メモリやCPUであれば、想定する使用量や性能の範囲内であれば、同一部品を複数の構成にて共有して利用することが可能である。そのため、共有可を示すフラグを設定すればよい。一方、LAN(Local Area Network)コントローラや画面出力のように、1つの部品にて一定の機能を期待する通信用部品や入出力制御部品の場合は、共有不可を示すフラグを設定する。
【0041】
図示する例において、ハード部品DB100のレコード110には、「LANCalHW」に関する情報が登録されている。具体的には、レコード110では、フィールド101に、「LANCalHW」が登録されている。フィールド102には、データが登録されていない。これは、「LANCalHW」に関連機能がないことを示している。また、フィールド103には、「LANCalHW」の回路図を示すEDIFデータ(LANCa1.edfファイル)が登録されている。フィールド104には、「LANCalHW」の設計データ(例えば、マニュアルLANCa1.pdfファイル)が登録されている。フィールド105には、「LANCalHW」のバージョンが2であることを示すデータ(Rev.2(revision2))が登録されている。フィールド106には、共有不可を示すフラグ(No)が登録されている。
【0042】
また、図示するレコード112から116には、レコード110と同様に単一部品から構成されるハード部品情報が登録されている。なお、レコード112は、画面出力制御用のハードウェア部品「VGAc1HW」に関するデータが登録されている。
【0043】
レコード111には、複数部品から構成されるハード部品である「LANb1HW」に関する情報が登録されている。レコード111のフィールド102には、複数の部品を示すデータが登録されている。具体的には、レコード111のフィールド102に登録されているデータから、LAN機能を提供する「LANb1HW」は、LANコントローラである「LANCa1HW」と、パルストランスである「PTd1HW」とからなることが分かる。レコード111のフィールド103に登録する回路図データは、これらの関連機能(フィールド102に登録されている関連機能)がどのように構成されるかを示すEDIFデータ(LANb1.edfファイル)である。フィールド104には、設計データとして「マニュアルLANb1.pdfファイル」が登録されている。フィールド105には、バージョンが1であることを示す「Rev.1(revision1)」が登録されている。また、フィールド106には、共有不可を示すフラグ("No")が登録されている。
【0044】
また、レコード117には、図5(a)に示すハードウェア部品に関する情報が登録されていて、レコード118には、図5(b)に示すハードウェア部品に関する情報が登録されている。
【0045】
具体的には、レコード117には、計算機モジュール「MODx1HW」に関する情報が登録されている。レコード117では、フィールド102に複数のデータが登録されていることから、計算機モジュール「MODx1HW」が複数の部品により構成されていることが分かる。また、計算機モジュール「MODx1HW」の回路構成は、フィールド103に登録されている回路データ(MODx1.edf)により確認できる。フィールド105に登録されたデータ(Rev.2(revision2))から、バージョンが2であり、フィールド106の共有可フラグが「Yes」であることから、計算機モジュール「MODx1HW」が共有可能なハードウェア部品であることが確認できる。
【0046】
レコード118には、計算機モジュール「MODx2HW」に関する情報が格納されている。なお、レコード118に登録されている計算機モジュール「MODx2HW」は、レコード117に登録されている計算機モジュール「MODx1HW」と回路構成が一部異なっている以外(すなわち、LAN機能と画面出力機能とが入れ替わっている以外)は、同じである。
【0047】
ここで、レコード117と、レコード118に登録されているハードウェア部品について、図5を用いて説明する。
【0048】
図5(a)には、図4に示すハード部品DB100のレコード117に登録されているハードウェア部品である計算機モジュールMODx1HWの構成を示している。計算機モジュールMODx1HWは、CPUであるPROCp1HWと、RAMであるRAMs1HWと、ROMであるROMf1HWと、LAN機能であるLANb1HWとを有する。LAN機能であるLANb1HWは、さらに、LANコントローラLANCa1HWと、パルストランスPTd1HWとを備える。
【0049】
図5(b)には、図4に示すハード部品DB100のレコード118に登録されているハードウェア部品である計算機モジュールMODx2HWの構成を示している。計算機モジュールMODx2HWは、CPUであるPROCp1HWと、RAMであるRAMs1HWと、ROMであるROMf1HWと、画面出力機能を提供するハードウェア部品であるVGAc1HWと、を有する。
【0050】
以上のように、ハード部品DB100を構成することにより、計算機の構成要素に関連するハードウェア部品に関して、それら要素間の関連や、回路図データ、設計データ、バージョン、部品共有の可否を知ることができる。
【0051】
次に、本実施形態のソフト部品DB120のデータ構成を説明する。
【0052】
図6は、本発明の第1実施形態のソフト部品DB120のデータ構成を模擬的に示した図である。
【0053】
図に示すように、ソフト部品DB120は、ソフト機能を示すデータを登録するためのフィールド121と、関連機能を示すデータを登録するためのフィールド122と、ソースコードを登録するためのフィールド123と、CPUのタイプを示すデータを登録するためのフィールド124と、バイナリを登録するためのフィールド125と、バージョンを示すデータを登録するためのフィールド126と、実装位置を示すデータを登録するためのフィールド127とを備えて1つのレコードが構成される。
【0054】
フィールド121に登録するソフト機能とは、ソフトウェア部品に関するインデックス(ソフトウェア部品を特定する識別情報)である。
【0055】
フィールド122に登録する関連機能を示すデータとは、対応するフィールド121に登録されたソフト機能に関連するデータ(或いは当該ソフト機能が包含するデータ)である。例えば、フィールド122に登録する関連機能を示すデータとは、ソフト機能を構成する部分機能が該当する。
【0056】
フィールド123に登録するソースコードとは、ソフト機能を記述するプログラムのコードである。なお、記述する言語に本発明は、制約されることはない。図示する例では、C言語を想定したソースコード(ファイル拡張子が「.c」や「.h」)の例を示す。
【0057】
フィールド124に登録するCPUタイプとは、対応するフィールド123に登録されているソースコードをコンパイルしてバイナリを生成する際に、ターゲットとするプロセッサアーキテクチャを示す。
【0058】
フィールド125に登録するバイナリとは、フィールド123に登録されているソースコードをコンパイルして生成されたコードを含み、CPUタイプにて指定されるCPUが解釈可能な形式のプログラムファイル名をいう。
【0059】
フィールド126に登録するバージョンを示すデータとは、対応するフィールド121に格納されたソフト機能を管理する際に使用するデータであって、当該情報の履歴を表す。
【0060】
フィールド127に登録する実装位置を示すデータとは、当該ソフト機能に対応する生成物(バイナリ)が最終的にどのような位置に実装されるかを示す情報である。例えば、開発対象の計算機が、ファイルシステムを管理するOSであれば、対応するソフト機能がファイルシステムのどのディレクトリに格納されるかを示すのが好適である。また、カーネル部分に全てのドライバが静的にリンクされるようなOSの場合、実装位置を示すデータは不要である(すなわち、フィールド127にデータを登録する必要はない)。
【0061】
図示するソフト部品DB120の例では、レコード130に、LANコントローラ用のソフト機能を有するソフトウェア部品「LANCa1SW」に関する情報が登録されている。レコード131に、VGAチップ用のソフト機能を有するソフトウェア部品「VGAc1SW」に関する情報が登録されている。レコード132に、CPUに関するソフト機能を有するソフトウェア部品「PROCp1SW」に関する情報が登録されている。
【0062】
また、レコード133に、OSに関するソフト機能を有するソフトウェア部品「OSz1SW」に関する情報が登録されている。レコード134に、Webサーバに関するソフト機能を有するソフトウェア部品「HTTPh1SW」に関する情報が登録されている。レコード135には、計算機モジュール「MODx1HW」に関するソフト機能のソフトウェア部品「MODx1SW」に関する情報が登録されている。レコード136には、計算機モジュールMODx2HWに関するソフト機能のソフトウェア部品「MODx2SW」に関する情報が登録されている。
【0063】
また、ソフト部品DB120の構成要素として、他にバイナリ(フールド125に格納されるバイナリ)の実行に際して参照する設定ファイルや、ソースコードをコンパイルする際に使用するコンパイル手順ファイル(makefile、スクリプト等)を含めても良い。
【0064】
図示する例では、レコード130のLANコントローラを制御するソフトウェア部品「LANCa1SW」は、ソースコードが「LANCa1.c」および「LANCa1.h」からなり、バイナリが「LANCa1.mod」であり、CPUタイプが「CPU−A」であるプロセッサに用意されており、バージョンが「revision1」であり、実装位置が「/usr/lib」であることが示されている。
【0065】
レコード133に格納されている、OS機能を有するソフトウェア部品「OSz1SW」は、関連機能が「PROCp1SW」で、ソースコードが「CORE1.c」、「CORE1.h」などの複数のソースファイルで、CPUタイプが「CPU−A」向けで、バイナリに「OSz1」が用意されており、バージョンが「Rev.2(revision2)」であり、実装位置がルート「(/)」であることが示されている。
【0066】
レコード135には、ハードウェア部品である計算機モジュール「MODx1HW」に実装すべきソフト機能を有するソフトウェア部品「MODx1SW」の情報が登録されている。具体的には、レコード135には、ソフトウェア部品「MODx1SW」は、関連機能として、LANコントローラ用のドライバとOSに関する記述(LANalSW、OSz1SW)が登録されていて、ソースコードに「MODx1.c」および「MODx1.h」が必要で、CPUタイプが「CPU-A」であり、バイナリが「MODx1.mod」であり、バージョンが「Rev.1(revision1)」であることが示すデータが登録されている。
【0067】
以上のように、ソフト部品DB120を構成することにより、計算機の構成要素に関連するソフトウェア部品に関して、それら要素間の関連やソースコード、CPUタイプに応じたバイナリ、バージョン、実装位置を知ることができる。
【0068】
次に、本実施形態の関連部品DB140のデータ構成を説明する。
【0069】
図7は、本発明の第1実施形態の関連部品DB140のデータ構成を模擬的に示した図である。
【0070】
図示するように、関連DB140は、計算機の機能(計算機機能)を示すデータを登録するためのフィールド141と、関連機能を示すデータを登録するためのフィールド142と、ハード機能を示すデータを登録するためのフィールド143と、ハード機能の変更履歴をあらわすバージョン(ハードバージョン)を登録するためのフィールド144と、ソフト機能を示すデータを登録するためのフィールド145と、ソフト機能の変更履歴をあらわすバージョン(ソフトバージョン)を登録するためのフィールド146と、を備えて1つのレコードが構成される。すなわち、1つのレコードでは、フィールド141に登録した計算機機能に対応付けて、各フィールド142〜146に、関連機能、ハード機能、ハードバージョン、ソフト機能、およびソフトバージョンが登録されている。
【0071】
フィールド141に登録する計算機機能とは、計算機が必要とする機能の名前(計算機の機能を識別するデータ)である。本実施形態では、この記述される計算機機能を単位として、機能の追加や削除をする。
【0072】
フィールド142に登録する関連機能は、既に存在する計算機機能を指定するための要素であり、新たな計算機機能を作成する際に使用する。
【0073】
フィールド143に登録するハード機能を示すデータは、図4に示すハード部品DB100を構成するレコードのフィールド101に登録するデータと同様のデータ、すなわち、ハードウェア部品を特定する識別情報である。また、フィールド144に登録するハードバージョンは、図4に示すハード部品DB100を構成するレコードのフィールド105に登録されるデータと同様のデータである。
【0074】
フィールド145に登録するソフト機能を示すデータは、図6に示すソフト部品DB120を構成するレコードのフィールド121に登録されるデータと同様のデータ、すなわち、ソフトウェア部品を特定する識別情報である。また、フィールド146に登録するソフトバージョンは、図6に示すソフト部品DB120を構成するレコードのフィールド126に登録されるデータと同様のものである。
【0075】
図7では、レコード150〜157に、計算機機能に関するデータを登録した例を示している。図示するレコードの中には、ハード機能とソフト機能とが対になり登録されているレコード(例えば、レコード150〜154)と、ハード機能がけが登録されているレコード(例えば、レコード155、156)と、ソフト機能だけが登録されているレコード(例えば、レコード157)とが存在している。
【0076】
例えば、レコード153では、計算機モジュールに関し、ハード機能MODx1HWおよびソフト機能MODx1SWの両方が登録されている。また、例えば、レコード155では、RAM機能に関し、ハード機能RAMs1HWだけが登録されている。レコード157では、Webサーバ機能に関し、ソフト機能HTTPh1SWだけが登録されている。
【0077】
なお、本実施形態では、関連DB140に必要な機能要素だけを登録するようにしておけばよい。また、フィールド143に登録するハード機能と、フィールド145に登録するソフト機能との組み合わせが同一であっても、それぞれのバージョンが異なる場合には、別のレコードで管理するようにしてもよい。
【0078】
以上のように、関連DB140を構成することにより、計算機機能に対応したハード機能とソフト機能との関連を知ることができる。
【0079】
続いて、本実施形態の制約条件160について、図8を用いて説明する。
【0080】
図8は、本発明の第1実施形態の制約条件160のデータ構成を模擬的に示した図である。なお、制約条件160とは、ユーザにより設定されるデータである。
【0081】
図示するように制約条件160は、開発対象の計算機装置の計算機機能を登録するためのフィールド161と、回路図データを出力するか否かを指定するフラグ(回路図データ出力フラグ)を登録するためのフィールド162と、設計データを出力するか否かを指定するフラグ(設計データ出力フラグ)を登録するためのフィールド163と、ソースコードを出力するか否かを指定するフラグ(ソースコード出力フラグ)を登録するためのフィールド164と、バイナリを出力するか否かを指定するフラグ(バイナリ出力フラグ)を登録するためのフィールド165と、を備えて1つのレコードが構成される。例えば、レコード170では、計算機モジュールMODx1に関してバイナリだけを出力しないで(Disableと記載)、他は全て出力する(Enableと記載)旨をフラグで指示している。
【0082】
続いて、上述の図3で説明した動作フローについて詳細に説明していく。
【0083】
先ず、図3のS510に示した選択処理を詳細に説明する。
【0084】
図9は、図3のS510に示した選択処理の詳細な処理フローを示した図である。ここで、S510の選択処理とは、抽出部180(図1参照)が、選択機能220により、制約条件160で指定された計算機機能に関連する、ハード機能およびソフト機能を選択する処理である。
【0085】
なお、抽出部180は、計算機機能リスト(図示しない)、ハード機能リスト(図示しない)、およびソフト機能リスト(図示しない)を保持しているものとする(例えば、RAM12の所定領域に格納しておく)。そして、本処理フローに入る際に、抽出部180は、保持している、計算機機能リスト、ハード機能リスト、およびソフト機能リストを空に初期化する。なお、図9に示す動作は、全て抽出部180の選択機能220により行われる。
【0086】
まず、抽出部180は、制約条件160で指定されている計算機機能と、それぞれの計算機機能に関連する関連機能とを全て抽出し、リスト化して計算機機能リストを作成する(S511)。抽出部180は、計算機機能リストを作成する際、制約条件160にて指定されている、回路図データ出力フラグ、設計データ出力フラグ、ソースコード出力フラグ、バイナリ出力フラグも計算機機能リストに含めておく。
【0087】
次に、抽出部180は、作成した計算機機能リストにリスト化されている計算機機能に対し、順にS512〜515の処理を行い、リスト化されている全ての計算機機能に対して、S512〜S515の処理を実行したら、選択処理を終了する。
【0088】
具体的には、抽出部180は、S511で作成した計算機機能リストを参照し(例えば上から順に参照し)リスト要素が存在するか否かを確認する(S512)。そして、リスト要素が残存していなければ選択処理を終了する。一方、リスト要素が残存している場合には、S513の処理に遷移する。
【0089】
S513では、抽出部180は、S511で作成した計算機機能リストから計算機能を示すデータを取り出す(計算機能を示すデータを1つ取り出す)。抽出部180は、関連DB140(図7参照)にアクセスして、関連DB140に登録されたレコードの中から、取り出した計算機機能を示すデータが登録されたレコードを検索する。
【0090】
次に、抽出部180は、S513で検索されたレコードの中から、ハード機能を示すデータ(図7のフィールド143に登録されているデータ)を取り出し、ハード機能リストに追記(登録)する(S514)。ハード機能リストに追記する際、当該計算機機能に関して、制約条件160における回路図データ出力フラグ(フィールド162に登録されているデータ)および設計データ出力フラグ(フォールド163に登録されているデータ)も同様にハード機能リストに追記しておく。
【0091】
次に、抽出部180は、S513で検索されたレコードの中から、ソフト機能を示すデータ(図7のフィールド145に登録されているデータ)を取り出し、ソフト機能リストに追記(登録)する(S515)。なお、本ステップでも、S514と同様、計算機機能に関して、制約条件160におけるソースコード出力フラグ(フィールド164に登録されているデータ)およびバイナリ出力フラグ(フィールド165に登録されているデータ)もソフト機能リストに追記しておく。その後、抽出部180は、S512の処理を再度繰り返す。
【0092】
以上の処理により、抽出部180の選択機能220は、制約条件160で指定されている計算機機能に対応して、所望の計算機機能を実現するために必要なハード機能およびソフト機能をリスト化することができる。
【0093】
次に、図3のS530に示した最適化処理を詳細に説明する。
【0094】
図10は、図3のS530に示した最適化処理の詳細な処理フローを示した図である。なお、図10に示す動作は、全て抽出部180の最適化機能240により行われる。
【0095】
先ず、抽出部180は、図9の選択処理で作成したハード機能リストに対して、ハード機能名にキーにしてソートして(例えば、ハード機能名を昇順でソートする)、ハード機能リストの要素の順序を整える。また、抽出部180は、図9の選択処理で作成したソフト機能リストに対して、ソフト機能名をキーにしてソートして、ソフト機能リストの要素の順序を整える(S531)。
【0096】
次に、抽出部180は、S531でソートしたハード機能リストの中から、順番にハード機能名の重複しているリストを検索する(S532)。なお、S531でソート済みであるため、重複したハード機能がある場合には、重複したハード機能は、ハード機能リスト上で連続して現れている。
【0097】
次に、抽出部180は、ハード機能リスト上にハード機能名の重複しているリストがある場合にはS534の処理に進み、重複しているリストがなければS537の処理に進む(S533)。
【0098】
次に、ハード機能リストに重複したハード機能があった場合に進むS534について説明する。S534では、抽出部180は、重複しているハード機能が共有可能であるか否かを判定する。そして、共有可能と判定した場合にS535に進み、共有可能ではないと判定した場合にS536に進む。
【0099】
具体的には、抽出部180は、重複しているハード機能を特定する。そして、抽出部180は、ハード機能DB100(図4参照)にアクセスし、特定したハード機能を示すデータが登録されているレコードのフィールド106に登録されている共有可フラグを参照し、ハード機能が共有可能であるか否かを判定する。すなわち、該当するハード機能が登録されているレコードのフィールド106に共有できない事を示す共有不可フラグ(No)が登録されていれば、そのハード機能は共有できないものと判定される。一方、該当するハード機能が登録されているレコードのフィールド106に共有できる事を示す共有可フラグ(Yes)が登録されていれば、そのハード機能は共有できると判定される。
【0100】
S535では、抽出部180は、ハード機能リストにおける重複しているハード機能を縮退させて、1つのハード機能だけを残すようにハード機能リストを変更して、S532の処理に戻る。
【0101】
一方、S536では、抽出部180は、ハード機能リストにおけるハード機能をそのまま並存させておく。すなわち、ハード機能リストを変更しないで、S532の処理に戻る。
【0102】
次に、S537以降の処理を説明する。
【0103】
S537では、抽出部180は、S531でソートしたソフト機能リストの中から、ソフト機能名の重複しているリストを検索する。なお、S531でソート済みであるため、重複したソフト機能がある場合には、重複したソフト機能は、ソフト機能リスト上で連続して現れている。
【0104】
そして、抽出部180は、ソフト機能リスト上にソフト機能名の重複しているリストがある場合にはS539の処理に進み、重複しているリストがなければ最適化処理を終了する。
【0105】
S539では、すなわち、重複するソフト機能があった場合、基本的にソフトウェアは共有可能と考え、重複するソフト機能を縮退させて、一つのソフト機能だけを残すようソフト機能リストを変更する。
【0106】
ここで、例えばソフトウェア内の排他制御やメモリリソースの設定の都合上、ソフトウェアを共有不可能とする場合には、次のようにする必要がある。具体的には、ソフト部品DB120において、ハード部品DB100と同様に、各ソフト機能に関して共有可フラグを設けて、それぞれ設定する。その上で、S538において、重複するソフト機能について、それぞれ共有可フラグを検査する。そして、共有可能であればS539と同様に処理し、共有不可であれば重複するソフト機能を縮退させずにソフト機能リストは更新しない。この際、ソフトウェアを排他的に利用したりメモリ上に配置したりするためにパラメータにて排他的に設定する必要がある。
【0107】
また、S532やS537の処理において、機能は、同一だがバージョンが異なる場合が存在する。バージョンが異なる場合(バージョン差異)の解消方法の例として、「最新または最古のバージョンを優先する」、「縮退をせずにすべて並存させておく」という方法が考えられる。このようなバージョン差異が発生した場合には、出力するハード設計情報260およびソフト設計情報280において、注意を促すためにメッセージを含めるようにするのが好適である。なお、これらの解消方法は、最適化のポリシーとして事前に最適化機能240へ通知することで自動処理が可能となる。
【0108】
以上のようにすることで、最適化機能240は、ハード機能やソフト機能に関して、共有可能な機能は縮退させ、共有不可の機能は並存させることが可能となる。
【0109】
次に、図3のS550に示している出力処理を詳細に説明する。
【0110】
図11は、図3のS550に示した出力処理の詳細な処理フローを示した図である。なお、図11に示す動作は、全て抽出部180の出力機能250により行われる。
【0111】
先ず、抽出部180は、図10に示した最適化処理により最適化したハード機能リストに登録されている各ハード機能に対し、順にS551〜556の処理を行う。そして、登録されている全てのハード機能に対して、S551〜S556の処理を実行したら、S557の処理に進む。
【0112】
具体的には、抽出部180は、図10に示した最適化処理により最適化したハード機能リストを検査し、出力すべきハード機能が存在するか否かを確認する(S551)。確認により、出力すべきハード機能が存在しなければS557に進み、出力すべきハード機能が存在すればS552に進む。
【0113】
S552では、すなわち、出力すべきハード機能が存在する場合には、抽出部180は、ハード機能リストからハード機能を取得する。
【0114】
次に、抽出部180は、S552で取得したハード機能に関して設定されている回路図データ出力フラグの値を検査する(S553)。そして、検査したフラグの値が、回路図データを出力しない値(Disable)である場合、S555の処理に進む。一方、検査したフラグの値が、回路図データを出力する値(Enable)である場合、S554の処理に進む。
【0115】
S554では、抽出部180は、S552で取得したハード機能に対応付けられている回路図データをハード部品DB100から読み出す。そして、抽出部180は、計算機開発装置1のハード設計情報260へ、望ましくは計算機開発装置1が有するファイルシステムの所定ディレクトリ(例えば/result/edif/)へ、読み出した回路図データを出力する。
【0116】
次に、抽出部180は、S552で取得したハード機能に関して設定されている設計データ出力フラグの値を検査する(S555)。検査した設計データ出力フラグの値が、設計データを出力しない値(Disable)である場合、S551の処理に戻る。一方、検査したフラグの値が、設計データを出力する値(Enable)である場合、S556の処理に進む。
【0117】
S556では、抽出部180は、S552で取得したハード機能に対応付けられている設計データをハード部品DB100から読み出す。そして、抽出部180は、計算機開発装置1のハード設計情報260へ、望ましくは計算機開発装置1が有するファイルシステムの所定ディレクトリ(例えば/result/design/)へ、読み出した設計データを出力して、S551の処理に戻る。
【0118】
そして、抽出部180は、S551に戻り、出力すべきハード機能が存在しないと判定するとS557に進む。すなわち、ハード機能の出力処理を終えたら、S557以降のソフト機能の出力処理に遷移する。
【0119】
次に、S557以降の処理を説明する。抽出部180は、図10に示した最適化処理により最適化したソフト機能リストに登録されている各ソフト機能に対し、順にS557〜562の処理を行い、登録されている全てのソフト機能に対して、S557〜S562の処理を実行したら、S563の処理に進む。
【0120】
具体的には、S557では、抽出部180は、最適化処理により最適化したソフト機能リストを検査し、出力すべきソフト機能が存在するか否かを確認する。確認により、出力すべきソフト機能が存在しなければS563に進み、出力すべきソフト機能が存在すればS558に進む。
【0121】
そして、S557において、出力すべきソフト機能が存在しないと判定されると、S563で追加処理を実行して出力処理を終了する。なお、第1実施形態では、S563で行うべき処理は特にないので、そのまま出力処理を終了する。
【0122】
次に、S557において、出力すべきソフト機能が存在すると判定した場合に進むS558以降の処理を説明する。先ず、S558では、抽出部180は、ソフト機能リストからソフト機能を取得する。
【0123】
次に、抽出部180は、S558で取得したソフト機能に関して設定されているソースコード出力フラグの値を検査する(S559)。検査したソースコード出力フラグの値が、ソースコードを出力しない値(Disable)である場合、S561の処理に進む。一方、ソースコード出力フラグの値が、ソースコードを出力する値(Enable)である場合、S560の処理に進む。
【0124】
S560では、抽出部180は、S558で取得したソフト機能に対応付けられているソースコードをソフト部品DB120から読み出す。そして、抽出部180は、計算機開発装置1のソフト設計情報280へ、望ましくは計算機開発装置1が有するファイルシステムの所定ディレクトリ(例えば/result/source/)へ読み出したソースコードを出力し、S561の処理に進む。
【0125】
S561では、抽出部180は、S558で取得したソフト機能に関して設定されているバイナリ出力フラグの値を検査する。検査したバイナリ出力フラグの値が、バイナリを出力しない値(Disable)である場合、S557の処理に戻る。一方、バイナリ出力フラグの値が、バイナリを出力する値(Enable)である場合、S562の処理に進む。
【0126】
S562では、抽出部180は、S558で取得したソフト機能に対応付けられているバイナリをソフト部品DB120から読み出す。そして、抽出部180は、計算機開発装置1のソフト設計情報280へ、望ましくは計算機開発装置1が有するファイルシステムの所定ディレクトリ(例えば/result/binary/)へ、読み出したバイナリを出力し、S557の処理に戻る。このとき所定ディレクトリを基準として、ソフト部品DB120の対応するレコードのフィールド127に登録されている実装位置に指定された階層にバイナリファイルを格納するのが好適である。
【0127】
以上のようにすることで、出力機能250は、最適化されたハード部品およびソフト部品の設計情報を、ハード設計情報260およびソフト設計情報280として出力することが可能となる。
【0128】
続いて、本実施形態の抽出部180が出力する、ハード設計情報260およびソフト設計情報280の例を図12に示す。
【0129】
なお、図示する例は、「MODxl」と「MODx2」とのそれぞれの機能を融合した計算機装置を開発する場合を示している。すなわち、制約条件160に、「MODxl」を登録したレコードと、「MODx2」を登録したレコードとを設定されている場合に出力される設計情報の例を示している。なお、以下では、制約条件160に登録されるフラグを、全て「Enable」とする。
【0130】
抽出部180は、上記の制約条件160を基にして、選択機能220および最適化機能240により、ハード機能およびソフト機能を抽出する。ハード機能に関しては、共有可能なハード部品(PROCp1HW、RAMs1HW、ROMf1HW)と、共有不可のハード部品(LANCa1HW、PTd1HW、VGAc1HW)とを抽出する。また、ソフト機能に関しては、LANCa1SW、VGAc1SW、PROCp1SW、OSz1SW、MODx1SW、MODx2SWを抽出する。
【0131】
そして、抽出部180は、出力機能により、上記の抽出結果と、制約条件160に登録されている各フラグとにより、図12に示す、ハード設計情報260およびソフト設計情報280を出力する。
【0132】
このように、本発明の第1実施形態によれば、ハード部品DB100、ソフト部品DB120、および関連DB140の情報から、計算機開発装置1に与えた制約条件160に関連したハードウェアの設計情報、およびソフトウェアの設計情報を取得することが可能となる。すなわち、第1実施形態によれば、開発者は、所望する計算機の機能を計算機開発装置1に設定するという簡単な作業だけで、開発対象の計算機の設計情報を取得することができる。なお、出力される設計情報には、所望した機能を実現するためのハードウェアに対応したソフトウェアの情報も含まれている。また、第1実施形態では、図10に示した最適化処理により、設計情報を、共有可能な部品と共有不可の部品とに対応して最小の構成を表すようにしている。
【0133】
そのため、ハードウェアの設計資産およびソフトウェア資産の使い方を熟知していない開発者であっても、第1実施形態の計算機開発装置1を利用することで、簡単に、計算機装置のハードウェアおよびソフトウェアの両者を設計することができる。
【0134】
《第2実施形態》
次に本発明の第2実施形態を説明する。なお、第2実施形態の説明において、上述した第1実施形態と同じ構成については、特に断りのない限り、同じ符号を用いる。
【0135】
図13は、本発明の第2実施形態における計算機開発装置の構成を表す機能ブロック図である。第2実施形態は、第1実施形態の機能に加えて、さらに、後述するテスト設計情報380を生成して出力する機能を付加している。第2実施形態では、テスト設計情報380を生成して出力するために、第1実施形態の構成に、テスト部品DB320を付加し、それに伴い関連DB340および制約条件400の構成と、抽出部180の機能を一部変更している。なお、第1実施形態の計算機開発装置1と区別するために、第2実施形態においては、計算機開発装置5と称する。なお、第2実施形態の説明では、第1実施形態の構成と同じ構成の説明については簡略化し、異なる部分を中心に説明する。
【0136】
具体的には、第2実施形態の計算機開発装置5は、ハード部品DB100、ソフト部品DB120、テスト部品DB320、関連DB340、制約条件400、および抽出部360を有する。抽出部360は、選択機能220、最適化機能240、および出力機能251の3つの機能を備えている。
【0137】
テスト部品DB320は、計算機の所定の機能を検査するために必要なテストプログラムの情報(以下ではテスト部品と称する)が格納されるデータベースである。関連DB340は、第1実施形態の関連DB140のデータ構成に、さらにテスト部品DB320を関連付けるデータを付加したデータベースである。制約条件400は、第1実施形態の制約条件のデータ構成に、さらに、テスト部品DB320を関連付けるデータを付加したファイルである。これらのデータベースの構成は後段で詳細に説明する。
【0138】
抽出部360は、開発者が設定した制約条件400と、各データベース(ハード部品DB100、ソフト部品DB120、テスト部品DB320、関連DB340)に格納されたデータとを用いて、開発対象の計算機が必要とするハード部品およびソフト部品と、テスト部品とを抽出して必要に応じて変換処理を行う。すなわち、第2実施形態の抽出部360と、第1実施形態の抽出部180との違いは、テスト部品を抽出して、出力するための機能が付加されたことにある。抽出部360は、それぞれの抽出変換結果をハード設計情報260、ソフト設計情報280、テスト設計情報380として出力する。
【0139】
このように、第2実施形態では、第1実施形態の場合と同様に、開発者は、制約条件400を介して、開発対象の計算機が必要とする計算機機能を選択する。計算機開発装置5は、制約条件400によって選択された計算機機能と関連付けられたハード部品およびソフト部品の情報と、テスト部品を示す情報とを出力する。すなわち、第2実施形態によれば、開発者は、制約条件400を設定するだけで、開発対象の計算機が必要とする計算機機能を実現するためのハード部品およびソフト部品の情報と、テスト部品の情報とを取得することができるようになる。
【0140】
次に、本発明の第2実施形態の計算機開発装置5のハードウェア構成を説明する。
【0141】
図14は、本発明の第2実施形態の計算機開発装置5のハードウェア構成の一例を示した図である。なお、図示する計算機開発装置5は、上述した図2で示したものと、不揮発性メモリに格納されているデータの一部が異なる以外は、同じである。
【0142】
具体的には、計算機開発装置5は、CPU10、内部バス11、RAM(Random Access Memory)12、通信部13、および不揮発性メモリ15を有する。不揮発性メモリ15には、第1実施形態の不揮発性メモリ14に格納されているデータに加えて、新たに追加されたテスト部品DB320やテスト設計情報380が格納されている。そして、第2実施形態の抽出部360の機能は、CPU10が不揮発性メモリ15に格納されているOS20、抽出プログラム3600、および各種情報をRAM12にロードして実行することにより実現される。
【0143】
次に、第2実施形態のテスト部品DB320のデータ構成について説明する。
【0144】
図15は、本発明の第2実施形態のテスト部品320のデータ構成を模擬的に示した図である。
【0145】
テスト部品DB320は、テスト機能を登録するためのフィールド321と、テストプログラムを登録するためのフィールド322と、テスト仕様を登録するためのフィールド323と、バージョンを登録するためのフィールド324とを備えて、1つのレコードが構成される。
【0146】
フィールド321に登録するテスト機能とは、テスト部品に関するインデックス(テスト部品を特定する識別情報)である。
【0147】
フィールド322に登録するテストプログラムとは、ハードウェア部品やソフトウェア部品を検査するためのプログラムである。検査のために必要なテストプログラムを複数記述することが可能である。なお、本実施形態では拡張子「exe」という実行ファイルを例として取り上げたが、これに限定されることは無く、スクリプトファイルや実行手順を記したドキュメントであっても良い。
【0148】
フィールド323に登録するテスト仕様とは、テストプログラムの対象となるハードウェア部品やソフトウェア部品の検査をする際に、必要となる前提条件や検査方針、実行方法に関する注釈が記されているドキュメントである。
【0149】
フィールド324に登録するバージョンとは、当該テスト機能を管理する際に使用するデータであり、当該情報の履歴を示す。
【0150】
図示するテスト部品DB320は、各レコードに以下のデータが登録されている例を示している。レコード330には、LANコントローラの機能をテストする「LANCa1EX」に関するデータが登録されている。レコード331には、画面出力制御用のVGAチップの機能をテストする「VGAc1EX」に関するデータが登録されている。レコード332には、RAMの機能をテストする「RAMs1EX」に関するデータが登録されている。レコード333には、ROMの機能をテストする「ROMf1EX」に関するデータが登録されている。レコード334には、CPUの機能をテストする「PROCp1EX」に関するデータが登録されている。レコード335(336)には、計算機モジュールの機能をテストする「MODx1(MODx2)」に関するデータが登録されている。
【0151】
そして、例えば、レコード330では、「LANCa1EX」について、テストプログラムが「LANCa1.exe」であり、テスト仕様が「LANCalEX.pdf」であり、バージョンが「Rev.2(revision2)」であることが示されている。
【0152】
以上のようにテスト部品DB320を構成することにより、計算機の構成要素に関連する機能に関して、対応するテストプログラムやテスト手法を知ることができる。
【0153】
次に、第2実施形態の関連DB340のデータ構成について説明する。
【0154】
図16は、本発明の第2実施形態の関連DB340のデータ構成を模擬的に示した図である。なお、第2実施形態の関連DB340と、第1実施形態の関連DB140との違いは、テスト機能との関連付けを行う要素である、テスト機能を登録するためのデータと、テストバージョンを登録するためのデータとが追加された点にある。
【0155】
具体的には、関連DB340は、第1実施形態の関連DB140のレコードと同じフィールド141〜146と、テスト機能を登録するためのフィールド147と、テストバージョンを登録するためのフィールド148と、を備えて1つのレコードが構成される。
【0156】
関連DB340は、各レコードにおいて、計算機機能に対して、ハード機能、ソフト機能、およびテスト機能を対応付けて登録しているところが特徴である。また、ハード機能、ソフト機能、およびテスト機能の組みが同一であっても、それぞれのバージョンが異なる場合には、別のレコードで管理するようにしてもよい。
【0157】
以上のような関連DB340のデータ構成により、計算機機能に対応したハード機能およびソフト機能と、テスト機能との関連を知ることができる。
【0158】
次に、第2実施形態の計算機開発装置5の制約条件400について説明する。
【0159】
図17は、本発明の第2実施形態の計算機開発装置5における制約条件400のデータ構成を模擬的に示した図である。
【0160】
図示するように、第2実施形態の制約条件400は、第1実施形態の制約条件160に、テストプログラムを出力するか否かを示すフラグ(テストプログラム出力フラグ)と、テスト仕様を出力するか否かを示すフラグ(テスト仕様出力フラグ)と、を追加したものである。具体的には、制約条件400は、第1実施形態の制約条件160のレコードと同じフィールド161〜165と、テストプログラム出力フラグを登録するためのフィールド166と、テスト仕様出力フラグを登録するためのフィールドと、を備えて1つのレコードが構成される。
【0161】
例えば、レコード401では、計算機モジュールMODx1に関して、バイナリのみ出力せず(Disableと記載)、他は全て出力する(Enableと記載)旨を各フラグで指示している。
【0162】
続いて、本発明の第2実施形態の抽出部360の動作について説明する。第2実施形態の抽出部360は、出力機能251による処理が第1実施形態のものと異なる以外は、第1実施形態のものと同じである。
【0163】
具体的には、第2実施形態の抽出部360は、上述した図9と同様の手順による選択処理を行う。また、抽出部360は、図10と同様の手順による最適化処理を行う。また、抽出部360は、図11の出力処理のうち、S563において、図18に示す追加処理を行う。
【0164】
なお、第2実施形態では、抽出部360は、図9のS511で作成する計算機機能リストに、制約条件160で指定されている、テストプログラム出力フラグおよびテスト仕様出力フラグを含めるものとする。すなわち、第2実施形態の計算機機能リストは、各計算機機能に、テストプログラム出力フラグおよびテスト仕様出力フラグも対応付けられている。以下、第2実施形態の出力処理を図18に示す。
【0165】
図18は、本発明の第2実施形態が行う、追加出力処理の詳細な処理フローを示した図である。この追加処理は、図11のS563で行われる処理である。なお、以下の動作は、抽出部340の出力機能251により行われる。
【0166】
図18では、抽出部340は、計算機機能リストを参照し、計算機機能リストに登録されている計算機機能を示すデータに対して、順番に(例えば、リストの上から順次)、S570〜S575の処理を行い、計算機機能リストに登録されている計算機機能を示すデータを全て処理できたら、追加処理を終了する。
【0167】
具体的には、抽出部340は、図9のS511で作成した計算機機能リストを参照し、出力処理すべき計算機機能が存在するか否かを確認する(S570)。そして、出力処理すべき計算機機能が存在しない場合、追加出力処理を終了する。一方、出力処理すべき計算機機能が存在する場合、出力すべき計算機機能を特定し(例えば、リストの上から順番に特定する)、S571の処理に進む。
【0168】
S571では、抽出部360は、特定した計算機機能に対応するテスト機能を取得する(S571)。具体的には、抽出部360は、関連DB340にアクセスして、関連DB340に登録されているレコードの中から、特定した計算機機能を示すデータが登録されたレコードを検索する。抽出部340は、検索したレコードの中から、テスト機能を取り出す。
【0169】
次に、抽出部360は、テスト機能に関して設定されているテストプログラム出力フラグの値を検査する(S572)。具体的には、抽出部360は、計算機機能リストを参照し、特定したテスト機能に対応付けられているテストプログラム出力フラグの値を参照する。そして、テストプログラム出力フラグが、テストプログラムを出力しないフラグ(フラグの値がDisableである)の場合、S574へ分岐する。テストプログラムを出力するフラグ(フラグの値がEnableである)の場合、S573に進む。
【0170】
S573では、抽出部360は、テストプログラムを出力する。例えば、抽出部360は、計算機開発装置5が有するファイルシステムの所定ディレクトリ(例えば/result/testprog/)ヘテストプログラムを出力する。
【0171】
次に、特定したテスト機能に関して設定されているテスト仕様出力フラグの値を検査する(S574)。具体的には、抽出部360は、計算機機能リストを参照し、特定したテスト機能に対応付けられているテスト仕様出力フラグの値を参照する。そして、テスト仕様出力フラグが、テスト仕様を出力しないフラグ(フラグの値がDisableである)の場合、S570へ戻る。テストプログラムを出力するフラグ(フラグの値がEnableである)の場合、S575に進む。
【0172】
S575では、抽出部360は、テスト仕様を出力する。例えば、抽出部360は、計算機開発装置5が有するファイルシステムの所定ディレクトリ(例えば/result/testspec/)ヘテスト仕様を出力する。
【0173】
なお、テスト設計情報380を出力する際に、関連DB340に記述されているハード機能、ソフト機能、およびテスト機能の組みが同一であっても、それぞれのバージョンが整合しない場合が存在しうる。その際、テスト設計情報380を生成する際に、開発者へ注意を促すためにメッセージをテスト設計情報380へ出力するのが好適である。このとき、出力するテストプログラムやテスト仕様に関しては、「最新のバージョンのテスト部品を出力する」あるいは「全てのテスト部品を出力する」、「ソフト部品のバージョンを優先して整合するテスト部品を出力する」などの方法が取りうる。
【0174】
以上のようにすることで、出力機能251は、最適化されたハード部品とソフト部品の設計情報に加えてテスト部品の設計情報を出力することが可能となる。
【0175】
続いて、第2実施形態の抽出部360が出力する、テスト設計情報380の例を図19に示す。
【0176】
なお、図示する例は、「MODxl」と「MODx2」とのそれぞれの機能を融合した計算機装置を開発する場合を示している。すなわち、制約条件400に、「MODxl」を登録したレコードと、「MODx2」を登録したレコードとが設定されている場合に出力されるテスト設計情報380の例を示している。なお、制約条件400に登録されるフラグを、全て「Enable」とする。
【0177】
抽出部360は、上記の制約条件400を基にして、ハード設計情報260とソフト設計情報280とに加えて、テスト設計情報380を出力する。そして、テスト設計情報380は、図19の示す通り出力される。なお、ハード設計情報260とソフト設計情報280は、図12に示した通りである。
【0178】
このように、本発明の第2実施形態によれば、ハード部品DB100、ソフト部品DB120、テスト部品DB320、関連DB340の情報から、計算機開発装置5に与えた制約条件400に関連したハードウェアの設計情報およびソフトウェアの設計情報と、試験のための設計情報とを得ることが可能となる。開発者は、開発対象の計算機機能を制約条件400に設定するだけで、計算機のハードとソフトの設計情報に加え、試験の設計情報を得ることが可能となる。
【0179】
そのため、本発明の第2実施形態によれば、新たな装置を開発する際の検査に関しても、過去の資産を活用することが可能となり、ハードウェア部品やソフ
トウェア部品を再利用する際の負担を大幅に軽減することが可能となる。すなわち、第2実施形態によれば、第1実施形態の効果に加えて、さらに、設計した計算機をチェックする仕組みをつくることができるため品質の高い計算機を作ることが可能になる。
《第3実施形態》
次に本発明の第3実施形態を説明する。なお、第3実施形態の説明において、上述した第1実施形態および第2実施形態と同じ構成については、特に断りのない限り、同じ符号を用いる。なお、第3実施形態は、第2実施形態の構成を基に適用した例を示すが、第1実施形態の構成に対しても適用することは可能である。
【0180】
図20および図21に本発明の第3実施形態の構成を示す。図20は、本発明の第3実施形態の計算機開発装置の機能ブロック図である。図21は、本発明の第3実施形態の計算機開発装置のハードウェア構成の一例を示した図である。
【0181】
第3実施形態の特徴は、ネットワーク3に接続する端末4を新たに導入し、計算機開発装置2に制約設定部300を設けたことにある。
【0182】
具体的には、図20に示すように、第3実施形態の計算機開発装置2は、第2実施形態の計算機開発装置5の構成に、制約設定部300を付加したものである。
【0183】
制約設定部300は、計算機開発装置2の制約条件400をネットワーク3に接続されている端末4(図21参照)から設定するための手段である。すなわち、制約設定部300は、端末4からのデータや各種要求を受け付け、制約条件400の設定を行う。
【0184】
また、図21に示すように、第3実施形態のハードウェア構成は、不揮発性メモリ16に格納されているデータが第2実施形態のものと一部異なる点と、ネットワーク3に端末4が接続されている点以外は、第2実施形態のものと同じである。具体的には、計算機開発装置2が有する不揮発性メモリ16には、第2実施形態の不揮発性メモリ15(図14参照)に格納されている各種データおよびプログラムに加え、さらに、制約設定部300の機能を実現するためのプログラム(制約設定プログラム3000)が格納されている。
【0185】
端末4は、計算機開発装置2の制約設定部300と通信し、制約条件400を設定する計算機である。端末4は、ユーザからの入力を受け付けて、対象の計算機と接続する機能や、現在の制約条件400の設定値を表示する機能、設定値を追加、変更する機能を有する。また、端末4は、ネットワーク3に接続できるインターフェースを有する。なお、端末4の具体的な構成について特に限定しない。端末4は、ユーザからの入力を受け付けて、計算機開発装置2の制約設定部300と通信して、制約設定部300を介して、制約条件400を設定できる機能を有する計算機であればよい。例えば、端末4には、HTTPによるデータの入出力可能なWebブラウザを具備した計算機(例えば、パーソナルコンピュータ(PC)やワークステーション)を用いることができる。また、Webブラウザへ入出力する情報を適切に制限することで携帯電話やPDA(Personal Digital Assistant)が具備するWebブラウザを利用しても良い。
【0186】
なお、本実施形態では、端末4は、ネットワーク3に接続できるインターフェースを有するものとして説明を行うが、インターフェースはそれに限定されるものではない。例えば、端末4は、RS232CやRS422などのシリアル伝送を具備する端末であり、ネットワーク3を介さずに直接、計算機開発装置2に接続するよう構成し、これらの計算機間を、SLIP(Serial Line Internet Protocol)やPPP(Point to Point Protocol)通信方式などにより接続しても本実施形態の効果を損なうものではない。
【0187】
また、第3実施形態では、端末4を独立した計算機として説明するが、端末4の機能を計算機開発装置2が有していても良い。その場合、それぞれの計算機は、設定に必要な画面出力手段(図示しない)が必要である。また、端末4の機能を備える計算機は、マウスやトラックボールなどのポインティングデバイス、キーボード等の入力手段(図示しない)を備える。
【0188】
次に、端末4および制約設定部300の動作を説明する。端末4は、ネットワーク3を介して、制約設定部300に接続する。その後、端末4は、制約設定部300を介して、現在の制約条件400に保持されている設定値を読み出す。端末4は、読み出した設定値を液晶ディスプレイ等の画面出力手段(図示しない)に表示する。開発者は、端末4の画面表示手段に表示されている設定値を見ながら、端末4の入力手段を介して設定値の変更指示を入力する。端末4は、開発者からの変更指示を受けて、制約設定部300に設定値の変更指示を通知する。制約設定部300は、通知された変更指示にしたがい、制約条件400の設定値を変更して、その結果を端末4に応答する。
【0189】
なお、制約設定部300の機能は、CPU10が不揮発性メモリ16に記憶されている制約設定プログラム3000をロードして実行することにより実現される。
【0190】
ここで、制約設定部300の構成例について、図22を用いて説明する。
【0191】
図22は、本発明の第3実施形態の制約設定部300の構成例を示した図である。
【0192】
図示するように、制約設定部300は、HTTPサーバ40、制約条件取得部41、および制約条件変更部42を有する。
【0193】
HTTPサーバ40は、通信部13およびネットワーク3を介して到達する端末4と通信を行い、端末4からの接続要求に対する応答を行う。
【0194】
制約条件取得部41は、HTTPサーバ40からの要求に応じて、制約条件400に保持されている設定値を読み出し、HTTPサーバ40に読み出した設定値を出力する。制約条件変更部42は、HTTPサーバ40からの要求に応じて、制約条件400に保持されている設定値の値を変更する。なお、制約条件取得部41および制約条件変更部42は、HTTPサーバ40と通信するソフトウェアであり、CGIやサーブレットなどにより実装されるのが好適である。
【0195】
具体的には、HTTPサーバ40は、端末4から、制約条件取得を要求された場合、制約条件取得部41へ当該要求を発行する。制約条件取得部41は、制約条件400から対応する情報を読み出し、端末4により閲覧可能な形式に書式を変換して、変換した情報をHTTPサーバ40へ返答する。HTTPサーバ40は、制約条件取得部41が返答した情報を受け付け、受け付けた情報を要求元の端末4へ応答を返信する。
【0196】
また、HTTPサーバ40は、端末4から、制約条件変更を要求された場合、制約条件変更部42へ当該要求を発行する。制約条件変更部42は、要求された変更すべき情報を元に制約条件400を変更する。
【0197】
続いて、端末4で出力される制約条件設定画面について、図23を用いて説明する。
【0198】
図23は、本発明の第3実施形態の端末4で出力される制約画面の一例を示した図である。
【0199】
ここで、端末4には、計算機開発装置2に保持されている制約条件400の設定変更(或いは設定値の入力)を受け付けるための制約条件設定ツールが実装されているものとする。なお、図示する例では、制約条件設定ツールの初期画面700を例示している。
【0200】
なお、以下の説明では、制約条件を設定するための専用ツールによる方式を示すが、Webブラウザにより同様の画面を出力することも可能である。その場合には、初期画面情報を端末4あるいは別の計算機(図示せず)にて保持しておき、Webブラウザの起動時に初期画面情報を参照すればよい。
【0201】
さて、制約条件設定画面700は、計算機開発装置2に保持されている制約条件400の参照指示を受け付ける参照ボタン701と、制約条件変更の要求を受け付ける変更ボタン702と、開発する計算機機能を選択するチェック画面710と、を有する。ユーザは、端末4に接続されているマウスやトラックボールなどのポインティングデバイス(図示せず)により、制約条件設定画面700上に表示されているカーソル720を移動操作し、対象のボタンやチェックボタンを選択し押下する。この操作により、ユーザは、計算機開発装置2に、制約条件を設定する。
【0202】
次に、図示する制約条件設定画面700を参照しながら、開発者が所望する計算機の機能を制約条件400に反映させる手順を説明する。
【0203】
先ず、開発者は、端末4に接続されているポインティングデバイス等を操作して、制約条件設定画面700上の参照ボタン701を押下して、現在の制約条件400の値をチェック画面710へ呼び出す。具体的には、開発者が参照ボタン701を押下すると、端末4は、計算機開発装置2の制約設定部300と通信して制約条件400に登録されている設定値を取得する。なお、制約設定部300は、端末4からの要求に応じて制約条件400の設定値を読み出す際、現在の制約条件400に含まれていないが、制約条件の対象となる項目も関連DB340を参照して、端末4に出力することが望ましい。このようにすれば、端末4は、現在の制約条件400に含まれていないが、制約条件の対象となる項目もチェック画面710へ呼び出して表示することができる。
【0204】
その後、開発者は、所望する計算機機能名711に対応する、機能有効712を登録するためのチェックボックスにチェックを入れる。開発者は、合わせて、必要な設計情報に対応する、回路図出力有効713を登録するためのチェックボックスにチェックを入れる。また、同様に、開発者は、設計データ出力有効714、ソースコード出力有効715、バイナリ出力有効716、テストプログラム出力有効717、およびテスト仕様出力有効718を登録するための各チェックボックスにチェックを入れる。
【0205】
必要な設計情報へのチェックが完了したら、開発者は、変更ボタン702を押下する。すると、端末4は、開発者の指定した設計情報を計算機開発装置2の制約設定部300へ通知する。その後、制約設定部300により、計算機開発装置2に登録されている制約条件400が更新される。
【0206】
なお、図23に示すチェック項目の例で制約条件400を更新すると、開発者は、制約条件400を得ることができる。
【0207】
以上により、本発明の第3実施形態によれば、開発者は、設定対象の計算機機能について専門的な知識が無くとも、ディスプレイに表示された制約条件設定画面700を見ながら、画面上でチェック項目を選択するだけで、開発対象となる計算機が必要とする機能を追加あるいは変更、削除することが可能となる。
【0208】
なお、本発明は、以上で説明した実施形態に限定されるものではなく、本発明の要旨の範囲内において種々の変形が可能である。
【0209】
例えば、抽出部180は、ハード部品DB100およびソフト部品DB120から抽出した設計情報を出力する際、ハード部品DB100、ソフト部品DB120、および関連DB140を参照して、抽出した設計情報のバージョンが関連DB140で指定されているバージョン(ハードバージョン、ソフトバージョン)と異なる場合に、警告メッセージを出力するようにしてもよい。
【0210】
また、例えば、上記の実施形態において、ハードウェア部品とソフトウェア部品とに分けて説明してきたが、本発明に関しては、ハードウェア部品が物理的に部品として存在するものに制限されるものではない。例えば、ハードウェア記述言語にて論理を記述されている「Register Transfer Level(RTL)」設計情報や、C言語で記述された論理設計情報であっても同様に扱うことが可能である。
【0211】
また、上記実施形態では、抽出部180(或いは、抽出部360)の機能は、CPU10が各プログラム(OSおよび抽出プログラム)を実行することにより実現される場合を例にしているが特にこれに限定するものではない。例えば、抽出部180(或いは、抽出部360)の機能を実現するために専用に設計されたハードウェア(ASIC(Application Specific Integrated Circuit)等)により、抽出部180(或いは、抽出部360)の機能を実現するようにしてもよい。
【図面の簡単な説明】
【0212】
【図1】本発明の第1実施形態における計算機開発装置の構成を表す機能ブロック図である。
【図2】本発明の第1実施形態の計算機開発装置のハードウェア構成の一例を示した図である。
【図3】本発明の第1実施形態の計算機開発装置の抽出部180の動作フローを示す図である。
【図4】本発明の第1実施形態のハード部品DB100のデータ構成を模擬的に示した図である。
【図5】本発明の第1実施形態のハードウェア部品の説明図である。
【図6】本発明の第1実施形態のソフト部品DB120のデータ構成を模擬的に示した図である。
【図7】本発明の第1実施形態の関連部品DB140のデータ構成を模擬的に示した図である。
【図8】本発明の第1実施形態の制約条件160のデータ構成を模擬的に示した図である。
【図9】図3のS510に示した選択処理の詳細な処理フローを示した図である。
【図10】図3のS530に示した最適化処理の詳細な処理フローを示した図である。
【図11】図3のS550に示した出力処理の詳細な処理フローを示した図である。
【図12】本発明の第1実施形態の抽出部180が出力する、ハード設計情報260およびソフト設計情報280の一例を示した図である。
【図13】本発明の第2実施形態における計算機開発装置の構成を表す機能ブロック図である。
【図14】本発明の第2実施形態の計算機開発装置5のハードウェア構成の一例を示した図である。
【図15】本発明の第2実施形態のテスト部品320のデータ構成を模擬的に示した図である。
【図16】本発明の第2実施形態の関連DB340のデータ構成を模擬的に示した図である。
【図17】本発明の第2実施形態の計算機開発装置5における制約条件400のデータ構成を模擬的に示した図である。
【図18】本発明の第2実施形態が行う、追加出力処理の詳細な処理フローを示した図である。
【図19】本発明の第2実施形態の抽出部360が出力する、テスト設計情報380のデータ構成を模擬的に示した図である。
【図20】本発明の第3実施形態の計算機開発装置の機能ブロック図である。
【図21】本発明の第3実施形態の計算機開発装置のハードウェア構成の一例を示した図である。
【図22】本発明の第3実施形態の制約設定部300の構成例を示した図である。
【図23】本発明の第3実施形態の端末4で出力される制約画面の一例を示した図である。
【符号の説明】
【0213】
1…計算機開発装置、2…計算機開発装置、3…ネットワーク、5…計算機開発装置、10…CPU、11…内部バス、12…RAM、13…通信部、14…不揮発性メモリ、15…不揮発性メモリ、16…不揮発性メモリ、20…OS、40…HTTPサーバ、41…制約条件取得部、42…制約条件変更部、100…ハード部品DB、120…ソフト部品DB、140…関連DB、160…制約条件、180…抽出部、220…選択機能、240…最適化機能、250…出力機能、260…ハード設計情報、280…ソフト設計情報、300…制約条件設定部、340…関連DB、360…抽出部、400…制約条件

【特許請求の範囲】
【請求項1】
計算機の設計情報を集めた設計資産情報を保持し、該設計資産情報の中から指定された計算機の機能を実現するための設計情報を抽出する計算機開発装置であって、
前記設計資産情報には、ハードウェアを識別するハード識別情報毎に、該ハードウェアの設計情報を対応付けて登録しているハード部品データベースと、ソフトウェアを識別するソフト識別情報毎に、該ソフトウェアの設計情報を対応付けて登録しているソフト部品データベースとが含まれていて、
計算機の機能毎に、該機能を実現するために必要なハードウェアおよびソフトウェアを特定するデータが登録されている関連データベースと、
開発対象の計算機の機能を指定する情報を含む制約条件が登録されている制約条件データベースと、
前記制約条件データベースおよび前記関連データベースを用いて、前記制約条件に含まれる機能毎に該機能を実現するために必要なハードウェアおよびソフトウェアを特定し、該特定したハードウェアおよびソフトウェアに対応する設計情報を前記設計資産情報の中から抽出し、該抽出した該設計情報を出力する抽出手段と、を有すること
を特徴とする計算機開発装置。
【請求項2】
請求項1に記載の計算機開発装置であって、
前記設計資産情報には、計算機の機能を試験するテストを識別するテスト識別情報毎に、該テストに利用するためのテスト設計情報を登録したテスト部品データベースが含まれていて、
前記関連データベースに登録されているデータは、前記計算機の機能毎に、該機能を実現するために必要なハードウェアおよびソフトウェアを特定するデータに加え、さらに、該機能を試験するためのテストを特定するデータが関連付けられていて、
前記抽出手段は、前記制約条件データベースおよび前記関連データベースを用いて、前記制約条件に含まれる機能を試験するためのテストを特定し、前記特定したテストに対応するテスト設計情報を前記設計資産情報の中から抽出し、該抽出したテスト設計情報を前記設計情報に含めて出力すること
を特徴とする計算機開発装置。
【請求項3】
請求項1または2に記載の計算機開発装置であって、
前記設計資産情報に含まれている前記設計情報は、複数の種類の情報により構成されていて、
前記制約条件には、前記計算機の機能を指定する情報に、前記設計情報の種類毎に該種類の情報を出力するか否かを指定した出力フラグが対応付けられていて、
前記抽出手段は、前記設計情報を抽出する際、前記出力フラグを参照し、該出力することを指定する出力フラグに対応付けられている種類の設計情報だけを抽出して出力すること
を特徴とする計算機開発装置。
【請求項4】
請求項2〜3のいずれか一項に記載の計算機開発装置であって、
前記関連データベースに登録されている前記特定するデータには、それぞれ、管理履歴が対応付けられていて、
前記設計資産情報に含まれる、前記ハード識別情報、前記ソフト識別情報、および前記テスト識別情報には、それぞれ、前記管理履歴が対応付けられていて、
前記抽出手段は、前記出力する設計資産情報の中に、前記関連データベースに対応付けられている管理履歴と同じ管理履歴の設計情報がなければ警告メッセージを出力すること
を特徴とする計算機開発装置。
【請求項5】
請求項1〜4のいずれか一項に記載の計算機開発装置であって、
前記ユーザからの操作により、前記制約条件の設定を受け付ける設定手段を有すること
を特徴とする計算機開発装置。
【請求項6】
請求項5に記載の計算機開発装置であって、
前記計算機開発装置は、ネットワークを介して端末装置と接続されていて、
前記設定手段は、前記端末装置とネットワークを介してデータの送受信を行う通信手段を備え、
前記通信手段は、前記端末装置からのデータ参照要求に応じて前記登録されている制約条件を出力する処理、および前記端末からの設定要求に応じて前記登録されている制約条件の変更を受け付ける処理を行うこと
を特徴とする計算機開発装置。
【請求項7】
請求項1〜6のいずれか一項に記載の計算機開発装置であって、
前記ハード部品データベースは、前記ハード識別情報毎に、該ハード識別情報により特定されるハードウェアが共有可能な部品であるか否かを示す共有情報が対応付けられていて、
前記抽出手段は、前記特定したハードウェアの中に同じハードウェアが複数ある場合、当該同じハードウェアが共有可能な部品であるか否かを前記ハード部品データベースの共有情報を用いて判定し、該判共有可能と判定されたハードウェアは1つにしてから、前記設計情報を前記設計資産情報の中から抽出すること
を特徴とする計算機開発装置。
【請求項8】
請求項1〜7のいずれか一項に記載の計算機開発装置であって、
前記抽出手段は、前記特定したソフトウェアの中に同じソフトウェアが複数ある場合、当該ソフトウェアを1つにしてから、前記設計情報を前記設計資産情報の中から抽出すること
を特徴とする計算機開発装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate