IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社富士通エフサスの特許一覧

特許7620213仕様書作成システム、仕様書作成方法、仕様書作成プログラム、及びBIOSプログラム
<>
  • 特許-仕様書作成システム、仕様書作成方法、仕様書作成プログラム、及びBIOSプログラム 図1
  • 特許-仕様書作成システム、仕様書作成方法、仕様書作成プログラム、及びBIOSプログラム 図2
  • 特許-仕様書作成システム、仕様書作成方法、仕様書作成プログラム、及びBIOSプログラム 図3
  • 特許-仕様書作成システム、仕様書作成方法、仕様書作成プログラム、及びBIOSプログラム 図4
  • 特許-仕様書作成システム、仕様書作成方法、仕様書作成プログラム、及びBIOSプログラム 図5
  • 特許-仕様書作成システム、仕様書作成方法、仕様書作成プログラム、及びBIOSプログラム 図6
  • 特許-仕様書作成システム、仕様書作成方法、仕様書作成プログラム、及びBIOSプログラム 図7
  • 特許-仕様書作成システム、仕様書作成方法、仕様書作成プログラム、及びBIOSプログラム 図8
  • 特許-仕様書作成システム、仕様書作成方法、仕様書作成プログラム、及びBIOSプログラム 図9
  • 特許-仕様書作成システム、仕様書作成方法、仕様書作成プログラム、及びBIOSプログラム 図10
  • 特許-仕様書作成システム、仕様書作成方法、仕様書作成プログラム、及びBIOSプログラム 図11
  • 特許-仕様書作成システム、仕様書作成方法、仕様書作成プログラム、及びBIOSプログラム 図12
  • 特許-仕様書作成システム、仕様書作成方法、仕様書作成プログラム、及びBIOSプログラム 図13
  • 特許-仕様書作成システム、仕様書作成方法、仕様書作成プログラム、及びBIOSプログラム 図14
  • 特許-仕様書作成システム、仕様書作成方法、仕様書作成プログラム、及びBIOSプログラム 図15
  • 特許-仕様書作成システム、仕様書作成方法、仕様書作成プログラム、及びBIOSプログラム 図16
  • 特許-仕様書作成システム、仕様書作成方法、仕様書作成プログラム、及びBIOSプログラム 図17
  • 特許-仕様書作成システム、仕様書作成方法、仕様書作成プログラム、及びBIOSプログラム 図18
  • 特許-仕様書作成システム、仕様書作成方法、仕様書作成プログラム、及びBIOSプログラム 図19
  • 特許-仕様書作成システム、仕様書作成方法、仕様書作成プログラム、及びBIOSプログラム 図20
  • 特許-仕様書作成システム、仕様書作成方法、仕様書作成プログラム、及びBIOSプログラム 図21
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-01-15
(45)【発行日】2025-01-23
(54)【発明の名称】仕様書作成システム、仕様書作成方法、仕様書作成プログラム、及びBIOSプログラム
(51)【国際特許分類】
   G06F 8/73 20180101AFI20250116BHJP
【FI】
G06F8/73
【請求項の数】 7
(21)【出願番号】P 2021121224
(22)【出願日】2021-07-26
(65)【公開番号】P2023017171
(43)【公開日】2023-02-07
【審査請求日】2024-04-04
(73)【特許権者】
【識別番号】598057291
【氏名又は名称】エフサステクノロジーズ株式会社
(74)【代理人】
【識別番号】110004370
【氏名又は名称】弁理士法人片山特許事務所
(72)【発明者】
【氏名】山口 博史
(72)【発明者】
【氏名】有國 文也
【審査官】円子 英紀
(56)【参考文献】
【文献】特開2006-011506(JP,A)
【文献】特開平11-249888(JP,A)
【文献】特開2015-166957(JP,A)
【文献】特表2009-535690(JP,A)
【文献】米国特許出願公開第2018/0150302(US,A1)
【文献】米国特許出願公開第2012/0260077(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 8/73
(57)【特許請求の範囲】
【請求項1】
第1のコンピュータと第2のコンピュータとを備えた仕様書作成システムであって、
前記第1のコンピュータは、
前記第1のコンピュータのハードウェア構成を示す構成情報に基づいて、前記構成情報によって定まるBIOSの第1の表示項目を表示装置に表示させるための表示データを生成する表示データ生成部と、
前記表示データを解析して、前記表示データに含まれる前記第1の表示項目を含む第1の情報を生成する第1の解析情報生成部とを有し、
前記第2のコンピュータは、
前記BIOSのソースコードを解析して、前記第1のコンピュータのハードウェア構成によらずに定まる前記BIOSの第2の表示項目を含む第2の情報を生成する第2の解析情報生成部と、
前記第1の情報に含まれる前記第1の表示項目と、前記第2の情報に含まれる前記第2の表示項目とが記述された前記BIOSの仕様書を作成する仕様書作成部と、
を有することを特徴とする仕様書作成システム。
【請求項2】
第1のコンピュータが、
前記第1のコンピュータのハードウェア構成を示す構成情報に基づいて、前記構成情報によって定まるBIOSの第1の表示項目を表示装置に表示させるための表示データを生成し、
前記表示データを解析して、前記表示データに基づいて前記表示装置が表示する前記第1の表示項目を含む第1の情報を生成し、
第2のコンピュータが、
前記BIOSのソースコードを解析して、前記第1のコンピュータのハードウェア構成によらずに定まる前記BIOSの第2の表示項目を含む第2の情報を生成し、
前記第1の情報に含まれる前記第1の表示項目と、前記第2の情報に含まれる前記第2の表示項目とが記述された前記BIOSの仕様書を作成する、
ことを特徴とする仕様書作成方法。
【請求項3】
第1のコンピュータのハードウェア構成によって定まるBIOSの第1の表示項目を含む第1の情報を取得し、
前記BIOSのソースコードを解析して、前記ハードウェア構成によらずに定まる前記BIOSの第2の表示項目を含む第2の情報を生成し、
前記第1の情報に含まれる前記第1の表示項目と、前記第2の情報に含まれる前記第2の表示項目とが記述された前記BIOSの仕様書を作成する、
処理を第2のコンピュータに実行させるための仕様書作成プログラム。
【請求項4】
前記第1のコンピュータが特定のモデルのときに前記ソースコードの一部をコンパイルしないことを指示する指示文を特定し、
前記一部に記述されている内容を、前記第1のコンピュータが前記特定のモデルの場合には表示しないことを前記仕様書に記述する、
処理を前記第2のコンピュータに実行させるための請求項3に記載の仕様書作成プログラム。
【請求項5】
相異なる複数の前記ハードウェア構成と、各々の前記ハードウェア構成に対応する複数の前記第2の表示項目とを対応付けて前記仕様書に記述する、
処理を前記第2のコンピュータに実行させるための請求項3に記載の仕様書作成プログラム。
【請求項6】
コンピュータのハードウェア構成を示す構成情報に基づいて、前記構成情報によって定まるBIOSの表示項目を表示装置に表示させるための表示データを生成し、
前記表示データを解析して、前記表示データに基づいて前記表示装置が表示する前記表示項目を含む情報を生成する、
処理を前記コンピュータに実行させるためのBIOSプログラム。
【請求項7】
前記構成情報を含むファイルが可搬型の記録媒体に格納されており、かつ前記ファイルのファイル名が特定の名前であるときに、前記表示データを生成する処理と前記情報を生成する処理とを前記コンピュータに実行させるための請求項6に記載のBIOSプログラム。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、仕様書作成システム、仕様書作成方法、仕様書作成プログラム、及びBIOSプログラムに関する。
【背景技術】
【0002】
コンピュータに電源を投入すると、OS(Operating System)の起動に先立ってBIOS(Basic Input / Output System)が実行される。BIOSは、コンピュータの起動時にCPU(Central Processing Unit)等のハードウェアを初期化するファームウェアであって、不揮発性メモリに格納される。
【0003】
また、BIOSは、ユーザがコンピュータの構成を変更するためのBIOSメニューをディスプレイに表示する。BIOSメニューで変更できる構成としては、例えば、CPUのコア数等がある。
【0004】
コンピュータの開発者は、事前に作成しておいたBIOSメニューの仕様書を基にしてBIOSを開発する。その仕様書には、例えば、ディスプレイに表示するページや、各ページに含まれる項目等が記述されている。また、BIOSメニューの仕様書は、コンピュータの起動と停止とを繰り返しながら開発者が手動で作成する。
【0005】
しかしながら、このようにコンピュータの起動と停止とを繰り返したのではBIOSメニューの仕様書の作成に長時間を要してしまう。
【先行技術文献】
【特許文献】
【0006】
【文献】特開2008-204395号公報
【文献】特開2009-271864号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
一側面によれば、仕様書を作成する時間を短縮することを目的とする。
【課題を解決するための手段】
【0008】
一側面によれば、第1のコンピュータと第2のコンピュータとを備えた仕様書作成システムであって、第1のコンピュータは、第1のコンピュータのハードウェア構成を示す構成情報に基づいて、構成情報によって定まるBIOSの第1の表示項目を表示装置に表示させるための表示データを生成する表示データ生成部と、表示データを解析して、表示データに含まれる第1の表示項目を含む第1の情報を生成する第1の解析情報生成部とを有し、第2のコンピュータは、BIOSのソースコードを解析して、第1のコンピュータのハードウェア構成によらずに定まるBIOSの第2の表示項目を含む第2の情報を生成する第2の解析情報生成部と、第1の情報に含まれる第1の表示項目と、第2の情報に含まれる第2の表示項目とが記述されたBIOSの仕様書を作成する仕様書作成部とを有する仕様書作成システムが提供される。
【発明の効果】
【0009】
一側面によれば、仕様書を作成する時間を短縮できる。
【図面の簡単な説明】
【0010】
図1図1は、BIOSメニューの一例を示す図である。
図2図2(a)は、BIOSメニューの仕様書の模式図であり、図2(b)は、ページの仕様に含まれる項目の模式図である。
図3図3は、「Boot Watchdog」と「Timeout Value」の各メニュー項目の仕様の模式図である。
図4図4は、BIOSの動的表示項目を説明するためのBIOSメニューの模式図である。
図5図5は、ページを更新するために担当者が行うフローチャートである。
図6図6は、本実施形態に係る仕様書作成システムのシステム構成図である。
図7図7は、VFRコードの模式図である。
図8図8は、コンピュータのハードウェア構成図である。
図9図9は、構成ファイルに含まれる構成情報の一例を示す模式図である。
図10図10は、コンピュータの機能構成図である。
図11図11は、第1の解析情報の模式図である。
図12図12は、本実施形態に係る解析方法のフローチャートである。
図13図13は、仕様書作成装置の機能構成図である。
図14図14は、第2の解析情報の模式図である。
図15図15は、仕様書作成部が作成した仕様書の模式図である。
図16図16は、本実施形態に係る仕様書作成方法のフローチャートである。
図17図17は、図16のステップS31における処理を示す模式図である。
図18図18(a)はメニュー項目テーブルの模式図であり、図18(b)は「entry_id」が「2」のメニュー項目テーブルの構成図である。
図19図19は、図18(a)、(b)の各メニュー項目テーブルをマージして得られたメニュー項目テーブルの模式図である。
図20図20は、HTML形式の仕様書のソースコードを示す模式図である。
図21図21は、仕様書作成装置のハードウェア構成図である。
【発明を実施するための形態】
【0011】
本実施形態の説明に先立ち、本願発明者が検討した事項について説明する。
【0012】
図1は、BIOSメニューの一例を示す図である。BIOSメニュー1は、コンピュータの設定や、BIOSそのものの設定をユーザが変更するためにBIOSが表示装置に表示するメニュー形式の画面である。
【0013】
図1の例では、BIOSメニュー1は、「System」や「Server Config」等の名前が付けられた複数のページ2を有する。個々のページ2には、更に「Boot Watchdog」等のメニュー項目3が含まれる。メニュー項目3は、コンピュータの設定等を行う項目である。
【0014】
例えば、「Boot Watchdog」というメニュー項目3の選択肢はドロップダウンリストで<Enabled>と<Disabled>がある。このうち、<Enabled>のときだけ「Timeout Value」と「Action」という他のメニュー項目3の選択肢を変更でき、<Disabled>のときにはグレーアウトされて変更できない。
【0015】
図2(a)は、BIOSメニュー1の仕様書の模式図である。仕様書5は、BIOSメニュー1の仕様を記述した電子ファイルである。一例として、仕様書5は、表紙6と、ページ2ごとの仕様7とを含む。また、ページ2の仕様7には、メニュー項目の仕様9が記述される。
【0016】
図2(b)は、ページ2の仕様7に含まれる項目の模式図である。図2(b)に示すように、ページ2の仕様7には、前述のページ名やメニュー項目名の他に種々の項目が含まれる。
【0017】
図3は、「Boot Watchdog」と「Timeout Value」の各メニュー項目の仕様9の模式図である。
【0018】
図3に示すように、これらの仕様9には、メニュー項目の他に、選択可能な選択肢、操作権限、表示条件、コンピュータのモデルごとのデフォルト値、及びヘルプメッセージ等も含まれる。
【0019】
仕様書5は、その用途によって1次仕様書と2次仕様書とに分けられる。このうち、1次仕様書は、BIOSを作成する開発者が参照する仕様書である。一方、2次仕様書は、BIOSを備えたコンピュータのテスト担当者や、当該コンピュータのユーザマニュアル作成者が参照する仕様書である。
【0020】
2次仕様書は、テスト前にテスト担当者に渡され、その内容をもとにテストが実施される。そのため、テスト対象のコンピュータと2次仕様書とで表示内容が異なるとテストがパスしない。
【0021】
また、2次仕様書は、コンピュータの出荷前にユーザマニュアル作成者に渡され、その内容をもとにユーザマニュアルが作成される。よって、ユーザの混乱を避けるために、コンピュータが表示するBIOSメニュー1は2次仕様書通りとなる必要がある。
【0022】
ここで、BIOSの開発者が、1次仕様書にはないBIOSメニューを追加したり、1次仕様書にあるBIOSメニューを変更したりした場合を考える。この場合、BIOSの修正内容を1次仕様書に反映させて、1次仕様書がそのまま2次仕様書となると、1次仕様書と2次仕様書のそれぞれの内容が同一となって不要な混乱を避けることができる。
【0023】
例えば、担当者がBIOSのソースコードを静的に解析することで修正内容を特定し、その修正内容を2次仕様書に反映させることで、1次仕様書と2次仕様書のそれぞれの内容が同一となる。
【0024】
しかしながら、ソースコードを静的に解析することで特定できる表示項目は、コンピュータのハードウェア構成によらずに定まる静的表示項目に限られる。例えば、図1において、プロセッサの温度を監視するかを設定する目メニュー項目「Temperature Monitoring」の「<Disabled>」が静的表示項目の一例である。
【0025】
一方、BIOSメニューには、コンピュータのハードウェア構成によって定まる動的表示項目がある。動的表示項目の内容は、コンピュータのハードウェア構成ごとに異なるため、それをソースコードから特定することはできない。
【0026】
図4は、BIOSの動的表示項目を説明するためのBIOSメニュー1の模式図である。
【0027】
図4の例では、「Active Processor Cores」と呼ばれるメニュー項目を例示している。このメニュー項目は、使用可能なCPUのコア数を選択するための項目である。この例では、コア数を示す「All」、「1」、「2」、…、「11」が動的表示項目となる。コア数はコンピュータごとに異なる。そのため、実際にコンピュータでBIOSメニュー1を表示させないと、「Active Processor Cores」に表示される「All」、「1」、「2」、…、「11」等の動的表示項目は判らない。
【0028】
また、動的表示項目と静的表示項目のどちらであっても、最終的には担当者が以下のようにしてコンピュータを動作させることで仕様書のページ2を更新する必要がある。
【0029】
図5は、ページ2を更新するために担当者が行うフローチャートである。まず、担当者は、動的表示項目を表示させるためのコンピュータを用意する(ステップS1)。
【0030】
次に、担当者が、コンピュータの電源を投入し、BIOSを起動させる(ステップS2)。
【0031】
次いで、担当者がBIOSメニュー1を表示させる(ステップS3)。
続いて、担当者が、BIOSメニュー1の表示項目を確認する(ステップS4)。
【0032】
次に、担当者が、表示された表示項目と、これに対応した仕様書のページ2とを比較し、ページ2の内容を修正する必要があるかを判定する(ステップS5)。
【0033】
ここで、修正する必要があると判定された場合にはステップS6に移り、担当者がページ2の内容を修正する。一方、ステップS5の判定が否定された場合にはステップS6をスキップする。
【0034】
次に、担当者が、他の表示項目を確認する必要があるかを判定する(ステップS7)。ここで確認する必要がないと判定された場合には処理を終える。
【0035】
一方、ステップS7の判定が肯定された場合にはステップS8に移る。ステップS8では、CPUのコア数等のハードウェア構成を変更する必要があるかを担当者が判定する。例えば、前述の図4のようにメニュー項目「Active Processor Cores」の表示項目を確認したい場合には、CPUのコア数を変更する必要がある。
【0036】
ステップS8において構成の変更が必要ない判定された場合にはステップS3に戻る。一方、ステップS8の判定が肯定された場合にはステップS9に移り、担当者がコンピュータの電源を落とす。その後、ステップS1に戻り、ハードウェア構成が変更されたコンピュータを用意する。
【0037】
以上により、ページ2を更新するために担当者が行う処理を終える。このような方法では、仕様書のページ2に対応したハードウェア構成を備えたコンピュータを用意する必要があり、仕様書の作成に長時間を要してしまう。
【0038】
特に、前述のようにBIOSのソースコードから動的表示項目を特定することはできないため、動的表示項目に対応したページ2を更新する場合に長時間を要することになる。
【0039】
しかも、担当者は手作業で仕様書を修正するため、仕様書に誤りが生じることがある。その場合には仕様書を再作成する必要があり、時間とコストが無駄になる。
【0040】
(本実施形態)
図6は、本実施形態に係る仕様書作成システム10のシステム構成図である。
【0041】
図6に示すように、この仕様書作成システム10は、コンピュータ20と仕様書作成装置30とを備える。なお、コンピュータ20と仕様書作成装置30は、インターネットやLAN(Local Area Network)等のネットワーク25を介して相互に接続される。なお、担当者がUSB(Universal Serial Bus)メモリ等の可搬型の記録装置を用いてコンピュータ20と仕様書作成装置30との間でデータのやり取りを行う場合にはネットワーク25は不要である。
【0042】
コンピュータ20は、BIOSを実行するPC(Personal Computer)やサーバ等のコンピュータである。本実施形態では、このコンピュータ20が実行するBIOSの仕様書34を作成する。なお、コンピュータ20は、第1のコンピュータの一例である。また、仕様書34は、1次仕様書と2次仕様書のどちらでもよい。
【0043】
また、コンピュータ20は、仕様書34の作成に要する動的表示項目についての第1の解析情報33を生成するための制御部21を備える。その第1の解析情報33については後述する。
【0044】
一方、仕様書作成装置30は、サーバやPC(Personal Computer)等のコンピュータであって、自装置の各部を制御したり仕様書34を作成したりする制御部31を備える。なお、仕様書作成装置30は第2のコンピュータの一例である。
【0045】
この例では、制御部31は、BIOSのソースコード32と第1の解析情報33とを取得し、これらに基づいてBIOSメニューの仕様書34を作成する。なお、BIOSのソースコード32は、コンピュータ20が実行するBIOSのソースコードである。そのソースコード32にはUEFI(Unified Extensible Firmware Interface)仕様で記述されたVFR(Visual Forms Representation)コード32aが含まれる。
【0046】
図7は、VFRコード32aの模式図である。図7に示すように、VFRコード32aには種々の要素が含まれる。そのうち、「formset」要素は、VFRコード32aの開始を示す要素である。「guid」要素は、BIOSメニュー1のページ2(図1参照)を一意に識別する要素である。また、「goto」要素は、次に遷移するページ2を示す要素である。「label」要素は、動的表示項目が挿入される位置を示す。
【0047】
また、VFRコード32aには、C言語のディレクティブ「#if」、「#endif」が記述される。これらのディレクティブは、コンピュータ20が特定のモデルのときにソースコード32の一部32bをコンパイルしないことを指示する指示文である。この例では、コンピュータのモデルが「MODEL_A」又は「MODEL_C」のときに、ディレクティブ「#if」とディレクティブ「#endif」で挟まれた一部32bがコンパイルされる。コンピュータのモデルが「MODEL_B」のときには一部32bはコンパイルされない。
【0048】
図8は、コンピュータ20のハードウェア構成図である。図8に示すように、このコンピュータ20は、プロセッサ20a、メモリ20b、BIOS用不揮発性メモリ20c、設定管理用不揮発性メモリ20d、及びID用不揮発性メモリ20eを備える。更に、コンピュータ20は、PCI(Peripheral Component Interconnect)カード20f、入力装置20g、表示装置20h、及び媒体読取装置20iを備える。これらの各部はバス20kにより相互に接続される。
【0049】
このうち、プロセッサ20aは、コンピュータ20の各部を制御したり種々のプログラムを実行したりするCPUやGPU(Graphics Processing Unit)である。メモリ20bは、DRAM(Dynamic Random Access)等の揮発性メモリであって、プロセッサ20aが実行する種々のプログラムがロードされる。
【0050】
BIOS用不揮発性メモリ20cは、BIOSプログラム27を記憶した不揮発性メモリである。なお、BIOSプログラム27は、BIOSのソースコード32をコンパイルして得られたバイナリファイルである。
【0051】
設定管理用不揮発性メモリ20dは、BIOSメニューで設定された設定内容を記憶する不揮発性メモリである。ID用不揮発性メモリ20eは、コンピュータ20のモデルを示す文字列であるIDを記憶した不揮発性メモリである。
【0052】
PCIカード20fは、PCIバスで外部の装置と通信を行うための通信インターフェースである。入力装置20gは、担当者がコンピュータ20に各種の情報を入力するためのキーボードやマウス等のデバイスである。
【0053】
表示装置20hは、BIOSメニューを表示する液晶ディスプレイ等のハードウェアである。また、媒体読取装置20iは、例えばUSBメモリ等の可搬型の記録媒体20jに対してデータの書き込みと読み込みとを行う装置である。
【0054】
記録媒体20jは、複数の構成ファイル23を記憶した可搬型の媒体である。構成ファイル23は、コンピュータ20のハードウェア構成を示す構成情報を含むファイルである。ハードウェア構成としては、例えばコンピュータ20のプロセッサ20aのコア数等がある。この例では、複数の構成ファイル23ごとに構成情報が異なるものとする。
【0055】
図9は、構成ファイル23に含まれる構成情報の一例を示す模式図である。図9の例では、XML(Extensible Markup Language)形式で構成情報24を表現する。例えば、<cpu_cores>のタグは一つのプロセッサ20aのコア数を示し、<memory_size>のタグはメモリ20bの容量を示す。
【0056】
図10は、コンピュータ20の機能構成図である。図10に示すように、コンピュータ20の制御部21は、第1の表示データ生成部41、第2の表示データ生成部42、設定管理部43、IFR(Internal Forms Representation)管理部44、及びIFR表示部45を備える。更に、制御部21は、モード判定部46、構成エミュレーション部47、画面生成部48、及び第1の解析情報生成部49を備える。このような制御部21の機能は、プロセッサ20aとメモリ20bがBIOSプログラム27を実行することで実現される。
【0057】
このうち、モード判定部46は、コンピュータ20が動的表示項目解析モードかどうかを判定する処理部である。動的表示項目解析モードは、コンピュータ20が、BIOSの動的表示項目を含む第1の解析情報33を生成するモードである。一例として、モード判定部46は、構成ファイル23の名前が予め定めておいた特定の名前であるときに動的表示項目解析モードであると判定する。
【0058】
なお、コンピュータ20のマザーボート上のDIP (Dual Inline Package)スイッチが値を示す場合に、モード判定部46は動的表示項目解析モードであると判定してもよい。
【0059】
第1の表示データ生成部41は、表示装置20hに静的表示項目を表示するための第1のIFR (Internal Forms Representation)データ41aを生成する処理部である。第1のIFRデータ41aは、ソースコード32のVFRコード32aのうち、静的表示項目に対応したコードをコンパイルして得られたUEFI仕様のデータである。
【0060】
また、第1の表示データ生成部41には第1のMC(Menu Controller)部41bが含まれる。第1のMC部41bは、動的表示項目解析モードのときに第1のIFRデータ41aを生成し、それをIFR管理部44に渡す処理部である。
【0061】
ここでは、第1のMC部41bは、コンピュータ20のプロセッサ20aの実際のコア数等のハードウェア構成を参照しない。その代わり、第1のMC部41bは、記録媒体20jに格納されている構成ファイル23に含まれる構成情報24を構成エミュレーション部47を介して取得し、その構成情報24を参照して第1のIFRデータ41aを生成する。
【0062】
なお、構成エミュレーション部47が構成情報24を渡さない場合は、第1のMC部41bは、コンピュータ20の実際のハードウェア構成を参照して第1のIFRデータ41aを生成する。
【0063】
一方、第2の表示データ生成部42は、表示装置20hに動的表示項目を表示するための第2のIFRデータ42aを生成する処理部である。第2のIFRデータ42aは、表示データの一例であって、ソースコード32のVFRコード32aのうちで動的表示項目に対応したコードをコンパイルして得られたUEFI仕様のデータである。
【0064】
また、第2の表示データ生成部42には第2のMC部42bが含まれる。第2のMC部42bは、動的表示項目解析モードのときに第2のIFRデータ42aを生成し、それをIFR管理部44に渡す処理部である。
【0065】
第2のIFRデータ42aによって表示される動的表示項目は第1の表示項目の一例である。この例では、第2のMC部42bは、コンピュータ20のプロセッサ20aの実際のコア数等のハードウェア構成を参照しない。その代わり、第2のMC部42bは、記録媒体20jに格納されている構成ファイル23に含まれる構成情報24を構成エミュレーション部47を介して取得し、その構成情報24を参照して第2のIFRデータ42aを生成する。
【0066】
これにより、コンピュータ20のハードウェア構成を変更しなくても、ハードウェア構成の異なるコンピュータ20の第2のIFRデータ42aを生成することができる。
【0067】
なお、構成エミュレーション部47が構成情報24を渡さない場合は、第2のMC部42bは、コンピュータ20の実際のハードウェア構成を参照して第2のIFRデータ42aを生成する。
【0068】
構成エミュレーション部47は、各表示データ生成部41、42から構成情報24の取得要求が来たときに、記録媒体20jに格納されている構成ファイル23に含まれる構成情報24を各表示データ生成部41、42に渡す。例えば、第2の表示データ生成部42が構成エミュレーション部47にプロセッサ20aのコア数の取得を要求したとする。この場合、構成エミュレーション部47は、構成ファイル23に記述されているコア数を第2の表示データ生成部42に渡す。そのコア数は、プロセッサ20aの実際のコア数と異なってもよい。そして、このコア数に基づいて、第2の表示データ生成部42は第2のIFRデータ42aを生成する。
【0069】
画面生成部48は、IFR管理部44から各IFRデータ41a、42aを取得し、これらに基づいてBIOSメニュー1の表示画面を疑似的に生成する処理部である。なお、画面生成部48は、実際に表示装置20hに画面を表示せずに、画面の表示に要するデータを生成するのみである。また、画面生成部48は、画面の表示に使用した各IFRデータ41a、42aを第1の解析情報生成部49に渡す。
【0070】
BIOSメニュー1の表示画面のページ構成はツリー状になっていることが多い。そのため、画面生成部48は、ツリー状のデータ構造を幅優先探索するアルゴリズムを使う等して全ページのIFRデータ41a、42aを抽出し、それを第1の解析情報生成部49に渡してもよい。なお、各IFRデータ41a、42aには、他のページを表示させるためのCross-Referenceという情報があり、これによりページ間の遷移関係を表すことができる。
【0071】
設定管理部43は、BIOSメニュー1で変更された設定を示す設定情報を管理し、それを設定管理用不揮発性メモリ20dに書き込む処理部である。なお、設定管理部43は、その設定情報をIFR表示部45から受け取る。
【0072】
IFR管理部44は、第1の表示データ生成部41と第2の表示データ生成部42の各々から各IFRデータ41a、42aを取得し、それらをデータベースとして管理する処理部である。また、IFR管理部44は、IFR表示部45から各IFRデータ41a、42aの取得要求を受けたときに、各IFRデータ41a、42aをIFR表示部45に渡す。
【0073】
IFR表示部45は、各IFRデータ41a、42aを解析することにより、表示装置20hにBIOSメニュー1を表示する処理部である。また、IFR表示部45は、入力装置20gからの入力に従ってBIOSメニュー1の表示を変更する。BIOSメニュー1の設定が変更された場合、IFR表示部45は、変更された設定情報を設定管理部43に通知する。
【0074】
第1の解析情報生成部49は、画面生成部48から取得した各IFRデータ41a、42aを解析した第1の解析情報を生成する処理部である。第1の解析情報は、第1の情報の一例であって、第2のIFRデータ42aに含まれる動的表示項目を含む。
【0075】
図11は、第1の解析情報33の模式図である。図11の例では、XML形式で第1の解析情報33を表現する。なお、その第1の解析情報33と、図7のVFRコード32aとは以下のように対応する。
【0076】
例えば、第1の解析情報33の「menu_page」要素はページ2の構成を示し、VFRコード32aの「formset」の情報に対応する。また、「formsetguid」要素はVFRコード32aの「formset」の「guid」の情報に対応する。「item」要素はメニュー項目を示し、VFRコード32aの「one of」~「endoneof」で表現される項目に対応する。
【0077】
「next_page」要素は、ページ2間の接続する情報であって、次に遷移するページ2を示す。その「next_page」要素は、VFRコード32aの「goto」以下で表現される情報に対応する。
【0078】
「dynamic_item」要素は、動的表示項目が挿入される位置を示し、VFRコード32aの「label」で表現される情報に対応する。
【0079】
「suppress_condition」要素は、表示しない条件を示し、VFRコード32aのディレクティブ「#if」~「#endif」に対応する。この例では、コンピュータ20のモデルが「MODEL_B」であるという条件が「suppress_condition」要素に記述される。また、「suppress_condition」要素の次の「xsd:string」要素は、モデルが「MODEL_B」のときにBIOSメニュー1に表示しない動的表示項目33aである。なお、動的表示項目33aは第1の表示項目の一例である。
【0080】
この他に、図7のVFRコード32aには例示していないが、第1の解析情報33には「grayout_condition」要素もある。「grayout_condition」要素は、表示項目をグレーアウトする条件に対応する。
【0081】
なお、各IFRデータ41a、42aはスタックベースの評価器で評価可能な式で表されており、IFR表示部45は単純にその式を評価して表示すべきものを表示する。一方、第1の解析情報生成部49が各IFRデータ41a、42aを評価した結果、例えばEFI_IFR_SUPPRESS_IFという式がtrueになることがある。これは動的表示項目33aを表示しないという結果であるが、この場合でも第1の解析情報生成部49は動的表示項目33aを第1の解析情報33に生成する。
【0082】
次に、コンピュータ20が実行する解析方法について説明する。図12は、本実施形態に係る解析方法のフローチャートである。
【0083】
まず、コンピュータ20の電源が投入されるとBIOSプログラム27が実行を開始する(ステップS11)。
【0084】
次に、モード判定部46が、コンピュータ20が動的表示項目解析モードかどうかを判定する(ステップS12)。例えば、モード判定部46は、まだ取得していない未処理の構成ファイル23が記録媒体20jに存在し、かつその構成ファイル23の名前が予め定めておいた特定の名前であるときに動的表示項目解析モードであると判定する。
【0085】
ステップS12の判定が肯定された場合にはステップS13に移る。ステップS13においては、構成エミュレーション部47が、複数の構成ファイル23のうちの一つを記録媒体20jから取得する。
【0086】
次いで、第1の表示データ生成部41が、構成ファイル23中の構成情報24に基づいて静的表示項目を表示するための第1のIFRデータ41aを生成し、それをIFR管理部44に渡す(ステップS14)。
【0087】
次に、第2の表示データ生成部42の第2のMC部42bが、構成情報24に基づいて動的表示項目を表示するための第2のIFRデータ42aを生成し、それをIFR管理部44に渡す(ステップS15)。
【0088】
次いで、画面生成部48が、IFR管理部44から各IFRデータ41a、42aを取得し、これらに基づいてBIOSメニュー1の表示画面を疑似的に生成する(ステップS16)。更に、画面生成部48は、各IFRデータ41a、42aを第1の解析情報生成部49に渡す。
【0089】
次いで、第1の解析情報生成部49が、各IFRデータ41a、42aを解析して、その解析結果を示す第1の解析情報33を生成し、記録媒体20jに第1の解析情報33を格納する(ステップS17)。
【0090】
次に、モード判定部46が、まだ取得していない未処理の構成ファイル23が記録媒体20jに存在するかを判定する(ステップS18)。なお、ステップS12の判定が否定された場合もステップS18を実行する。
【0091】
ステップS18の判定が肯定された場合には、ステップS19に移り、第1の解析情報生成部49がコンピュータ20を再起動する。この後は、再びステップS11に戻る。一方、ステップS18の処理が否定された場合は処理を終える。
【0092】
以上説明した解析方法によれば、第2の表示データ生成部42が構成情報24に基づいて第2のIFRデータ42aを生成する(ステップS15)。そして、その第2のIFRデータ42aに基づいて第1の解析情報生成部49が第1の解析情報33を生成する(ステップS17)。そのため、ハードウェア構成の異なる複数のコンピュータを担当者が用意しなくても、複数の構成情報24を用意するだけで相異なるハードウェア構成に対応した第1の解析情報33を得ることができる。そのため、後述のように第1の解析情報33に基づいて仕様書作成装置30が仕様書34を短時間で作成することができる。
【0093】
次に、仕様書作成装置30(図6参照)の機能構成について説明する。図13は、仕様書作成装置30の機能構成図である。
【0094】
図13に示すように、仕様書作成装置30は、制御部31、通信部61、入力部62、表示部63、及び記憶部64を備える。
【0095】
このうち、通信部61は、仕様書作成装置30をネットワーク25に接続する処理部である。入力部62は、担当者が仕様書作成装置30に種々のコマンドを入力するための処理部である。また、表示部63は、作成した仕様書34等を表示するための処理部である。
【0096】
一方、記憶部64は、BIOSのソースコード32、第1の解析情報33、仕様書34、及び第2の解析情報35を記憶する。なお、第2の解析情報35については後述する。
【0097】
制御部31は、仕様書作成装置30の各部を制御する処理部である。一例として、制御部31は、取得部66、第2の解析情報生成部67、及び仕様書作成部68を備える。
【0098】
このうち、取得部66は、通信部61を介してソースコード32と第1の解析情報33とを取得する処理部である。
【0099】
また、第2の解析情報生成部67は、ソースコード32を静的に解析する処理部である。更に、第2の解析情報生成部67は、その解析結果に基づいて、コンピュータ20のハードウェア構成によらずに定まるBIOSの静的表示項目を含む第2の解析情報35を生成し、それを記憶部64に格納する。
【0100】
図14は、第2の解析情報35の模式図である。第2の解析情報35は、第2の情報の一例であって、図11の第1の解析情報33と同一のXML形式のフォーマットで記述される。また、その第1の解析情報33において、「item_name」要素の次の「xsd:string」要素は、コンピュータ20のハードウェア構成によらずにBIOSメニュー1に表示される静的表示項目35aである。なお、静的表示項目35aは、第2の表示項目の一例である。
【0101】
第2の解析情報生成部67は、ソースコード32に含まれるVFRコード32aを解析することにより、このような第2の解析情報35を生成する。
【0102】
再び図13を参照する。仕様書作成部68は、第1の解析情報33に含まれる動的表示項目33aと、第2の解析情報35に含まれる静的表示項目35aとが記述されたBIOSの仕様書34を作成する処理部である。
【0103】
図15は、仕様書作成部68が作成した仕様書34の模式図である。図15では、メニュー項目「Active Processor Cores」の仕様を例示している。仕様書34のフォーマットは特に限定されないが、この例では仕様書作成部68がHTML文書で仕様書34を記述する。その仕様書34には、動的表示項目33aと静的表示項目35aとが記述される。
【0104】
例えば、動的表示項目33aは、使用可能なCPUのコア数を示す「All」、「1」、「2」、…、「11」等の文字列である。また、静的表示項目35aは、メニュー項目「Active Processor Cores」のヘルプを示す「Select number of active cores」という文字列である。
【0105】
この例では、仕様書作成部68は、「cpu_type」が「typeA」の構成情報24に基づいて、CPUのコア数を表す「option value」が「2」と「3」であることを特定する。また、仕様書作成部68は、「cpu_type」が「typeB」の構成情報24に基づいて、CPUのコア数を表す「option value」が「2」であることを特定する。
【0106】
これにより、「option value」が「2」になるのは、「cpu_type」が「typeA」又は「typeB」の場合である。また、「option value」が「3」になるのは、「cpu_type」が「typeA」の場合である。
【0107】
仕様書作成部68は、このように相異なる複数の構成情報24が示す複数のハードウェア構成と、各々のハードウェア構成に対応した複数の動的表示項目33aとを対応付けて仕様書34に記述する。
【0108】
これにより、担当者が、異なるハードウェア構成ごとに動的表示項目33aを把握することができる。
【0109】
なお、仕様書34における「suppress condition」の欄は、動的表示項目33aや静的表示項目35a等の内容を表示しないモデルを特定する欄である。この例では、コンピュータ20のモデルが「MODEL_B」のときに、動的表示項目33aや静的表示項目35a等の内容が表示されないことを示す。これらの内容は、BIOSのソースコード32のVFRコード32a(図7参照)において、ディレクティブ「#if」、「#endif」で挟まれた一部32bに記述されている内容に相当する。
【0110】
このような「suppress condition」の欄を仕様書34に記述することで、担当者は、モデルによって表示されない内容を把握することができる。
【0111】
図16は、本実施形態に係る仕様書作成方法のフローチャートである。まず、取得部66が、通信部61を介してBIOSのソースコード32を取得し、ソースコード32を記憶部64に格納する(ステップS28)。
【0112】
次に、第2の解析情報生成部67が、BIOSのソースコード32を解析することにより第2の解析情報35を生成し、第2の解析情報35を記憶部64に格納する(ステップS29)。
【0113】
なお、図7に示したように、ソースコード32のVFRコード32aにディレクティブ「#if」、「#endif」が記述されている場合がある。そのディレクティブ「#if」、「#endif」は、コンピュータ20のモデルが「MODEL_B」のときに、ソースコード32の一部32bをコンパイルしないことを示す指示文である。
【0114】
この場合、第2の解析情報生成部67は、ソースコード32の一部32bに記述されている内容を特定する。そして、仕様書作成部68は、コンピュータ20のモデルが「MODEL_B」の場合には、一部32bに記述されている内容を表示しないことを仕様書に記述する。一例として、仕様書作成部68は、仕様書34(図15参照)の「suppress condition」の欄に「MODEL_B」を記述する。
【0115】
次いで、取得部66が、コンピュータ20が生成した第1の解析情報33を取得部66を介して取得し、第1の解析情報33を記憶部64に格納する(ステップS30)。
【0116】
次に、仕様書作成部68が第2の解析情報35を解析し、BIOSメニュー1のページ2の構造を特定する(ステップS31)。
【0117】
図17は、ステップS31における処理を示す模式図である。図17に示すように、仕様書作成部68は、第2の解析情報35に基づいて、ページ2の構造を示すページツリー70を生成する。ページツリー70における各ノードは、第2の解析情報35に含まれる「formsetguid」要素に対応しており、<GUID1>、<GUID2>、<GUID3>、…にはその「formsetguid」要素の値が格納される。また、「formsetguid」要素の値が同じノードは同じページ2を示す。
【0118】
この例では、各ノードは以下のページ2を表すものとする。
<GUID1>: 「Root」のページ2
<GUID2>: 「Information」のページ2
<GUID3>: 「System」のページ2
<GUID31>: 「Processor Configuration」のページ2
<GUID32>: 「Memory Configuration」のページ2
再び図16を参照する。
【0119】
次に、仕様書作成部68は、第1の解析情報33に含まれるBIOSメニュー1のページ2を特定し、そのページ2を表すノードを図17のページツリー70に追加する(ステップS32)。これにより、ページツリー70の各ノードには、第2の解析情報35で特定される静的表示項目35aと、第1の解析情報33で特定される動的表示項目33aとが含まれるようになる。
【0120】
次いで、仕様書作成部68は、ページツリー70のノードごとにメニュー項目テーブルを作成する(ステップS33)。
【0121】
図18(a)は、そのメニュー項目テーブル71の模式図である。メニュー項目テーブル71は、BIOSメニュー1のメニュー項目と、そのメニュー項目に含まれる動的表示項目33aと、当該メニュー項目に含まれる静的表示項目35aとを対応付けたテーブルである。
【0122】
この例では、メニュー項目の名前が「Active Processor Cores」のメニュー項目テーブル71を例示している。この場合、選択可能なコア数を示す「option」は、コンピュータ20のプロセッサ20aによって異なるため、動的表示項目33aとなる。なお、「config_condition」は、プロセッサ20aの種類が「typeA」の場合にこれらの動的表示項目33aがページ2に表示されることを示す。また、「supress_condition」は、コンピュータ20のモデルが「MODEL_B」のときに動的表示項目33aを表示しないことを示す。
【0123】
一方、「Active Processor Cores」のページ2のヘルプ画面を示す「item_help」は、コンピュータ20のハードウェア構成によらずに定まるため、静的表示項目35aとなる。
【0124】
なお、メニュー項目テーブル71の「entry_id」は、このメニュー項目テーブル71が「1」で識別される構成情報24に対応していることを示す。仕様書作成部68は、相互に異なるハードウェア構成を示す複数の構成情報24ごとにメニュー項目テーブル71を生成する。また、「num_of_oneof_option」には、表示される選択肢の個数が格納される。
【0125】
図18(b)は、「entry_id」が「2」のメニュー項目テーブル71の構成図である。
【0126】
このメニュー項目テーブル71は、プロセッサ20aの種類が「typeB」の構成情報24に対応したテーブルである。
【0127】
再び図16を参照する。
次に、仕様書作成部68は、複数のメニュー項目テーブル71のうち、メニュー項目の名前が同一のメニュー項目テーブル71を特定し、それらにおいて同一のメニュー項目をマージする(ステップS34)。例えば、図18(a)、(b)のメニュー項目テーブル71は、メニュー項目の名前が「Active Processor Cores」で同一であるため、マージの対象となる。
【0128】
図19は、図18(a)、(b)の各メニュー項目テーブル71をマージして得られたメニュー項目テーブル72の模式図である。
【0129】
図19に示すように、仕様書作成部68は、動的表示項目33aを表示させる条件72a、72bをメニュー項目テーブル72に追加する。このうち、条件72aは、プロセッサ20aの種類が「typeA」のときに「3」の「option」を表示させるという条件である。そして、条件72bは、プロセッサ20aの種類が「typeB」のときに「2」の「option」を表示させるという条件である。
【0130】
なお、このメニュー項目テーブル72における「entry_type」は「marged_item」となっているが、これはマージ後の項目テーブルであることを示す。「num_of_oneof_options」は表示される選択肢の個数を示すため、マージ前の「num_of_oneof_options」の最大値と最小値が格納される。また、条件72aの「parent_entry_id」として「1」が記録され、また、「entry_id」が「1」の「config_condition」に「child_entry_id=101」が格納されるため、お互い参照できる。
【0131】
再び図16を参照する。次に、仕様書作成部68は、ページツリー70において同一のノードにある同一のページをマージする(ステップS35)。一例として、仕様書作成部68は、ページツリー70において<GUID1>、<GUID2>、<GUID3>、…等が示す「formsetguid」要素の値が同一のノードが示す同一のページをマージする。このとき、仕様書作成部68は、ステップS34と同様にして同一のページ内にある同一のメニュー項目をマージする。
【0132】
このとき、図19の条件72a、72bと同様に、動的表示項目33aを表示させる条件をメニュー項目テーブル72に追加してもよい。
【0133】
その後、仕様書作成部68は、ページツリー70のルートノードをルート要素にしたHTML形式の仕様書34を生成する(ステップS36)。図20は、HTML形式の仕様書34のソースコードを示す模式図である。
【0134】
以上により、本実施形態に係る仕様書作成方法の基本的な処理を終える。
上記した本実施形態によれば、第2の解析情報生成部67がBIOSのソースコード32を解析することにより第2の解析情報35を生成する(ステップS29)。そして、仕様書作成部68が、第2の解析情報35に含まれる静的表示項目35aと、第1の解析情報33に含まれる動的表示項目33aとが記述された仕様書34を生成する(ステップS36)。前述のように、第1の解析情報33は、ハードウェア構成の異なる複数のコンピュータ20を担当者が用意しなくても、複数の構成情報24に基づいてコンピュータ20が自動で生成する。そのため、ハードウェア構成の異なる複数のコンピュータ20を用意する場合と比較して短時間で仕様書34を作成できる。
【0135】
更に、この例では仕様書作成部68が自動的に仕様書34を生成するため、担当者が手作業で仕様書34を生成する場合に生じる人的な誤りが生じず、誤りを修正するための時間とコストとを節約できる。
【0136】
しかも、図12のステップS17では、BIOSのソースコード32のみでは特定できない動的表示項目33aを含む第1の解析情報33をコンピュータ20が構成情報24から自動で生成する。そのため、仕様書作成装置30が、その第1の解析情報33に基づいて、動的表示項目33aが記述された仕様書34を生成できる。
【0137】
(ハードウェア構成)
図21は、仕様書作成装置30のハードウェア構成図である。図21に示すように、仕様書作成装置30は、記憶装置30a、メモリ30b、プロセッサ30c、通信インターフェース30d、表示装置30e、入力装置30f、及び媒体読取装置30gを有する。これらの各部は、バス30iにより相互に接続される。
【0138】
このうち、記憶装置30aは、Hard Disk Drive (HDD)やSolid State Drive等の不揮発性のストレージであって、本実施形態に係る仕様書作成プログラム100を記憶する。
【0139】
なお、仕様書作成プログラム100をコンピュータが読み取り可能な記録媒体30hに記録し、媒体読取装置30gを介してプロセッサ30cにその仕様書作成プログラム100を読み取らせるようにしてもよい。
【0140】
そのような記録媒体30hとしては、例えばCompact Disc - Read Only Memory (CD-ROM)、Digital Versatile Disc (DVD)、及びUniversal Serial Bus (USB)メモリ等の物理的な可搬型記録媒体がある。また、フラッシュメモリ等の半導体メモリやハードディスクドライブを記録媒体30hとして使用してもよい。これらの記録媒体30hは、物理的な形態を持たない搬送波のような一時的な媒体ではない。
【0141】
更に、公衆回線、インターネット、及びLAN等に接続された装置に仕様書作成プログラム100を記憶させてもよい。その場合は、プロセッサ30cがその仕様書作成プログラム100を読み出して実行すればよい。
【0142】
一方、メモリ30bは、Dynamic Random Access Memory (DRAM)等のようにデータを一時的に記憶するハードウェアであって、その上に仕様書作成プログラム100が展開される。
【0143】
プロセッサ30cは、仕様書作成装置30の各部を制御するCPUやGPU等のハードウェアである。また、プロセッサ30cは、メモリ30bと協働して仕様書作成プログラム100を実行する。
【0144】
このようにメモリ30bとプロセッサ30cとが協働して仕様書作成プログラム100を実行することにより、仕様書作成装置30の制御部31(図13参照)が実現される。その制御部31には、取得部66、第2の解析情報生成部67、及び仕様書作成部68が含まれる。
【0145】
また、記憶部64(図13参照)は、記憶装置30aとメモリ30bによって実現される。
【0146】
更に、通信インターフェース30dは、仕様書作成装置30をネットワーク25に接続するためのNetwork Interface Card (NIC)等のハードウェアである。その通信インターフェース30dにより通信部61(図13参照)が実現される。
【0147】
そして、表示装置30eは、図15の仕様書34を表示するための液晶ディスプレイやタッチパネル等のハードウェアである。その表示装置30eにより表示部63(図13参照)が実現される。
【0148】
また、入力装置30fは、担当者が仕様書作成装置30に各種のデータを入力するためのキーボードやマウス等のハードウェアである。その入力装置30fにより入力部62(図13参照)が実現される。
【0149】
媒体読取装置30gは、記録媒体30hを読み取るためのCDドライブ、DVDドライブ、及びUSBインターフェース等のハードウェアである。
【符号の説明】
【0150】
1…BIOSメニュー、2…ページ、3…メニュー項目、5…仕様書、6…表紙、7…仕様、10…仕様書作成システム、20…コンピュータ、21…制御部、23…構成ファイル、24…構成情報、25…ネットワーク、27…BIOSプログラム、30…仕様書作成装置、31…制御部、32…ソースコード、32a…VFRコード、33…第1の解析情報、33a…動的表示項目、34…仕様書、35…第2の解析情報、35a…静的表示項目、41…第1の表示データ生成部、41a…第1のIFRデータ、41b…第1のMC部、42…第2の表示データ生成部、42a…第2のIFRデータ、42b…第2のMC部、43…設定管理部、44…IFR管理部、45…IFR表示部、46…モード判定部、47…構成エミュレーション部、48…画面生成部、49…第1の解析情報生成部、61…通信部、62…入力部、63…表示部、64…記憶部、66…取得部、67…第2の解析情報生成部、68…仕様書作成部、70…ページツリー、71、72…メニュー項目テーブル、100…仕様書作成プログラム。

図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21