Specification creation system, specification creation method, specification creation program, and BIOS program

JP7620213B2Active Publication Date: 2025-01-23FSAS TECH INC
View PDF 8 Cites 0 Cited by

Patent Information

Application Number
JP2021121224
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-07-26
Publication Date
2025-01-23
Estimated Expiration
2041-07-26

AI Technical Summary

Benefits of technology

【0009】 一側面によれば、仕様書を作成する時間を短縮できる。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007620213000001
    Figure 0007620213000001
  • Figure 0007620213000002
    Figure 0007620213000002
  • Figure 0007620213000003
    Figure 0007620213000003
Patent Text Reader

Abstract

To reduce a time period for generating a specification.SOLUTION: In a specification creation system, a first computer includes a display data creation unit that creates display data for displaying a first display item of BIOS defined by configuration information indicating a hardware configuration of the first computer on the basis of the configuration information on a display apparatus, and a first analysis information creation unit that analyzes the display data and creates first information including the first display item included in the display data; and a second computer includes a second analysis information creation unit that analyzes a source code of the BIOS and creates second information including a second display item of the BIOS defined not depending on the hardware configuration of the first computer, and a specification creation unit that creates a specification of the BIOS describing the first display item included in the first information and the second display item included in the second information.SELECTED DRAWING: Figure 6
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a specifications creation system, a specifications creation method, a specifications creation program, and a BIOS program. [Background technology]

[0002] When a computer is powered on, the BIOS (Basic Input / Output System) is executed before the OS (Operating System) starts up. The BIOS is firmware that initializes hardware such as the CPU (Central Processing Unit) when the computer starts up, and is stored in non-volatile memory.

[0003] The BIOS also displays a BIOS menu on the display, which allows the user to change the configuration of the computer. The configuration that can be changed in the BIOS menu includes, for example, the number of CPU cores.

[0004] Computer developers develop BIOS based on a BIOS menu specification that has been prepared in advance. The specification describes, for example, the pages to be displayed on the display and the items included on each page. The BIOS menu specification is created manually by the developer while repeatedly starting and stopping the computer.

[0005] However, if the computer is repeatedly started and stopped in this manner, creating the BIOS menu specifications takes a long time. [Prior art documents] [Patent documents]

[0006] [Patent Document 1] JP 2008-204395 A [Patent Document 2] JP 2009-271864 A Summary of the Invention [Problem to be solved by the invention]

[0007] According to one aspect, an object of the present invention is to reduce the time required to create a specification. [Means for solving the problem]

[0008] According to one aspect, there is provided a specification creation system including a first computer and a second computer, wherein the first computer has a display data generation unit that generates display data for displaying a first display item of a BIOS determined by configuration information on a display device based on configuration information indicating the hardware configuration of the first computer, and a first analysis information generation unit that analyzes the display data and generates first information including the first display item included in the display data, and the second computer has a second analysis information generation unit that analyzes BIOS source code and generates second information including a second display item of the BIOS determined independently of the hardware configuration of the first computer, and a specification creation unit that creates a BIOS specification describing the first display item included in the first information and the second display item included in the second information. Effect of the Invention

[0009] According to one aspect, the time required to create a specification can be reduced. [Brief description of the drawings]

[0010] [Figure 1] FIG. 1 is a diagram showing an example of a BIOS menu. [Diagram 2] FIG. 2(a) is a schematic diagram of a BIOS menu specification, and FIG. 2(b) is a schematic diagram of items included in a page specification. [Diagram 3] Figure 3 is a schematic diagram of the specifications of the "Boot Watchdog" and "Timeout Value" menu items. [Figure 4] FIG. 4 is a schematic diagram of a BIOS menu for explaining dynamic display items of the BIOS. [Diagram 5] Figure 5 is a flowchart of the steps a person in charge takes to update a page. [Figure 6] FIG. 6 is a system configuration diagram of a specification creation system according to this embodiment. [Figure 7] FIG. 7 is a schematic diagram of a VFR code. [Figure 8] FIG. 8 is a diagram showing the hardware configuration of a computer. [Figure 9] FIG. 9 is a schematic diagram illustrating an example of configuration information included in a configuration file. [Figure 10] FIG. 10 is a functional block diagram of a computer. [Figure 11] FIG. 11 is a schematic diagram of the first analysis information. [Figure 12] FIG. 12 is a flowchart of the analysis method according to this embodiment. [Figure 13] FIG. 13 is a functional configuration diagram of the specification creating device. [Figure 14] FIG. 14 is a schematic diagram of the second analysis information. [Figure 15] FIG. 15 is a schematic diagram of the specification created by the specification creation department. [Figure 16] FIG. 16 is a flowchart of a specification creating method according to this embodiment. [Figure 17] FIG. 17 is a schematic diagram showing the process in step S31 of FIG. [Figure 18] FIG. 18(a) is a schematic diagram of a menu item table, and FIG. 18(b) is a configuration diagram of a menu item table for which "entry_id" is "2." [Figure 19] FIG. 19 is a schematic diagram of a menu item table obtained by merging the menu item tables of FIGS. 18(a) and 18(b). [Figure 20] FIG. 20 is a schematic diagram showing the source code of a specification in HTML format. [Figure 21] FIG. 21 is a hardware configuration diagram of the specification creating device. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0011] Prior to describing the present embodiment, the matters considered by the inventors of the present application will be described.

[0012] 1 shows an example of a BIOS menu. The BIOS menu 1 is a menu-format screen that the BIOS displays on a display device to allow the user to change the settings of the computer or the settings of the BIOS itself.

[0013] In the example of Fig. 1, the BIOS menu 1 has multiple pages 2 with names such as "System" and "Server Config". Each page 2 further includes menu items 3 such as "Boot Watchdog". The menu items 3 are items for configuring the computer.

[0014] For example, the third menu item, "Boot Watchdog," has the following selection in the drop-down list: <enabled>and <disabled>Among these, <enabled>Only then can you change the options for the other menu items "Timeout Value" and "Action". <disabled>will be grayed out and cannot be changed.

[0015] 2(a) is a schematic diagram of a specification of a BIOS menu 1. A specification 5 is an electronic file that describes the specifications of the BIOS menu 1. As an example, the specification 5 includes a cover 6 and a specification 7 for each page 2. Furthermore, the specification 7 for page 2 describes a specification 9 of a menu item.

[0016] Fig. 2(b) is a schematic diagram of items included in the specifications 7 of page 2. As shown in Fig. 2(b), the specifications 7 of page 2 include various items in addition to the page name and menu item names described above.

[0017] Figure 3 is a schematic diagram of the specifications 9 for the "Boot Watchdog" and "Timeout Value" menu items.

[0018] As shown in FIG. 3, in addition to menu items, these specifications 9 also include selectable options, operation permissions, display conditions, default values ​​for each computer model, help messages, and the like.

[0019] Specification 5 is divided into a primary specification and a secondary specification depending on its purpose. The primary specification is the specification referred to by developers who create BIOS. On the other hand, the secondary specification is the specification referred to by testers of computers equipped with BIOS and by those who write user manuals for those computers.

[0020] The secondary specifications are given to the tester before the test, and the test is carried out based on the contents of the specifications. Therefore, if the contents displayed on the test computer and the secondary specifications differ, the test will not pass.

[0021] In addition, the secondary specifications are given to the user manual writer before the computer is shipped, and the user manual is created based on the contents of the secondary specifications. Therefore, in order to avoid confusion for users, the BIOS menu 1 displayed by the computer must conform to the secondary specifications.

[0022] Now consider the case where a BIOS developer adds a BIOS menu that was not in the primary specification, or modifies a BIOS menu in the primary specification. In this case, if the BIOS modifications are reflected in the primary specification and the primary specification becomes the secondary specification as is, the contents of the primary and secondary specifications will be identical, and unnecessary confusion can be avoided.

[0023] For example, a person in charge can statically analyze the BIOS source code to identify the modifications that need to be made and then reflect those modifications in the secondary specification, resulting in the contents of the primary and secondary specifications being identical.

[0024] However, the display items that can be identified by statically analyzing the source code are limited to static display items that are determined regardless of the hardware configuration of the computer. For example, in Figure 1, the "Temperature Monitoring" menu item that sets whether to monitor the processor temperature is set to " <disabled>" is an example of a static display item.

[0025] On the other hand, the BIOS menu has dynamic display items that are determined by the computer's hardware configuration. The contents of the dynamic display items differ depending on the computer's hardware configuration, so they cannot be determined from the source code.

[0026] FIG. 4 is a schematic diagram of the BIOS menu 1 for explaining dynamic display items of the BIOS.

[0027] The example in Figure 4 shows a menu item called "Active Processor Cores." This menu item is an item for selecting the number of available CPU cores. In this example, the dynamic display items are "All," "1," "2," ..., and "11," which indicate the number of cores. The number of cores differs from computer to computer. Therefore, unless BIOS Menu 1 is actually displayed on the computer, the dynamic display items such as "All," "1," "2," ..., and "11," which are displayed in "Active Processor Cores," cannot be known.

[0028] Furthermore, whether it is a dynamic display item or a static display item, ultimately the person in charge must update page 2 of the specification by operating a computer as follows:

[0029] 5 is a flow chart showing the steps that the person in charge performs to update page 2. First, the person in charge prepares a computer for displaying dynamic display items (step S1).

[0030] Next, the person in charge turns on the computer and starts up the BIOS (step S2).

[0031] Next, the person in charge displays BIOS menu 1 (step S3). Next, the person in charge checks the display items of the BIOS menu 1 (step S4).

[0032] Next, the person in charge compares the displayed display items with the corresponding page 2 of the specifications, and determines whether the contents of page 2 need to be corrected (step S5).

[0033] If it is determined that correction is necessary, the process proceeds to step S6, where the person in charge corrects the contents of page 2. On the other hand, if the determination in step S5 is negative, step S6 is skipped.

[0034] Next, the person in charge judges whether it is necessary to check other display items (step S7). If it is judged that there is no need to check, the process ends.

[0035] On the other hand, if the determination in step S7 is positive, the process proceeds to step S8. In step S8, the person in charge determines whether it is necessary to change the hardware configuration, such as the number of CPU cores. For example, if the person in charge wants to check the display items of the menu item "Active Processor Cores" as shown in FIG. 4 above, it is necessary to change the number of CPU cores.

[0036] If it is determined in step S8 that no change in the configuration is required, the process returns to step S3. On the other hand, if the determination in step S8 is positive, the process moves to step S9, where the person in charge turns off the computer. After that, the process returns to step S1, and the computer with the changed hardware configuration is prepared.

[0037] This completes the process performed by the person in charge to update page 2. In this method, it is necessary to prepare a computer with a hardware configuration compatible with page 2 of the specifications, and it takes a long time to create the specifications.

[0038] In particular, since dynamic display items cannot be identified from the BIOS source code as described above, it takes a long time to update page 2 corresponding to a dynamic display item.

[0039] Moreover, because the person in charge manually edits the specifications, errors may occur, and the specifications will have to be rewritten, wasting time and money.

[0040] (Present embodiment) FIG. 6 is a system configuration diagram of a specification creation system 10 according to this embodiment.

[0041] 6, this specification creation system 10 includes a computer 20 and a specification creation device 30. The computer 20 and the specification creation device 30 are connected to each other via a network 25 such as the Internet or a LAN (Local Area Network). If a person in charge exchanges data between the computer 20 and the specification creation device 30 using a portable recording device such as a USB (Universal Serial Bus) memory, the network 25 is not necessary.

[0042] The computer 20 is a computer such as a PC (Personal Computer) or a server that executes a BIOS. In this embodiment, a specification 34 of the BIOS executed by the computer 20 is created. The computer 20 is an example of a first computer. The specification 34 may be either a primary specification or a secondary specification.

[0043] The computer 20 also includes a control unit 21 for generating first analysis information 33 for dynamic display items required for creating the specifications 34. The first analysis information 33 will be described later.

[0044] On the other hand, the specification creation device 30 is a computer such as a server or a PC (Personal Computer), and includes a control unit 31 that controls each unit of the device and creates a specification 34. The specification creation device 30 is an example of a second computer.

[0045] In this example, the control unit 31 obtains the BIOS source code 32 and the first analysis information 33, and creates a BIOS menu specification 34 based on these. The BIOS source code 32 is the source code of the BIOS executed by the computer 20. The source code 32 includes a VFR (Visual Forms Representation) code 32a written in the UEFI (Unified Extensible Firmware Interface) specification.

[0046] Fig. 7 is a schematic diagram of the VFR code 32a. As shown in Fig. 7, the VFR code 32a includes various elements. Among them, the "formset" element is an element that indicates the start of the VFR code 32a. The "guid" element is an element that uniquely identifies page 2 (see Fig. 1) of the BIOS menu 1. In addition, the "goto" element is an element that indicates the next page 2 to transition to. The "label" element indicates the position where the dynamic display item is to be inserted.

[0047] Furthermore, the VFR code 32a contains the C language directives "#if" and "#endif". These directives are directives that instruct that a portion 32b of the source code 32 is not to be compiled when the computer 20 is a specific model. In this example, when the computer model is "MODEL_A" or "MODEL_C", the portion 32b enclosed by the directives "#if" and "#endif" is compiled. When the computer model is "MODEL_B", the portion 32b is not compiled.

[0048] Fig. 8 is a hardware configuration diagram of the computer 20. As shown in Fig. 8, the computer 20 includes a processor 20a, a memory 20b, a BIOS non-volatile memory 20c, a setting management non-volatile memory 20d, and an ID non-volatile memory 20e. The computer 20 further includes a PCI (Peripheral Component Interconnect) card 20f, an input device 20g, a display device 20h, and a media reader 20i. These components are connected to each other by a bus 20k.

[0049] Among these, the processor 20a is a CPU or a GPU (Graphics Processing Unit) that controls each part of the computer 20 and executes various programs. The memory 20b is a volatile memory such as a DRAM (Dynamic Random Access) into which various programs executed by the processor 20a are loaded.

[0050] The BIOS non-volatile memory 20c is a non-volatile memory that stores a BIOS program 27. The BIOS program 27 is a binary file obtained by compiling a BIOS source code 32.

[0051] The setting management non-volatile memory 20d is a non-volatile memory that stores the setting contents set in the BIOS menu. The ID non-volatile memory 20e is a non-volatile memory that stores an ID, which is a character string that indicates the model of the computer 20.

[0052] The PCI card 20f is a communication interface for communicating with external devices via a PCI bus. The input device 20g is a device such as a keyboard or a mouse that allows a person in charge to input various information to the computer 20.

[0053] The display device 20h is hardware such as a liquid crystal display that displays a BIOS menu, and the medium reader 20i is a device that writes and reads data to and from a portable recording medium 20j such as a USB memory.

[0054] The recording medium 20j is a portable medium storing a plurality of configuration files 23. The configuration files 23 are files including configuration information indicating the hardware configuration of the computer 20. The hardware configuration may be, for example, the number of cores of the processor 20a of the computer 20. In this example, it is assumed that the configuration information differs for each of the plurality of configuration files 23.

[0055] FIG. 9 is a schematic diagram showing an example of configuration information included in the configuration file 23. In the example of FIG. 9, the configuration information 24 is expressed in XML (Extensible Markup Language) format. For example,<cpu_cores> The tag indicates the number of cores in one processor 20a,<memory_size> The tag indicates the capacity of the memory 20b.

[0056] Fig. 10 is a functional configuration diagram of the computer 20. As shown in Fig. 10, the control unit 21 of the computer 20 includes a first display data generating unit 41, a second display data generating unit 42, a setting management unit 43, an IFR (Internal Forms Representation) management unit 44, and an IFR display unit 45. Furthermore, the control unit 21 includes a mode determination unit 46, a configuration emulation unit 47, a screen generation unit 48, and a first analysis information generation unit 49. Such functions of the control unit 21 are realized by the processor 20a and the memory 20b executing the BIOS program 27.

[0057] Among these, the mode determination unit 46 is a processing unit that determines whether the computer 20 is in the dynamic display item analysis mode. The dynamic display item analysis mode is a mode in which the computer 20 generates the first analysis information 33 including the dynamic display items of the BIOS. As an example, the mode determination unit 46 determines that the mode is the dynamic display item analysis mode when the name of the configuration file 23 is a predetermined specific name.

[0058] When a DIP (Dual Inline Package) switch on the motherboard of the computer 20 indicates a value, the mode determination unit 46 may determine that the mode is the dynamic display item analysis mode.

[0059] The first display data generating unit 41 is a processing unit that generates first IFR (Internal Forms Representation) data 41a for displaying static display items on the display device 20h. The first IFR data 41a is data of the UEFI specification obtained by compiling the code corresponding to the static display items among the VFR code 32a of the source code 32.

[0060] The first display data generating unit 41 also includes a first MC (Menu Controller) unit 41b. The first MC unit 41b is a processing unit that generates first IFR data 41a in the dynamic display item analysis mode and passes it to the IFR management unit 44.

[0061] Here, the first MC unit 41b does not refer to the hardware configuration, such as the actual number of cores of the processor 20a of the computer 20. Instead, the first MC unit 41b acquires the configuration information 24 included in the configuration file 23 stored in the recording medium 20j via the configuration emulation unit 47, and generates the first IFR data 41a by referring to the configuration information 24.

[0062] If the configuration emulation unit 47 does not pass the configuration information 24, the first MC unit 41b refers to the actual hardware configuration of the computer 20 to generate the first IFR data 41a.

[0063] On the other hand, the second display data generating unit 42 is a processing unit that generates second IFR data 42a for displaying dynamic display items on the display device 20h. The second IFR data 42a is an example of display data, and is data of the UEFI specification obtained by compiling the code corresponding to the dynamic display items among the VFR code 32a of the source code 32.

[0064] The second display data generating unit 42 also includes a second MC unit 42b. The second MC unit 42b is a processing unit that generates second IFR data 42a in the dynamic display item analysis mode and passes it to the IFR management unit 44.

[0065] The dynamic display items displayed by the second IFR data 42a are an example of the first display items. In this example, the second MC unit 42b does not refer to the hardware configuration, such as the actual number of cores of the processor 20a of the computer 20. Instead, the second MC unit 42b acquires the configuration information 24 included in the configuration file 23 stored in the recording medium 20j via the configuration emulation unit 47, and generates the second IFR data 42a by referring to the configuration information 24.

[0066] This makes it possible to generate the second IFR data 42a for the computer 20 having a different hardware configuration without changing the hardware configuration of the computer 20.

[0067] If the configuration emulation unit 47 does not pass the configuration information 24, the second MC unit 42b generates the second IFR data 42a by referring to the actual hardware configuration of the computer 20.

[0068] When a request for acquiring the configuration information 24 is received from each of the display data generating units 41 and 42, the configuration emulation unit 47 passes the configuration information 24 contained in the configuration file 23 stored in the recording medium 20j to each of the display data generating units 41 and 42. For example, assume that the second display data generating unit 42 requests the configuration emulation unit 47 to acquire the number of cores of the processor 20a. In this case, the configuration emulation unit 47 passes the number of cores described in the configuration file 23 to the second display data generating unit 42. The number of cores may be different from the actual number of cores of the processor 20a. Then, based on this number of cores, the second display data generating unit 42 generates second IFR data 42a.

[0069] The screen generating unit 48 is a processing unit that acquires each of the IFR data 41a, 42a from the IFR management unit 44 and generates a pseudo display screen of the BIOS menu 1 based on the data. The screen generating unit 48 does not actually display a screen on the display device 20h, but only generates data required for displaying the screen. The screen generating unit 48 also passes each of the IFR data 41a, 42a used for displaying the screen to the first analysis information generating unit 49.

[0070] The page structure of the display screen of the BIOS menu 1 is often tree-shaped. Therefore, the screen generation unit 48 may extract the IFR data 41a, 42a of all pages by using an algorithm for breadth-first search of the tree-shaped data structure, and pass it to the first analysis information generation unit 49. Each of the IFR data 41a, 42a has information called Cross-Reference for displaying other pages, which can represent the transition relationship between pages.

[0071] The setting management unit 43 is a processing unit that manages setting information indicating settings changed in the BIOS menu 1 and writes the setting information to the setting management non-volatile memory 20d. The setting management unit 43 receives the setting information from the IFR display unit 45.

[0072] The IFR management unit 44 is a processing unit that acquires the IFR data 41a, 42a from the first display data generation unit 41 and the second display data generation unit 42, respectively, and manages them as a database. In addition, when the IFR management unit 44 receives an acquisition request for the IFR data 41a, 42a from the IFR display unit 45, it passes the IFR data 41a, 42a to the IFR display unit 45.

[0073] The IFR display unit 45 is a processing unit that displays the BIOS menu 1 on the display device 20h by analyzing each of the IFR data 41a and 42a. The IFR display unit 45 also changes the display of the BIOS menu 1 according to an input from the input device 20g. When the setting of the BIOS menu 1 is changed, the IFR display unit 45 notifies the setting management unit 43 of the changed setting information.

[0074] The first analysis information generating unit 49 is a processing unit that generates first analysis information by analyzing each of the IFR data 41a and 42a acquired from the screen generating unit 48. The first analysis information is an example of the first information, and includes dynamic display items included in the second IFR data 42a.

[0075] Fig. 11 is a schematic diagram of the first analysis information 33. In the example of Fig. 11, the first analysis information 33 is expressed in XML format. Note that the first analysis information 33 corresponds to the VFR code 32a in Fig. 7 as follows.

[0076] For example, the "menu_page" element of the first analyzed information 33 indicates the configuration of page 2, and corresponds to the "formset" information of the VFR code 32a. The "formsetguid" element corresponds to the "guid" information of the "formset" of the VFR code 32a. The "item" element indicates a menu item, and corresponds to the item expressed by "one of"-"endoneof" in the VFR code 32a.

[0077] The "next_page" element is information for connecting between pages 2, and indicates the next page 2 to transition to. The "next_page" element corresponds to the information expressed after "goto" in the VFR code 32a.

[0078] The "dynamic_item" element indicates the position where a dynamic display item is to be inserted, and corresponds to the information expressed by the "label" of the VFR code 32a.

[0079] The "suppress_condition" element indicates a condition for not displaying, and corresponds to the directives "#if" to "#endif" in the VFR code 32a. In this example, the condition that the model of the computer 20 is "MODEL_B" is described in the "suppress_condition" element. The "xsd:string" element next to the "suppress_condition" element is a dynamic display item 33a that is not to be displayed in the BIOS menu 1 when the model is "MODEL_B". The dynamic display item 33a is an example of the first display item.

[0080] In addition, although not illustrated in the VFR code 32a in Fig. 7, the first analysis information 33 also includes a "grayout_condition" element. The "grayout_condition" element corresponds to the condition for graying out a display item.

[0081] Each IFR data 41a, 42a is expressed as an equation that can be evaluated by a stack-based evaluator, and the IFR display unit 45 simply evaluates the equation and displays what should be displayed. On the other hand, as a result of the first analysis information generation unit 49 evaluating each IFR data 41a, 42a, an equation such as EFI_IFR_SUPPRESS_IF may become true. This results in not displaying the dynamic display item 33a, but even in this case, the first analysis information generation unit 49 generates the dynamic display item 33a in the first analysis information 33.

[0082] Next, a description will be given of an analysis method executed by the computer 20. Fig. 12 is a flowchart of the analysis method according to this embodiment.

[0083] First, when the computer 20 is powered on, the BIOS program 27 starts to execute (step S11).

[0084] Next, the mode determination unit 46 determines whether the computer 20 is in the dynamic display item analysis mode (step S12). For example, the mode determination unit 46 determines that the computer 20 is in the dynamic display item analysis mode when an unprocessed configuration file 23 that has not yet been acquired exists in the recording medium 20j and the name of the configuration file 23 is a specific name that has been determined in advance.

[0085] If the determination in step S12 is positive, the process proceeds to step S 13. In step S13, the configuration emulation unit 47 acquires one of the plurality of configuration files 23 from the recording medium 20j.

[0086] Next, the first display data generating unit 41 generates the first IFR data 41a for displaying the static display items based on the configuration information 24 in the configuration file 23, and passes it to the IFR managing unit 44 (step S14).

[0087] Next, the second MC section 42b of the second display data generating section 42 generates second IFR data 42a for displaying dynamic display items based on the configuration information 24, and passes it to the IFR managing section 44 (step S15).

[0088] Next, the screen generation unit 48 acquires each of the IFR data 41a, 42a from the IFR management unit 44, and generates a pseudo display screen of the BIOS menu 1 based on the data (step S16). Furthermore, the screen generation unit 48 passes each of the IFR data 41a, 42a to the first analysis information generation unit 49.

[0089] Next, the first analysis information generating unit 49 analyzes each of the IFR data 41a, 42a, generates first analysis information 33 indicating the analysis results, and stores the first analysis information 33 in the recording medium 20j (step S17).

[0090] Next, the mode determination unit 46 determines whether or not an unprocessed configuration file 23 that has not yet been acquired exists on the recording medium 20j (step S18). Note that step S18 is also executed when the determination in step S12 is negative.

[0091] If the determination in step S18 is positive, the process proceeds to step S19, where the first analysis information generating unit 49 restarts the computer 20. After this, the process returns to step S11 again. On the other hand, if the process in step S18 is negative, the process ends.

[0092] According to the analysis method described above, the second display data generating unit 42 generates the second IFR data 42a based on the configuration information 24 (step S15). Then, the first analysis information generating unit 49 generates the first analysis information 33 based on the second IFR data 42a (step S17). Therefore, even if the person in charge does not prepare multiple computers with different hardware configurations, the first analysis information 33 corresponding to the different hardware configurations can be obtained by simply preparing multiple pieces of configuration information 24. Therefore, the specification creating device 30 can create the specification 34 in a short time based on the first analysis information 33 as described later.

[0093] Next, the functional configuration of the specification creating device 30 (see FIG. 6) will be described. FIG.

[0094] As shown in FIG. 13, the specification creation device 30 includes a control unit 31, a communication unit 61, an input unit 62, a display unit 63, and a storage unit 64.

[0095] Among these, the communication unit 61 is a processing unit that connects the specification creation device 30 to the network 25. The input unit 62 is a processing unit that allows a person in charge to input various commands to the specification creation device 30. The display unit 63 is a processing unit that displays the created specifications 34 and the like.

[0096] On the other hand, the storage unit 64 stores the BIOS source code 32, the first analysis information 33, the specifications 34, and the second analysis information 35. The second analysis information 35 will be described later.

[0097] The control unit 31 is a processing unit that controls each unit of the specification creation device 30. As an example, the control unit 31 includes an acquisition unit 66, a second analysis information generation unit 67, and a specification creation unit 68.

[0098] Among these, the acquisition unit 66 is a processing unit that acquires the source code 32 and the first analysis information 33 via the communication unit 61.

[0099] The second analysis information generating unit 67 is a processing unit that statically analyzes the source code 32. Furthermore, the second analysis information generating unit 67 generates second analysis information 35 including static display items of the BIOS that are determined independently of the hardware configuration of the computer 20 based on the analysis result, and stores the second analysis information 35 in the storage unit 64.

[0100] Fig. 14 is a schematic diagram of the second analysis information 35. The second analysis information 35 is an example of the second information, and is written in the same XML format as the first analysis information 33 of Fig. 11. In addition, in the first analysis information 33, the "xsd:string" element next to the "item_name" element is a static display item 35a that is displayed on the BIOS menu 1 regardless of the hardware configuration of the computer 20. The static display item 35a is an example of the second display item.

[0101] The second analysis information generating unit 67 generates the second analysis information 35 by analyzing the VFR code 32 a included in the source code 32 .

[0102] 13 again, the specification creation unit 68 is a processing unit that creates the BIOS specification 34 in which the dynamic display items 33a included in the first analysis information 33 and the static display items 35a included in the second analysis information 35 are described.

[0103] Fig. 15 is a schematic diagram of the specification 34 created by the specification creation unit 68. Fig. 15 shows an example of the specification of the menu item "Active Processor Cores". The format of the specification 34 is not particularly limited, but in this example, the specification creation unit 68 writes the specification 34 in an HTML document. The specification 34 describes a dynamic display item 33a and a static display item 35a.

[0104] For example, the dynamic display item 33a is a character string such as "All," "1," "2," ..., "11," etc., which indicates the number of available CPU cores. Moreover, the static display item 35a is a character string "Select number of active cores," which indicates help for the menu item "Active Processor Cores."

[0105] In this example, the specification creation unit 68 specifies that the "option value" representing the number of CPU cores is "2" and "3" based on the configuration information 24 in which the "cpu_type" is "type A." The specification creation unit 68 also specifies that the "option value" representing the number of CPU cores is "2" based on the configuration information 24 in which the "cpu_type" is "type B."

[0106] As a result, the "option value" will be "2" when "cpu_type" is "typeA" or "typeB", and the "option value" will be "3" when "cpu_type" is "typeA".

[0107] The specification creation unit 68 describes in the specification 34 a plurality of hardware configurations indicated by the plurality of different pieces of configuration information 24 in this way in association with a plurality of dynamic display items 33a corresponding to each of the hardware configurations.

[0108] This allows the person in charge to grasp the dynamic display items 33a for each different hardware configuration.

[0109] The "suppress condition" field in the specification 34 is a field for specifying a model in which the contents of the dynamic display item 33a, the static display item 35a, etc. are not displayed. In this example, it is shown that when the model of the computer 20 is "MODEL_B", the contents of the dynamic display item 33a, the static display item 35a, etc. are not displayed. These contents correspond to the contents described in the part 32b between the directives "#if" and "#endif" in the VFR code 32a (see FIG. 7) of the BIOS source code 32.

[0110] By describing such a "suppress condition" column in the specification 34, the person in charge can understand the contents that will not be displayed depending on the model.

[0111] 16 is a flowchart of the specification creating method according to this embodiment. First, the acquisition unit 66 acquires the BIOS source code 32 via the communication unit 61, and stores the source code 32 in the storage unit 64 (step S28).

[0112] Next, the second analysis information generating unit 67 generates the second analysis information 35 by analyzing the BIOS source code 32, and stores the second analysis information 35 in the storage unit 64 (step S29).

[0113] 7, the directives "#if" and "#endif" may be written in the VFR code 32a of the source code 32. The directives "#if" and "#endif" are directives indicating that the part 32b of the source code 32 is not to be compiled when the model of the computer 20 is "MODEL_B".

[0114] In this case, the second analysis information generating unit 67 identifies the contents described in the part 32b of the source code 32. Then, the specification creating unit 68 describes in the specification that when the model of the computer 20 is "MODEL_B", the contents described in the part 32b are not displayed. As an example, the specification creating unit 68 describes "MODEL_B" in the "suppress condition" column of the specification 34 (see FIG. 15).

[0115] Next, the acquisition unit 66 acquires the first analysis information 33 generated by the computer 20 via the acquisition unit 66, and stores the first analysis information 33 in the storage unit 64 (step S30).

[0116] Next, the specifications creating unit 68 analyzes the second analysis information 35 and identifies the structure of page 2 of the BIOS menu 1 (step S31).

[0117] 17 is a schematic diagram showing the process in step S31. As shown in FIG. 17, the specification creation unit 68 generates a page tree 70 showing the structure of page 2 based on the second analysis information 35. Each node in the page tree 70 corresponds to a "formsetguid" element included in the second analysis information 35, <guid1> 、 <guid2> 、 <guid3>, ... stores the value of the "formsetguid" element. Also, nodes with the same value of the "formsetguid" element indicate the same page 2.

[0118] In this example, each node represents page 2 below. <guid1>: "Root" page 2 <guid2>: "Information" page 2 <guid3>: "System" page 2 <guid31>: "Processor Configuration" page 2 <guid32>: "Memory Configuration" page 2 Referring again to FIG.

[0119] Next, the specification creation unit 68 identifies page 2 of the BIOS menu 1 included in the first analysis information 33, and adds a node representing the page 2 to the page tree 70 of Fig. 17 (step S32). As a result, each node of the page tree 70 includes the static display item 35a identified in the second analysis information 35 and the dynamic display item 33a identified in the first analysis information 33.

[0120] Next, the specification creation unit 68 creates a menu item table for each node of the page tree 70 (step S33).

[0121] 18(a) is a schematic diagram of the menu item table 71. The menu item table 71 is a table that associates the menu items of the BIOS menu 1 with the dynamic display items 33a included in the menu items and the static display items 35a included in the menu items.

[0122] In this example, a menu item table 71 with a menu item name of "Active Processor Cores" is illustrated. In this case, the "option" indicating the number of selectable cores differs depending on the processor 20a of the computer 20, and therefore becomes the dynamic display item 33a. Note that "config_condition" indicates that these dynamic display items 33a are displayed on page 2 when the type of the processor 20a is "typeA". Also, "supress_condition" indicates that the dynamic display items 33a are not displayed when the model of the computer 20 is "MODEL_B".

[0123] On the other hand, "item_help" showing the help screen for page 2 of "Active Processor Cores" is determined independently of the hardware configuration of the computer 20, and is therefore a static display item 35a.

[0124] The "entry_id" of the menu item table 71 indicates that this menu item table 71 corresponds to the configuration information 24 identified by "1." The specification creation unit 68 generates a menu item table 71 for each of a plurality of pieces of configuration information 24 indicating different hardware configurations. The number of options to be displayed is stored in "num_of_oneof_option."

[0125] FIG. 18(b) is a diagram showing the configuration of the menu item table 71 with "entry_id" set to "2."

[0126] This menu item table 71 is a table corresponding to the configuration information 24 in which the type of the processor 20a is "type B."

[0127] Referring again to FIG. Next, the specification creation unit 68 identifies menu item tables 71 that have the same menu item names among the multiple menu item tables 71, and merges the same menu items therein (step S34). For example, the menu item tables 71 in Fig. 18(a) and (b) are targets for merging because they have the same menu item name, "Active Processor Cores."

[0128] FIG. 19 is a schematic diagram of a menu item table 72 obtained by merging the menu item tables 71 of FIGS. 18(a) and 18(b).

[0129] 19, the specification creation unit 68 adds conditions 72a and 72b for displaying the dynamic display item 33a to the menu item table 72. Among these, the condition 72a is a condition for displaying the "option" "3" when the type of the processor 20a is "type A". And the condition 72b is a condition for displaying the "option" "2" when the type of the processor 20a is "type B".

[0130] Note that "entry_type" in this menu item table 72 is "merged_item", which indicates that this is a merged item table. "num_of_oneof_options" indicates the number of options to be displayed, so the maximum and minimum values ​​of "num_of_oneof_options" before the merge are stored. Also, "1" is recorded as "parent_entry_id" in condition 72a, and "child_entry_id=101" is stored in "config_condition" with "entry_id" of "1", so they can refer to each other.

[0131] Referring again to FIG. 16, the specification creation unit 68 then merges identical pages at the same node in the page tree 70 (step S35). As an example, the specification creation unit 68 merges the following pages at the same node in the page tree 70: <guid1> 、 <guid2> 、 <guid3>, ..., the same pages indicated by nodes having the same value of the "formsetguid" element are merged. At this time, the specification creation unit 68 merges the same menu items in the same page in the same manner as in step S34.

[0132] At this time, a condition for displaying the dynamic display item 33a may be added to the menu item table 72, similar to the conditions 72a and 72b in FIG.

[0133] Thereafter, the specification creating unit 68 generates the HTML format specification 34 with the root node of the page tree 70 as the root element (step S36). Fig. 20 is a schematic diagram showing the source code of the HTML format specification 34.

[0134] This completes the basic processing of the specification creating method according to this embodiment. According to the present embodiment described above, the second analysis information generating unit 67 generates the second analysis information 35 by analyzing the BIOS source code 32 (step S29). Then, the specification creating unit 68 generates the specification 34 in which the static display items 35a included in the second analysis information 35 and the dynamic display items 33a included in the first analysis information 33 are described (step S36). As described above, the first analysis information 33 is automatically generated by the computer 20 based on the multiple configuration information 24, even if the person in charge does not prepare multiple computers 20 with different hardware configurations. Therefore, the specification 34 can be created in a short time compared to the case where multiple computers 20 with different hardware configurations are prepared.

[0135] Furthermore, in this example, the specification creation unit 68 automatically generates the specification 34, eliminating the human errors that would occur if a person in charge were to manually generate the specification 34, thereby saving time and costs for correcting errors.

[0136] 12, the computer 20 automatically generates the first analysis information 33 including the dynamic display item 33a that cannot be identified only by the BIOS source code 32 from the configuration information 24. Therefore, the specification creating device 30 can generate the specification 34 in which the dynamic display item 33a is described based on the first analysis information 33.

[0137] (Hardware configuration) Fig. 21 is a hardware configuration diagram of the specification creation device 30. As shown in Fig. 21, the specification creation device 30 has a storage device 30a, a memory 30b, a processor 30c, a communication interface 30d, a display device 30e, an input device 30f, and a medium reading device 30g. These components are connected to each other by a bus 30i.

[0138] Of these, the storage device 30a is a non-volatile storage such as a Hard Disk Drive (HDD) or a Solid State Drive, and stores the specification creation program 100 according to this embodiment.

[0139] The specification creation program 100 may be recorded on a computer-readable recording medium 30h, and the processor 30c may read the specification creation program 100 via the medium reader 30g.

[0140] Examples of such recording media 30h include physically portable recording media such as Compact Disc - Read Only Memory (CD-ROM), Digital Versatile Disc (DVD), and Universal Serial Bus (USB) memory. Also, semiconductor memories such as flash memories and hard disk drives may be used as the recording media 30h. These recording media 30h are not temporary media such as carrier waves that do not have a physical form.

[0141] Furthermore, the specification creation program 100 may be stored in a device connected to a public line, the Internet, a LAN, etc. In that case, the processor 30c may read and execute the specification creation program 100.

[0142] On the other hand, the memory 30b is hardware that temporarily stores data, such as a Dynamic Random Access Memory (DRAM), on which the specification creation program 100 is developed.

[0143] The processor 30c is hardware such as a CPU or a GPU that controls each unit of the specification creation device 30. The processor 30c also executes the specification creation program 100 in cooperation with the memory 30b.

[0144] In this manner, the memory 30b and the processor 30c cooperate to execute the specification creation program 100, thereby realizing a control unit 31 (see FIG. 13) of the specification creation device 30. The control unit 31 includes an acquisition unit 66, a second analysis information generation unit 67, and a specification creation unit 68.

[0145] Moreover, the storage unit 64 (see FIG. 13) is realized by the storage device 30a and the memory 30b.

[0146] Furthermore, the communication interface 30d is hardware such as a network interface card (NIC) for connecting the specification creating device 30 to the network 25. The communication interface 30d realizes a communication unit 61 (see FIG. 13).

[0147] The display device 30e is hardware such as a liquid crystal display or a touch panel for displaying the specification 34 in Fig. 15. The display device 30e realizes the display unit 63 (see Fig. 13).

[0148] The input device 30f is hardware such as a keyboard and a mouse that allows the person in charge to input various data to the specification creation device 30. The input device 30f realizes an input unit 62 (see FIG. 13).

[0149] The medium reader 30g is hardware such as a CD drive, a DVD drive, or a USB interface for reading the recording medium 30h. [Explanation of symbols]

[0150] 1...BIOS menu, 2...page, 3...menu item, 5...specification, 6...cover, 7...specification, 10...specification creation system, 20...computer, 21...control unit, 23...configuration file, 24...configuration information, 25...network, 27...BIOS program, 30...specification creation device, 31...control unit, 32...source code, 32a...VFR code, 33...first analysis information, 33a...dynamic display item, 34...specification, 35...second analysis information, 35a...static display item, 41...first display data generation unit, 41a...first IFR data data, 41b...first MC unit, 42...second display data generation unit, 42a...second IFR data, 42b...second MC unit, 43...setting management unit, 44...IFR management unit, 45...IFR display unit, 46...mode determination unit, 47...configuration emulation unit, 48...screen generation unit, 49...first analysis information generation unit, 61...communication unit, 62...input unit, 63...display unit, 64...memory unit, 66...acquisition unit, 67...second analysis information generation unit, 68...specification creation unit, 70...page tree, 71, 72...menu item table, 100...specification creation program. < / guid2> < / guid1> < / guid2> < / guid1> < / disabled> < / disabled> < / enabled> < / disabled> < / enabled>

Claims

1. A specification creation system including a first computer and a second computer, The first computer comprises: a display data generating unit that generates display data for displaying a first display item of a BIOS determined by configuration information on a display device based on configuration information indicating a hardware configuration of the first computer; a first analysis information generating unit that analyzes the display data and generates first information including the first display item included in the display data; The second computer comprises: a second analysis information generating unit that analyzes a source code of the BIOS and generates second information including a second display item of the BIOS that is determined independently of a hardware configuration of the first computer; a specification creation unit that creates a specification of the BIOS in which the first display item included in the first information and the second display item included in the second information are described; A specification creation system comprising:

2. The first computer generating display data for displaying a first display item of the BIOS determined by the configuration information on a display device based on the configuration information indicating a hardware configuration of the first computer; Analyzing the display data to generate first information including the first display item to be displayed by the display device based on the display data; The second computer analyzing a source code of the BIOS to generate second information including a second display item of the BIOS that is determined independently of a hardware configuration of the first computer; creating a specification of the BIOS in which the first display item included in the first information and the second display item included in the second information are described; A method for creating specifications.

3. obtaining first information including a first display item of a BIOS determined by a hardware configuration of the first computer; analyzing a source code of the BIOS to generate second information including a second display item of the BIOS that is determined independently of the hardware configuration; creating a specification of the BIOS in which the first display item included in the first information and the second display item included in the second information are described; A specification creation program for causing a second computer to execute the process.

4. Identifying a directive that indicates not to compile the portion of the source code when the first computer is a particular model; Describing in the specification that the content described in the part is not to be displayed when the first computer is the specific model.

4. The specification creating program according to claim 3, for causing the second computer to execute a process.

5. describing in the specification a plurality of different hardware configurations and a plurality of second display items corresponding to each of the hardware configurations in association with each other; 4. The specification creating program according to claim 3, for causing the second computer to execute a process.

6. generating display data for displaying, on a display device, display items of the BIOS determined by the configuration information based on the configuration information indicating the hardware configuration of the computer; analyzing the display data and generating information including the display items to be displayed by the display device based on the display data; A BIOS program for causing the computer to execute processes.

7. 7. A BIOS program as described in claim 6, for causing the computer to execute a process of generating the display data and a process of generating the information when a file containing the configuration information is stored on a portable recording medium and the file name of the file has a specific name.

Citation Information

Patent Citations

  • Programming device

    JP1999249888A

  • Starting image providing system and method, boot node device, boot server device, and program

    JP2006011506A

  • Information processing device, control method for it, and control program

    JP2008204395A

  • Information processor

    JP2009271864A

  • BIOS configuration update technology

    JP2009535690A