Input support program, input support system, and input support method

The input assistance program efficiently creates configuration files for scientific and technological simulations by inspecting source code for compliance with constraints, reducing errors and improving the creation process.

JP2025115656APending Publication Date: 2025-08-07DENKA CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024010221
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-01-26
Publication Date
2025-08-07

AI Technical Summary

Technical Problem

Existing technologies face challenges in efficiently creating configuration files for scientific and technological calculations, particularly due to the difficulty in ensuring compliance with constraints related to variable groups in the source code.

Method used

An input assistance program that acquires source code for generating a text-format setting file, inspects it based on constraints for variable groups, and outputs errors if the code does not satisfy these constraints, thereby allowing users to correct deficiencies before file creation.

Benefits of technology

This approach enables efficient creation of configuration files by identifying and addressing errors in the source code early, reducing the burden on users and enhancing the overall efficiency of the process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025115656000001_ABST
    Figure 2025115656000001_ABST
Patent Text Reader

Abstract

To efficiently create a setting file for arithmetic operation related to scientific technologies.SOLUTION: An input support program causes a computer to execute the steps of: acquiring a source code of a generation program for generating a setting file in a text format for use in scientific and technological simulation, the file describing a plurality of variable groups each including one or more relational expressions for variables and values; examining the source code based on a constraint condition regarding at least one of the variable groups; and outputting an error in response to the source code failing to meet the constraint condition.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] One aspect of the present disclosure relates to an input assistance program, an input assistance system, and an input assistance method. [Background technology]

[0002] There is known a technology for supporting the creation of setting files for scientific and technological calculations. For example, Patent Document 1 describes an XML data generation program that causes a computer to function as a means for creating a conversion definition file that associates element names and attribute names of a DTD with each element in a Word document creation function, a means for creating a template in which Word attribute items determined based on the created conversion definition file are provided, a means for using the created template to input arbitrary attribute information into the attribute items to create XML data, and a means for checking whether the created XML data contains tags not defined in the DTD. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Patent No. 5102474 Summary of the Invention [Problem to be solved by the invention]

[0004] There is a need for a mechanism to efficiently create configuration files for scientific and technological calculations. [Means for solving the problem]

[0005] An input assistance program according to one aspect of the present disclosure causes a computer to execute the steps of: acquiring source code of a generation program for generating a text-format setting file used for scientific and technological simulations, the setting file describing a plurality of variable groups, each of which includes one or more relational expressions between variables and values; inspecting the source code based on constraints related to at least one of the plurality of variable groups; and outputting an error in response to the source code not satisfying the constraints.

[0006] An input support system according to one aspect of the present disclosure includes at least one processor that acquires source code of a generator program for generating a text-format setting file used for a scientific and technological simulation, the setting file describing a plurality of variable groups, each of the variable groups including one or more relational expressions between variables and values, checks the source code based on constraints for at least one of the plurality of variable groups, and outputs an error in response to the source code not satisfying the constraints.

[0007] An input assistance method according to one aspect of the present disclosure is executed by an input assistance system including at least one processor, and includes the steps of: acquiring source code of a generator program for generating a text-format setting file used for a scientific and technological simulation, the setting file describing a plurality of variable groups, each of the variable groups including one or more relational expressions between variables and values; inspecting the source code based on constraints for at least one of the plurality of variable groups; and outputting an error in response to the source code not satisfying the constraints.

[0008] In this aspect, if the source code of a generator program for generating a configuration file describing multiple variable groups does not satisfy the constraints for the variable groups, an error is output. This mechanism displays any deficiencies in the source code to the user before executing the source code to create the configuration file, allowing the user to begin correcting the source code more quickly. This makes it possible to create configuration files more efficiently. [Effects of the Invention]

[0009] According to one aspect of the present disclosure, it is possible to efficiently create setting files for scientific and technological calculations. [Brief explanation of the drawings]

[0010] [Figure 1] FIG. 1 is a diagram illustrating an example of a functional configuration of an input support system. [Figure 2] FIG. 2 is a diagram illustrating an example of a hardware configuration of a computer used in the input support system. [Figure 3] 10 is a flowchart illustrating an example of processing by the input support system. [Figure 4] FIG. 10 is a diagram illustrating an example of a hint window. [Figure 5] FIG. 10 is a diagram illustrating an example of a setting file. DETAILED DESCRIPTION OF THE INVENTION

[0011] Various examples of the present disclosure will be described in detail below with reference to the accompanying drawings. In the description of the drawings, the same or equivalent elements are designated by the same reference numerals, and redundant description will be omitted.

[0012] [System Overview] The input support system according to the present disclosure is a computer system for supporting the creation of text-format configuration files used for scientific and technological calculations. Examples of scientific and technological calculations include scientific and technological simulations. Scientific and technological simulations refer to techniques for calculating scientific and technological phenomena or behaviors on a computer and simulating their representation in any format, such as numerical values, text, or images. Scientific and technological simulations may be chemical simulations or physical simulations. An example of a chemical simulation is a simulation of a chemical reaction. An example of a physical simulation is a simulation of the movement of powder or particles.

[0013] A configuration file is a computer-readable data file that records predetermined information in text format. The configuration file describes, for each of multiple variables, the relationship between the variable and its value. The multiple variables are grouped into multiple variable groups. Therefore, each variable group contains one or more relationship between the variable and its value. An example of a configuration file is a configuration file used by the namelist function of the programming language Fortran. Namelist is a function that reads and writes the names and values of multiple variables to a configuration file separate from the source file according to a predetermined format.

[0014] A user creates source code for a generator program to generate a configuration file. An example of a programming language for the generator program is Python. The input support system acquires the source code and checks it based on constraints related to at least one of multiple variable groups. If the source code does not satisfy the constraints, the input support system outputs an error. If the source code satisfies the constraints, the input support system executes the source code to generate a configuration file. An error is information indicating that the source code does not satisfy the constraints. By using the input support system, a user can be aware of defects in the source code before creating the configuration file, allowing them to begin correcting the source code earlier. This allows for more efficient creation of configuration files. An input support system with such functions may be incorporated into the development environment of the generator program.

[0015] [System Configuration] 1 is a diagram showing the functional configuration of an example of an input support system 10. In this example, the input support system 10 is connected to a user terminal 20 via a communication network such as the Internet or an intranet.

[0016] In one example, the input support system 10 includes functional components including an editor assistance unit 11, an execution unit 12, and an inspection unit 13. The editor assistance unit 11 is a functional module that assists a user in creating source code for a generation program. The editor assistance unit 11 can also be considered an auxiliary function of a source code editor. The execution unit 12 is a functional module that executes the created source code to generate a configuration file. The inspection unit 13 is a functional module that inspects the source code before its execution.

[0017] 2 is a diagram showing an example of the hardware configuration of a computer used in the input support system 10. In one example, the computer 100 includes a processor 101, a main memory unit 102, an auxiliary memory unit 103, a communication control unit 104, an input device 105, and an output device 106.

[0018] The processor 101 is a computing device that executes an operating system and application programs. Examples of processors include a CPU (Central Processing Unit) and a GPU (Graphics Processing Unit).

[0019] The main memory unit 102 is a device that stores programs for operating the input support system 10, calculation results output from the processor 101, etc. The main memory unit 102 is configured by at least one of a ROM (Read Only Memory) and a RAM (Random Access Memory), for example.

[0020] The auxiliary storage unit 103 is generally a device capable of storing a larger amount of data than the main storage unit 102. The auxiliary storage unit 103 is configured by a non-volatile storage medium such as a hard disk or a flash memory. The auxiliary storage unit 103 stores an input support program 110 and various data for causing at least one computer to function as the input support system 10.

[0021] The communication control unit 104 is a device that executes data communication with other computers via a communication network, and is configured by, for example, a network card or a wireless communication module.

[0022] The input device 105 is a device that accepts data based on the operation or action of the user who owns the input support system 10. The input device 105 is configured with, for example, a keyboard, a mouse, a touch panel, and the like.

[0023] The output device 106 is a device that outputs data processed by the input support system 10. The output device 106 is composed of, for example, a monitor and a speaker.

[0024] The input support system 10 may be configured with one computer 100 or may be configured with multiple computers 100. When multiple computers 100 are used, these computers 100 are connected via a communication network such as the Internet or an intranet, thereby logically constructing a single input support system 10.

[0025] Each functional module of the input support system 10 is realized by loading an input support program 110 onto the processor 101 or the main memory unit 102 and executing the input support program 110. The input support program 110 includes code for realizing each functional module of the input support system 10. The processor 101 operates the communication control unit 104, the input device 105, or the output device 106 in accordance with the input support program 110, and reads and writes data from and to the main memory unit 102 or the auxiliary memory unit 103. Data or a database required for processing may be stored in the main memory unit 102 or the auxiliary memory unit 103.

[0026] The input assistance program 110 may be provided by being non-temporarily recorded on a tangible recording medium such as a CD-ROM, a DVD-ROM, or a semiconductor memory. Alternatively, the input assistance program 110 may be provided via a communication network as a data signal superimposed on a carrier wave. The provided input assistance program 110 is stored in the auxiliary storage unit 103.

[0027] The user terminal 20 is a computer used by a user of the input support system 10. The user terminal 20 may be any of various computers, such as a personal computer, a workstation, a tablet terminal, a smartphone, or a wearable terminal.

[0028] [System Operation] An example of processing by the input support system 10 and an example of an input support method according to the present disclosure will be described with reference to Fig. 3. Fig. 3 is a flowchart showing this example as a processing flow S1.

[0029] In step S11, the editor assistance unit 11 assists the user in creating source code for the generation program. For example, the editor assistance unit 11 cooperates with the source code editor displayed on the user terminal 20 to provide the user with a hint window. A hint window is a function that displays information useful to the user when writing code. For example, the hint window may display options for variables or values to add to the code, or may display information about the grammar of the code. FIG. 4 shows an example of a hint window. In this example, the editor assistance unit 11 displays a hint window 200 on the display device of the user terminal 20, which displays information about the grammar, variables, and values for writing a flow function.

[0030] The user creates source code for the generation program using the auxiliary functions provided by the editor auxiliary unit 11. The user then executes the source code to attempt to generate a configuration file. The processing from step S12 onward is executed in response to this operation.

[0031] In step S12, the execution unit 12 receives an instruction to execute the source code from the user terminal 20. The user terminal 20 transmits the instruction to the input support system 10 based on a user operation, and the execution unit 12 receives the instruction.

[0032] In step S13, the inspection unit 13 acquires the source code in response to the instruction. The inspection unit 13 may read the source code from a storage device such as the auxiliary storage unit 103 or a predetermined database, or may receive the source code from the user terminal 20.

[0033] In step S14, the verification unit 13 verifies the source code based on constraints on at least one of the plurality of variable groups. The constraints include one or more constraints, and the verification unit 13 verifies the source code based on each of the one or more constraints.

[0034] The constraints may include a constraint that predetermined variable groups are not duplicated. In this example, if at least one of one or more variable groups that do not allow duplication is described two or more times in the source code, the inspection unit 13 determines that the source code does not satisfy the constraints. On the other hand, if each of one or more variable groups that do not allow duplication is described at most once in the source code, the inspection unit 13 determines that the source code satisfies the constraints.

[0035] The multiple variable groups described in the configuration file may include a common group and one or more remaining variable groups. A common group is a special variable group that includes one or more relational expressions commonly used in two or more variable groups. The common group plays a role similar to a global variable in the configuration file. Assuming such a common group, the constraint may include a constraint on the relationship between the common group and one or more remaining variable groups. For example, the constraint may include a constraint that there is no inconsistency between the common group and each of the one or more remaining variable groups. In this example, if there is an inconsistency between the common group and at least one of the one or more remaining variable groups, the inspection unit 13 determines that the source code does not satisfy the constraint. On the other hand, if there is no inconsistency between the common group and all of the one or more remaining variable groups, the inspection unit 13 determines that the source code satisfies the constraint.

[0036] The constraints may include a requirement that a required item be described in a predetermined variable group. In this example, if at least one required item is not described in a predetermined variable group, the verification unit 13 determines that the source code does not satisfy the constraints. On the other hand, if all required items are described in the variable group, the verification unit 13 determines that the source code satisfies the constraints.

[0037] The constraints may include various other constraints. For example, the constraints may include a constraint that the value of a certain variable must be of a specific data type (such as an integer, a decimal, or a character string). Or, the constraints may include a constraint that the value of a certain variable must be within a specific range. Examples of such constraints include a constraint that the value must be a positive number or that the value must be selected from a set of options. Or, the constraints may include a constraint that the number of values in a certain array must be a predetermined number or that the values must be within a predetermined numeric range. The inspection unit 13 can inspect the source code based on constraints including various constraints such as these.

[0038] If the source code satisfies the constraints, i.e., if the source code satisfies all of the constraints (YES in step S15), the process proceeds to step S16. If the source code does not satisfy the constraints, i.e., if the source code does not satisfy at least one of the constraints (NO in step S15), the process proceeds to step S17.

[0039] In step S16, the execution unit 12 executes the source code to generate a configuration file. In this process, the execution unit 12 may write the relational expressions in the common group into at least one of the one or more remaining variable groups. This process automatically writes the relational expressions written in the common group into other variable groups. The execution unit 12 outputs the generated configuration file. For example, the execution unit 12 may send the configuration file to the user terminal 20, or may store the configuration file in a predetermined storage device.

[0040] FIG. 5 shows an example of a generated configuration file. The configuration file 300 shown in this example is used for the namelist. In the namelist, each variable group is represented by a block enclosed by "&(variable group name)" and " / ". Within the block, one or more relational expressions are written in the format "(variable name) = (value)". The value may be a number, a string, a logical value (".true." or ".ralse."), or an array of two or more of these values. The configuration file 300 includes variable groups 301-305 for simulating chemical reactions. The variable groups 301-305 may represent reaction conditions such as temperature, pressure, and initial composition, or calculation conditions such as the time step and the model used. As shown by variable groups 301 and 302, the variable group "reaction" may be repeated, and this variable group is not subject to the "constraint that specified variable groups do not overlap."

[0041] Returning to FIG. 3 , in step S17, the inspection unit 13 outputs an error. In one example, the inspection unit 13 generates an error that at least indicates the reason why the source code does not satisfy the constraints. The inspection unit 13 may generate an error that at least indicates a variable group that does not satisfy the constraints. Alternatively, the inspection unit 13 may generate an error that includes a hint for making the source code satisfy the constraints, i.e., a hint for correcting the source code. The inspection unit 13 transmits the generated error to the user terminal 20. The user terminal 20 displays the error. The user can check the error and correct the source code.

[0042] A configuration file may contain many variable groups and relational expressions, and may contain, for example, on the order of 1,000 lines. Therefore, it is difficult for users to remember the constraints on variable groups, variable names, value types, or ranges that will be described in the configuration file. The input support system automatically checks the source code based on the constraints, thereby reducing the burden on users and enabling efficient creation of configuration files.

[0043] [Variations] The technology according to the present disclosure has been described in detail above based on various examples. However, the present disclosure is not limited to the above examples. The technology according to the present disclosure can be modified in various ways without departing from the spirit of the present disclosure.

[0044] In the above example, the input support system 10 includes the editor assist unit 11 and the execution unit 12, but at least one of these functional modules may be provided in a computer system separate from the input support system 10. In other words, the input support system does not have to include at least one of the editor assist unit and the execution unit.

[0045] In this disclosure, the expression "at least one processor executes a first process, executes a second process, ... executes an nth process" or a corresponding expression is a concept that includes cases where the entity executing the n processes from the first process to the nth process (i.e., the processor) changes midway through. In other words, this expression is a concept that includes both cases where all n processes are executed by the same processor and cases where the processor changes among the n processes according to an arbitrary policy.

[0046] The processing steps of the method executed by at least one processor are not limited to the examples in the above embodiments. For example, some of the steps described above may be omitted, or the steps may be executed in a different order. Furthermore, any two or more of the steps described above may be combined, or some of the steps may be modified or deleted. Alternatively, other steps may be executed in addition to the steps described above.

[0047] When comparing the magnitude of two numbers within a computer system or computer, either of the two criteria "greater than or equal to" and "greater than" can be used, or either of the two criteria "less than or equal to" and "under".

[0048] [Note] As can be seen from the various examples above, the present disclosure includes the following aspects. (Appendix 1) obtaining source code of a generator program for generating a text-format setting file used for a scientific and technological simulation, the setting file describing a plurality of variable groups, each of which includes one or more relational expressions between variables and values; inspecting the source code based on constraints on at least one of the plurality of variable groups; outputting an error in response to the source code not satisfying the constraints; An input support program that causes a computer to execute the above. (Appendix 2) the constraints include a constraint that predetermined variable groups do not overlap; In the step of outputting the error, the error is output in response to the predetermined variable group being described two or more times in the source code. An input assistance program as described in Appendix 1. (Appendix 3) The plurality of variable groups includes a common group including one or more of the relational expressions commonly used in two or more of the variable groups, and one or more remaining variable groups; the constraints include a constraint that there is no inconsistency between the common group and each of the one or more remaining variable groups; and outputting the error in response to the inconsistency existing between the common group and at least one of the remaining variable groups. An input assistance program according to appendix 1 or 2. (Appendix 4) 4. The input assistance program according to claim 3, further causing the computer to execute a step of executing the source code to generate the configuration file in response to the source code satisfying the constraint, the step including a process of describing the relational equation in the common group in at least one variable group of the one or more remaining variable groups. (Appendix 5) The scientific and technological simulation is a chemical simulation or a physical simulation; 5. An input support program according to any one of appendices 1 to 4. (Appendix 6) the chemical simulation is a simulation regarding a chemical reaction, The physical simulation is a simulation of the movement of powder or particles. An input assistance program as described in Appendix 5. (Appendix 7) at least one processor; the at least one processor: Acquire source code of a generator program for generating a text-format setting file used for a scientific and technological simulation, the setting file describing a plurality of variable groups, each of which includes one or more relational expressions between variables and values; inspecting the source code based on constraints on at least one of the plurality of variable groups; outputting an error in response to the source code not satisfying the constraints; Input support system. (Appendix 8) An input assistance method executed by an input assistance system having at least one processor, comprising: obtaining source code of a generator program for generating a text-format setting file used for a scientific and technological simulation, the setting file describing a plurality of variable groups, each of which includes one or more relational expressions between variables and values; inspecting the source code based on constraints on at least one of the plurality of variable groups; outputting an error in response to the source code not satisfying the constraints; An input assistance method including:

[0049] According to Supplementary Notes 1, 7, and 8, if the source code of a generator program for generating a configuration file that describes multiple variable groups does not satisfy the constraints for those variable groups, an error is output. This mechanism allows the user to be notified of any deficiencies in the source code before executing the source code to create the configuration file, allowing the user to start correcting the source code more quickly. This makes it possible to create configuration files more efficiently.

[0050] According to Appendix 2, duplicate entries of variable groups, which are likely to occur when creating source code, are checked, and an error is output in response to the duplicate entries. By taking such constraints into consideration, it is possible to prevent common errors in entries before creating a configuration file.

[0051] According to Appendix 3, inconsistencies between common groups and other variable groups, which are likely to occur when creating source code, are checked, and an error is output in response to the inconsistency. By taking such constraints into consideration, it is possible to prevent such inconsistencies before creating a configuration file.

[0052] According to Appendix 4, when generating a configuration file from source code that satisfies the constraints, the relational expressions in the common group are automatically written in a separate variable group. This process eliminates the need for the user to write the relational expressions in the common group in each individual variable group. This allows for more efficient creation of configuration files.

[0053] According to Supplementary Note 5, it becomes possible to efficiently create setting files used for chemical simulations or physical simulations.

[0054] According to Appendix 6, it becomes possible to efficiently create setting files used for simulations of chemical reactions or simulations of the movement of powders or particles. [Explanation of symbols]

[0055] 10...input support system, 11...editor support unit, 12...execution unit, 13...inspection unit, 20...user terminal, 110...input support program, 300...setting file, 301 to 305...variable group.

Claims

1. obtaining source code of a generator program for generating a text-format setting file used for a scientific and technological simulation, the setting file describing a plurality of variable groups, each of which includes one or more relational expressions between variables and values; inspecting the source code based on constraints on at least one of the plurality of variable groups; outputting an error in response to the source code not satisfying the constraints; An input support program that causes a computer to execute the above.

2. the constraints include a constraint that predetermined variable groups do not overlap; In the step of outputting the error, the error is output in response to the predetermined variable group being described two or more times in the source code. The input support program according to claim 1 .

3. The plurality of variable groups includes a common group including one or more of the relational expressions commonly used in two or more of the variable groups, and one or more remaining variable groups, the constraints include a constraint that there is no inconsistency between the common group and each of the one or more remaining variable groups; and outputting the error in response to the inconsistency existing between the common group and at least one of the remaining variable groups.

3. The input support program according to claim 1.

4. 4. The input assistance program according to claim 3, further causing the computer to execute a step of executing the source code to generate the configuration file in response to the source code satisfying the constraint, the step including a process of describing the relational expression in the common group in at least one variable group of the one or more remaining variable groups.

5. The scientific and technological simulation is a chemical simulation or a physical simulation; 3. The input support program according to claim 1.

6. the chemical simulation is a simulation regarding a chemical reaction, The physical simulation is a simulation of the movement of powder or particles. The input support program according to claim 5 .

7. at least one processor; the at least one processor: A source code of a generator program for generating a text-format setting file used for a scientific and technological simulation, the setting file describing a plurality of variable groups, each of which includes one or more relational expressions between variables and values, is acquired; inspecting the source code based on constraints on at least one of the plurality of variable groups; outputting an error in response to the source code not satisfying the constraints; Input support system.

8. An input assistance method executed by an input assistance system having at least one processor, comprising: obtaining source code of a generator program for generating a text-format setting file used for a scientific and technological simulation, the setting file describing a plurality of variable groups, each of which includes one or more relational expressions between variables and values; inspecting the source code based on constraints on at least one of the plurality of variable groups; outputting an error in response to the source code not satisfying the constraints; An input assistance method including:

Citation Information

Patent Citations

  • Sharyosokudosokuteihoshiki

    JP1976002474A