WO2014076951A1 - プログラム設定装置、及び、プログラム設定方法 - Google Patents

プログラム設定装置、及び、プログラム設定方法 Download PDF

Info

Publication number
WO2014076951A1
WO2014076951A1 PCT/JP2013/006690 JP2013006690W WO2014076951A1 WO 2014076951 A1 WO2014076951 A1 WO 2014076951A1 JP 2013006690 W JP2013006690 W JP 2013006690W WO 2014076951 A1 WO2014076951 A1 WO 2014076951A1
Authority
WO
WIPO (PCT)
Prior art keywords
setting
value
setting item
concrete
abstract
Prior art date
Application number
PCT/JP2013/006690
Other languages
English (en)
French (fr)
Inventor
賢司 副島
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to US14/441,679 priority Critical patent/US20150277940A1/en
Priority to CN201380060202.9A priority patent/CN105190549A/zh
Priority to JP2014546873A priority patent/JP6172159B2/ja
Publication of WO2014076951A1 publication Critical patent/WO2014076951A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • G06F9/4451User profiles; Roaming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication

Definitions

  • the present invention relates to a program setting device and a program setting method, and more particularly to a program setting device and a program setting method for setting programs such as middleware and applications.
  • Patent Document 1 discloses a technique for consolidating and abstracting the setting items of each component and providing it to the user in the construction of an object-oriented application so as to hide the detailed setting of each component.
  • the setting of a set of a plurality of parts constituting the system is aggregated into, for example, a set of setting items called “granulation line” and presented to the user.
  • a name that is easily understood by the user as the name of the setting item of the “granulation line”, or by concealing a part of the setting items of each component, it is possible to reduce what the user should learn.
  • the correspondence between the setting item of “granulation line” and the setting item of each part is managed. Yes. In other words, an abstract setting item (setting item of “granulation line”) and a map of setting items of each component are managed.
  • An object of the present invention is to provide a program setting device and a program setting method that solve the above-described problem that a program setting item cannot be flexibly defined according to a skill level of a user.
  • a program setting device is a logic for calculating a concrete setting item that is a setting item of each of a plurality of implementations of the program from an abstract setting item that is a setting item common to a plurality of implementations of the program. And when the value of the abstract setting item is inputted, the setting is executed in the concrete logic execution means that executes the concrete logic defined for each of the plurality of implementations. Setting value determination that causes the concrete setting item to be calculated from the input value of the abstract setting item using the concrete logic for the target mounting and determines the setting value of the concrete setting item Means.
  • each of the setting items of the plurality of implementations of the program is changed from the abstract setting item.
  • a logic for calculating a concrete setting item the input value of the abstract setting item using the concreteization logic for the implementation to be set among the concrete logics defined for each of the plurality of implementations. Then, the value of the concrete setting item related to the implementation of the setting target is calculated and determined as the setting value of the concrete setting item.
  • the computer when an abstract setting item that is a common setting item for a plurality of implementations of a program is input to the computer, the computer can read a plurality of programs from the abstract setting item.
  • a program for executing processing for calculating the value of the concrete setting item related to the implementation of the setting target from the input value of the abstract setting item and determining the setting value of the concrete setting item is stored.
  • the effect of the present invention is that the setting items of the program can be flexibly defined according to the skill level of the user.
  • FIG. 2 is a block diagram showing the configuration of the program setting device 100 in the first embodiment of the present invention.
  • the program setting device 100 includes an input / output unit 110, a setting value determination unit 120, a concrete logic execution unit 121, and an entity information storage unit 130.
  • the entity information storage unit 130 stores one or more entity information 131.
  • the entity information 131 indicates a data model related to a setting item of software (program) that provides a certain function such as an application server (AP server) or a database server (DB server).
  • AP server application server
  • DB server database server
  • the setting item for example, when the memory amount of the AP server is considered, even if the AP server is the same, the memory amount for the implementation (product) of the AP server to operate and the monitoring for the implementation The amount of memory varies from implementation to implementation. For this reason, it is necessary to set a value corresponding to the implementation in the memory amount of the implementation of the AP server.
  • an abstract setting item 202 which is a common setting item between implementations without depending on the implementation, which is determined by the specifications of the software, etc.
  • a setting item for each implementation that depends on the condition is defined as a concrete setting item 302.
  • the value of the concrete setting item 302 is calculated from the value of the abstract setting item 202 by a concrete logic 311 described later.
  • FIG. 8 is a diagram illustrating an example of the entity information 131 according to the first embodiment of this invention.
  • the entity information 131 includes an abstract entity 200 and one or more concrete entities 300.
  • the arrow between the abstract entity 200 and the concrete entity 300 indicates that the value of the concrete setting item 302 of the concrete entity 300 is in a relationship calculated from the abstract setting item 202 of the abstract entity 200.
  • the concrete entity 300 is referred to as an entity in which the abstract entity 200 is embodied
  • the concrete setting item 302 is referred to as a setting item in which the abstract setting item 202 is embodied.
  • the abstract entity 200 indicates software that provides a certain function, such as the above-described AP server or DB server.
  • Each concrete entity 300 represents a different implementation of software that provides the same function, such as various products of the AP server and various products of the DB server.
  • the abstract entity 200 includes an abstract setting item group 201.
  • the abstract setting item group 201 includes one or more abstract setting items 202 such as a memory amount, the number of threads, and a timeout value.
  • Each abstract setting item 202 includes a default value 203, a user input value 204, and a setting value 206.
  • the default value 203 is a value of the abstract setting item 202 that is used when the user input value 204 is not set.
  • the default value 203 is set in advance by an administrator or the like.
  • the user input value 204 is a value of the abstract setting item 202 input by the user. In the initial state, the user input value 204 is set to “no value”.
  • the setting value 206 is a value determined as the setting value of the abstract setting item 202.
  • the concrete entity 300 includes a concrete setting item group 301.
  • the concrete setting item group 301 includes one or more concrete setting items 302 such as a memory amount, the number of threads, and a timeout value.
  • Each concrete setting item 302 includes a default value 303, a user input value 304, a calculated value 305, and a setting value 306.
  • the default value 303 is a value of the concrete setting item 302 used when no value is set for the user input value 304 and the calculated value 305.
  • the default value 303 is set in advance by an administrator or the like.
  • the user input value 304 is a value of the concrete setting item 302 input by the user.
  • the calculated value 305 is a value calculated from the setting value 206 of the abstract setting item 202 using a concrete logic 311 described later. In the initial state, the user input value 304 and the calculated value 305 are set to “no value (null)”.
  • the setting value 306 is a value determined as the setting value of the concrete setting item 302. The setting value 306 is used for setting an implementation corresponding to the concrete entity 300.
  • the concrete entity 300 further includes a concrete logic 311.
  • the concrete logic 311 is a calculation logic for calculating the value of the concrete setting item 302 from the value of the abstract setting item 202.
  • the concrete logic 311 is defined for a set of abstract entities 200 and concrete entities 300.
  • logic for calculating the value of each concrete setting item 302 is defined.
  • the concrete logic 311 calculates the value of the concrete setting item 302 by correcting the value of the abstract setting item 202 according to the implementation corresponding to the concrete entity 300. For example, the concrete logic 311 calculates the memory amount of the concrete setting item 302 by multiplying the memory amount value of the abstract setting item 202 by a predetermined coefficient or adding a predetermined value depending on the implementation. To do.
  • the concrete logic 311 may calculate the value of one concrete setting item 302 from a plurality of abstract setting items 202. For example, the concrete logic 311 may calculate the memory amount of the concrete setting item 302 by performing a predetermined calculation according to the implementation on the memory amount and the number of threads of the abstract setting item 202.
  • the concrete logic 311 may calculate the value of the concrete setting item 302 from the level set in the abstract setting item 202. For example, when the value of the abstract setting item 202 is defined at levels such as “many”, “medium”, and “small”, the concrete logic 311 may calculate a value corresponding to the implementation for each level. Good.
  • the concrete logic 311 is defined by an implementation (product) developer, for example, and is set in advance by an administrator or the like.
  • the entity information 131 includes an abstract entity 200 “server X” and concrete entities 300 “product X1” and “product X2” which are embodied as the abstract entity 200.
  • the abstract entity 200 “server X” includes abstract setting items 202 “A” and “B”.
  • the concrete entity 300 “product X1” includes concrete setting items 302 “a” and “b”.
  • the concrete entity 300 “product X1” includes a concrete logic 311 “X_X1”.
  • the input / output unit 110 inputs the value of each setting item from the user and outputs the value of each setting item to the user via an input / output device (not shown) such as a mouse, a display, or a touch screen. Do.
  • the input / output unit 110 performs input / output of values of each setting item on a user interface screen 111 described later.
  • the set value determination unit 120 determines the set value 206 of the abstract setting item 202. Then, the set value determination unit 120 inputs the set value 206 to the concrete logic execution unit 121 and calculates the value of the concrete setting item 302. Further, the set value determining unit 120 determines the set value 306 of the concrete setting item 302.
  • the concrete logic execution unit 121 executes the concrete logic 311.
  • the input / output unit 110, the set value determination unit 120, and the reification logic execution unit 121 are computers that include a CPU (Central Processing Unit) and a storage medium storing a program, and operate by control based on the program. Also good.
  • a CPU Central Processing Unit
  • storage medium storing a program
  • FIG. 3 is a flowchart showing the overall processing of the program setting device 100 according to the first embodiment of the present invention.
  • the input / output unit 110 receives input of the identifiers of the abstract entity 200 to be set and the concrete entity 300 from the user (step S101).
  • the input / output unit 110 may output a list of the abstract entity 200 and the concrete entity 300 that is a concrete representation of the abstract entity 200, and allow the user to select the abstract entity 200 to be set and the concrete entity 300.
  • the input / output unit 110 may display an input field for these identifiers and allow the user to directly input these identifiers.
  • the set value determination unit 120 performs “set value determination processing” to be described later, and determines the set value 206 of the abstract setting item 202 and the set value 306 of the concrete setting item 302 (step S102).
  • the input / output unit 110 outputs the setting value 206 of the abstract setting item 202 and the setting value 306 of the concrete setting item 302 on the user interface screen 111 (step S103).
  • the input / output unit 110 receives an input of the value of the abstract setting item 202 or the concrete setting item 302 from the user on the user interface screen 111 (step S104).
  • steps S102 to S104 are repeatedly executed.
  • FIG. 9, FIG. 10, FIG. 11, and FIG. 12 are diagrams showing examples of the user interface screen 111 in the first embodiment of the present invention. These user interface screens 111 correspond to the entity information 131 of FIG.
  • an abstract entity display unit 1200 showing the abstract entity 200 and a concrete entity display unit 1300 showing a concrete entity 300 embodied in the abstract entity 200 are arranged in association with each other. .
  • an input field 1202 for allowing the user to input the value of each abstract setting item 202 included in the abstract setting item group 201 is arranged.
  • the current setting value 206 of the abstract setting item 202 is displayed.
  • the value input in the input field 1202 is set to the user input value 204 of the abstract setting item 202 by the setting value determination unit 120.
  • the concrete entity display unit 1300 is provided with an input field 1302 for allowing the user to input a value of each concrete setting item 302 included in the concrete setting item group 301.
  • the value of the current setting value 306 of the concrete setting item 302 is displayed.
  • the value input in the input field 1302 is set to the user input value 304 of the concrete setting item 302 by the setting value determination unit 120.
  • the input / output unit 110 may output a user interface screen 111 in which the concrete entity display unit 1300 is hidden as shown in FIG.
  • the concrete entity display unit 1300 is displayed as shown in FIG.
  • the complexity of the concrete entity 300 can be concealed from the user, and detailed information on the concrete entity 300 can be presented according to the skill of the user.
  • FIG. 4 is a flowchart showing a setting value determination process of the program setting device 100 according to the first embodiment of the present invention.
  • step S203 The “abstract setting value determination process” is executed to determine the setting value 206 of each abstract setting item 202 (step S203). Then, the setting value determination unit 120 inputs the setting value 206 of each abstract setting item 202 to the concrete logic execution unit 121 to instruct execution of “reification processing”, and the calculated value 305 of the concrete entity 300 is obtained. Calculate (step S204). Further, the set value determining unit 120 executes a “concrete set value determining process” to be described later, and determines the set value 306 of each concrete setting item 302 (step S205).
  • step S104 When the value of the concrete setting item 302 is input in step S104 described above (step S202 / Y), the setting value determining unit 120 executes step S205 to determine the setting value 306 of the concrete setting item 302. To do.
  • FIG. 5 is a flowchart showing an abstract setting value determination process of the program setting device 100 in the first embodiment of the present invention.
  • the set value determination unit 120 selects one abstract setting item 202 from the abstract setting item group 201 (step S301).
  • the set value determination unit 120 determines whether or not a value is set in the user input value 204 of the selected abstract setting item 202 (step S302).
  • step S302 when a value is set for the user input value 204 (step S302 / Y), the setting value determination unit 120 determines the user input value 204 as the setting value of the abstract setting item 202, and sets the setting value 206. (Step S303).
  • step S302 when a value is not set in the user input value 204 (step S302 / N), the set value determination unit 120 determines whether a value is set in the default value 203 (step S304).
  • step S304 when a value is set as the default value 203 (step S304 / Y), the setting value determination unit 120 determines the default value 203 as the setting value of the abstract setting item 202 and sets it as the setting value 206. (Step S305).
  • step S304 when no value is set as the default value 203 (step S304 / N), the set value determination unit 120 sets “no value (null)” as the set value 206 (step S306).
  • the set value determination unit 120 repeats steps S301 to S306 for all the abstract setting items 202 included in the abstract setting item group 201 (step S307).
  • FIG. 6 is a flowchart showing the reification process of the program setting device 100 according to the first embodiment of the present invention.
  • the concrete logic execution unit 121 executes the concrete logic 311 (step S401).
  • the concrete logic 311 calculates the value of each concrete setting item 302 included in the concrete setting item group 301 from the setting value 206 of the abstract setting item 202.
  • the concrete logic execution unit 121 selects one of the concrete setting items 302 included in the concrete setting item 301 group (step S402).
  • the concrete logic execution unit 121 determines whether the value of the selected concrete setting item 302 has been calculated (step S403).
  • the concrete logic 311 determines whether the value of the selected concrete setting item 302 has been calculated.
  • step S403 when the value of the concrete setting item 302 can be calculated (step S403 / Y), the concrete logic execution unit 121 sets the calculated value to the calculated value 305 (step S404).
  • step S403 when the value of the concrete setting item 302 is not calculated (step S403 / N), the calculated value 305 remains “no value (null)”.
  • the concrete logic execution unit 121 repeats steps S401 to S404 for all the concrete setting items 302 included in the concrete setting item group 301 (step S405).
  • FIG. 7 is a flowchart showing concrete setting value determination processing of the program setting device 100 in the first embodiment of the present invention.
  • the set value determination unit 120 selects one concrete setting item 302 from the concrete setting item group 301 (step S501).
  • the set value determination unit 120 determines whether or not a value is set in the user input value 304 of the selected concrete setting item 302 (step S502).
  • step S502 when a value is set for the user input value 304 (step S502 / Y), the set value determination unit 120 determines the user input value 304 as the set value of the concrete setting item 302 and sets the set value 306. (Step S503).
  • step S502 when a value is not set in the user input value 304 (step S502 / N), the set value determination unit 120 determines whether a value is set in the calculated value 305 (step S504).
  • step S504 when the calculated value 305 is set (step S504 / Y), the set value determining unit 120 determines the calculated value 305 as the set value of the concrete setting item 302 and sets it to the set value 306. (Step S505).
  • step S504 when a value is not set in the user input value 304 (step S504 / N), the set value determination unit 120 determines whether a value is set in the default value 303 (step S506).
  • step S506 when a value is set as the default value 303 (step S506 / Y), the setting value determination unit 120 determines the default value 303 as the setting value of the concrete setting item 302 and sets it as the setting value 306. (Step S507).
  • step S506 when no value is set as the default value 303 (step S506 / N), the set value determination unit 120 sets “no value (null)” as the set value 306 (step S508).
  • the set value determination unit 120 repeats steps S501 to S508 for all the concrete setting items 302 included in the concrete setting item group 301 (step S509).
  • the setting value determination unit 120 displays “abstract setting value”.
  • the default value 203 (“100”) is set as the setting value 206 of the abstract setting item 202 “A”.
  • the concrete logic execution unit 121 calculates the value “150” of the concrete setting item 302 “a” from the set value 206 using the concrete logic 311 “X_X1” in the “reification process”, and calculates the calculated value 305. Set to.
  • the set value determining unit 120 sets the calculated value 305 (“150”) to the set value 306 of the concrete setting item 302 “a” in the “concrete set value determining process”.
  • the input / output unit 110 sets the setting value 206 (“100”) in the input field 1202 of the abstract setting item 202 “A” and the setting value 306 (“150”) in the input field 1302 of the concrete setting item 302 “a”.
  • a user interface screen 111 as shown in FIG. 9 is output.
  • the setting value determination unit 120 uses the user input value 204 (“200”) in the “abstract setting value determination process”. Is set to the setting value 206 of the abstract setting item 202 “A”. Furthermore, the concrete logic execution unit 121 calculates the value “300” of the concrete setting item 302 “a” from the set value 206 using the concrete logic 311 “X_X1” in the “reification process”, and calculates the calculated value 305. Set to. Then, the set value determining unit 120 sets the calculated value 305 (“300”) as the set value 306 of the concrete setting item 302 “a” in the “concrete set value determining process”.
  • the input / output unit 110 sets the setting value 206 (“200”) in the input field 1202 of the abstract setting item 202 “A” and the setting value 306 (“300”) in the input field 1302 of the concrete setting item 302 “a”.
  • a user interface screen 111 as shown in FIG. 11 is output.
  • the input / output unit 110 displays the colors of the input fields 1202 and 1302 of the abstract setting item 202 and the concrete setting item 302 in which the setting values 206 and 306 are updated (determined) on the user interface screen 111.
  • the user may be notified of the updated (determined) abstract setting item 202, concrete setting item 302, and their setting values 206 and 306, for example.
  • the setting value determination unit 120 When the user inputs the value “500” in the input field 1302 of the concrete setting item 302 “a”, the setting value determination unit 120 performs the user input value 304 (“500”) in the “concrete setting value determination process”. Is set to the setting value 306 of the concrete setting item 302 “a”. In this case, the input / output unit 110 outputs the user interface screen 111 as shown in FIG. 12 in which the setting value 306 (“500”) is displayed in the input field 1302 of the concrete setting item 302 “a”.
  • FIG. 1 is a block diagram showing a characteristic configuration of the first embodiment of the present invention.
  • the program setting device 100 includes a concrete logic execution unit 121 and a set value determination unit 120.
  • the concrete logic execution unit 121 is a logic for calculating a concrete setting item 302 that is a setting item of each of a plurality of implementations of a program from an abstract setting item 202 that is a common setting item for a plurality of implementations of the program. Then, the reification logic 311 defined for each of the plurality of implementations is executed.
  • the setting value determination unit 120 uses the concrete logic 311 for the setting target implementation to set from the input value of the abstract setting item 202 to the concrete logic execution unit 121.
  • the value of the concrete setting item 302 related to the target implementation is calculated, and the setting value 306 of the concrete setting item 302 is determined.
  • the first embodiment of the present invention it is possible to flexibly define (design) program (software) setting items in accordance with the skill level of the user.
  • the reason is that an abstract setting item 202 which is a setting item common to a plurality of implementations of the program, a concrete setting item 302 which is a setting item of each of the plurality of implementations of the program, and a concrete setting item 302 from the abstract setting item 202
  • the concreteization logic 311 for calculation is defined, and the setting value determination unit 120 uses the concreteization logic 311 for the implementation of the setting target in the concreteization logic execution unit 121 to set the setting target from the input value of the abstract setting item 202. This is for calculating the value of the concrete setting item 302 related to the implementation of.
  • the setting items of the individual software can be abstracted according to the level of acquisition of the user's software and the requirements of the system using the software, and various setting interfaces can be provided. And even a user with a low learning level can easily set the software, and the learning cost of the user is reduced.
  • Patent Document 1 Even a user who understands detailed setting items of components constituting the system needs to set the components through the abstract setting items. In system development, problems that cannot be dealt with by setting with abstract setting items often need to be solved by directly setting the setting items of each software implementation.
  • a user with a high learning level who understands the setting items for program (software) implementation can make fine settings for software.
  • the setting value determining unit 120 sets the input value of the concrete setting item 302 to the setting of the concrete setting item 302 in preference to the calculated value of the concrete setting item 302. This is because the value 306 is determined.
  • the second embodiment of the present invention is that the data model indicated by the entity information 131 further includes an intermediate abstract entity 250 between the abstract entity 200 and the concrete entity 300. Different from the embodiment.
  • the configuration of the second embodiment of the present invention is the same as the configuration of the first embodiment of the present invention (FIG. 2).
  • a setting item common to a set of a plurality of implementations is defined as an intermediate abstract setting item 252.
  • the value of the intermediate abstract setting item 252 is calculated from the value of the abstract setting item 202 by the concrete logic 261.
  • the value of the concrete setting item 302 is calculated from the value of the intermediate abstract setting item 252 by the concrete logic 311.
  • FIG. 14 is a diagram illustrating an example of the entity information 131 in the second exemplary embodiment of the present invention.
  • the entity information 131 includes an abstract entity 200, one or more intermediate abstract entities 250 that embody the abstract entity 200, and one or more concrete entities 300 that embody the intermediate abstract entity 250.
  • the intermediate abstract entity 250 includes an intermediate abstract setting item group 251.
  • the intermediate abstract setting item group 251 includes one or more intermediate abstract setting items 252.
  • Each intermediate abstract setting item 252 includes a default value 253, a user input value 254, a calculated value 255, and a setting value 256.
  • the intermediate abstract entity 250 further includes a reification logic 261.
  • the concrete logic 261 is calculation logic for calculating the value of the intermediate abstract setting item 252 from the value of the abstract setting item 202.
  • the concrete logic 311 in the concrete entity 300 is calculation logic for calculating the value of the concrete setting item 302 from the value of the intermediate abstract setting item 252.
  • the entity information 131 includes an abstract entity 200 “server X”, an intermediate abstract entity 250 “server X1”, “server X2”, and an intermediate abstract entity 250 “server” which are embodied as the abstract entity 200 “server X”. It includes concrete entities 300 “product X11” and “product X12” that are embodied as “X1”.
  • the abstract entity 200 “server X” includes abstract setting items 202 “A” and “B”.
  • the intermediate abstract entity 250 “server X1” includes intermediate abstract setting items 252 “A1” and “B1”.
  • the concrete entity 300 “product X11” includes concrete setting items 302 “a1” and “b1”.
  • the intermediate abstract entity 250 “Server X1” includes the concrete logic 261 “X_X1”.
  • the concrete entity 300 “product X1” includes a concrete logic 311 “X1_X11”.
  • the overall processing of the program setting device 100 according to the second embodiment of the present invention is that the input of the identifier of the intermediate abstract entity 250 is further received in step S101, and the intermediate abstract entity 250 in step S104. This is the same as in the first embodiment (FIG. 3) of the present invention except that the input of the value can be accepted.
  • FIG. 15, FIG. 16, and FIG. 17 are diagrams showing examples of the user interface screen 111 in the second embodiment of the present invention. These user interface screens 111 correspond to the entity information 131 in FIG.
  • an abstract entity display unit 1200 showing the abstract entity 200
  • an intermediate abstract entity display unit 1250 showing an intermediate abstract entity 250 that embodies the abstract entity 200
  • the intermediate abstract entity A concrete entity display unit 1300 indicating a concrete entity 300 that is embodied as 250 is arranged in association with each other.
  • an input field 1252 for allowing the user to input the value of each intermediate abstract setting item 252 included in the intermediate abstract setting item group 251 is arranged as in the abstract entity display unit 1200. .
  • the value input in the input field 1252 is set to the user input value 254 of the intermediate abstract setting item 252 by the setting value determination unit 120.
  • FIG. 13 is a flowchart showing set value determination processing of the program setting device 100 in the second embodiment of the present invention.
  • the setting value determination unit 120 displays “abstract setting”.
  • the value determination process is executed, and the setting value 206 of the abstract setting item 202 is determined (step S604).
  • the setting value determination unit 120 executes “reification processing” using the intermediate abstract entity 250 instead of the concrete entity 300, and calculates the calculated value 255 of the intermediate abstract setting item 252 (step S605).
  • the setting value determination unit 120 executes “concrete setting value determination processing” using the intermediate abstract entity 250 instead of the concrete entity 300, and determines the setting value 256 of the intermediate abstract setting item 252 (step S606).
  • the setting value determination unit 120 executes “reification processing” using the intermediate abstract entity 250 instead of the abstract entity 200, and calculates the calculated value 305 of the concrete setting item 302 (step S607). Then, the setting value determination unit 120 executes “concrete setting value determination processing” to determine the setting value 306 of the concrete setting item 302 (step S608).
  • step S104 When the value of the intermediate abstract setting item 252 is input in step S104 described above (step S602 / Y), the setting value determining unit 120 executes steps S606 to S608 to set the intermediate abstract setting item 252. The value 256 and the setting value 306 of the concrete setting item 302 are determined.
  • step S608 determines the setting value 306 of the concrete setting item 302. To do.
  • “100” is set as the default value 203 of the abstract setting item 202 “A” of the abstract entity 200 “server X”, and the intermediate abstract setting item 252 “of the intermediate abstract entity 250“ server X1 ”. It is assumed that “100” is set as the default value 253 of “A1”. Also, it is assumed that the identifier “server X” of the abstract entity 200, the identifier “server X1” of the intermediate abstract entity 250, and the identifier “product X11” of the concrete entity 300 are input from the user as setting targets.
  • the setting value determination unit 120 performs the user input value 204 (“200”) in the “abstract setting value determination process”.
  • the reification logic execution unit 121 calculates the value “350” of the intermediate abstract setting item 252 “A1” from the setting value 206 using the reification logic 261 “X_X1”, and the calculated value Set to 255.
  • the setting value determination unit 120 sets the calculated value 255 (“350”) to the setting value 256 of the intermediate abstract setting item 252 “A1” in the “concrete setting value determination process”.
  • the concrete logic execution unit 121 calculates the value “400” of the concrete setting item 302 “a1” from the set value 256 using the concrete logic 311 “X1_X11”. Set to 305. Further, the setting value determination unit 120 sets the calculated value 305 (“400”) as the setting value 306 of the concrete setting item 302 “a1” in the “concrete setting value determination process”. In this case, the input / output unit 110 sets the setting value 206 (“200”) in the input field 1202 of the abstract setting item 202 “A” and the setting value 256 (“350”) in the input field 1252 of the intermediate abstract setting item 252 “A1”. ), The user interface screen 111 as shown in FIG. 15 is displayed in which the setting value 306 (“400”) is displayed in the input field 1302 of the concrete setting item 302 “a1”.
  • the input / output unit 110 has an abstract setting item 202, an intermediate abstract setting item 252, and a concrete setting item 302 in which setting values 206, 256, and 306 are updated (determined) on the user interface screen 111.
  • the abstract setting item 202, intermediate abstract setting item 252, concrete setting item 302 and their setting values 206, 256, and 306 updated (decided) are notified to the user by changing the colors of the input fields 1202, 1252, and 1302, respectively. May be.
  • the setting value determination unit 120 performs the user input value 254 (“500”) in the “concrete setting value determination process”. ) To the set value 256 of the intermediate abstract setting item 252 “A1”. Next, the concrete logic execution unit 121 calculates the value “600” of the concrete setting item 302 “a1” from the set value 256 using the concrete logic 311 “X1_X11” in the “reification process”, and sets the concrete setting. The calculated value 305 of the item 302 “a1” is set.
  • the set value determining unit 120 sets the calculated value 305 (“600”) as the set value 306 of the concrete setting item 302 “a1” in the “concrete set value determining process”.
  • the input / output unit 110 sets the setting value 256 (“500”) in the input field 1252 of the intermediate abstract setting item 252 “A1” and the setting value 306 (“600”) in the input field 1302 of the concrete setting item 302 “a1”.
  • a user interface screen 111 as shown in FIG. 16 is output.
  • the setting value determination unit 120 uses the user input value 304 (“500”) in the “concrete setting value determination process”. Is set to the setting value 306 of the concrete setting item 302 “a1”. In this case, the input / output unit 110 outputs a user interface screen 111 as shown in FIG. 17 in which the setting value 306 (“500”) is displayed in the input field 1302 of the concrete setting item 302 “a1”.
  • the operation has been described by taking as an example the case where one intermediate abstract entity 250 is defined between the abstract entity 200 and the concrete entity 300.
  • a plurality of intermediate abstract entities 250 are defined by repetition of a lower intermediate abstract entity that is embodied as an upper intermediate abstract entity and an upper intermediate abstract entity (defined by nesting a plurality of intermediate abstract entities 250). May be.
  • the setting value determination unit 120 executes “reification processing” using the upper intermediate abstract entity instead of the abstract entity 200 and the lower intermediate abstract entity instead of the concrete entity 300, and sets the upper intermediate abstract entity setting item.
  • the calculated value of the setting item (lower intermediate abstract setting item) of the lower intermediate abstract entity is calculated from (upper intermediate abstract setting item).
  • the setting value determination unit 120 executes “concrete setting value determination processing” using the lower intermediate abstract entity instead of the concrete entity 300 to determine the setting value of the lower intermediate abstract setting item.
  • the setting value determination unit 120 determines the setting value of each intermediate abstract setting item by repeating these processes.
  • various setting interfaces that can be easily set by the user even in a system having more complicated setting items than those of the first embodiment of the present invention. Can be provided.
  • the reason is that an intermediate abstract entity 250 is further defined between the abstract entity 200 and the concrete entity 300, and the setting value determination unit 120 uses the concreteization logic 261 in the concreteization logic execution unit 121 to perform the abstract setting. This is because the value of the intermediate abstract setting item 252 is calculated from the setting value 206 of the item 202 and the value of the concrete setting item 302 is calculated from the setting value 256 of the intermediate abstract setting item 252 using the concrete logic 311.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

 プログラムの設定項目を、ユーザのスキルレベルに合わせて柔軟に定義する。 プログラム設定装置(100)は、具象化ロジック実行部(121)、及び、設定値決定部(120)を含む。具象化ロジック実行部(121)は、プログラムの複数の実装について共通な設定項目である抽象設定項目(202)から、プログラムの複数の実装の各々の設定項目である具象設定項目(302)を算出するための具象化ロジック(311)を実行する。設定値決定部(120)は、抽象設定項目(202)の値が入力された場合に、具象化ロジック実行部(121)に、設定対象の実装に対する具象化ロジック(311)を用いて、抽象設定項目(202)の入力値から設定対象の実装に係る具象設定項目(302)の値を算出させ、当該具象設定項目(302)の設定値(306)に決定する。

Description

プログラム設定装置、及び、プログラム設定方法
 本発明は、プログラム設定装置、及び、プログラム設定方法に関し、特に、ミドルウェアやアプリケーションなどのプログラムの設定を行うためのプログラム設定装置、及び、プログラム設定方法に関する。
 近年、様々な技術領域において標準化が進み、同一の機能を提供するソフトウェア(プログラム)が、製品やOSS(Open Source Software)等の多様な実装として提供されるようになった。その結果、このようなソフトウェアを利用してシステム構築する技術者は、ソフトウェアの実装ごとに異なる設定方法を理解する必要がある。
 このような状況を背景に、ソフトウェア技術者の技術認定制度など、ソフトウェア技術者が上述の多様な実装について学習するためのプロセスが整備されているが、近年の技術開発のスピードに追従するのが困難になってきている。
 このような課題に対して、ソフトウェアの各実装の詳細な設定項目をユーザに対して隠蔽し、抽象化した設定項目を提示するアプローチが提案されている。
 例えば、特許文献1では、オブジェクト指向アプリケーションの構築において、各部品の設定項目を集約、抽象化して、ユーザに提供し、各部品の詳細な設定を隠蔽する技術が開示されている。
特開平09-120357号公報
 特許文献1に記載の方法では、システムを構成する複数の部品のセットの設定を、例えば、「造粒ライン」という設定項目のセットに集約し、ユーザに対して提示している。ここで、「造粒ライン」の設定項目の名前にユーザにとって分かりやすい名前を定義することや、各部品の設定項目の一部を隠蔽することにより、ユーザが学習すべきことが削減される。また、ユーザによって入力された「造粒ライン」の設定項目の値を各部品の設定項目に反映させるため、「造粒ライン」の設定項目と各部品の設定項目との対応付けが管理されている。つまり抽象設定項目(「造粒ライン」の設定項目)と、各部品の設定項目のマップが管理されている。
 特許文献1に記載の方法では、抽象設定項目を設けることで、各部品の細やかな設定項目をユーザから隠蔽し、設定の容易性をある程度上げることができる。しかしながら、特許文献1に記載の方法は、抽象設定項目を柔軟に定義(設計)できないという問題がある。なぜなら、特許文献1の方法では、抽象設定項目の各部品の設定項目への反映は、上述のマップをもとに行われるため、ユーザが入力した抽象設定項目の値が、そのまま、対応する部品の設定項目の値として適用されるためである。このため、例えば、「生産量」を「多」、「中」、「少」のようなメニューで入力させる等、抽象設定項目をユーザのスキルレベルに合わせて柔軟に定義することができない。
 本発明の目的は、上述のような、プログラムの設定項目をユーザのスキルレベルに合わせて柔軟に定義できないという課題を解決した、プログラム設定装置、及び、プログラム設定方法を提供することにある。
 本発明の一態様におけるプログラム設定装置は、プログラムの複数の実装について共通な設定項目である抽象設定項目から、前記プログラムの複数の実装の各々の設定項目である具象設定項目を算出するためのロジックであって、前記複数の実装の各々について定義される、具象化ロジックを実行する具象化ロジック実行手段と、前記抽象設定項目の値が入力された場合に、前記具象化ロジック実行手段に、設定対象の実装に対する前記具象化ロジックを用いて、前記抽象設定項目の入力値から前記設定対象の実装に係る前記具象設定項目の値を算出させ、当該具象設定項目の設定値に決定する設定値決定手段と、を備える。
 本発明の一態様におけるプログラム設定方法は、プログラムの複数の実装について共通な設定項目である抽象設定項目が入力された場合に、前記抽象設定項目から前記プログラムの複数の実装の各々の設定項目である具象設定項目を算出するためのロジックであって、前記複数の実装の各々について定義される具象化ロジックの内、設定対象の実装に対する前記具象化ロジックを用いて、前記抽象設定項目の入力値から前記設定対象の実装に係る前記具象設定項目の値を算出し、当該具象設定項目の設定値に決定する。
 本発明の一態様におけるコンピュータが読み取り可能な記録媒体は、コンピュータに、プログラムの複数の実装について共通な設定項目である抽象設定項目が入力された場合に、前記抽象設定項目から前記プログラムの複数の実装の各々の設定項目である具象設定項目を算出するためのロジックであって、前記複数の実装の各々について定義される具象化ロジックの内、設定対象の実装に対する前記具象化ロジックを用いて、前記抽象設定項目の入力値から前記設定対象の実装に係る前記具象設定項目の値を算出し、当該具象設定項目の設定値に決定する、処理を実行させるプログラムを格納する。
 本発明の効果は、プログラムの設定項目を、ユーザのスキルレベルに合わせて柔軟に定義できることである。
本発明の第1の実施の形態の特徴的な構成を示すブロック図である。 本発明の第1の実施の形態における、プログラム設定装置100の構成を示すブロック図である。 本発明の第1の実施の形態における、プログラム設定装置100の全体的な処理を示すフローチャートである。 本発明の第1の実施の形態における、プログラム設定装置100の設定値決定処理を示すフローチャートである。 本発明の第1の実施の形態における、プログラム設定装置100の抽象設定値決定処理を示すフローチャートである。 本発明の第1の実施の形態における、プログラム設定装置100の具象化処理を示すフローチャートである。 本発明の第1の実施の形態における、プログラム設定装置100の具象設定値決定処理を示すフローチャートである。 本発明の第1の実施の形態における、エンティティ情報131の例を示す図である。 本発明の第1の実施の形態における、ユーザインタフェース画面111の例を示す図である。 本発明の第1の実施の形態における、ユーザインタフェース画面111の他の例を示す図である。 本発明の第1の実施の形態における、ユーザインタフェース画面111の他の例を示す図である。 本発明の第1の実施の形態における、ユーザインタフェース画面111の他の例を示す図である。 本発明の第2の実施の形態における、プログラム設定装置100の設定値決定処理を示すフローチャートである。 本発明の第2の実施の形態における、エンティティ情報131の例を示す図である。 本発明の第2の実施の形態における、ユーザインタフェース画面111の例を示す図である。 本発明の第2の実施の形態における、ユーザインタフェース画面111の他の例を示す図である。 本発明の第2の実施の形態における、ユーザインタフェース画面111の他の例を示す図である。
 (第1の実施の形態)
 本発明の第1の実施の形態について説明する。
 はじめに、本発明の第1の実施の形態の構成について説明する。図2は、本発明の第1の実施の形態における、プログラム設定装置100の構成を示すブロック図である。
 図2を参照すると、本発明の第1の実施の形態のプログラム設定装置100は、入出力部110、設定値決定部120、具象化ロジック実行部121、及び、エンティティ情報記憶部130を含む。
 エンティティ情報記憶部130は、1以上のエンティティ情報131を記憶する。エンティティ情報131は、例えば、アプリケーションサーバ(APサーバ)やデータベースサーバ(DBサーバ)等、ある機能を提供するソフトウェア(プログラム)の設定項目に係るデータモデルを示す。
 ここで、設定項目として、例えば、APサーバのメモリ量を考えた場合、同じAPサーバであっても、当該APサーバの実装(製品)が動作するためのメモリ量や、実装を監視するためのメモリ量は、実装ごとに異なる。このため、APサーバの実装のメモリ量には、実装に応じた値を設定する必要がある。
 そこで、本発明の第1の実施の形態では、ある機能を提供するソフトウェアについて、当該ソフトウェアの仕様等で決まる、実装に依存せずに、実装間で共通な設定項目を抽象設定項目202、実装に依存する、実装ごとの設定項目を具象設定項目302と定義する。具象設定項目302の値は、後述する具象化ロジック311によって、抽象設定項目202の値から算出される。
 図8は、本発明の第1の実施の形態における、エンティティ情報131の例を示す図である。図8を参照すると、エンティティ情報131は、抽象エンティティ200、及び、1以上の具象エンティティ300を含む。
 抽象エンティティ200と具象エンティティ300との間の矢印は、具象エンティティ300の具象設定項目302の値が、抽象エンティティ200の抽象設定項目202から算出される関係にあることを示す。本発明の実施の形態では、このような関係がある場合、具象エンティティ300を、抽象エンティティ200を具象化したエンティティ、具象設定項目302を、抽象設定項目202を具象化した設定項目と呼ぶ。
 ここで、抽象エンティティ200は、上述のAPサーバや、DBサーバ等、ある機能を提供するソフトウェアを示す。各具象エンティティ300は、APサーバの各種製品やDBサーバの各種製品等、同一の機能を提供するソフトウェアの異なる実装を示す。
 抽象エンティティ200は、抽象設定項目群201を含む。抽象設定項目群201は、メモリ量や、スレッド数、タイムアウト値等、1以上の抽象設定項目202を含む。各抽象設定項目202は、デフォルト値203、ユーザ入力値204、及び、設定値206を含む。デフォルト値203は、ユーザ入力値204が設定されていない場合に用いられる、抽象設定項目202の値である。デフォルト値203は、管理者等により、予め設定される。ユーザ入力値204は、ユーザにより入力された抽象設定項目202の値である。初期状態では、ユーザ入力値204には、「値なし(null)」が設定される。設定値206は、抽象設定項目202の設定値として決定された値である。
 具象エンティティ300は、具象設定項目群301を含む。具象設定項目群301は、メモリ量や、スレッド数、タイムアウト値等、1以上の具象設定項目302を含む。各具象設定項目302は、デフォルト値303、ユーザ入力値304、算出値305、及び、設定値306を含む。デフォルト値303は、ユーザ入力値304、及び、算出値305に値が設定されていない場合に用いられる、具象設定項目302の値である。デフォルト値303は、管理者等により、予め設定される。ユーザ入力値304は、ユーザにより入力された具象設定項目302の値である。算出値305は、後述する具象化ロジック311を用いて、抽象設定項目202の設定値206から算出された値である。初期状態では、ユーザ入力値304、及び、算出値305には、「値なし(null)」が設定される。設定値306は、具象設定項目302の設定値として、決定された値である。設定値306は、具象エンティティ300に対応する実装の設定に用いられる。
 具象エンティティ300は、さらに、具象化ロジック311を含む。具象化ロジック311は、抽象設定項目202の値から具象設定項目302の値を算出するための算出ロジックである。具象化ロジック311は、抽象エンティティ200と具象エンティティ300の組に対して定義される。具象化ロジック311には、各具象設定項目302の値を算出するためのロジックが定義される。
 具象化ロジック311は、具象エンティティ300に対応する実装に応じて、抽象設定項目202の値を補正することにより、具象設定項目302の値を算出する。例えば、具象化ロジック311は、抽象設定項目202のメモリ量の値に、実装に応じて、所定の係数を乗じる、あるいは、所定の値を加算することにより、具象設定項目302のメモリ量を算出する。
 なお、具象化ロジック311は、複数の抽象設定項目202から1つの具象設定項目302の値を算出してもよい。例えば、具象化ロジック311は、抽象設定項目202のメモリ量とスレッド数に、実装に応じた所定の演算を行うことにより、具象設定項目302のメモリ量を算出してもよい。
 また、具象化ロジック311は、抽象設定項目202に設定されたレベルから、具象設定項目302の値を算出してもよい。例えば、抽象設定項目202の値が、「多」、「中」、「少」等のレベルで定義される場合、具象化ロジック311は、各レベルに対する、実装に応じた値を算出してもよい。
 具象化ロジック311は、例えば、実装(製品)の開発者により定義され、管理者等により予め設定される。
 図8の例では、エンティティ情報131は、抽象エンティティ200「サーバX」と当該抽象エンティティ200を具象化した、具象エンティティ300「製品X1」、「製品X2」を含む。また、抽象エンティティ200「サーバX」は、抽象設定項目202「A」、「B」を含む。具象エンティティ300「製品X1」は、具象設定項目302「a」、「b」を含む。さらに、具象エンティティ300「製品X1」は、具象化ロジック311「X_X1」を含む。
 入出力部110は、マウスやディスプレイ、タッチスクリーン等の入出力装置(図示せず)を介して、ユーザからの各設定項目の値の入力、及び、ユーザへの各設定項目の値の出力を行う。入出力部110は、後述するユーザインタフェース画面111により、各設定項目の値の入出力を行う。
 設定値決定部120は、抽象設定項目202の設定値206を決定する。そして、設定値決定部120は、具象化ロジック実行部121に設定値206を入力して、具象設定項目302の値を算出させる。さらに、設定値決定部120は、具象設定項目302の設定値306を決定する。
 具象化ロジック実行部121は、具象化ロジック311を実行する。
 なお、入出力部110、設定値決定部120、及び、具象化ロジック実行部121は、CPU(Central Processing Unit)とプログラムを記憶した記憶媒体を含み、プログラムに基づく制御によって動作するコンピュータであってもよい。
 次に、本発明の第1の実施の形態におけるプログラム設定装置100の動作について説明する。
 (全体的な処理)
 はじめに、本発明の第1の実施の形態における、プログラム設定装置100の全体的な処理について説明する。図3は、本発明の第1の実施の形態における、プログラム設定装置100の全体的な処理を示すフローチャートである。
 はじめに、入出力部110は、ユーザから、設定対象の抽象エンティティ200、及び、具象エンティティ300の識別子の入力を受け付ける(ステップS101)。ここで、入出力部110は、抽象エンティティ200と当該抽象エンティティ200を具象化した具象エンティティ300の一覧を出力し、設定対象の抽象エンティティ200、及び、具象エンティティ300をユーザに選択させてもよい。また、入出力部110は、これらの識別子の入力欄を表示し、ユーザにこれらの識別子を直接入力させてもよい。
 設定値決定部120は、後述する「設定値決定処理」を行い、抽象設定項目202の設定値206、及び、具象設定項目302の設定値306を決定する(ステップS102)。
 入出力部110は、抽象設定項目202の設定値206、及び、具象設定項目302の設定値306を、ユーザインタフェース画面111により出力する(ステップS103)。
 入出力部110は、ユーザインタフェース画面111上で、ユーザからの抽象設定項目202、または、具象設定項目302の値の入力を受け付ける(ステップS104)。
 以降、ステップS102~S104が繰り返し実行される。
 ここで、本発明の第1の実施の形態における、ユーザインタフェース画面111について説明する。
 図9、図10、図11、図12は、本発明の第1の実施の形態における、ユーザインタフェース画面111の例を示す図である。これらのユーザインタフェース画面111は、図8のエンティティ情報131に対応する。
 図9を参照すると、ユーザインタフェース画面111では、抽象エンティティ200を示す抽象エンティティ表示部1200と当該抽象エンティティ200を具象化した具象エンティティ300を示す具象エンティティ表示部1300とが、関連付けられて配置される。
 抽象エンティティ表示部1200には、ユーザに、抽象設定項目群201に含まれる各抽象設定項目202の値を入力させるための入力欄1202が配置される。入力欄1202には、抽象設定項目202の現在の設定値206の値が表示される。入力欄1202に入力された値は、設定値決定部120により、抽象設定項目202のユーザ入力値204に設定される。同様に、具象エンティティ表示部1300には、ユーザに、具象設定項目群301に含まれる各具象設定項目302の値を入力させるための入力欄1302が配置される。入力欄1302には、具象設定項目302の現在の設定値306の値が表示される。入力欄1302に入力された値は、設定値決定部120により、具象設定項目302のユーザ入力値304に設定される。
 なお、現在の設定値206、306は、入力欄1202、1302とは別に表示されてもよい。
 また、入出力部110は、初期状態では、図10のように、具象エンティティ表示部1300が隠されたユーザインタフェース画面111を出力してもよい。この場合、ユーザが、必要に応じて「詳細」ボタン等を押下することで、図9のように、具象エンティティ表示部1300が表示される。これにより、具象エンティティ300の複雑性をユーザから隠蔽し、ユーザのスキルに応じて詳細な具象エンティティ300の情報を提示できる。
 (設定値決定処理)
 次に、本発明の第1の実施の形態における、プログラム設定装置100の設定値決定処理について説明する。
 図4は、本発明の第1の実施の形態における、プログラム設定装置100の設定値決定処理を示すフローチャートである。
 設定値決定部120は、上述のステップS101で、設定対象の識別子が入力された場合、あるいは、ステップS104で、抽象設定項目202の値が入力された場合(ステップS201/Y)、後述の「抽象設定値決定処理」を実行し、各抽象設定項目202の設定値206を決定する(ステップS203)。そして、設定値決定部120は、具象化ロジック実行部121に、各抽象設定項目202の設定値206を入力して、「具象化処理」の実行を指示し、具象エンティティ300の算出値305を算出させる(ステップS204)。さらに、設定値決定部120は、後述の「具象設定値決定処理」を実行し、各具象設定項目302の設定値306を決定する(ステップS205)。
 また、設定値決定部120は、上述のステップS104で、具象設定項目302の値が入力された場合(ステップS202/Y)、ステップS205を実行して、具象設定項目302の設定値306を決定する。
 図5は、本発明の第1の実施の形態における、プログラム設定装置100の抽象設定値決定処理を示すフローチャートである。
 はじめに、設定値決定部120は、抽象設定項目群201から、抽象設定項目202を1つ選択する(ステップS301)。
 設定値決定部120は、選択した抽象設定項目202のユーザ入力値204に値が設定されているかどうかを判定する(ステップS302)。
 ステップS302において、ユーザ入力値204に値が設定されている場合(ステップS302/Y)、設定値決定部120は、ユーザ入力値204を、抽象設定項目202の設定値として決定し、設定値206に設定する(ステップS303)。
 ステップS302において、ユーザ入力値204に値が設定されていない場合(ステップS302/N)、設定値決定部120は、デフォルト値203に値が設定されているかどうかを判定する(ステップS304)。
 ステップS304において、デフォルト値203に値が設定されている場合(ステップS304/Y)、設定値決定部120は、デフォルト値203を、抽象設定項目202の設定値として決定し、設定値206に設定する(ステップS305)。
 ステップS304において、デフォルト値203に値が設定されてない場合(ステップS304/N)、設定値決定部120は、設定値206に「値なし(null)」を設定する(ステップS306)。
 設定値決定部120は、抽象設定項目群201に含まれる全ての抽象設定項目202について、ステップS301~S306を繰り返す(ステップS307)。
 図6は、本発明の第1の実施の形態における、プログラム設定装置100の具象化処理を示すフローチャートである。
 はじめに、具象化ロジック実行部121は、具象化ロジック311を実行する(ステップS401)。ここで、具象化ロジック311は、抽象設定項目202の設定値206から、具象設定項目群301に含まれる各具象設定項目302の値を算出する。
 具象化ロジック実行部121は、具象設定項目301群に含まれる具象設定項目302の1つを選択する(ステップS402)。
 具象化ロジック実行部121は、選択された具象設定項目302の値が算出できたかどうかを判定する(ステップS403)。ここで、例えば、具象化ロジック311が具象設定項目302の値を算出するために必要な抽象設定項目202の設定値206に「値なし(null)」が設定されている場合、具象化ロジック311は、具象設定項目302の値を算出できない。
 ステップS403において、具象設定項目302の値が算出できた場合(ステップS403/Y)、具象化ロジック実行部121は、算出された値を算出値305に設定する(ステップS404)。
 ステップS403において、具象設定項目302の値が算出されていない場合(ステップS403/N)、算出値305は、「値なし(null)」のままである。
 具象化ロジック実行部121は、具象設定項目群301に含まれる全ての具象設定項目302について、ステップS401~S404を繰り返す(ステップS405)。
 図7は、本発明の第1の実施の形態における、プログラム設定装置100の具象設定値決定処理を示すフローチャートである。
 はじめに、設定値決定部120は、具象設定項目群301から、具象設定項目302を1つ選択する(ステップS501)。
 設定値決定部120は、選択した具象設定項目302のユーザ入力値304に値が設定されているかどうかを判定する(ステップS502)。
 ステップS502において、ユーザ入力値304に値が設定されている場合(ステップS502/Y)、設定値決定部120は、ユーザ入力値304を、具象設定項目302の設定値として決定し、設定値306に設定する(ステップS503)。
 ステップS502において、ユーザ入力値304に値が設定されていない場合(ステップS502/N)、設定値決定部120は、算出値305に値が設定されているかどうかを判定する(ステップS504)。
 ステップS504において、算出値305に値が設定されている場合(ステップS504/Y)、設定値決定部120は、算出値305を、具象設定項目302の設定値として決定し、設定値306に設定する(ステップS505)。
 ステップS504において、ユーザ入力値304に値が設定されていない場合(ステップS504/N)、設定値決定部120は、デフォルト値303に値が設定されているかどうかを判定する(ステップS506)。
 ステップS506において、デフォルト値303に値が設定されている場合(ステップS506/Y)、設定値決定部120は、デフォルト値303を、具象設定項目302の設定値として決定し、設定値306に設定する(ステップS507)。
 ステップS506において、デフォルト値303に値が設定されていない場合(ステップS506/N)、設定値決定部120は、設定値306に「値なし(null)」を設定する(ステップS508)。
 設定値決定部120は、具象設定項目群301に含まれる全ての具象設定項目302について、ステップS501~S508を繰り返す(ステップS509)。
 例えば、図8のエンティティ情報131において、抽象エンティティ200「サーバX」の抽象設定項目202「A」のデフォルト値203に「100」が設定されていると仮定する。
 ここで、ユーザから、設定対象の識別子として、抽象エンティティ200の識別子「サーバX」、及び、具象エンティティ300の識別子「製品X1」が入力された場合、設定値決定部120は、「抽象設定値決定処理」において、デフォルト値203(「100」)を抽象設定項目202「A」の設定値206に設定する。さらに、具象化ロジック実行部121は、「具象化処理」において、具象化ロジック311「X_X1」を用いて設定値206から具象設定項目302「a」の値「150」を算出し、算出値305に設定する。そして、設定値決定部120は、「具象設定値決定処理」において、算出値305(「150」)を具象設定項目302「a」の設定値306に設定する。この場合、入出力部110は、抽象設定項目202「A」の入力欄1202に設定値206(「100」)、具象設定項目302「a」の入力欄1302に設定値306(「150」)を表示した、図9のようなユーザインタフェース画面111を出力する。
 また、ユーザが抽象設定項目202「A」の入力欄1202に値「200」を入力した場合、設定値決定部120は、「抽象設定値決定処理」において、ユーザ入力値204(「200」)を抽象設定項目202「A」の設定値206に設定する。さらに、具象化ロジック実行部121は、「具象化処理」において、具象化ロジック311「X_X1」を用いて設定値206から具象設定項目302「a」の値「300」を算出し、算出値305に設定する。そして、設定値決定部120は、「具象設定値決定処理」において、算出値305(「300」)を具象設定項目302「a」の設定値306に設定する。この場合、入出力部110は、抽象設定項目202「A」の入力欄1202に設定値206(「200」)、具象設定項目302「a」の入力欄1302に設定値306(「300」)を表示した、図11のようなユーザインタフェース画面111を出力する。
 なお、入出力部110は、図11に示すように、ユーザインタフェース画面111において、設定値206、306が更新(決定)された抽象設定項目202、具象設定項目302の入力欄1202、1302の色を変更する等により、更新(決定)された抽象設定項目202、具象設定項目302とその設定値206、306をユーザに通知してもよい。
 また、ユーザが具象設定項目302「a」の入力欄1302に値「500」を入力した場合、設定値決定部120は、「具象設定値決定処理」において、ユーザ入力値304(「500」)を具象設定項目302「a」の設定値306に設定する。この場合、入出力部110は、具象設定項目302「a」の入力欄1302に設定値306(「500」)を表示した、図12のようなユーザインタフェース画面111を出力する。
 以上により、本発明の第1の実施の形態の動作が完了する。
 次に、本発明の第1の実施の形態の特徴的な構成を説明する。図1は、本発明の第1の実施の形態の特徴的な構成を示すブロック図である。
 図1を参照すると、プログラム設定装置100は、具象化ロジック実行部121、及び、設定値決定部120を含む。
 具象化ロジック実行部121は、プログラムの複数の実装について共通な設定項目である抽象設定項目202から、プログラムの複数の実装の各々の設定項目である具象設定項目302を算出するためのロジックであって、複数の実装の各々について定義される、具象化ロジック311を実行する。
 設定値決定部120は、抽象設定項目202の値が入力された場合に、具象化ロジック実行部121に、設定対象の実装に対する具象化ロジック311を用いて、抽象設定項目202の入力値から設定対象の実装に係る具象設定項目302の値を算出させ、当該具象設定項目302の設定値306に決定する。
 本発明の第1の実施の形態によれば、プログラム(ソフトウェア)の設定項目を、ユーザのスキルレベルに合わせて柔軟に定義(設計)できる。その理由は、プログラムの複数の実装について共通な設定項目である抽象設定項目202、プログラムの複数の実装の各々の設定項目である具象設定項目302、及び、抽象設定項目202から具象設定項目302を算出するための具象化ロジック311を定義し、設定値決定部120が、具象化ロジック実行部121に、設定対象の実装に対する具象化ロジック311を用いて、抽象設定項目202の入力値から設定対象の実装に係る具象設定項目302の値を算出させるためである。これにより、個々のソフトウェアの設定項目を、ユーザのソフトウェアに対する習得レベルや、ソフトウェアを利用したシステムの要件に応じて抽象化でき、多様な設定インタフェースを提供できる。そして、低い習得レベルのユーザでもソフトウェアを容易に設定できるようになり、ユーザの学習コストが削減される。
 また、上述の特許文献1に記載の方法では、システムを構成する部品の詳細な設定項目を理解しているユーザであっても、抽象設定項目を通して部品に対する設定する必要があった。システム開発では、抽象設定項目による設定では対応できない問題を、各ソフトウェアの実装の設定項目を直接設定することで、解決しなければならないケースが頻発する。
 本発明の第1の実施の形態によれば、プログラム(ソフトウェア)の実装の設定項目を理解した高い習得レベルのユーザは、ソフトウェアに対するきめ細やかな設定ができる。その理由は、具象設定項目302の値が入力された場合、設定値決定部120が、具象設定項目302の算出値に優先して、具象設定項目302の入力値を、具象設定項目302の設定値306に決定するためである。
 (第2の実施の形態)
 次に、本発明の第2の実施の形態について説明する。
 本発明の第2の実施の形態は、エンティティ情報131によって示されるデータモデルが、抽象エンティティ200と具象エンティティ300との間に、さらに、中間抽象エンティティ250を含む点において、本発明の第1の実施の形態と異なる。
 本発明の第2の実施の形態の構成は、本発明の第1の実施の形態の構成(図2)と同様である。
 本発明の第2の実施の形態では、複数の実装の内の一部からなる集合で共通な設定項目を中間抽象設定項目252と定義する。中間抽象設定項目252の値は、具象化ロジック261によって、抽象設定項目202の値から算出される。具象設定項目302の値は、具象化ロジック311によって、中間抽象設定項目252の値から算出される。
 図14は、本発明の第2の実施の形態における、エンティティ情報131の例を示す図である。図14を参照すると、エンティティ情報131は、抽象エンティティ200、抽象エンティティ200を具象化した1以上の中間抽象エンティティ250、及び、中間抽象エンティティ250を具象化した1以上の具象エンティティ300を含む。
 中間抽象エンティティ250は、中間抽象設定項目群251を含む。中間抽象設定項目群251は、1以上の中間抽象設定項目252を含む。各中間抽象設定項目252は、デフォルト値253、ユーザ入力値254、算出値255、及び、設定値256を含む。
 中間抽象エンティティ250は、さらに、具象化ロジック261を含む。具象化ロジック261は、抽象設定項目202の値から中間抽象設定項目252の値を算出するための算出ロジックである。
 また、具象エンティティ300における具象化ロジック311は、中間抽象設定項目252の値から具象設定項目302の値を算出するための算出ロジックである。
 図14の例では、エンティティ情報131は、抽象エンティティ200「サーバX」、抽象エンティティ200「サーバX」を具象化した中間抽象エンティティ250「サーバX1」、「サーバX2」、中間抽象エンティティ250「サーバX1」を具象化した具象エンティティ300「製品X11」、「製品X12」を含む。また、抽象エンティティ200「サーバX」は、抽象設定項目202「A」、「B」を含む。中間抽象エンティティ250「サーバX1」は、中間抽象設定項目252「A1」、「B1」を含む。具象エンティティ300「製品X11」は、具象設定項目302「a1」、「b1」を含む。さらに、中間抽象エンティティ250「サーバX1」は、具象化ロジック261「X_X1」を含む。さらに、具象エンティティ300「製品X1」は、具象化ロジック311「X1_X11」を含む。
 次に、本発明の第2の実施の形態におけるプログラム設定装置100の動作について説明する。
 (全体的な処理)
 本発明の第2の実施の形態における、プログラム設定装置100の全体的な処理は、ステップS101において、さらに、中間抽象エンティティ250の識別子の入力を受け付ける点、及び、ステップS104において、中間抽象エンティティ250の値の入力を受け付け可能な点を除いて、本発明の第1の実施の形態(図3)と同様である。
 ここで、本発明の第2の実施の形態における、ユーザインタフェース画面111について説明する。
 図15、図16、図17は、本発明の第2の実施の形態における、ユーザインタフェース画面111の例を示す図である。これらのユーザインタフェース画面111は、図14のエンティティ情報131に対応する。
 図15を参照すると、ユーザインタフェース画面111では、抽象エンティティ200を示す抽象エンティティ表示部1200、当該抽象エンティティ200を具象化した中間抽象エンティティ250を示す中間抽象エンティティ表示部1250、及び、当該中間抽象エンティティ250を具象化した具象エンティティ300を示す具象エンティティ表示部1300が、関連付けられて配置される。
 中間抽象エンティティ表示部1250には、ユーザに、抽象エンティティ表示部1200と同様に、中間抽象設定項目群251に含まれる各中間抽象設定項目252の値を入力させるための入力欄1252が配置される。入力欄1252に入力された値は、設定値決定部120により、中間抽象設定項目252のユーザ入力値254に設定される。
 (設定値決定処理)
 次に、本発明の第2の実施の形態における、プログラム設定装置100の設定値決定処理について説明する。
 図13は、本発明の第2の実施の形態における、プログラム設定装置100の設定値決定処理を示すフローチャートである。
 設定値決定部120は、上述のステップS101で、設定対象の識別子が入力された場合、あるいは、ステップS104で、抽象設定項目202の値が入力された場合(ステップS601/Y)、「抽象設定値決定処理」を実行し、抽象設定項目202の設定値206を決定する(ステップS604)。そして、設定値決定部120は、具象エンティティ300の代わりに中間抽象エンティティ250を用いて「具象化処理」を実行し、中間抽象設定項目252の算出値255を算出する(ステップS605)。さらに、設定値決定部120は、具象エンティティ300の代わりに中間抽象エンティティ250を用いて「具象設定値決定処理」を実行し、中間抽象設定項目252の設定値256を決定する(ステップS606)。次に、設定値決定部120は、抽象エンティティ200の代わりに中間抽象エンティティ250を用いて「具象化処理」を実行し、具象設定項目302の算出値305を算出する(ステップS607)。そして、設定値決定部120は、「具象設定値決定処理」を実行し、具象設定項目302の設定値306を決定する(ステップS608)。
 また、設定値決定部120は、上述のステップS104で、中間抽象設定項目252の値が入力された場合(ステップS602/Y)、ステップS606~S608を実行して、中間抽象設定項目252の設定値256、及び、具象設定項目302の設定値306を決定する。
 また、設定値決定部120は、上述のステップS104で、具象設定項目302の値が入力された場合(ステップS603/Y)、ステップS608を実行して、具象設定項目302の設定値306を決定する。
 例えば、図14のエンティティ情報131において、抽象エンティティ200「サーバX」の抽象設定項目202「A」のデフォルト値203に「100」が、中間抽象エンティティ250「サーバX1」の中間抽象設定項目252「A1」のデフォルト値253に「100」が、それぞれ設定されていると仮定する。また、ユーザから、設定対象として、抽象エンティティ200の識別子「サーバX」、中間抽象エンティティ250の識別子「サーバX1」、及び、具象エンティティ300の識別子「製品X11」が入力されたと仮定する。
 ここで、ユーザが抽象設定項目202「A」の入力欄1202に値「200」を入力した場合、設定値決定部120は、「抽象設定値決定処理」において、ユーザ入力値204(「200」)を抽象設定項目202「A」の設定値206に設定する。そして、具象化ロジック実行部121は、「具象化処理」において、具象化ロジック261「X_X1」を用いて設定値206から中間抽象設定項目252「A1」の値「350」を算出し、算出値255に設定する。さらに、設定値決定部120は、「具象設定値決定処理」において、算出値255(「350」)を中間抽象設定項目252「A1」の設定値256に設定する。次に、具象化ロジック実行部121は、「具象化処理」において、具象化ロジック311「X1_X11」を用いて設定値256から具象設定項目302「a1」の値「400」を算出し、算出値305に設定する。さらに、設定値決定部120は、「具象設定値決定処理」において、算出値305(「400」)を具象設定項目302「a1」の設定値306に設定する。この場合、入出力部110は、抽象設定項目202「A」の入力欄1202に設定値206(「200」)、中間抽象設定項目252「A1」の入力欄1252に設定値256(「350」)、具象設定項目302「a1」の入力欄1302に設定値306(「400」)を表示した、図15のようなユーザインタフェース画面111を出力する。
 なお、入出力部110は、図15に示すように、ユーザインタフェース画面111において、設定値206、256、306が更新(決定)された抽象設定項目202、中間抽象設定項目252、具象設定項目302の入力欄1202、1252、1302の色を変更する等により、更新(決定)された抽象設定項目202、中間抽象設定項目252、具象設定項目302とその設定値206、256、306をユーザに通知してもよい。
 また、ユーザが中間抽象設定項目252「A1」の入力欄1252に値「500」を入力した場合、設定値決定部120は、「具象設定値決定処理」において、ユーザ入力値254(「500」)を中間抽象設定項目252「A1」の設定値256に設定する。次に、具象化ロジック実行部121は、「具象化処理」において、具象化ロジック311「X1_X11」を用いて設定値256から具象設定項目302「a1」の値「600」を算出し、具象設定項目302「a1」の算出値305に設定する。さらに、設定値決定部120は、「具象設定値決定処理」において、算出値305(「600」)を具象設定項目302「a1」の設定値306に設定する。この場合、入出力部110は、中間抽象設定項目252「A1」の入力欄1252に設定値256(「500」)、具象設定項目302「a1」の入力欄1302に設定値306(「600」)を表示した、図16のようなユーザインタフェース画面111を出力する。
 また、ユーザが具象設定項目302「a1」の入力欄1302に値「500」を入力した場合、設定値決定部120は、「具象設定値決定処理」において、ユーザ入力値304(「500」)を具象設定項目302「a1」の設定値306に設定する。この場合、入出力部110は、具象設定項目302「a1」の入力欄1302に設定値306(「500」)を表示した、図17のようなユーザインタフェース画面111を出力する。
 以上により、本発明の第2の実施の形態の動作が完了する。
 なお、本発明の第2の実施の形態においては、抽象エンティティ200と具象エンティティ300との間に、1つの中間抽象エンティティ250が定義されている場合を例に動作を説明したが、抽象エンティティ200と具象エンティティ300との間に、複数の中間抽象エンティティ250が、上位中間抽象エンティティと上位中間抽象エンティティを具象化した下位中間抽象エンティティの繰り返しにより定義(複数の中間抽象エンティティ250のネストにより定義)されていてもよい。この場合、設定値決定部120は、抽象エンティティ200の代わりに上位中間抽象エンティティ、具象エンティティ300の代わりに下位中間抽象エンティティを用いて「具象化処理」を実行し、上位中間抽象エンティティの設定項目(上位中間抽象設定項目)から下位中間抽象エンティティの設定項目(下位中間抽象設定項目)の算出値を算出する。さらに、設定値決定部120は、具象エンティティ300の代わりに下位中間抽象エンティティを用いて、「具象設定値決定処理」を実行し、下位中間抽象設定項目の設定値を決定する。設定値決定部120は、これらの処理を繰り返すことにより、各中間抽象設定項目の設定値を決定する。
 次に、本発明の第2の実施の形態の効果を説明する。
 本発明の第2の実施の形態によれば、本発明の第1の実施の形態に比べて、より複雑な設定項目を有するシステムにおいても、ユーザにとって容易に設定可能な、多様な設定インタフェースを提供できる。その理由は、抽象エンティティ200と具象エンティティ300との間に、さらに、中間抽象エンティティ250定義し、設定値決定部120が、具象化ロジック実行部121に、具象化ロジック261を用いて、抽象設定項目202の設定値206から中間抽象設定項目252の値を算出させ、具象化ロジック311を用いて、中間抽象設定項目252の設定値256から具象設定項目302の値を算出させるためである。
 以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 この出願は、2012年11月19日に出願された日本出願特願2012-253443を基礎とする優先権を主張し、その開示の全てをここに取り込む。
 100  プログラム設定装置
 110  入出力部
 111  ユーザインタフェース画面
 120  設定値決定部
 121  具象化ロジック実行部
 130  エンティティ情報記憶部
 131  エンティティ情報
 200  抽象エンティティ
 201  抽象設定項目群
 202  抽象設定項目
 203  デフォルト値
 204  ユーザ入力値
 206  設定値
 1200  抽象エンティティ表示部
 1202  入力欄
 250  中間抽象エンティティ
 251  中間抽象設定項目群
 252  中間抽象設定項目
 253  デフォルト値
 254  ユーザ入力値
 255  算出値
 256  設定値
 261  具象化ロジック
 1250  中間抽象エンティティ表示部
 1252  入力欄
 300  具象エンティティ
 301  具象設定項目群
 302  具象設定項目
 303  デフォルト値
 304  ユーザ入力値
 305  算出値
 306  設定値
 311  具象化ロジック
 1300  具象エンティティ表示部
 1302  入力欄

Claims (10)

  1.  プログラムの複数の実装について共通な設定項目である抽象設定項目から、前記プログラムの複数の実装の各々の設定項目である具象設定項目を算出するためのロジックであって、前記複数の実装の各々について定義される、具象化ロジックを実行する具象化ロジック実行手段と、
     前記抽象設定項目の値が入力された場合に、前記具象化ロジック実行手段に、設定対象の実装に対する前記具象化ロジックを用いて、前記抽象設定項目の入力値から前記設定対象の実装に係る前記具象設定項目の値を算出させ、当該具象設定項目の設定値に決定する設定値決定手段と、
    を備える、
    プログラム設定装置。
  2.  さらに、前記抽象設定項目と前記設定対象の実装に係る前記具象設定項目とを関連付けて表示して、前記抽象設定項目の値の入力を受け付け、前記設定値決定手段により設定値が決定された前記設定対象の実装に係る前記具象設定項目、及び、当該具象設定項目の設定値を通知する、ユーザインタフェース画面を出力する、入出力手段を備える、
    請求項1に記載のプログラム設定装置。
  3.  前記設定値決定手段は、前記具象設定項目の値が入力された場合、前記具象設定項目の算出値に優先して、前記具象設定項目の入力値を、前記具象設定項目の設定値に決定する、
    請求項1または2に記載のプログラム設定装置。
  4.  前記設定値決定手段は、前記抽象設定項目の値の入力がない場合、前記抽象設定項目の所定の初期値から前記設定対象の実装に係る前記具象設定項目の値を算出させ、前記具象設定項目の値の入力がなく、かつ、前記具象設定項目の算出値がない場合、前記具象設定項目の所定の初期値を前記具象設定項目の設定値に決定する、
    請求項1乃至3のいずれかに記載のプログラム設定装置。
  5.  前記プログラムの複数の実装の内の1以上の集合について共通な設定項目である中間抽象設定項目が定義される場合に、
     前記設定値決定手段は、前記具象化ロジック実行手段に、設定対象の実装を含む集合に対する前記具象化ロジックを用いて、前記抽象設定項目の値から前記設定対象の実装を含む集合に係る前記中間抽象設定項目の値を算出させ、当該中間抽象設定項目の設定値に決定し、前記設定対象の実装に対する前記具象化ロジックを用いて、前記中間抽象設定項目の設定値から前記設定対象の実装に係る前記具象設定項目の値を算出させる、
    請求項1に記載のプログラム設定装置。
  6.  さらに、前記抽象設定項目、前記設定対象の実装を含む集合に係る前記中間抽象設定項目、及び、前記設定対象の実装に係る前記具象設定項目を関連付けて表示して、前記抽象設定項目の値の入力を受け付け、前記設定値決定手段により設定値が決定された前記設定対象の実装を含む集合に係る前記中間抽象設定項目、及び、当該中間抽象設定項目の設定値を通知し、前記設定値決定手段により設定値が決定された前記設定対象の実装に係る前記具象設定項目、及び、当該具象設定項目の設定値を通知する、ユーザインタフェース画面を出力する、入出力手段を備える、
    請求項5に記載のプログラム設定装置。
  7.  前記設定値決定手段は、前記中間抽象設定項目の値が入力された場合、前記中間抽象設定項目の算出値に優先して、前記中間抽象設定項目の入力値を、前記中間抽象設定項目の設定値に決定し、前記具象設定項目の値が入力された場合、前記具象設定項目の算出値に優先して、前記具象設定項目の入力値を、前記具象設定項目の設定値に決定する、
    請求項5または6に記載のプログラム設定装置。
  8.  プログラムの複数の実装について共通な設定項目である抽象設定項目が入力された場合に、前記抽象設定項目から前記プログラムの複数の実装の各々の設定項目である具象設定項目を算出するためのロジックであって、前記複数の実装の各々について定義される具象化ロジックの内、設定対象の実装に対する前記具象化ロジックを用いて、前記抽象設定項目の入力値から前記設定対象の実装に係る前記具象設定項目の値を算出し、当該具象設定項目の設定値に決定する、プログラム設定方法。
  9.  さらに、前記抽象設定項目と前記設定対象の実装に係る前記具象設定項目とを関連付けて表示して、前記抽象設定項目の値の入力を受け付け、前記設定値が決定された前記設定対象の実装に係る前記具象設定項目、及び、当該具象設定項目の設定値を通知する、ユーザインタフェース画面を出力する、
    請求項8に記載のプログラム設定方法。
  10.  コンピュータに、
     プログラムの複数の実装について共通な設定項目である抽象設定項目が入力された場合に、前記抽象設定項目から前記プログラムの複数の実装の各々の設定項目である具象設定項目を算出するためのロジックであって、前記複数の実装の各々について定義される具象化ロジックの内、設定対象の実装に対する前記具象化ロジックを用いて、前記抽象設定項目の入力値から前記設定対象の実装に係る前記具象設定項目の値を算出し、当該具象設定項目の設定値に決定する、処理を実行させるプログラムを格納する、コンピュータが読み取り可能な記録媒体。
PCT/JP2013/006690 2012-11-19 2013-11-14 プログラム設定装置、及び、プログラム設定方法 WO2014076951A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US14/441,679 US20150277940A1 (en) 2012-11-19 2013-11-14 Program setting device and program setting method
CN201380060202.9A CN105190549A (zh) 2012-11-19 2013-11-14 程序设置设备和程序设置方法
JP2014546873A JP6172159B2 (ja) 2012-11-19 2013-11-14 プログラム設定装置、及び、プログラム設定方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2012253443 2012-11-19
JP2012-253443 2012-11-19

Publications (1)

Publication Number Publication Date
WO2014076951A1 true WO2014076951A1 (ja) 2014-05-22

Family

ID=50730882

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/006690 WO2014076951A1 (ja) 2012-11-19 2013-11-14 プログラム設定装置、及び、プログラム設定方法

Country Status (4)

Country Link
US (1) US20150277940A1 (ja)
JP (1) JP6172159B2 (ja)
CN (1) CN105190549A (ja)
WO (1) WO2014076951A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104182324A (zh) * 2014-08-26 2014-12-03 广州华多网络科技有限公司 一种投票进度条的展现方法和设备

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7428006B2 (ja) * 2020-02-26 2024-02-06 日本電気株式会社 システム構成導出装置、方法およびプログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003242054A (ja) * 2002-02-21 2003-08-29 Nippon Telegr & Teleph Corp <Ntt> サーバ装置、通信機器、通信機器設定情報管理方法、プログラム及び記録媒体
JP2011508294A (ja) * 2007-12-06 2011-03-10 エーティーアイ・テクノロジーズ・ユーエルシー ソフトウェアの複雑さを低減するためにプロファイルを使用する装置および方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7870538B2 (en) * 2005-12-30 2011-01-11 Sap Ag Configuration inheritance in system configuration
US7774289B2 (en) * 2007-01-03 2010-08-10 International Business Machines Corporation Conceptual configuration modeling for application program integration
JP2013003745A (ja) * 2011-06-14 2013-01-07 Canon Inc 設定値管理装置及び管理方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003242054A (ja) * 2002-02-21 2003-08-29 Nippon Telegr & Teleph Corp <Ntt> サーバ装置、通信機器、通信機器設定情報管理方法、プログラム及び記録媒体
JP2011508294A (ja) * 2007-12-06 2011-03-10 エーティーアイ・テクノロジーズ・ユーエルシー ソフトウェアの複雑さを低減するためにプロファイルを使用する装置および方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104182324A (zh) * 2014-08-26 2014-12-03 广州华多网络科技有限公司 一种投票进度条的展现方法和设备

Also Published As

Publication number Publication date
US20150277940A1 (en) 2015-10-01
CN105190549A (zh) 2015-12-23
JP6172159B2 (ja) 2017-08-02
JPWO2014076951A1 (ja) 2017-01-05

Similar Documents

Publication Publication Date Title
US10198422B2 (en) Information-processing equipment based on a spreadsheet
US9858045B2 (en) Designer tool for managing cloud computing services
US9110754B2 (en) Computing device update control
US9128733B2 (en) Display and resolution of incompatible layout constraints
US10169188B2 (en) Runtime evaluation of user interfaces for accessibility compliance
CN102750076A (zh) 信息处理装置及其控制方法
US10762040B2 (en) Schematized data roaming
JP2019197560A (ja) 既存のアプリケーションに連動するプロトタイプのテスト方法
JP6172159B2 (ja) プログラム設定装置、及び、プログラム設定方法
US9110755B2 (en) Aggregation of update sets
US20140250386A1 (en) Method and system for client side user interface generation
US10437707B2 (en) Evaluating and presenting software testing project status indicators
JP2020149630A (ja) 制御システム、設定装置、および設定プログラム
US10437742B2 (en) Vendor-specific peripheral device class identifiers
JP2016224778A (ja) 情報生成システム、装置、方法、及びプログラム
JP6226895B2 (ja) ネットワーク評価システム及びネットワーク評価方法
WO2017203556A1 (ja) 管理計算機及びシステムのパラメータの最適値算出方法
JP2017194851A (ja) 操作支援システムおよび操作支援プログラム
JP6661500B2 (ja) 情報生成システム、装置、方法、及びプログラム
US20170068552A1 (en) Information processing device, method, and non-transitory computer readable medium
US10305733B1 (en) Defining software infrastructure using a physical model
JP6087473B2 (ja) プログラム抽象図作成装置、及びプログラム抽象図作成プログラム
US20240045724A1 (en) Framework for provisioning an application resource for an application in use with a controlled content repository
WO2020162174A1 (ja) 解析装置、解析方法、および解析プログラム
US20210157706A1 (en) Determining dynamic system performance from a static behavior model

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201380060202.9

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13855523

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2014546873

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 14441679

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13855523

Country of ref document: EP

Kind code of ref document: A1