WO2022239101A1 - ソフトウェア検証装置、ソフトウェア検証方法、および検証プログラム - Google Patents

ソフトウェア検証装置、ソフトウェア検証方法、および検証プログラム Download PDF

Info

Publication number
WO2022239101A1
WO2022239101A1 PCT/JP2021/017857 JP2021017857W WO2022239101A1 WO 2022239101 A1 WO2022239101 A1 WO 2022239101A1 JP 2021017857 W JP2021017857 W JP 2021017857W WO 2022239101 A1 WO2022239101 A1 WO 2022239101A1
Authority
WO
WIPO (PCT)
Prior art keywords
software
unit
plant model
verification
characteristic portion
Prior art date
Application number
PCT/JP2021/017857
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 PCT/JP2021/017857 priority Critical patent/WO2022239101A1/ja
Publication of WO2022239101A1 publication Critical patent/WO2022239101A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software

Definitions

  • the present disclosure relates to a software verification device, a software verification method, and a verification program.
  • test cases containing input values and expected output values corresponding to the input values are prepared in advance for the software to be verified. is input into the software to be verified and the output value obtained is compared with the expected value to make a pass/fail judgment.
  • independent small modules that constitute software are created, each module is verified, and the modules that pass the verification are combined to create a piece of software.
  • test cases in advance that include input values and expected output values corresponding to the input values.
  • a tool such as a software verification device
  • the content of verification must be described in a format that the tool can understand. It takes a lot of time and effort to prepare for it.
  • Patent Literature 1 From the results of test cases exhaustively implemented for each module, focusing on the interface with the outside, necessary verification contents are extracted when combining other modules or external devices, A method for streamlining verification work is disclosed.
  • Patent Document 2 when a program (software) is changed, changes in the program before and after the change are detected, and based on the detection results, the variable names and the like of the test case before the change are changed, and the test case after the change is changed. A method for applying to a program is disclosed.
  • Patent Document 1 a plurality of test cases covering possible states of a module are prepared in advance, and a plurality of test cases are executed for each of the plurality of modules, and a test case in which the internal states of the modules overlap is generated. It is possible to obtain a set of test cases that can be exhaustively verified except for
  • Patent Document 2 since the points of change in the program (software) after the change are extracted and the points of change are reflected in the pre-changed test cases prepared in advance, it is useful for the development of programs that repeatedly add functions. is.
  • the present disclosure has been made in order to solve the above-mentioned problems. It is an object of the present invention to provide a software verification device, a software verification method, and a verification program capable of generating required test cases.
  • a software verification device is a software verification device that verifies the operation of software, and includes a reception unit that receives software to be verified and a plant model corresponding to the software, and when the software and the plant model are operated: A setting section that sets constraints on the data obtained from A determination unit that determines whether or not the conditions are satisfied; an identification unit that identifies characteristic portions of the software that do not satisfy the constraint conditions based on the results of the determination made by the determination unit; characteristic portions identified by the identification unit; a test case generation unit that generates test cases based on data obtained when the software and the plant model are operated in the unit; and an output unit that outputs the test cases generated by the test case generation unit.
  • a software verification method is a software verification method for verifying the behavior of software, comprising a step of receiving software to be verified and a plant model corresponding to the software, and operating the software and the plant model.
  • a verification program is a verification program for causing a computer to verify the operation of software, and includes a step of receiving software to be verified and a plant model corresponding to the software in the processing to be executed by the computer. , the step of setting constraints on the data obtained when the software and the plant model are operated, the step of operating the software and the plant model, and the data obtained by operating the software and the plant model are set a step of determining whether or not the specified constraint is satisfied; a step of identifying a characteristic portion of the software that does not satisfy the constraint based on the result of the determination; operating the identified characteristic portion, the software, and the plant model; generating a test case based on the data obtained when the test is performed; and outputting the generated test case.
  • test cases are generated based on the identified characteristic portions and the data obtained when the software and the plant model are operated, the details of the software to be verified and the modules that make up the software It is possible to generate the test cases necessary to verify the operation of the software even in a situation where all necessary information is not available.
  • FIG. 1 is a block diagram for explaining an example of the configuration of a software verification device according to Embodiment 1;
  • FIG. 2 is a block diagram for explaining an example of the hardware configuration of the software verification device according to Embodiment 1;
  • FIG. 4 is a block diagram for explaining an example of the configuration of a plant model accepted by the software verification device according to Embodiment 1;
  • FIG. 4 is a flowchart for explaining an example of processing in the software verification device according to Embodiment 1;
  • 2 is a schematic diagram for explaining an example of the configuration of verification target software according to Embodiment 1;
  • FIG. 4 is a schematic diagram for explaining an example of data stored in a data storage unit of the software verification device according to Embodiment 1;
  • FIG. 10 is a schematic diagram for explaining an example of a determination result of function X;
  • FIG. 12 is a block diagram for explaining an example of the configuration of a characteristic portion specifying unit using a learning model in the software verification device according to Embodiment
  • FIG. 1 is a block diagram for explaining an example of the configuration of software verification apparatus 100 according to the first embodiment.
  • the software verification apparatus 100 includes a software execution calculation unit 121, a constraint condition input unit 122, a constraint condition determination unit 123, a characteristic portion identification unit 124, a characteristic portion display unit 125, a test case generation unit 126, and a test case output unit 127.
  • Software verification apparatus 100 also includes data storage unit 130 , constraint condition storage unit 134 , determination result storage unit 135 , and characteristic part storage unit 136 .
  • the data storage unit 130 divides and stores the data into an internal data storage unit 131, an output data storage unit 132, and a plant data storage unit 133 according to data types.
  • the software execution calculation unit 121 executes operations in cooperation with the verification target software 111 for verifying the operation and the plant model 112 corresponding to the verification target software 111 .
  • the verification target software 111 is software that is verified using the software verification device 100, and is software that controls the number of revolutions of a compressor of an air conditioner, for example.
  • each module unit constituting the verification target software 111 will be described as a function for realizing a certain function.
  • the unit of each module may be a class object or the like larger than a function, or a part obtained by dividing the verification target software 111 into a plurality of parts.
  • the verification target software 111 may be divided into arbitrary sizes, and the divided size need not be the same size, and modules may be defined in arbitrary sizes.
  • the plant model 112 is an environment model in which the verification target software 111 operates, and is a model capable of simulating the physical changes of the system to be controlled, the state of information transmission, etc. according to the output result of the verification target software 111. be.
  • the results of the simulation by the plant model 112 correspond to the inputs of the verification target software 111 , and the plant model 112 has a function recognized as the control target of the verification target software 111 .
  • the verification target software 111 is software for controlling the rotation speed of a compressor of an air conditioner
  • the plant model 112 is a simulation model of the refrigeration cycle of the air conditioner to be controlled by the software.
  • a plurality of types of plant models 112 may be prepared in advance, and an optimum model corresponding to the verification target software 111 input to the software execution calculation unit 121 may be selected.
  • the software execution calculation unit 121 operates the verification target software 111 and the plant model 112 in cooperation to obtain the same results as when the verification target software 111 is operated in the actual environment.
  • internal data including input values
  • output results output data obtained during operation are output.
  • Each is stored in the data storage unit 132 .
  • the internal data to be saved includes, for example, a list of functions called by the verification target software 111, information on the order and nesting of the called functions (stack trace), names and contents of arguments when the functions are executed, and the like. is included.
  • the internal data to be saved includes the names and contents of the variables in that state. output, etc. These internal data preferably have unique identifiers so that the acquired function and time can be distinguished.
  • the output data is data output from the function, and is stored in the output data storage unit 132 in association with the unique identifier of the internal data so that it can be associated with the input value. Note that the internal data storage unit 131 and the output data storage unit 132 do not necessarily need to acquire all the internal data and the output data, and only need to store the internal data and the output data that can be acquired.
  • the plant data that is the calculation result of the plant model 112 is stored in the plant data storage unit 133 in association with the unique identifier of the internal data stored in the internal data storage unit 131 .
  • the data storage unit 130 has been described as being divided into the internal data storage unit 131, the output data storage unit 132, and the plant data storage unit 133 according to data types and stored therein, the data may be stored without being divided into data types.
  • the software verification device 100 When verifying the software to be verified 111 using the software verification device 100, the software verification device 100 is verified by setting constraints and determining whether or not the constraints are satisfied. Constraints are input by the user in advance from the constraint input unit 122 . Constraints accepted by the constraint input unit 122 include software constraints 113 of the software to be verified 111 and plant constraints 114 of the plant model 112 , and the inputted constraints are stored in the constraint storage unit 134 . be done.
  • Constraints include conditions that focus on numerical values such as "the value of x is greater than or equal to y" and "the value of x is other than y", and conditions such as "the value of x becomes z within n seconds after it becomes y". It is possible to set conditions for focusing on changes over time. Constraints can also be set based on the functional specifications of the verification target software 111 (for example, "if the input value is x, the output value is y"), but usually the plant model 112 is Set conditions that must be met. Specifically, taking an air conditioner as an example, if the plant model 112 is the refrigeration cycle of the air conditioner, the refrigeration cycle of the air conditioner satisfies the temperature and pressure conditions, and the power consumption of each part is constant.
  • the plant model 112 is a model for simulating the relationship between the air conditioner and the indoor temperature distribution, whether the temperature at a certain point in the room is within a certain range after a certain period of time has passed since the startup. Corresponds to constraints.
  • Constraint condition determination unit 123 determines information stored in constraint condition storage unit 134 with respect to information stored in internal data storage unit 131, output data storage unit 132, and plant data storage unit 133 (data storage unit 130). It is determined whether or not the constraints are satisfied, and the validity of the operation of the verification target software 111 is verified. If all the constraints stored in the constraint storage unit 134 are satisfied, the constraint determination unit 123 determines that the operation of the verification target software 111 is valid. Conversely, if any constraint stored in the constraint storage unit 134 is not satisfied, the constraint determination unit 123 determines that the operation of the verification target software 111 is not valid. The determination result of the constraint condition determination unit 123 is stored in the determination result storage unit 135 in association with the unique identifier of the internal data stored in the internal data storage unit 131 .
  • the characteristic portion specifying unit 124 analyzes the determination result stored in the determination result storage unit 135 and specifies software characteristic portions that do not satisfy the constraint conditions.
  • the characteristic portion identified by the characteristic portion identification unit 124 is stored in the characteristic portion storage unit 136 .
  • the characteristic portion identifying unit 124 identifies the function as a characteristic portion. For example, when the output value of a certain function is a value of 0 (zero) that does not satisfy the constraint, and the operation of the plant model 112 does not satisfy the constraint, the characteristic portion identifying unit 124 determines that the function is a characteristic portion. Identify there is. Note that the characteristic portion identifying section 124 may identify a characteristic portion by combining a plurality of internal data and a plurality of output data instead of using only a single internal data and output data.
  • the characteristic portion stored in the characteristic portion storage portion 136 can be displayed to the user in the characteristic portion display portion 125.
  • the user can confirm the characteristic portion displayed on the characteristic portion display section 125 and delete the characteristic portion that is considered unnecessary or erroneous.
  • the operation of the plant model 112 calculates the ratio of not satisfying the constraint conditions. may be displayed on the characteristic portion display section 125.
  • the characteristic part display unit 125 can prompt the user to make a decision by displaying a ratio or the like.
  • the test case generation unit 126 refers to the stored internal data, output data, plant data, and the characteristic part, and the input value to the function of the characteristic part and the expected output corresponding to the input value Generate test cases containing expected values.
  • the test cases generated by the test case generation unit 126 are output from the test case output unit 127 .
  • the unit in which the test cases are generated differs depending on the type of the characteristic part, and in the case of functions, a configuration in which a plurality of functions are combined is selected. By setting generation conditions in the test case generator 126, the user can limit the scope of modules targeted by the test cases.
  • the software verification apparatus 100 can generate a test case based on the characteristic portions identified by the characteristic portion identification unit 124 even in a situation where detailed information about the software to be verified and the modules that make up the software are not all available. , the user can shorten the test case creation time.
  • FIG. 2 is a block diagram for explaining an example of the hardware configuration of the software verification device 100 according to the first embodiment.
  • software verification apparatus 100 includes processor 102 , main memory 104 , input section 106 , output section 108 , storage 110 , optical drive 109 and communication controller 120 . These components are connected via processor bus 118 .
  • the processor 102 is composed of a CPU, GPU, or the like, and can read programs (for example, an OS 1102 and a verification program 1104) stored in the storage 110, develop them in the main memory 104, and execute them.
  • the processor 102 executes various programs read from the storage 110 .
  • the verification program 1104 operates the verification target software 111 received by the input unit 106 and the plant model 112 in cooperation with each other.
  • the main memory 104 is composed of a volatile storage device such as DRAM or SRAM.
  • the storage 110 is configured by, for example, a non-volatile storage device such as an HDD or SSD.
  • a verification program 1104 for providing functions as the software verification apparatus 100, a verification target software 111, a plant model 112, a software constraint condition 113, a plant Constraints 114 are stored. Furthermore, the storage 110 corresponds to the data storage unit 130, the determination result storage unit 135, and the characteristic part storage unit 136, and stores internal data, output data, plant data, determination results, characteristic parts, and the like.
  • the input unit 106 is composed of a keyboard, mouse, microphone, touch device, etc., and can further receive information selected by the user.
  • the output unit 108 is composed of a display, various indicators, a printer, etc., and outputs the processing results from the processor 102 and the like. Also, the output unit 108 corresponds to the characteristic part display unit 125 .
  • the communication controller 120 exchanges data with other control devices using wired or wireless communication.
  • Software verification device 100 outputs test cases to other devices via communication controller 120 .
  • Communication controller 120 corresponds to test case output unit 127 .
  • a USB controller connected to the processor bus 118 may be provided separately from the communication controller 120 to exchange data with another control device or the like via the USB connection.
  • the software verification device 100 has an optical drive 109, and from a recording medium 109a (for example, an optical recording medium such as a DVD (Digital Versatile Disc)) that stores a computer-readable program non-transitory, may be read and installed in the storage 110 or the like.
  • a recording medium 109a for example, an optical recording medium such as a DVD (Digital Versatile Disc)
  • DVD Digital Versatile Disc
  • the verification program 1104 and the like executed by the software verification device 100 may be installed via the computer-readable recording medium 109a, or may be installed by being downloaded from a server device or the like on the network. Also, the functions provided by the software verification apparatus 100 according to the embodiment may be realized by using part of the modules provided by the OS.
  • FIG. 2 shows a configuration example in which functions necessary for software verification apparatus 100 are provided by processor 102 executing a program. It may be implemented using a hardware circuit (eg, ASIC, FPGA, etc.). Also, the configuration of the software verification device 100 shown in FIG. 2 is an example, and the configuration is not limited to this configuration.
  • FIG. 3 is a block diagram for explaining an example of the configuration of a plant model received by the software verification device according to the first embodiment.
  • the air conditioner 20 has an indoor unit 11 and an outdoor unit 12 .
  • the indoor unit 11 includes an indoor heat exchanger 5 (first heat exchanger) and an indoor fan 6 (first blower).
  • the indoor unit 11 is arranged in an indoor space (target space) to be air-conditioned by the air conditioner 20 .
  • the outdoor unit 12 includes a compressor 1, an outdoor heat exchanger 2 (second heat exchanger), an outdoor fan 3 (second blower), an expansion valve 4 (first expansion valve), and a control device 10. including.
  • the outdoor unit 12 is arranged in the outdoor space outside the indoor space.
  • the control device 10 may be arranged in the indoor unit 11 or may be provided separately from the indoor unit 11 and the outdoor unit 12 .
  • the refrigerant circulates in the circulation direction (first circulation direction) of the compressor 1 , the outdoor heat exchanger 2 , the expansion valve 4 and the indoor heat exchanger 5 .
  • the outdoor heat exchanger 2 functions as a condenser.
  • the refrigerant passing through the outdoor heat exchanger 2 releases condensation heat to the outdoor space.
  • the indoor heat exchanger 5 functions as an evaporator.
  • the refrigerant passing through the indoor heat exchanger 5 absorbs heat of evaporation from the air around the indoor heat exchanger 5 .
  • the temperature (evaporation temperature) of the refrigerant is lower than the dew point temperature of the air in the indoor space, the moisture in the air around the indoor heat exchanger 5 is liquefied.
  • the air conditioner 20 cools the indoor space so that the temperature T1 of the indoor space approaches the set temperature Ts set by the user.
  • the cooling operation by the air conditioner 20 lowers the temperature of the air in the indoor space and removes the sensible heat of the air.
  • the control device 10 controls the number of revolutions of the compressor 1 and controls the amount of refrigerant discharged by the compressor 1 per unit time.
  • the control device 10 controls the pressure difference between the refrigerant discharged from the compressor 1 before being decompressed by the expansion valve 4 and the refrigerant decompressed by the expansion valve 4 before being sucked into the compressor 1 to a value within a desired range.
  • the opening degree of the expansion valve 4 is controlled so that The expansion valve 4 may be controlled so that the degree of superheating and the degree of supercooling of the refrigerant become target values.
  • the controller 10 controls the amount of air blown by the outdoor fan 3 per unit time by controlling the rotation speed of the outdoor fan 3 .
  • the control device 10 adjusts the amount of heat exchanged between the refrigerant and the air in the outdoor heat exchanger 2 by controlling the outdoor fan 3 .
  • the controller 10 controls the amount of air blown by the indoor fan 6 per unit time by controlling the rotational speed of the indoor fan 6 .
  • Control device 10 adjusts the amount of heat exchanged between the refrigerant and air in indoor heat exchanger 5 by controlling indoor fan 6 .
  • the control device 10 obtains the set temperature T s of the indoor space, the temperature T 1 of the indoor space, the outside air temperature T 2 , and the pipe pressure P in the pipe through which the refrigerant circulates.
  • the controller 10 controls the air conditioner 20 so that the temperature T1 approaches the set temperature Ts in consideration of the outside air temperature T2 and the pipe pressure P inside the pipe.
  • Verification target software 111 that controls the rotation speed of the compressor 1 of the air conditioner 20 is executed by the control device 10 .
  • FIG. 4 is a flowchart for explaining an example of processing in the software verification device 100 according to the first embodiment.
  • the software verification device 100 receives verification target software 111 (S101).
  • the received verification target software 111 is configured by combining multiple functions.
  • FIG. 5 is a schematic diagram for explaining an example of the configuration of the verification target software 111 according to the first embodiment.
  • the verification target software 111 includes a function A for controlling the compressor based on the outside air temperature, a function B for controlling the expansion valve 4 based on the pipe pressure, a function C for controlling the compressor based on the set temperature, and functions D to N. .
  • the software verification device 100 receives a plant model corresponding to the verification target software 111 (S102). Furthermore, the software verification device 100 receives the software constraint 113 and the plant constraint 114 and sets the constraint (S103).
  • the software verification apparatus 100 operates the verification target software 111 and the plant model 112 in cooperation (S104).
  • the software verification apparatus 100 operates the verification target software 111 and the plant model 112 in cooperation, so that internal data, output data, and plant data are stored in the data storage unit 130 .
  • FIG. 6 is a schematic diagram for explaining an example of data stored in data storage unit 130 of software verification apparatus 100 according to the first embodiment.
  • FIG. 6 shows, as an example of data stored in the data storage unit 130, a state ID as a unique identifier, pipe pressure P, compressor rotation speed, frequency command, expansion valve, open/close command, outside temperature T 2 , and call Functions are illustrated.
  • the data storage unit 130 stores other data other than those shown in FIG. 6, such as the set temperature T s and the temperature T 1 of the indoor space.
  • the pipe pressure P, the outside air temperature T 2 and the call function are internal data
  • the frequency command and open/close command are output data
  • the compressor rotation speed and expansion valve are plant data.
  • the verification target software 111 calls the function C that controls the compressor 1 so that the temperature T1 of the indoor space approaches the set temperature Ts .
  • the verification target software 111 calls the function B to increase the opening of the expansion valve 4 because the pipe pressure P has increased. By increasing the degree of opening of the expansion valve 4, the pipe pressure P decreases.
  • the verification target software 111 calls the function B to reduce the opening of the expansion valve 4 because the pipe pressure P has decreased.
  • the verification target software 111 calls the function B to increase the opening of the expansion valve 4 because the piping pressure P increases. Further, when the state ID is "5", the verification target software 111 calls the function A to reduce the rotational speed of the compressor 1 because the outside air temperature T2 has decreased. In other words, the verification target software 111 calls the function A and the function B, and performs control to lower the pipe pressure P in both cases. As a result, the piping pressure P becomes a pressure lower than the set constraint and is outside the constraint. Further, when the state ID is "8", the verification target software 111 calls the function A to increase the rotational speed of the compressor 1 because the outside air temperature T2 has increased.
  • the software verification device 100 determines whether or not the piping pressure P satisfies the constraint conditions as shown in FIG. 6 (S105).
  • the software verification apparatus 100 identifies the function A and the function B called when the pipe pressure P does not satisfy the constraint condition and the state ID is "5" as the characteristic portion of the verification target software 111 (S106).
  • software verification apparatus 100 may not simply identify function A and function B as characteristic portions, but may identify function A and function B as characteristic portions including the calling order, such as calling function B after calling function A. That is, when function B is called after function A is called, pipe pressure P is outside the constraint, but when function A is called after function B is called, pipe pressure P is not outside the constraint. If so, software verification device 100 identifies the characteristic part including the calling order.
  • the software verification device 100 generates a test case based on the characteristic portion specified in S106 and the data obtained when the verification target software 111 and the plant model 112 are operated (S107). Specifically, software verification apparatus 100 generates a test case based on function A and function B of the characteristic portion identified in 106, internal data, output data, plant data, and the like regarding function A and function B. FIG. The generated test cases include input values to functions A and B, and expected values that are expected to be output corresponding to the input values. The software verification device 100 outputs the test cases generated in S107 (S108).
  • the user can easily verify the improved functions A and B by using the output test cases.
  • FIG. 7 is a schematic diagram for explaining an example of the determination result of the function X.
  • FIG. 7 illustrates input values, output values, and determination results obtained when the function X is repeatedly calculated ten times.
  • the software verification device 100 simply identifies characteristic portions and generates test cases based on the determination result.
  • Characteristic part identification unit 124 determines that the operation of plant model 112 loses validity with a probability of 80% (4/5) when the output value of function X becomes "0" from the contents shown in FIG.
  • the function X is specified as a characteristic portion.
  • the test case generating unit 126 Since the characteristic part identifying unit 124 has identified the function X as a characteristic part, the test case generating unit 126 generates a test case for the function X. For example, the test case generating unit 126 generates test cases by using output values that make the determination result "OK" for input values corresponding to data with state IDs "1" to "10" as expected values. Since the characteristic portion identifying unit 124 has identified the function X as having a problem, the user corrects the function X. The corrected function X is verified using the generated test cases, and if there is no problem, it is introduced into the software verification device 100 and it is confirmed whether all the outputs are valid.
  • test case generation unit 126 adds or changes the algorithm according to the software to be verified 111 or the like as necessary. It may have a function that can
  • the software verification device 100 is a software verification device that verifies the operation of software.
  • the software verification apparatus 100 includes a reception unit, a constraint condition input unit 122 (setting unit), a software execution calculation unit 121 (calculation unit), a constraint condition determination unit 123 (determination unit), and a characteristic part identification unit 124 (specification unit). section), a test case generation section 126, and a test case output section 127 (output section).
  • the reception unit receives the verification target software 111 to be verified and the plant model 112 corresponding to the verification target software 111 .
  • the constraint input unit 122 sets constraints for data obtained when the verification target software 111 and the plant model 112 are operated.
  • the software execution calculation unit 121 operates the verification target software 111 and the plant model 112 .
  • the constraint condition determination unit 123 determines whether or not the data obtained by operating the verification target software 111 and the plant model 112 by the software execution calculation unit 121 satisfies the constraint conditions set by the constraint condition input unit 122. .
  • the characteristic part identifying unit 124 identifies a characteristic part of the verification target software 111 that does not satisfy the constraint based on the result of the determination by the constraint condition determination unit 123 .
  • the test case generation unit 126 generates test cases based on the characteristic portion identified by the characteristic portion identification unit 124 and the data obtained when the software execution calculation unit 121 operates the verification target software 111 and the plant model 112. Generate.
  • the test case output unit 127 outputs the test cases generated by the test case generation unit 126 .
  • the software verification apparatus 100 generates a test case based on the characteristic part and the data obtained when the verification target software 111 and the plant model 112 are operated. Even in a situation where detailed information about the software 111 and the modules that make up the software 111 to be verified is not available, it is possible to generate a test case necessary for verifying the operation of the software 111 to be verified.
  • a characteristic portion display section 125 that displays the characteristic portion identified by the characteristic portion identification portion 124 .
  • the user can confirm the characteristic portion displayed on the characteristic portion display section 125 and delete the characteristic portion that is considered unnecessary or erroneous, thereby improving the convenience.
  • the data obtained by operating the verification target software 111 and the plant model 112 in the software execution calculation unit 121 are the internal data processed inside the verification target software 111, the output data output from the verification target software 111, and the plant It is preferable to further include an internal data storage unit 131, an output data storage unit 132, and a plant data storage unit 133 that store the plant data processed by the model 112 separately. Accordingly, data can be stored in the data storage unit 130 according to data type.
  • the software verification method according to Embodiment 1 is a software verification method for verifying the operation of software.
  • the software verification method includes steps of receiving verification target software 111 and plant model 112 corresponding to verification target software 111, and applying constraints to data obtained when verification target software 111 and plant model 112 are operated.
  • a setting step a step of operating the verification target software 111 and the plant model 112, and determining whether or not the data obtained by operating the verification target software 111 and the plant model 112 satisfies the set constraint conditions.
  • the software verification method generates a test case based on the characteristic portion and the data obtained when the verification target software 111 and the plant model 112 are operated. 111 and the detailed information of the modules that make up the verification target software 111, test cases necessary for verifying the operation of the verification target software 111 can be generated.
  • the verification program according to Embodiment 1 is a verification program for causing a computer to verify the operation of software.
  • the verification program includes a step of receiving verification target software 111 and a plant model corresponding to verification target software 111, and data obtained when verification target software 111 and plant model 112 are operated.
  • the step of setting constraints the step of operating the verification target software 111 and the plant model 112
  • the data obtained by operating the verification target software 111 and the plant model 112 a step of determining whether or not; a step of identifying a feature portion of the verification target software 111 that does not satisfy the constraint based on the determination result; operating the identified feature portion, the verification target software 111, and the plant model 112; generating a test case based on the data obtained when the test is performed; and outputting the generated test case.
  • the verification program according to the first embodiment generates a test case based on the characteristic part and the data obtained when the verification target software 111 and the plant model 112 are operated, so that the verification target software 111 And even in a situation in which detailed information on modules constituting the verification target software 111 is not all available, it is possible to generate a test case necessary for verifying the operation of the verification target software 111 .
  • Embodiment 2 The software verification device according to the second embodiment uses so-called machine learning to identify a characteristic portion.
  • the configuration other than the characteristic portion specifying unit that specifies the characteristic portion is the same as that of software verification apparatus 100 shown in FIG.
  • FIG. 8 is a block diagram for explaining an example of the configuration of the characteristic portion identifying section 124A using the learning model in the software verification device 100 according to the second embodiment.
  • Characteristic portion identifying section 124A identifies characteristic portions of verification target software 111 based on learning model 1240 obtained by machine learning.
  • the learning model 1240 is learned using learning data in which feature portions that do not satisfy the constraint conditions are respectively labeled. Specifically, in each data of cases (state IDs “2”, “5”, “6”, “10”) in which the function X shown in FIG. are labeled as training data.
  • the characteristic portion identifying unit 124A identifies the characteristic portion of the verification target software 111 based on the learning model obtained by machine learning. This makes it possible to more accurately identify the characteristic portion of the verification target software 111 .
  • the learning model is preferably learned by learning data in which feature portions that do not satisfy the constraint conditions are respectively labeled.
  • the plant model 112 is described as a simulation model, but it is not limited to this, and may be an environment (plant) such as devices and systems that actually operate.
  • the software verification device 100 stores data acquired from sensors of actually operating devices, systems, etc., in the plant data storage unit 133, thereby identifying characteristic portions without simulation and generating test cases. can be done.
  • the software verification apparatus 100 may calculate a new state ID (combination of internal states) from the internal state indicated by each state ID and the corresponding output value by machine learning or the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

ソフトウェア検証装置(100)は、受付部と、制約条件入力部(122)と、ソフトウェア実行演算部(121)と、制約条件判定部(123)と、特徴部分特定部(124)と、テストケース生成部(126)と、テストケース出力部(127)と、を備える。特徴部分特定部(124)は、制約条件判定部(123)で判定した結果に基づいて、制約条件を満たさない検証対象ソフトウェア(111)の特徴部分を特定する。テストケース生成部(126)は、特徴部分特定部(124)で特定した特徴部分と、ソフトウェア実行演算部(121)で検証対象ソフトウェア(111)およびプラントモデル(112)を動作させたときに得られたデータとに基づいてテストケースを生成する。

Description

ソフトウェア検証装置、ソフトウェア検証方法、および検証プログラム
 本開示では、ソフトウェア検証装置、ソフトウェア検証方法、および検証プログラムに関する。
 ソフトウェアの処理を検証する場合、検証対象のソフトウェアに対して入力値と、当該入力値に対応して出力が期待される期待値とを含むテストケースをあらかじめ用意し、ソフトウェア検証装置は、入力値を検証対象のソフトウェアに入力して得られた出力値と、期待値とを比較することで合否判定を実施している。一般的に、ソフトウェアを構成する独立した小さなモジュールを作成し、当該モジュール毎に検証を行い、検証で合格したモジュールを組み合わせて一つのソフトウェアを作成する。
 複数のモジュールを組み合わせたソフトウェアについても、入力値と、当該入力値に対応して出力が期待される期待値とを含むテストケースを同様にあらかじめ用意する必要がある。しかし、ソフトウェアの検証を実施する場合、ソフトウェア検証装置などのツール等のサポートを受けて自動的に実施できても、検証の内容を当該ツールが理解可能な形式で記述する必要があり、検証を行うための準備に膨大な手間が必要である。
 また、近年では、ソフトウェアの高機能化による大規模化・複雑化に伴い、複数のモジュールを組み合わせたソフトウェアの検証する場合、複数のモジュールを組み合わせたことによる影響を網羅的に検証するにはコストが高くなる。さらに、問題が発生した際の原因となるモジュールまたはその組み合わせを、ソフトウェアの中から特定することが難しくなっている。
 また、オープンソースソフトウェア(Open Source Software)に代表されるような、自己で開発していないモジュールを利用することが、ソフトウェアの中から問題の原因となるモジュールまたはその組み合わせを特定することを難しくしている一因でもある。
 このような状況において、ソフトウェアの動作を検証する様々なソフトウェア検証装置が検討されている。例えば、特許文献1では、モジュール単位で網羅的に実施したテストケースの結果から、外部とのインターフェース部分に着目して他のモジュールまたは外部装置を組み合わせた場合に必要な検証内容を抽出して、検証作業を効率化する方法が開示してある。
 また、特許文献2では、プログラム(ソフトウェア)変更時に変更前後のプログラムの変化を検出し、その検出結果に基づいて変更前のテストケースの変数名等を変更して、当該テストケースを変更後のプログラムに対して適用する方法が開示してある。
特開2010-102624号公報 特開2015-35185号公報
 特許文献1では、モジュールの取りうる状態を網羅した複数のテストケースをあらかじめ用意しておき、複数のモジュールのそれぞれに対して複数のテストケースを実施し、モジュールの内部状態が重複するテストケースを除いて網羅的に検証可能なテストケースの組を得ることができる。
 また、特許文献2では、変更後のプログラム(ソフトウェア)の変化点を抽出し、あらかじめ用意してある変更前のテストケースに当該変化点を反映するため、繰り返し機能を追加するプログラムの開発に有用である。
 しかしながら、特許文献1および特許文献2に開示されている手法では、あらかじめテストケースを用意する必要があり、当該テストケースを生成するためには、検証対象となるソフトウェアおよび当該ソフトウェアを構成するモジュールについての詳細な資料、例えばソースコード等が必要となる。
 本開示では、上記のような課題を解決するためになされたもので、検証対象のソフトウェアおよび当該ソフトウェアを構成するモジュールの詳細な情報がすべて揃わない状況においても、ソフトウェアの動作を検証するために必要となるテストケースを生成することができるソフトウェア検証装置、ソフトウェア検証方法、および検証プログラムを提供することを目的とする。
 本開示に係るソフトウェア検証装置は、ソフトウェアの動作を検証するソフトウェア検証装置であって、検証対象のソフトウェアと、ソフトウェアに対応するプラントモデルとを受け付ける受付部と、ソフトウェアおよびプラントモデルを動作させたときに得られるデータに対して制約条件を設定する設定部と、ソフトウェアおよびプラントモデルを動作させる演算部と、演算部でソフトウェアおよびプラントモデルを動作させて得られたデータが、設定部で設定した制約条件を満たしているか否かを判定する判定部と、判定部で判定した結果に基づいて、制約条件を満たさないソフトウェアの特徴部分を特定する特定部と、特定部で特定した特徴部分と、演算部でソフトウェアおよびプラントモデルを動作させたときに得られたデータとに基づいてテストケースを生成するテストケース生成部と、テストケース生成部で生成したテストケースを出力する出力部と、を備える。
 本開示に係るソフトウェア検証方法は、ソフトウェアの動作を検証するソフトウェア検証方法であって、検証対象のソフトウェアと、ソフトウェアに対応するプラントモデルとを受け付けるステップと、ソフトウェアおよびプラントモデルを動作させたときに得られるデータに対して制約条件を設定するステップと、ソフトウェアおよびプラントモデルを動作させるステップと、ソフトウェアおよびプラントモデルを動作させて得られたデータが、設定した制約条件を満たしているか否かを判定するステップと、判定した結果に基づいて、制約条件を満たさないソフトウェアの特徴部分を特定するステップと、特定した特徴部分と、ソフトウェアおよびプラントモデルを動作させたときに得られたデータとに基づいてテストケースを生成するステップと、生成したテストケースを出力するステップと、を含む。
 本開示に係る検証プログラムは、ソフトウェアの動作の検証をコンピュータに実行させるための検証プログラムであって、コンピュータに実行させる処理に、検証対象のソフトウェアと、ソフトウェアに対応するプラントモデルとを受け付けるステップと、ソフトウェアおよびプラントモデルを動作させたときに得られるデータに対して制約条件を設定するステップと、ソフトウェアおよびプラントモデルを動作させるステップと、ソフトウェアおよびプラントモデルを動作させて得られたデータが、設定した制約条件を満たしているか否かを判定するステップと、判定した結果に基づいて、制約条件を満たさないソフトウェアの特徴部分を特定するステップと、特定した特徴部分と、ソフトウェアおよびプラントモデルを動作させたときに得られたデータとに基づいてテストケースを生成するステップと、生成したテストケースを出力するステップと、を含む。
 本開示によれば、特定した特徴部分と、ソフトウェアおよびプラントモデルを動作させたときに得られたデータとに基づいてテストケースを生成するので、検証対象のソフトウェアおよび当該ソフトウェアを構成するモジュールの詳細な情報がすべて揃わない状況においても、ソフトウェアの動作を検証するために必要となるテストケースを生成することができる。
実施の形態1におけるソフトウェア検証装置の構成の一例を説明するためのブロック図である。 実施の形態1におけるソフトウェア検証装置のハードウェア構成の一例を説明するためのブロック図である。 実施の形態1におけるソフトウェア検証装置において受け付けたプラントモデルの構成の一例を説明するためのブロック図である。 実施の形態1におけるソフトウェア検証装置での処理の一例を示す説明するためのフローチャートである。 実施の形態1における検証対象ソフトウェアの構成の一例を説明するための模式図である。 実施の形態1におけるソフトウェア検証装置のデータ保存部で保存されるデータの一例を説明するための概略図である。 関数Xの判定結果の一例を説明するための概略図である。 実施の形態2におけるソフトウェア検証装置において学習モデルを用いた特徴部分特定部の構成の一例を説明するためのブロック図である。
 以下、実施の形態に係るソフトウェア検証装置、ソフトウェア検証方法、および検証プログラムについて、図面を参照しながら説明する。ここで、各図面において、同一の符号を付した構成は、同一またはこれに相当する構成であり、以下に記載するすべての実施の形態において共通の構成であるとする。
 また、以下に記載するすべての実施の形態に表わされている構成要素の形態は、あくまでも例示であって、以下に記載された形態に限定するものではない。特に、構成要素の組み合わせは、各実施の形態における組み合わせのみに限定するものではなく、他の実施の形態に記載した構成要素を、別の実施の形態に適用することができる。
 実施の形態1.
 実施の形態1のソフトウェア検証装置について、図面を参照して説明する。図1は、実施の形態1におけるソフトウェア検証装置100の構成の一例を説明するためのブロック図である。ソフトウェア検証装置100は、ソフトウェア実行演算部121、制約条件入力部122、制約条件判定部123、特徴部分特定部124、特徴部分表示部125、テストケース生成部126、およびテストケース出力部127を含む。また、ソフトウェア検証装置100は、データ保存部130、制約条件保存部134、判定結果保存部135、および特徴部分保存部136を含む。データ保存部130は、データの種類別に内部データ保存部131、出力データ保存部132、およびプラントデータ保存部133に分けて保存する。
 ソフトウェア実行演算部121は、動作を検証する検証対象ソフトウェア111と、当該検証対象ソフトウェア111に対応するプラントモデル112と連携して動作を実行する。検証対象ソフトウェア111は、ソフトウェア検証装置100を用いて検証を行うソフトウェアで、例えば空調機の圧縮機の回転数を制御するソフトウェアである。ここで、以下の説明を簡単にするため、検証対象ソフトウェア111を構成する各々のモジュールの単位は、ある機能を実現するための関数であると説明する。もちろん、各々のモジュールの単位は、関数よりも大きいクラス・オブジェクト等であっても、検証対象ソフトウェア111を複数に分割した一部などであってもよい。また、検証対象ソフトウェア111を任意のサイズで分割してもよく、分割するサイズは同じサイズで分割する必要はなく、任意のサイズでモジュールを定義してもよい。
 プラントモデル112は、検証対象ソフトウェア111が動作する環境モデルであり、検証対象ソフトウェア111の出力結果に沿って制御対象となるシステムの物理的変化、情報伝達の状況などをシミュレーションすることができるモデルである。プラントモデル112でシミュレーションした結果は、検証対象ソフトウェア111の入力と対応しており、検証対象ソフトウェア111の制御対象として認識される機能をプラントモデル112は有している。例えば、プラントモデル112は、検証対象ソフトウェア111が空調機の圧縮機の回転数を制御するソフトウェアである場合、当該ソフトウェアの制御対象となる空調機の冷凍サイクルのシミュレーションモデルとする。なお、プラントモデル112は、あらかじめ複数の種類を用意しておき、ソフトウェア実行演算部121に入力された検証対象ソフトウェア111に対応して最適なモデルを選択してもよい。
 ソフトウェア実行演算部121は、検証対象ソフトウェア111とプラントモデル112とを連携して動作させることで、検証対象ソフトウェア111が実際の環境で動作させた場合と同様の結果を得ることができる。検証対象ソフトウェア111は、ソフトウェア実行演算部121上で動作された場合、動作時に得られる内部データ(入力値を含む)が内部データ保存部131に、動作時に得られる出力結果(出力データ)が出力データ保存部132にそれぞれ保存される。ここで、保存される内部データには、例えば、検証対象ソフトウェア111で呼び出された関数のリスト、呼び出された関数の順序および入れ子の情報(スタックトレース)、関数実行時の引数の名称と内容などが含まれる。また、関数が状態を持つ場合、保存される内部データには、その状態時の変数の名称と内容が含まれ、検証対象ソフトウェア111内部で明示的に実装されたロギング機能がある場合、そのログの出力、などが含まれる。これらの内部データは、取得した関数、時間が区別できるよう、一意識別子を持つことが好ましい。出力データは、関数から出力されるデータであり、入力値と対応付けることが可能なように内部データの一意識別子と対応付けて出力データ保存部132に保存される。なお、内部データ保存部131、および出力データ保存部132は、必ずしもすべての内部データおよび出力データを取得する必要はなく、取得可能な範囲の内部データ、出力データを保存できればよい。
 プラントモデル112の演算結果であるプラントデータは、内部データ保存部131に保存された内部データの一意識別子と対応付けて、プラントデータ保存部133に保存される。データ保存部130は、データの種類別に内部データ保存部131、出力データ保存部132、およびプラントデータ保存部133に分けて保存すると説明したが、データの種類を分けずに保存してもよい。
 ソフトウェア検証装置100を用いて検証対象ソフトウェア111を検証する場合、制約条件を設定し、当該制約条件を満たしているか否か判定することでソフトウェア検証装置100の検証を行っている。制約条件は、あらかじめユーザが制約条件入力部122から入力する。制約条件入力部122で入力を受け付ける制約条件には、検証対象ソフトウェア111のソフトウェア制約条件113と、プラントモデル112のプラント制約条件114とがあり、入力された制約条件は制約条件保存部134に保存される。
 制約条件には、「xの値はy以上」,「xの値はy以外」のような数値に着目する条件、「xがyになってからn秒以内にzとなる」のような経時変化に着目する条件などを設定することができる。制約条件は、検証対象ソフトウェア111の機能仕様に基づいて条件(例えば、「入力値がxであれば出力値はyである」)を設定することも可能であるが、通常はプラントモデル112が必ず満たすべき条件を設定する。具体的に、空調機を例に説明すると、プラントモデル112が空調機の冷凍サイクルであるとすれば、空調機の冷凍サイクルが温度,圧力の条件を満たしているか、各部品の消費電力が一定値以下であるか、などが制約条件に相当する。また、プラントモデル112が空調機と室内温度分布との関係をシミュレーションするモデルであるとすれば、起動後の一定時間経過後に室内のある点の温度が一定の範囲内に入っているか、などが制約条件に相当する。
 制約条件判定部123は、内部データ保存部131、出力データ保存部132、およびプラントデータ保存部133(データ保存部130)に保存されている情報に対して制約条件保存部134に保存されている制約条件を満たしているか否かを判定し、検証対象ソフトウェア111の動作の妥当性を検証する。制約条件判定部123は、制約条件保存部134に保存されているすべての制約条件を満たしている場合、検証対象ソフトウェア111の動作は妥当であると判断される。逆に、制約条件判定部123は、制約条件保存部134に保存されている何れかの制約条件を満たしていない場合、検証対象ソフトウェア111の動作は妥当でないと判断される。制約条件判定部123での判断結果は、内部データ保存部131に保存された内部データの一意識別子と対応付けて判定結果保存部135に保存される。
 判定結果保存部135に判定結果が保存されると、特徴部分特定部124は、判定結果保存部135に保存された判定結果を分析し、制約条件を満たさないソフトウェアの特徴部分を特定する。特徴部分特定部124で特定した特徴部分は、特徴部分保存部136に保存される。
 特徴部分特定部124は、検証対象ソフトウェア111のある関数の内部データ、出力データが制約条件を満たさない場合、当該関数を特徴部分として特定する。例えば、特徴部分特定部124は、ある関数の出力値が制約条件を満たさない0(ゼロ)の値となるときに、プラントモデル112の動作が制約条件を満たさない場合、当該関数が特徴部分であると特定する。なお、特徴部分特定部124は、単一の内部データ、出力データだけでなく、複数の内部データと複数の出力データとを組み合わせて特徴部分を特定してもよい。
 特徴部分保存部136に保存されている特徴部は、特徴部分表示部125においてユーザに表示することができる。ユーザは、特徴部分表示部125に表示された特徴部分を確認して不要、誤りと考えられる特徴部分を削除することができる。特徴部分特定部124によって検証を行ったすべての回数のうち、特徴部分に特定されたある関数の出力値がある値の場合に、プラントモデル112の動作が制約条件を満たさない割合などを算出して特徴部分表示部125に表示してもよい。特徴部分表示部125は、割合など表示することでユーザの判断を促すことができる。
 テストケース生成部126は、保存されている内部データ、出力データ、プラントデータ、および特徴部分を参照して、特徴部分の関数への入力値と、当該入力値に対応して出力が期待される期待値とを含むテストケースを生成する。テストケース生成部126で生成されたテストケースは、テストケース出力部127から出力される。テストケースが生成される単位は、特徴部分の種類によって異なり、関数の場合、複数の関数を組み合わせた構成などが選択される。ユーザは、テストケース生成部126に生成条件を設定することで、テストケースが対象とするモジュールの範囲を限定することができる。
 ソフトウェア検証装置100では、検証対象のソフトウェアおよび当該ソフトウェアを構成するモジュールの詳細な情報がすべて揃わない状況においても、特徴部分特定部124によって特定した特徴部分に基づきテストケースを生成することができるので、ユーザはテストケース作成時間を短縮することが可能となる。
 図2は、実施の形態1におけるソフトウェア検証装置100のハードウェア構成の一例を説明するためのブロック図である。図2を参照して、ソフトウェア検証装置100は、プロセッサ102と、メインメモリ104と、入力部106と、出力部108と、ストレージ110と、光学ドライブ109と、通信コントローラ120とを含む。これらのコンポーネントは、プロセッサバス118を介して接続されている。
 プロセッサ102は、CPUまたはGPUなどで構成され、ストレージ110に記憶されたプログラム(一例として、OS1102および検証プログラム1104)を読出して、メインメモリ104に展開して実行することができる。プロセッサ102では、ストレージ110から読み出した様々なプログラムを実行する。具体的に、検証プログラム1104は、入力部106で受け付けた検証対象ソフトウェア111とプラントモデル112とを連携して動作させる。
 メインメモリ104は、DRAMまたはSRAMなどの揮発性記憶装置などで構成される。ストレージ110は、例えば、HDDまたはSSDなどの不揮発性記憶装置などで構成される。
 ストレージ110には、基本的な機能を実現するためのOS1102に加えて、ソフトウェア検証装置100としての機能を提供するための検証プログラム1104、検証対象ソフトウェア111、プラントモデル112、ソフトウェア制約条件113,プラント制約条件114が記憶される。さらに、ストレージ110は、データ保存部130、判定結果保存部135、および特徴部分保存部136と対応し、内部データ、出力データ、プラントデータ、判定結果、特徴部分などが記憶される。
 入力部106は、キーボードまたはマウス、マイク、タッチデバイスなどで構成され、ユーザにより選択された情報をさらに受け付けることができる。
 出力部108は、ディスプレイ、各種インジケータ、プリンタなどで構成され、プロセッサ102からの処理結果などを出力する。また、出力部108は、特徴部分表示部125と対応する。
 通信コントローラ120は、有線通信または無線通信を用いて、他の制御装置などとの間でデータを遣り取りする。ソフトウェア検証装置100は、通信コントローラ120を介してテストケースを他の装置に出力する。通信コントローラ120は、テストケース出力部127と対応する。なお、通信コントローラ120と別にプロセッサバス118に接続されるUSBコントローラを設け、USB接続を介して、他の制御装置などとの間のデータを遣り取りしてもよい。
 ソフトウェア検証装置100は、光学ドライブ109を有しており、コンピュータ読取可能なプログラムを非一過的に記憶する記録媒体109a(例えば、DVD(Digital Versatile Disc)などの光学記録媒体)から、その中に記憶されたプログラムが読取られてストレージ110などにインストールしてもよい。
 ソフトウェア検証装置100で実行される検証プログラム1104などは、コンピュータ読取可能な記録媒体109aを介してインストールされてもよいが、ネットワーク上のサーバ装置などからダウンロードする形でインストールするようにしてもよい。また、実施の形態に係るソフトウェア検証装置100が提供する機能は、OSが提供するモジュールの一部を利用する形で実現される場合もある。
 図2には、プロセッサ102がプログラムを実行することで、ソフトウェア検証装置100として必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASICまたはFPGAなど)を用いて実装してもよい。また、図2に示したソフトウェア検証装置100の構成は例示であって、この構成に限定されない。
 次に、空調機の圧縮機を制御するソフトウェアを検証対象ソフトウェア111とする例を用いて、具体的にソフトウェア検証装置100の動作について説明する。検証対象ソフトウェア111に対応するプラントモデル112が空調機の冷凍サイクルであるとする。プラントモデル112を具体的に説明するため仮想的に空調機の構成を設定する。図3は、実施の形態1におけるソフトウェア検証装置で受け付けたプラントモデルの構成の一例を説明するためのブロック図である。図3に示されるように、空調機20は、室内機11と、室外機12とを備える。
 室内機11は、室内熱交換器5(第1熱交換器)と、室内ファン6(第1送風装置)とを含む。室内機11は、空調機20による空調の対象である室内空間(対象空間)に配置されている。
 室外機12は、圧縮機1と、室外熱交換器2(第2熱交換器)と、室外ファン3(第2送風装置)と、膨張弁4(第1膨張弁)と、制御装置10とを含む。室外機12は、室内空間の外である室外空間に配置されている。制御装置10は、室内機11に配置されてもよいし、室内機11および室外機12とは別個に設けられてもよい。
 冷媒は、圧縮機1、室外熱交換器2、膨張弁4、および室内熱交換器5の循環方向(第1循環方向)に循環する。室外熱交換器2は、凝縮器として機能する。室外熱交換器2を通過する冷媒は、凝縮熱を室外空間に放出する。室内熱交換器5は、蒸発器として機能する。室内熱交換器5を通過する冷媒は、室内熱交換器5の周辺の空気から蒸発熱を吸収する。当該冷媒の温度(蒸発温度)が室内空間の空気の露点温度よりも低い場合、室内熱交換器5の周辺の空気中の水分が液化する。空調機20は、室内空間の温度Tがユーザによって設定された設定温度Tに近づくように、室内空間に対して冷房運転を行う。空調機20による冷房運転は、室内空間の空気の温度を低下させ、当該空気の顕熱を除去する。
 制御装置10は、圧縮機1の駆動周波数を制御することにより、圧縮機1の回転数を制御して単位時間当たりに圧縮機1が吐出する冷媒量を制御する。制御装置10は、圧縮機1から吐出されて膨張弁4によって減圧される前の冷媒と膨張弁4によって減圧されて圧縮機1に吸入される前の冷媒との圧力差が所望の範囲の値となるように膨張弁4の開度を制御する。膨張弁4は、冷媒の過熱度および過冷却度が目標値となるように制御されてもよい。
 制御装置10は、室外ファン3の回転速度を制御することにより、室外ファン3の単位時間当たりの送風量を制御する。制御装置10は、室外ファン3を制御することにより、室外熱交換器2における冷媒と空気との間の熱交換量を調節する。制御装置10は、室内ファン6の回転速度を制御することにより、室内ファン6の単位時間当たりの送風量を制御する。制御装置10は、室内ファン6を制御することにより、室内熱交換器5における冷媒と空気との間の熱交換量を調節する。
 制御装置10は、室内空間の設定温度T、室内空間の温度T、外気温度T、冷媒が循環する配管内の配管圧力Pをそれぞれ取得する。制御装置10は、外気温度Tおよび配管内の配管圧力Pを考慮して、温度Tが設定温度Tに近づくように空調機20を制御する。空調機20の圧縮機1の回転数を制御する検証対象ソフトウェア111が、制御装置10で実行される。
 制御装置10で実行される検証対象ソフトウェア111を、空調機20を仮想したプラントモデル112と連携して動作させることで検証対象ソフトウェア111の動作を検証する方法についてフロチャートを用いて説明する。図4は、実施の形態1におけるソフトウェア検証装置100での処理の一例を示す説明するためのフローチャートである。まず、ソフトウェア検証装置100は、検証対象ソフトウェア111を受け付ける(S101)。
 受け付けた検証対象ソフトウェア111は、複数の関数が組み合わされて構成されている。図5は、実施の形態1における検証対象ソフトウェア111の構成の一例を説明するための模式図である。検証対象ソフトウェア111には、外気温度に基づく圧縮機制御の関数A、配管圧力に基づく膨張弁4の制御の関数B、設定温度に基づく圧縮機制御の関数C、および関数D~関数Nを含む。
 ソフトウェア検証装置100は、検証対象ソフトウェア111に対応するプラントモデルを受け付ける(S102)。さらに、ソフトウェア検証装置100は、ソフトウェア制約条件113およびプラント制約条件114を受け付け、制約条件を設定する(S103)。
 ソフトウェア検証装置100は、検証対象ソフトウェア111とプラントモデル112とを連携して動作させる(S104)。ソフトウェア検証装置100は、検証対象ソフトウェア111とプラントモデル112とを連携して動作させることで、内部データ、出力データ、およびプラントデータがデータ保存部130に保存される。図6は、実施の形態1におけるソフトウェア検証装置100のデータ保存部130で保存されるデータの一例を説明するための概略図である。図6には、データ保存部130に保存されるデータの一例として、一意識別子としての状態ID、配管圧力P、圧縮機回転数、周波数指令、膨張弁、開閉指令、外気温度T、および呼び出し関数が図示されている。もちろん、データ保存部130には、図6に示す以外の設定温度T、室内空間の温度Tなどの他のテータが保存されている。
 図6に示すデータのうち、配管圧力P、外気温度T、および呼び出し関数が内部データで、周波数指令、および開閉指令が出力データで、圧縮機回転数、および膨張弁がプラントデータである。
 まず、検証対象ソフトウェア111は、状態IDが”1”のとき、室内空間の温度Tが設定温度Tに近づくように圧縮機1を制御する関数Cを呼び出す。次に、検証対象ソフトウェア111は、状態IDが”2”のとき、配管圧力Pが高くなったので膨張弁4の開度を大きくするために関数Bを呼び出す。膨張弁4の開度を大きくしたことで配管圧力Pは低下する。検証対象ソフトウェア111は、状態IDが”3”のとき、配管圧力Pが低下したので、膨張弁4の開度を小さくするために関数Bを呼び出す。
 次に、検証対象ソフトウェア111は、状態IDが”5”のとき、配管圧力Pが高くなるので膨張弁4の開度を大きくするために関数Bを呼び出す。さらに、検証対象ソフトウェア111は、状態IDが”5”のとき、外気温度Tが低くなったので圧縮機1の回転数を低くするために関数Aを呼び出す。つまり、検証対象ソフトウェア111は、関数Aおよび関数Bを呼び出し、ともに配管圧力Pを低くする制御を行う。その結果、配管圧力Pは、設定した制約条件よりも低い圧力となり制約条件外の圧力となる。また、検証対象ソフトウェア111は、状態IDが”8”のとき、外気温度Tが高くなったので圧縮機1の回転数を高くするために関数Aを呼び出す。
 図4に戻って、ソフトウェア検証装置100は、図6に示したように、配管圧力Pが制約条件を満たしているか否かを判断する(S105)。ソフトウェア検証装置100は、配管圧力Pが制約条件を満たしていない状態IDが”5”のときに呼び出した関数Aおよび関数Bを検証対象ソフトウェア111の特徴部分として特定する(S106)。なお、ソフトウェア検証装置100は、関数Aおよび関数Bを単純に特徴部分と特定するのではなく、関数Aを呼び出した後に関数Bを呼び出すなど呼び出し順を含めて特徴部分と特定してもよい。つまり、関数Aを呼び出した後に関数Bを呼び出す場合、配管圧力Pが制約条件外の圧力となるが、関数Bを呼び出した後に関数Aを呼び出す場合、配管圧力Pが制約条件外の圧力とならないのであれば、ソフトウェア検証装置100は、呼び出し順を含めて特徴部分を特定する。
 ソフトウェア検証装置100は、S106で特定した特徴部分と、検証対象ソフトウェア111およびプラントモデル112を動作させたときに得られたデータとに基づいてテストケースを生成する(S107)。具体的に、ソフトウェア検証装置100は、106で特定した特徴部分の関数Aおよび関数B、関数Aおよび関数Bに関する内部データ、出力データ、およびプラントデータなどに基づいてテストケースを生成する。生成したテストケースには、関数Aおよび関数Bへの入力値と、当該入力値に対応して出力が期待される期待値とを含む。ソフトウェア検証装置100は、S107で生成したテストケースを出力する(S108)。
 ユーザは、出力されたテストケースを利用することで、改良した関数Aおよび関数Bの検証を簡単に行うことができる。
 別の一例として、状態を持たない単純な関数Xのみからなるソフトウエアを検証対象ソフトウェア111としてテストケースを生成する場合を考える。図7は、関数Xの判定結果の一例を説明するための概略図である。図7には、関数Xを10回繰り返し演算した場合に得られた入力値、出力値、および判定結果を例示してある。ソフトウェア検証装置100は、この判定結果に基づいて単純な特徴部分の特定とテストケースの生成する。
 特徴部分特定部124は、図7に示す内容から関数Xの出力値が”0”になる場合、80%(4/5)の確率でプラントモデル112の動作について妥当性がなくなると判断し、特徴部分として当該関数Xを特定する。
 特徴部分特定部124で関数Xが特徴部分として特定されたため、テストケース生成部126は、関数Xのテストケースを生成する。たとえば、テストケース生成部126は、状態ID”1”~”10”のデータに対応する入力値に対して、それぞれ判定結果が”OK”となる出力値を期待値としてテストケースを生成する。特徴部分特定部124で関数Xが問題あると特定されたので、ユーザは関数Xを修正する。修正後の関数Xに対して、生成したテストケースを用いて検証を行い、問題がなければソフトウェア検証装置100に導入してすべての出力が妥当になるかを確認する。
 特徴部分からテストケースを生成する手法については、検証対象ソフトウェア111の特徴などによって手法を切り替える必要があるため、テストケース生成部126は検証対象ソフトウェア111等によってアルゴリズムを必要に応じて追加・変更することができる機能を有していてもよい。
 以上のように、実施の形態1に係るソフトウェア検証装置100は、ソフトウェアの動作を検証するソフトウェア検証装置である。ソフトウェア検証装置100は、受付部と、制約条件入力部122(設定部)と、ソフトウェア実行演算部121(演算部)と、制約条件判定部123(判定部)と、特徴部分特定部124(特定部)と、テストケース生成部126と、テストケース出力部127(出力部)と、を備える。受付部は、検証対象の検証対象ソフトウェア111と、検証対象ソフトウェア111に対応するプラントモデル112とを受け付ける。制約条件入力部122は、検証対象ソフトウェア111およびプラントモデル112を動作させたときに得られるデータに対して制約条件を設定する。ソフトウェア実行演算部121は、検証対象ソフトウェア111およびプラントモデル112を動作させる。制約条件判定部123は、ソフトウェア実行演算部121で検証対象ソフトウェア111およびプラントモデル112を動作させて得られたデータが、制約条件入力部122で設定した制約条件を満たしているか否かを判定する。特徴部分特定部124は、制約条件判定部123で判定した結果に基づいて、制約条件を満たさない検証対象ソフトウェア111の特徴部分を特定する。テストケース生成部126は、特徴部分特定部124で特定した特徴部分と、ソフトウェア実行演算部121で検証対象ソフトウェア111およびプラントモデル112を動作させたときに得られたデータとに基づいてテストケースを生成する。テストケース出力部127は、テストケース生成部126で生成したテストケースを出力する。
 これにより、実施の形態1に係るソフトウェア検証装置100は、特徴部分と、検証対象ソフトウェア111およびプラントモデル112を動作させたときに得られたデータとに基づいてテストケースを生成するので、検証対象ソフトウェア111および当該検証対象ソフトウェア111を構成するモジュールの詳細な情報がすべて揃わない状況においても、検証対象ソフトウェア111の動作を検証するために必要となるテストケースを生成することができる。
 特徴部分特定部124で特定した特徴部分を表示する特徴部分表示部125をさらに備えることが好ましい。これにより、ユーザが、特徴部分表示部125に表示された特徴部分を確認して不要、誤りと考えられる特徴部分を削除することができるので、利便性が向上する。
 ソフトウェア実行演算部121で検証対象ソフトウェア111およびプラントモデル112を動作させて得られたデータを、検証対象ソフトウェア111の内部で処理された内部データ、検証対象ソフトウェア111から出力された出力データ、およびプラントモデル112で処理されたプラントデータに分けて保存する内部データ保存部131、出力データ保存部132、およびプラントデータ保存部133をさらに備えることが好ましい。これにより、データの種類別にデータ保存部130に保存することができる。
 実施の形態1に係るソフトウェア検証方法は、ソフトウェアの動作を検証するソフトウェア検証方法である。ソフトウェア検証方法は、検証対象ソフトウェア111と、検証対象ソフトウェア111に対応するプラントモデル112とを受け付けるステップと、検証対象ソフトウェア111およびプラントモデル112を動作させたときに得られるデータに対して制約条件を設定するステップと、検証対象ソフトウェア111およびプラントモデル112を動作させるステップと、検証対象ソフトウェア111およびプラントモデル112を動作させて得られたデータが、設定した制約条件を満たしているか否かを判定するステップと、判定した結果に基づいて、制約条件を満たさない検証対象ソフトウェア111の特徴部分を特定するステップと、特定した特徴部分と、検証対象ソフトウェア111およびプラントモデル112を動作させたときに得られたデータとに基づいてテストケースを生成するステップと、生成したテストケースを出力するステップと、を含む。
 これにより、実施の形態1に係るソフトウェア検証方法は、特徴部分と、検証対象ソフトウェア111およびプラントモデル112を動作させたときに得られたデータとに基づいてテストケースを生成するので、検証対象ソフトウェア111および当該検証対象ソフトウェア111を構成するモジュールの詳細な情報がすべて揃わない状況においても、検証対象ソフトウェア111の動作を検証するために必要となるテストケースを生成することができる。
 実施の形態1に係る検証プログラムは、ソフトウェアの動作の検証をコンピュータに実行させるための検証プログラムである。検証プログラムは、コンピュータに実行させる処理に、検証対象ソフトウェア111と、検証対象ソフトウェア111に対応するプラントモデルとを受け付けるステップと、検証対象ソフトウェア111およびプラントモデル112を動作させたときに得られるデータに対して制約条件を設定するステップと、検証対象ソフトウェア111およびプラントモデル112を動作させるステップと、検証対象ソフトウェア111およびプラントモデル112を動作させて得られたデータが、設定した制約条件を満たしているか否かを判定するステップと、判定した結果に基づいて、制約条件を満たさない検証対象ソフトウェア111の特徴部分を特定するステップと、特定した特徴部分と、検証対象ソフトウェア111およびプラントモデル112を動作させたときに得られたデータとに基づいてテストケースを生成するステップと、生成したテストケースを出力するステップと、を含む。
 これにより、実施の形態1に係る検証プログラムは、特徴部分と、検証対象ソフトウェア111およびプラントモデル112を動作させたときに得られたデータとに基づいてテストケースを生成するので、検証対象ソフトウェア111および当該検証対象ソフトウェア111を構成するモジュールの詳細な情報がすべて揃わない状況においても、検証対象ソフトウェア111の動作を検証するために必要となるテストケースを生成することができる。
 実施の形態2.
 実施の形態2に係るソフトウェア検証装置では、いわゆる機械学習を用いて、特徴部分を特定する構成について説明する。なお、特徴部分を特定する特徴部分特定部以外の構成は、図1に示したソフトウェア検証装置100と同じ構成であるため、同じ構成ついて同じ符号を付して詳細な説明は繰り返さない。
 図8は、実施の形態2におけるソフトウェア検証装置100において学習モデルを用いた特徴部分特定部124Aの構成の一例を説明するためのブロック図である。特徴部分特定部124Aは、機械学習により得られた学習モデル1240に基づき検証対象ソフトウェア111の特徴部分を特定する。
 図7に示す例では、出力値が”0”でも判定結果が”OK”となるケース(状態ID”1”)と”NG”となるケース(状態ID”2”,”5”,”6”,”10”)とが存在している。そのため、特徴部分特定部124Aに図7に示すデータを入力して、学習モデル1240に基づき特徴部分を特定する。
 なお、学習モデル1240は、制約条件を満たさない特徴部分がそれぞれラベル付けされた学習データにより学習される。具体的に、図7に示す関数Xが”NG”となるケース(状態ID”2”,”5”,”6”,”10”)のそれぞれのデータに、特徴部分が関数Xであるとのラベル付けをして学習データとする。
 以上のように、実施の形態2に係るソフトウェア検証装置100では、特徴部分特定部124Aは、機械学習により得られた学習モデルに基づき検証対象ソフトウェア111の特徴部分を特定する。これにより、検証対象ソフトウェア111の特徴部分をより正確に特定することができる。なお、学習モデルは、制約条件を満たさない特徴部分がそれぞれラベル付けされた学習データにより学習されることが好ましい。
 変形例1.
 前述の実施の形態では、プラントモデル112はシミュレーションモデルであると説明したが、これに限られず、実際に動作する装置、システムなどの環境(プラント)でもよい。ソフトウェア検証装置100は、実際に動作する装置、システムなどのセンサー等から取得したデータをプラントデータ保存部133に保存することで、シミュレーションを介さずに特徴部分を特定し、テストケースを生成することができる。
 変形例2.
 また、前述の実施の形態では、機械学習を用いて検証対象ソフトウェア111の特徴部分を特定していたが、これに限られない。ソフトウェア検証装置100は、各状態IDが指す内部状態から新たな状態ID(内部状態の組み合わせ)と、それに対応する出力値を機械学習等によって算出してもよい。
 今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本開示の範囲は、上記した説明ではなく、請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
 1 圧縮機、2 室外熱交換器、3 室外ファン、4 膨張弁、5 室内熱交換器、6 室内ファン、10 制御装置、11 室内機、12 室外機、20 空調機、100 ソフトウェア検証装置、102 プロセッサ、104 メインメモリ、106 入力部、108 出力部、109 光学ドライブ、109a 記録媒体、110 ストレージ、111 検証対象ソフトウェア、112 プラントモデル、113 ソフトウェア制約条件、114 プラント制約条件、118 プロセッサバス、120 通信コントローラ、121 ソフトウェア実行演算部、122 制約条件入力部、123 制約条件判定部、124,124A 特徴部分特定部、125 特徴部分表示部、126 テストケース生成部、127 テストケース出力部、130 データ保存部、131 内部データ保存部、132 出力データ保存部、133 プラントデータ保存部、134 制約条件保存部、135 判定結果保存部、136 特徴部分保存部、1104 検証プログラム、1240 学習モデル。

Claims (7)

  1.  ソフトウェアの動作を検証するソフトウェア検証装置であって、
     検証対象のソフトウェアと、前記ソフトウェアに対応するプラントモデルとを受け付ける受付部と、
     前記ソフトウェアおよび前記プラントモデルを動作させたときに得られるデータに対して制約条件を設定する設定部と、
     前記ソフトウェアおよび前記プラントモデルを動作させる演算部と、
     前記演算部で前記ソフトウェアおよび前記プラントモデルを動作させて得られたデータが、前記設定部で設定した前記制約条件を満たしているか否かを判定する判定部と、
     前記判定部で判定した結果に基づいて、前記制約条件を満たさない前記ソフトウェアの特徴部分を特定する特定部と、
     前記特定部で特定した前記特徴部分と、前記演算部で前記ソフトウェアおよび前記プラントモデルを動作させたときに得られたデータとに基づいてテストケースを生成するテストケース生成部と、
     前記テストケース生成部で生成した前記テストケースを出力する出力部と、を備えるソフトウェア検証装置。
  2.  前記特定部で特定した前記特徴部分を表示する表示部をさらに備える、請求項1に記載のソフトウェア検証装置。
  3.  前記演算部で前記ソフトウェアおよび前記プラントモデルを動作させて得られたデータを、前記ソフトウェアの内部で処理された内部データ、前記ソフトウェアから出力された出力データ、および前記プラントモデルで処理されたプラントデータに分けて保存する保存部をさらに備える、請求項1または請求項2に記載のソフトウェア検証装置。
  4.  前記特定部は、機械学習により得られた学習モデルに基づき前記ソフトウェアの前記特徴部分を特定する、請求項1~請求項3のいずれか1項に記載のソフトウェア検証装置。
  5.  前記学習モデルは、前記制約条件を満たさない前記特徴部分がそれぞれラベル付けされた学習データにより学習される、請求項4に記載のソフトウェア検証装置。
  6.  ソフトウェアの動作を検証するソフトウェア検証方法であって、
     検証対象のソフトウェアと、前記ソフトウェアに対応するプラントモデルとを受け付けるステップと、
     前記ソフトウェアおよび前記プラントモデルを動作させたときに得られるデータに対して制約条件を設定するステップと、
     前記ソフトウェアおよび前記プラントモデルを動作させるステップと、
     前記ソフトウェアおよび前記プラントモデルを動作させて得られたデータが、設定した前記制約条件を満たしているか否かを判定するステップと、
     判定した結果に基づいて、前記制約条件を満たさない前記ソフトウェアの特徴部分を特定するステップと、
     特定した前記特徴部分と、前記ソフトウェアおよび前記プラントモデルを動作させたときに得られたデータとに基づいてテストケースを生成するステップと、
     生成した前記テストケースを出力するステップと、を含むソフトウェア検証方法。
  7.  ソフトウェアの動作の検証をコンピュータに実行させるための検証プログラムであって、
     前記コンピュータに実行させる処理に、
     検証対象のソフトウェアと、前記ソフトウェアに対応するプラントモデルとを受け付けるステップと、
     前記ソフトウェアおよび前記プラントモデルを動作させたときに得られるデータに対して制約条件を設定するステップと、
     前記ソフトウェアおよび前記プラントモデルを動作させるステップと、
     前記ソフトウェアおよび前記プラントモデルを動作させて得られたデータが、設定した前記制約条件を満たしているか否かを判定するステップと、
     判定した結果に基づいて、前記制約条件を満たさない前記ソフトウェアの特徴部分を特定するステップと、
     特定した前記特徴部分と、前記ソフトウェアおよび前記プラントモデルを動作させたときに得られたデータとに基づいてテストケースを生成するステップと、
     生成した前記テストケースを出力するステップと、を含む検証プログラム。
PCT/JP2021/017857 2021-05-11 2021-05-11 ソフトウェア検証装置、ソフトウェア検証方法、および検証プログラム WO2022239101A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/017857 WO2022239101A1 (ja) 2021-05-11 2021-05-11 ソフトウェア検証装置、ソフトウェア検証方法、および検証プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/017857 WO2022239101A1 (ja) 2021-05-11 2021-05-11 ソフトウェア検証装置、ソフトウェア検証方法、および検証プログラム

Publications (1)

Publication Number Publication Date
WO2022239101A1 true WO2022239101A1 (ja) 2022-11-17

Family

ID=84028497

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/017857 WO2022239101A1 (ja) 2021-05-11 2021-05-11 ソフトウェア検証装置、ソフトウェア検証方法、および検証プログラム

Country Status (1)

Country Link
WO (1) WO2022239101A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009157456A (ja) * 2007-12-25 2009-07-16 Toshiba Corp プログラム検証装置、プログラム検証方法、検証プログラム
JP2016207166A (ja) * 2015-04-28 2016-12-08 ルネサスエレクトロニクス株式会社 性能検証装置、システム、方法、およびコンピュータに当該方法を実行させるためのプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009157456A (ja) * 2007-12-25 2009-07-16 Toshiba Corp プログラム検証装置、プログラム検証方法、検証プログラム
JP2016207166A (ja) * 2015-04-28 2016-12-08 ルネサスエレクトロニクス株式会社 性能検証装置、システム、方法、およびコンピュータに当該方法を実行させるためのプログラム

Similar Documents

Publication Publication Date Title
JP6548285B2 (ja) 空気調和機の制御方法及び空気調和機
US20140324386A1 (en) Building management system false-positive fault indications reduction mechanism
US10331510B2 (en) Simulation based fault diagnosis using extended heat flow models
US20200018510A1 (en) Air-conditioning apparatus
KR20210047554A (ko) 건물 에너지 시뮬레이션을 위한 디지털 트윈 시스템 및 건물 에너지 시뮬레이션 방법
JP2018194178A (ja) モデル生成プログラム、モデル生成装置、及びモデル生成方法
JP2009294846A (ja) テストケース生成装置、テストケース生成プログラム、およびテストケース生成方法
WO2022239101A1 (ja) ソフトウェア検証装置、ソフトウェア検証方法、および検証プログラム
CN110736241A (zh) 控制空调设备的方法及装置
US10900683B2 (en) Heating, ventilation, and air conditioning system controller
JP6895334B2 (ja) 運用ルール抽出装置、運用ルール抽出システムおよび運用ルール抽出方法
Pascual et al. Heat ventilation and air conditioning modelling for model based fault detection and diagnosis
JP4597716B2 (ja) 空調機シミュレーター、空調機シミュレーションシステムおよび空調機シミュレーションプログラム
JP2010255962A (ja) 空調制御装置および空調制御方法
US11573022B2 (en) Sound-based HVAC system, method and device for diagnostics analysis
JP4675635B2 (ja) 家電機器アダプタのコマンド変換プログラム開発方法及び開発装置
JP7008052B2 (ja) 空調システムの不具合検知方法及び装置
JP6366811B2 (ja) 検査装置、検査方法、及び、プログラム
US11086664B2 (en) Validating a task being performed on an HVAC system
JP7237173B2 (ja) 機器管理装置及びソフトウェア生成方法
WO2021176624A1 (ja) 空調システム、管理装置、空調機、センサデータ取得方法及びプログラム
JP2021047012A5 (ja)
JP7112055B2 (ja) 情報処理装置、プログラム生成方法およびプログラム
WO2019212837A1 (en) Server testing applying controlled flow and temperature
CN110715425A (zh) 空调器及其控制方法、装置和设备

Legal Events

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

Ref document number: 21941835

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21941835

Country of ref document: EP

Kind code of ref document: A1