WO2022137458A1 - データ処理装置、データ処理方法及びデータ処理プログラム - Google Patents
データ処理装置、データ処理方法及びデータ処理プログラム Download PDFInfo
- Publication number
- WO2022137458A1 WO2022137458A1 PCT/JP2020/048558 JP2020048558W WO2022137458A1 WO 2022137458 A1 WO2022137458 A1 WO 2022137458A1 JP 2020048558 W JP2020048558 W JP 2020048558W WO 2022137458 A1 WO2022137458 A1 WO 2022137458A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data processing
- execution
- processing device
- api
- unit
- Prior art date
- Legal status (The legal status 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 status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/541—Interprogram communication via adapters, e.g. between incompatible applications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/34—Director, elements to supervisory
- G05B2219/34256—Api application programming interface
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/34—Director, elements to supervisory
- G05B2219/34282—Using special api's allowing user access to control machine, motion, servo
Definitions
- the present disclosure relates to a technique for executing data processing executed by an external data processing device by a data processing device having an execution environment different from that of the external data processing device.
- Control software that supports machining with machine tools which is used in equipment such as CNC (Computerized Natural) equipment, has a simulation function.
- the CNC device is a device that numerically controls the position and / or the amount of movement of the tool of the machine tool by a computer.
- the control software that supports machining by a machine tool is, for example, CAD / CAM (Computer-Aided Design / Computer-Aided Manufacturing).
- the simulation function it is possible to check the machining results before actually machining using a machine tool. Therefore, the simulation function makes it possible to confirm in advance whether machining is possible as intended and whether the tool and / or the workpiece is not damaged even if the machine tool is operated. Therefore, the simulation function is required to reproduce the operation of the machine tool as faithfully as possible.
- a method of faithfully reproducing the operation of the machine tool there is a method of using the control software actually installed in the CNC device. Specifically, faithful simulation can be realized by operating the control software on a general-purpose PC (Personal Computer) using the existing virtualization technology.
- Patent Document 1 the control software is ported to a general-purpose PC in the state of an executable file (binary data).
- the execution environment of the control software differs greatly between CNC devices and general-purpose PCs.
- the execution environment is a hardware environment and a software environment for executing data processing such as a processor, other hardware, and an OS (Operating System).
- OS Operating System
- Patent Document 1 requires conversion of hardware processing and OS processing using virtualization technology. This virtualization technology faithfully reproduces the hardware processing and OS processing of the CNC device on a general-purpose PC.
- Patent Document 1 hardware processing and OS processing in a CNC device are reproduced on a general-purpose PC by virtualization technology.
- Patent Document 1 has a problem that the execution speed of the simulation function is lowered due to the overhead generated by the virtualization technique.
- the main purpose of this disclosure is to solve such problems. Specifically, the main purpose of this disclosure is to reduce the overhead generated due to the difference in the execution environment.
- the data processing device is A data processing device that executes execution data processing, which is data processing executed by the external data processing device, whose data processing execution environment is different from that of the external data processing device, which is an external data processing device.
- execution data processing is executed when the execution data processing is executed by the external data processing device due to the difference in the execution environment between the external data processing device and the data processing device.
- the extraction unit that extracts the internal data processing that can be omitted as the optional internal data processing, and the extraction unit. It has an execution unit that executes the execution data processing by omitting the execution of the optional internal data processing extracted by the extraction unit.
- FIG. The figure which shows the hardware configuration example of the data processing apparatus which concerns on Embodiment 1.
- FIG. The figure which shows the functional structure example of the data processing apparatus which concerns on Embodiment 1.
- FIG. The figure which shows the internal structure example of the difference absorption part which concerns on Embodiment 1.
- FIG. The flowchart which shows the outline of the operation of the simulation execution part which concerns on Embodiment 1.
- the flowchart which shows the operation example of the API classification part which concerns on Embodiment 1.
- FIG. The figure which shows the example of the classification list which concerns on Embodiment 1.
- the flowchart which shows the operation example of the OS alternative processing part which concerns on Embodiment 1.
- FIG. 1 shows a hardware configuration example of the data processing device 10 according to the present embodiment.
- the data processing device 10 has a different data processing execution environment from an external data processing device (not shown), which is an external data processing device.
- the data processing device 10 executes execution data processing, which is data processing executed by an external data processing device.
- the execution environment is a hardware environment and a software environment for executing data processing such as a processor, other hardware, and an OS (Operating System).
- the operation procedure of the data processing device 10 corresponds to the data processing method.
- the program that realizes the operation of the data processing device 10 corresponds to the data processing program.
- the data processing device 10 is, for example, a general-purpose PC.
- the data processing device 10 which is a general-purpose PC executes the control software executed by the CNC device in order to simulate the control of the operation of the machine tool by the CNC device.
- the CNC device corresponds to an external data processing device.
- the control software for controlling the machine tool corresponds to the execution data processing.
- the data processing device 10 includes a processor 11, a memory 12, a display device 13, an input device 14, and a storage 15 as hardware. Of these hardware, at least the processor 11, the memory 12, and the storage 15 are different in performance, specifications, and the like from the processor, memory, and storage of the CNC device. Further, the data processing device 10 is not equipped with hardware such as an interface with an amplifier, which is mounted on a CNC device. Further, although the data processing device 10 includes an OS 30, the OS 30 also has different performance, specifications, and the like from the OS of the CNC device. For example, the OS of the CNC device is a real-time OS, but the OS 30 of the data processing device 10 is not a real-time OS.
- the data processing device 10 includes a simulation execution unit 20 as a functional configuration as described later.
- the storage 15 stores a program, OS30, and control software 40 that realize the functions of the simulation execution unit 20.
- the control software 40 is control software executed by the CNC device.
- the control software 40 is stored in the storage 15 in the state of an executable file (binary data).
- the control software 40 includes a plurality of APIs (Application Programming Interfaces), and each API includes one or more internal data processing. That is, the control software 40 includes a plurality of internal data processing.
- the program, OS30, and control software 40 that realize the functions of the simulation execution unit 20 are loaded from the storage 15 into the memory 12. Then, the processor 11 executes these. Further, the storage 15 stores a classification list used by the simulation execution unit 20 for classifying APIs. An area for storing the analysis data generated by the simulation execution unit 20 executing the control software 40 is secured in the memory 12. The display device 13 displays the drawing data in which the analysis data is drawn as the execution result of the control software 40.
- the input device 14 receives an instruction from the user of the data processing device 10. The input device 14 receives, for example, an instruction to start a simulation from a user of the data processing device 10.
- FIG. 2 shows an example of a functional configuration of the data processing device 10 according to the present embodiment.
- the simulation drawing unit 21 draws the behavior of the machine tool simulated by the execution of the control software 40, and outputs the drawing data to the display device 13.
- the control unit 22 acquires the control software 40 from the storage 15, and the difference absorption unit 23 controls to execute the control software 40.
- the difference absorbing unit 23 executes at least one of a plurality of internal data processes of the control software 40 to simulate the operation of the machine tool.
- the difference absorbing unit 23 absorbs the difference between the execution environment of the CNC device and the execution environment of the data processing device 10 when executing the control software 40.
- OS 30 is an OS that operates on the data processing device 10.
- FIG. 3 shows an example of the internal configuration of the difference absorbing unit 23.
- the API classification unit 231 analyzes the names of APIs for OS and hardware processing. Based on the name of the API, the API category is identified and the API is classified into one of a plurality of categories.
- the API classification unit 231 classifies a plurality of APIs into one of a first category, a second category, and a third category.
- APIs classified into the first category are referred to as first APIs.
- APIs classified into the second category are referred to as second APIs.
- APIs classified into the third category are referred to as third APIs.
- the API classification unit 231 determines the API as the first API. Execution of the internal data processing included in the first API cannot be omitted.
- the second API and the third API are APIs that include optional internal data processing.
- Optional Internal data processing needs to be executed when the control software 40 is executed on the CNC device due to the difference in the execution environment between the CNC device and the data processing device 10.
- the control software 40 is used on the data processing device 10. It is an internal data processing that can be omitted when it is executed.
- the optional internal data processing included in the second API is internal data processing peculiar to the CNC device, but when executed by the data processing device 10, it is determined that the data processing always ends with an error or always ends normally.
- the optional internal data processing included in the third API is internal processing data processing executed by both the CNC device and the data processing device 10, but is executed when the data processing device 10 executes the control software 40. Is an internal data processing that can be omitted.
- the API classification unit 231 corresponds to the extraction unit. Further, the process performed by the API classification unit 231 corresponds to the extraction process.
- the OS alternative processing unit 232 executes the first API.
- the system eigenvalue processing unit 233 executes the second API. When executing the second API, the system eigenvalue processing unit 233 omits the execution of the optional internal data processing included in the second API.
- the simple API processing unit 234 processes the third API.
- the simple API processing unit 234 executes the third API, the execution of the optional internal data processing included in the third API is omitted.
- Omissible internal data processing is data processing that does not affect the simulation accuracy even if execution is omitted. Therefore, the system eigenvalue processing unit 233 omits the execution of the optional internal data processing when the second API is executed. Further, the simple API processing unit 234 omits the execution of the internal data processing that can be omitted when the third API is executed.
- the optional internal data processing is, for example, a process of giving an instruction to an amplifier to physically move a machine tool and controlling a motor. The CNC device interprets the control software 40 and issues a command to the amplifier to operate the motor to operate the machine tool.
- the simulation drawing unit 21 can generate a drawing expressing that a command is issued to the amplifier and that the machine tool is moving by the motor.
- the simulation drawing unit 21 since the physical operation that occurs when the CNC device controls the machine tool is not required, it is possible to omit the internal data processing such as outputting an instruction to the amplifier.
- the system eigenvalue processing unit 233 and the simple API processing unit 234 are collectively referred to as the execution unit 235.
- the process performed by the execution unit 235 corresponds to the execution process.
- FIG. 4 is a flowchart showing an outline of the operation of the simulation execution unit 20 according to the present embodiment.
- the simulation drawing unit 21 starts the operation.
- step S10 determines in step S10 whether or not the execution of the control software 40 is completed. If the simulation drawing unit 21 has finished processing all the analysis data of the control software 40 on the memory 12, it determines that the execution of the control software 40 is completed. If the execution of the control software 40 is completed (YES in step S10), the simulation drawing unit 21 ends the process. On the other hand, if the execution of the control software 40 is not completed (NO in step S10), the process proceeds to step S11.
- step S11 the simulation drawing unit 21 determines whether the analysis data of the control software 40 exists on the memory 12. If the analysis data exists on the memory 12 (YES in step S11), the process proceeds to S17. On the other hand, if the analysis data does not exist on the memory 12 (NO in step S11), the process proceeds to step S12.
- step S12 the simulation drawing unit 21 activates the control unit 22.
- step S13 the control unit 22 analyzes the control software 40. Then, as a result of the analysis of the control software 40, the control unit 22 activates the difference absorption unit 23 in step S14.
- step S15 the difference absorbing unit 23 executes the control software 40. Then, in step S16, the difference absorbing unit 23 stores the analysis data indicating the execution result of step S14 in the memory 12.
- step S17 the simulation drawing unit 21 generates drawing data corresponding to the analysis data stored in the memory 12, and outputs the drawing data to the display device 13.
- FIG. 5 is a flowchart showing an operation example of the API classification unit 231 of the difference absorption unit 23. Further, FIG. 6 shows an example of the API included in the control software 40 and an operation example of the API classification unit 231 for each API.
- the API is defined by the following rules.
- the API whose name is composed entirely of lowercase letters is the first API.
- the API in which the name includes elements other than lowercase letters is the second API or the third API.
- the name includes a plurality of words, the first word is composed of all lowercase letters, and the first letter of the following word is uppercase letters.
- the third API the first word is described in the classification list.
- the above "lowercase letters” means only lowercase letters or only lowercase letters and numbers.
- FIG. 7 shows an example of a classification list.
- the classification list the first word of the name of the third API is listed.
- the API classification unit 231 analyzes the name of the API to be called, which is included in the control software 40.
- the API classification unit 231 analyzes the names of the three APIs shown in FIG. 6, datacopy41, semiforeControl42, and ncUnitId43.
- the datacopy 41 is an API that copies data in a specific area of the memory 12 to another area of the memory 12.
- the semaphoreControl 42 is an API that controls the simultaneous execution of a plurality of tasks by a semaphore, grants execution permission only to the task having a high execution priority, and makes the other tasks wait for execution.
- the ncUnitId43 is an API that reads an identification number uniquely assigned to a CNC device and returns the read identification number.
- step S20 when the API to be analyzed is the first API (YES in step S21), that is, when the names of the APIs to be analyzed are all composed of lowercase letters, the processing is performed. The process proceeds to step S22.
- step S21 when the API to be analyzed does not appear in the first API (NO in step S21), that is, when the name of the API contains an element other than lowercase alphanumerical characters, the process proceeds to step S23.
- step S22 When the API classification unit 231 analyzes the datacopy 41 of FIG. 6, the process proceeds to step S22. On the other hand, when the API classification unit 231 analyzes the semiphoreControl 42 and the ncUnitId43 of FIG. 6, the process proceeds to S23.
- step S22 the API classification unit 231 instructs the OS alternative processing unit 232 to execute the first API managed by the OS 30.
- the API classification unit 231 instructs the OS alternative processing unit 232 to execute the datacopy47, which is the same API as the datacopy41, which is managed by the OS30.
- the API classification unit 231 determines whether or not the API to be analyzed corresponds to the second API. Specifically, the API classification unit 231 refers to the classification list stored in the storage 15 and determines whether or not the API to be analyzed corresponds to the second API. As mentioned above, the classification list lists the first word of the name of the third API. Therefore, if the first word of the name of the API to be analyzed is not included in the classification list, the API to be analyzed corresponds to the second API.
- step S23 When the API to be analyzed is the second API (YES in step S23), the process proceeds to step S24. On the other hand, if the API to be analyzed is not the second API (NO in step S23), that is, if the API to be analyzed is the third API, the process proceeds to step S25.
- the API classification unit 231 determines that the ncUnitId43 whose first word is "nc" is the third API according to the classification list.
- “semaphore” is not listed in the classification list. Therefore, the API classification unit 231 determines that the semiforeControl 42 is the second API. Therefore, when the API classification unit 231 analyzes the semiphoreControl 42, the process proceeds to step S24. On the other hand, when the API classification unit 231 analyzes the ncUnitId43, the process proceeds to step S25.
- step S24 the API classification unit 231 instructs the system eigenvalue processing unit 233 to execute the second API managed by the implemented library.
- the execution of the semiphoreControl 45 which is the API corresponding to the semiphoreControl 42 managed by the mounted library 230 of the difference absorbing unit 23 is instructed.
- the OS 30 has a semaphoreControl 48 which is an API corresponding to the semaphoreControl 42, but the API classification unit 231 instructs the system eigenvalue processing unit 233 to execute the semaphoreControl 45.
- step S25 the API classification unit 231 instructs the simple API processing unit 234 to execute the third API managed by the implemented library.
- the execution of ncUnitId46, which is an API corresponding to ncUnitId43, managed by the mounted library 230 of the difference absorbing unit 23 is instructed.
- the API classification unit 231 performs the above processing for all APIs included in the control software 40.
- FIG. 8 is a flowchart showing an operation example of the OS alternative processing unit 232 when the API classification unit 231 instructs the execution of the first API in step S22 of FIG.
- step S31 the OS alternative processing unit 232 calls the first API managed by the OS 30.
- the OS alternative processing unit 232 calls datacopy47.
- step S32 the OS alternative processing unit 232 executes all internal data processing included in the called first API.
- step S33 the OS alternative processing unit 232 generates analysis data indicating the execution result of step S32, and stores the generated analysis data in the memory 12.
- FIG. 9 is a flowchart showing an operation example of the system eigenvalue processing unit 233 when the API classification unit 231 instructs the execution of the second API in step S24 of FIG.
- step S41 the system eigenvalue processing unit 233 calls the second API managed by the implemented library 230.
- the system eigenvalue processing unit 233 calls the semiforeControl45.
- step S42 the system eigenvalue processing unit 233 determines the optional internal data processing among the plurality of internal data processing included in the called second API.
- step S43 the system eigenvalue processing unit 233 executes the internal data processing included in the second API excluding the optional internal data processing determined in step S42.
- step S44 the system eigenvalue processing unit 233 generates analysis data indicating the execution result of step S43, and stores the generated analysis data in the memory 12.
- FIG. 10 is a flowchart showing an operation example of the simple API processing unit 234 when the API classification unit 231 instructs the execution of the third API in step S25 of FIG.
- step S51 the simple API processing unit 234 calls a third API managed by the mounted library 230.
- the simple API processing unit 234 calls ncUnitId46.
- step S52 the simple API processing unit 234 determines the optional internal data processing among the plurality of internal data processing included in the called third API.
- step S53 the simple API processing unit 234 executes the internal data processing included in the third API excluding the optional internal data processing determined in step S52.
- step S54 the simple API processing unit 234 generates analysis data indicating the execution result of step S53, and stores the generated analysis data in the memory 12.
- FIG. 11 is a diagram specifically explaining an operation example of the system eigenvalue processing unit 233 shown in FIG. 9 and an operation example of the simple API processing unit 234 shown in FIG.
- the system eigenvalue processing unit 233 determines internal data processing that can be omitted when executing the semiphoreControl 45.
- the control software 40 operates on the real-time OS.
- the semiforeControl 42 in the control software 40 includes three internal data processes of task status confirmation, task activation permission, and task activation.
- the semiforeControl 45 corresponding to the semiforeControl 42 also includes three internal data processes of task status confirmation 451 and task activation permission 452 and task activation 453.
- the system eigenvalue processing unit 233 determines that the task status confirmation 451 and the task activation permission 452, which are internal data processing for guaranteeing real-time performance, can be omitted. As a result, the system eigenvalue processing unit 233 executes only the task activation 453.
- the simple API processing unit 234 determines internal data processing that can be omitted when executing ncUnitId46.
- the operation of the ncUnitId43 is to confirm the hardware status, acquire the hardware value indicating the hardware status, and respond to the acquired hardware value.
- the ncUnitId43 in the control software 40 includes three internal data processes of hardware status confirmation, hardware value acquisition, and hardware value response.
- the ncUnitId46 corresponding to the ncUnitId43 also includes three internal data processes of hardware status confirmation 461, hardware value acquisition 462, and hardware value response 463.
- the simple API processing unit 234 determines that the hardware status confirmation 461 and the hardware value acquisition 462 can be omitted. As a result, the simple API processing unit 234 executes only the hardware value response 463.
- the difference absorbing unit 23 substitutes for the processing of the hardware and the OS mounted on the CNC device. Therefore, according to the present embodiment, it is possible to port the control software 40 to a general-purpose PC without modifying the source code that is the source of the control software 40 of the CNC device. Further, the difference absorption unit 23 has a library that appropriately simplifies the processing of the hardware and the OS mounted on the CNC device, and maintains the same processing fidelity as the conventional method of emulating the CNC device. It can operate faster than the method.
- the processor 11 shown in FIG. 1 is an IC (Integrated Circuit) that performs processing.
- the processor 11 is a CPU (Central Processing Unit), a DSP (Digital Signal Processor), or the like.
- the memory 12 shown in FIG. 1 is a RAM (Random Access Memory).
- the storage 15 shown in FIG. 1 is a ROM (Read Only Memory), a flash memory, an HDD (Hard Disk Drive), or the like.
- the display device 13 shown in FIG. 1 is a display such as an LCD (Liquid Crystal Display).
- the input device 14 shown in FIG. 1 is a keyboard, a mouse, or the like.
- At least one of the information, data, signal value, and variable value indicating the processing result of the simulation drawing unit 21, the control unit 22, and the difference absorbing unit 23 is at least one of the memory 12, the storage 15, the register in the processor 11, and the cache memory. It is memorized in either. Further, the program that realizes the functions of the simulation drawing unit 21, the control unit 22, and the difference absorbing unit 23 is stored in a portable recording medium such as a magnetic disk, a flexible disk, an optical disk, a compact disk, a Blu-ray (registered trademark) disk, or a DVD. It may have been done. Then, a portable recording medium in which a program that realizes the functions of the simulation drawing unit 21, the control unit 22, and the difference absorption unit 23 may be stored may be distributed.
- a portable recording medium such as a magnetic disk, a flexible disk, an optical disk, a compact disk, a Blu-ray (registered trademark) disk, or a DVD. It may have been done. Then, a portable recording medium in which a program that
- the "unit" of the simulation drawing unit 21, the control unit 22, and the difference absorption unit 23 may be read as “circuit” or “process” or “procedure” or “processing” or “circuit Lee".
- the data processing device 10 may be realized by a processing circuit.
- the processing circuit is, for example, a logic IC (Integrated Circuit), a GA (Gate Array), an ASIC (Application Specific Integrated Circuit), or an FPGA (Field-Programmable Gate Array).
- the simulation drawing unit 21, the control unit 22, and the difference absorption unit 23 are each realized as a part of the processing circuit.
- the superordinate concept of the processor and the processing circuit is referred to as "processing circuit Lee". That is, the processor and the processing circuit are specific examples of the "processing circuit Lee", respectively.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
Description
このため、シミュレーション機能では、工作機械の動作を可能な限り忠実に再現することが求められる。工作機械の動作を忠実に再現する方法として、CNC機器に実際に搭載されている制御ソフトウェアを使用する方法がある。具体的には、既存の仮想化技術を用いて、制御ソフトウェアを汎用PC(Personal Computer)上で動作させることで、忠実なシミュレーションを実現することができる。
このような実行環境の違いを吸収するために、特許文献1では、仮想化技術を用いてハードウェア処理及びOS処理の変換が必要である。この仮想化技術は、汎用PC上でCNC機器でのハードウェア処理及びOS処理を忠実に再現する。
外部のデータ処理機器である外部データ処理機器とデータ処理の実行環境が異なる、前記外部データ処理機器で実行されるデータ処理である実行データ処理を実行するデータ処理装置であって、
前記実行データ処理に含まれる内部データ処理のうち、前記外部データ処理機器と前記データ処理装置との間の前記実行環境の違いにより前記外部データ処理機器で前記実行データ処理を実行する際には実行が必要であるが前記データ処理装置で前記実行データ処理を実行する際には実行の省略が可能な内部データ処理を、省略可能内部データ処理として抽出する抽出部と、
前記抽出部により抽出された前記省略可能内部データ処理の実行を省略して前記実行データ処理を実行する実行部とを有する。
***構成の説明***
[ハードウェア構成例]
図1は、本実施の形態に係るデータ処理装置10のハードウェア構成例を示す。
データ処理装置10の動作手順は、データ処理方法に相当する。また、データ処理装置10の動作を実現するプログラムは、データ処理プログラムに相当する。
データ処理装置10は、例えば汎用PCである。本実施の形態では、汎用PCであるデータ処理装置10が、CNC機器での工作機械の動作の制御をシミュレートするために、CNC機器で実行される制御ソフトウェアを実行する例を説明する。本実施の形態で説明する例では、CNC機器が外部データ処理機器に相当する。また、工作機械の制御のための制御ソフトウェアが実行データ処理に相当する。
これらハードウェアのうち少なくともプロセッサ11、メモリ12及びストレージ15は、CNC機器のプロセッサ、メモリ及びストレージとは性能、仕様等が異なる。また、データ処理装置10には、CNC機器に搭載されている、アンプとのインタフェース等のハードウェアも搭載されていない。
また、データ処理装置10はOS30を備えるが、OS30もCNC機器のOSとは性能、仕様等が異なる。例えば、CNC機器のOSはリアルタイムOSであるが、データ処理装置10のOS30はリアルタイムOSではない。
このようなハードウェア及びOSの違いにより、データ処理装置10とCNC機器との間で実行環境の違いが生じる。
また、データ処理装置10は、機能構成として、後述するようにシミュレーション実行部20を備える。
ストレージ15には、シミュレーション実行部20の機能を実現するプログラム、OS30及び制御ソフトウェア40が記憶されている。制御ソフトウェア40は、CNC機器で実行される制御ソフトウェアである。制御ソフトウェア40は、実行ファイル(バイナリデータ)の状態でストレージ15に記憶されている。また、制御ソフトウェア40には、複数のAPI(Application Programming Interface)が含まれ、各APIには1つ以上の内部データ処理が含まれる。つまり、制御ソフトウェア40には、複数の内部データ処理が含まれる。
シミュレーション実行部20の機能を実現するプログラム、OS30及び制御ソフトウェア40は、ストレージ15からメモリ12にロードされる。そして、プロセッサ11がこれらを実行する。
また、ストレージ15には、シミュレーション実行部20がAPIの分類に使用する分類リストが記憶されている。
メモリ12には、シミュレーション実行部20が制御ソフトウェア40を実行して生成された解析データを格納するための領域が確保されている。
表示装置13は、制御ソフトウェア40の実行結果として解析データが描画された描画データを表示する。
入力装置14は、データ処理装置10のユーザから指示を受け付ける。入力装置14は、例えば、データ処理装置10のユーザからシミュレーション開始の指示を受け付ける。
図2は、本実施の形態に係るデータ処理装置10の機能構成例を示す。
図3は、差分吸収部23の内部構成例を示す。
API分類部231は、CNC機器のOSが実行するAPIと同じAPIがOS30で管理されている場合に、当該APIを第1のAPIと判別する。第1のAPIに含まれる内部データ処理は実行を省略することができない。
第2のAPIと第3のAPIは、省略可能内部データ処理が含まれているAPIである。省略可能内部データ処理は、CNC機器とデータ処理装置10との間の実行環境の違いによりCNC機器で制御ソフトウェア40を実行する際には実行が必要であるがデータ処理装置10で制御ソフトウェア40を実行する際には実行の省略が可能な内部データ処理である。
第2のAPIに含まれる省略可能内部データ処理は、CNC機器に固有の内部データ処理であるが、データ処理装置10で実行した場合には常にエラー終了又は常に正常終了することが確定している内部データ処理である。
また、第3のAPIに含まれる省略可能内部データ処理は、CNC機器でもデータ処理装置10でも実行される内部処データ処理であるが、データ処理装置10が制御ソフトウェア40を実行する際には実行の省略が可能な内部データ処理である。
API分類部231は抽出部に相当する。また、API分類部231で行われる処理は抽出処理に相当する。
システム固有値処理部233は、第2のAPIを実行する際に、第2のAPIに含まれる省略可能内部データ処理の実行を省略する。
簡易API処理部234は、第3のAPIを実行する際に、第3のAPIに含まれる省略可能内部データ処理の実行を省略する。
省略可能内部データ処理は、例えば、工作機械を物理的に動かすためにアンプへ指示を出して、モータを制御する処理である。CNC機器は、制御ソフトウェア40を解釈してアンプに指令を出し、モータを作動させて工作機械を動かす。データ処理装置10におけるシミュレーションでは、アンプに指令が出たこと、モータにより工作機械が動いていることを表現する描画をシミュレーション描画部21が生成できればよい。このように、シミュレーションでは、CNC機器で工作機械を制御する際に発生する物理的な動作は必要無いため、アンプへ指示を出力する等の内部データ処理を省略することが可能である。
[動作の概要]
図4は、本実施の形態に係るシミュレーション実行部20の動作の概要を示すフローチャートである。
ユーザが入力装置14にシミュレーションの開始を指示すると、シミュレーション描画部21が動作を開始する。
シミュレーション描画部21は、メモリ12上の制御ソフトウェア40の解析データを全て処理し終えていれば、制御ソフトウェア40の実行が完了していると判定する。
制御ソフトウェア40の実行が完了していれば(ステップS10でYES)は、シミュレーション描画部21は処理を終了する。
一方、制御ソフトウェア40の実行が完了していなければ(ステップS10でNO)は、処理がステップS11に進む。
メモリ12上に解析データが存在すれば(ステップS11でYES)、処理がS17に進む。一方、メモリ12上に解析データが存在しなければ(ステップS11でNO)、処理がステップS12に進む。
そして、制御部22は、制御ソフトウェア40の解析の結果、ステップS14で、差分吸収部23を起動する。
そして、差分吸収部23は、ステップS16において、ステップS14の実行結果を示す解析データをメモリ12に格納する。
図5は、差分吸収部23のAPI分類部231の動作例を示すフローチャートである。
また、図6は、制御ソフトウェア40に含まれるAPIの例と、API分類部231の各APIに対する動作例を示す。
(1)名称が全て英数小文字で構成されるAPIは第1のAPIである。
(2)名称に英数小文字以外の要素が含まれるAPIは第2のAPI又は第3のAPIである。第2のAPI又は第3のAPIは、名称が複数の単語を含み、先頭の単語は全て英数小文字で構成され、後続の単語の先頭の文字は英大文字である。
(3)第3のAPIは分類リストに先頭の単語が記載されている。
なお、上記の「英数小文字」とは、英小文字のみ又は英小文字と数字のみを意味する。
分類リストには、第3のAPIの名称の先頭の単語が列記されている。
ここでは、API分類部231は、図6に示すdatacopy41、semaphoreControl42及びncUnitId43の3つのAPIの名称を解析するものとする。
なお、datacopy41は、メモリ12の特定の領域のデータを当該メモリ12の別の領域にコピーするAPIである。
semaphoreControl42は、セマフォによって複数タスクの同時実行を制御し、実行優先度が高いタスクのみに実行許可を与え、それ以外のタスクは実行を待機させるAPIである。
ncUnitId43は、CNC機器に固有に割り振られた識別番号を読み取り、読み取った識別番号を返すAPIである。
具体的には、API分類部231は、ストレージ15に保存された分類リストを参照して、解析対象のAPIが第2のAPIに該当するか否かを判定する。前述したように、分類リストには、第3のAPIの名称の先頭の単語が列記されている。このため、解析対象のAPIの名称の先頭の単語が分類リストに含まれていなければ、解析対象のAPIは第2のAPIに該当する。
一方、解析対象のAPIが第2のAPIでない場合(ステップS23でNO)、すなわち、解析対象のAPIが第3のAPIである場合は、処理がステップS25に進む。
このため、API分類部231がsemaphoreControl42を解析した場合は、処理がステップS24に進む。一方、API分類部231がncUnitId43を解析した場合は、処理がステップS25に進む。
OS30にはsemaphoreControl42に対応するAPIであるsemaphoreControl48が存在するが、API分類部231は、システム固有値処理部233にsemaphoreControl45の実行を指示する。
図8は、図5のステップS22でAPI分類部231から第1のAPIの実行を指示された場合のOS代替処理部232の動作例を示すフローチャートである。
図6の例では、OS代替処理部232は、datacopy47を呼び出す。
図6の例では、システム固有値処理部233は、semaphoreControl45を呼び出す。
図6の例では、簡易API処理部234は、ncUnitId46を呼び出す。
CNC機器では制御ソフトウェア40はリアルタイムOS上で動作している。制御ソフトウェア40の処理のリアルタイム性を保証するために、制御ソフトウェア40内のsemaphoreControl42には、タスク状態確認、タスク起動許可及びタスク起動という3つの内部データ処理が含まれる。semaphoreControl42に対応するsemaphoreControl45でも、図11に示すように、タスク状態確認451、タスク起動許可452及びタスク起動453という3つの内部データ処理が含まれる。
しかし、データ処理装置10でのシミュレーションではリアルタイム性の保証は必要ない。このため、システム固有値処理部233はリアルタイム性を保証するための内部データ処理であるタスク状態確認451及びタスク起動許可452を省略可能と判定する。
この結果、システム固有値処理部233は、タスク起動453のみを実行する。
CNC機器で制御ソフトウェア40が実行されるとncUnitId43の動作として、ハードウェアの状態の確認と、ハードウェアの状態を示すハードウェア値の取得と、取得されたハードウェア値の応答が行われる。このように、制御ソフトウェア40内のncUnitId43には、ハードウェア状態確認、ハードウェア値取得及びハードウェア値応答という3つの内部データ処理が含まれる。ncUnitId43に対応するncUnitId46でも、図11に示すように、ハードウェア状態確認461、ハードウェア値取得462及びハードウェア値応答463という3つの内部データ処理が含まれる。
しかし、データ処理装置10でのシミュレーションでは、ハードウェア状態確認461及びハードウェア値取得462の対象となるハードウェアは存在しない。また、仮に、そのようなハードウェアが存在しても、シミュレーションでは、実際に当該ハードウェアに状態を確認する必要はなく、また、当該ハードウェアからハードウェア値を取得する必要はない。このため、簡易API処理部234はハードウェア状態確認461、ハードウェア値取得462を省略可能と判定する。
この結果、簡易API処理部234は、ハードウェア値応答463のみを実行する。
以上のように、本実施の形態によれば、実行環境の違いから発生するオーバヘッドを削減することができる。そして、オーバヘッドの削減により、シミュレーションの実行速度を改善することができる。
また、差分吸収部23は、CNC機器に搭載されたハードウェアとOSの処理を適切に簡略化したライブラリを持ち、従来方式によるCNC機器のエミュレーション方式と同等の処理の忠実さを保ちつつ、従来方式よりも高速に動作することができる。
最後に、データ処理装置10のハードウェア構成の補足説明を行う。
図1に示すプロセッサ11は、プロセッシングを行うIC(Integrated Circuit)である。
プロセッサ11は、CPU(Central Processing Unit)、DSP(Digital Signal Processor)等である。
図1に示すメモリ12は、RAM(Random Access Memory)である。
図1に示すストレージ15は、ROM(Read Only Memory)、フラッシュメモリ、HDD(Hard Disk Drive)等である。
図1に示す表示装置13は、LCD(Liquid Crystal Display)等のディスプレイである。
図1に示す入力装置14は、キーボード、マウス等である。
また、シミュレーション描画部21、制御部22及び差分吸収部23の機能を実現するプログラムは、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVD等の可搬記録媒体に格納されていてもよい。そして、シミュレーション描画部21、制御部22及び差分吸収部23の機能を実現するプログラムが格納された可搬記録媒体を流通させてもよい。
また、データ処理装置10は、処理回路により実現されてもよい。処理回路は、例えば、ロジックIC(Integrated Circuit)、GA(Gate Array)、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)である。
この場合は、シミュレーション描画部21、制御部22及び差分吸収部23は、それぞれ処理回路の一部として実現される。
なお、本明細書では、プロセッサと処理回路との上位概念を、「プロセッシングサーキットリー」という。
つまり、プロセッサと処理回路とは、それぞれ「プロセッシングサーキットリー」の具体例である。
Claims (6)
- 外部のデータ処理機器である外部データ処理機器とデータ処理の実行環境が異なる、前記外部データ処理機器で実行されるデータ処理である実行データ処理を実行するデータ処理装置であって、
前記実行データ処理に含まれる内部データ処理のうち、前記外部データ処理機器と前記データ処理装置との間の前記実行環境の違いにより前記外部データ処理機器で前記実行データ処理を実行する際には実行が必要であるが前記データ処理装置で前記実行データ処理を実行する際には実行の省略が可能な内部データ処理を、省略可能内部データ処理として抽出する抽出部と、
前記抽出部により抽出された前記省略可能内部データ処理の実行を省略して前記実行データ処理を実行する実行部とを有するデータ処理装置。 - 前記データ処理装置は、
前記実行環境として、ハードウェア環境及びOS(Operating System)環境が前記外部データ処理機器と異なり、
前記抽出部は、
前記外部データ処理機器と前記データ処理装置との間の前記ハードウェア環境及び前記OS環境の違いにより前記外部データ処理機器で前記実行データ処理を実行する際には実行が必要であるが前記データ処理装置で前記実行データ処理を実行する際には実行の省略が可能な内部データ処理を、前記省略可能内部データ処理として抽出する請求項1に記載のデータ処理装置。 - 前記抽出部は、
API(Application Programming Interface)の名称を解析して前記省略可能内部データ処理を抽出する請求項1に記載のデータ処理装置。 - 前記外部データ処理機器は、工作機械の動作の制御のための制御ソフトウェアを、前記実行データ処理として実行するCNC(Computerized Numerical Control)機器であり、
前記抽出部は、
前記制御ソフトウェアに含まれる、前記省略可能内部データ処理を抽出し、
前記実行部は、
前記省略可能内部データ処理の実行を省略して前記制御ソフトウェアを実行し、前記CNC機器での前記工作機械の制御をシミュレートする請求項1に記載のデータ処理装置。 - 外部のデータ処理機器である外部データ処理機器とデータ処理の実行環境が異なるコンピュータが、前記外部データ処理機器で実行されるデータ処理である実行データ処理を実行するデータ処理方法であって、
前記コンピュータが、前記実行データ処理に含まれる内部データ処理のうち、前記外部データ処理機器と前記コンピュータとの間の前記実行環境の違いにより前記外部データ処理機器で前記実行データ処理を実行する際には実行が必要であるが前記コンピュータで前記実行データ処理を実行する際には実行の省略が可能な内部データ処理を、省略可能内部データ処理として抽出し、
前記コンピュータが、抽出された前記省略可能内部データ処理の実行を省略して前記実行データ処理を実行するデータ処理方法。 - 外部のデータ処理機器である外部データ処理機器とデータ処理の実行環境が異なるコンピュータに、前記外部データ処理機器で実行されるデータ処理である実行データ処理を実行させるデータ処理プログラムであって、
前記実行データ処理に含まれる内部データ処理のうち、前記外部データ処理機器と前記コンピュータとの間の前記実行環境の違いにより前記外部データ処理機器で前記実行データ処理を実行する際には実行が必要であるが前記コンピュータで前記実行データ処理を実行する際には実行の省略が可能な内部データ処理を、省略可能内部データ処理として抽出する抽出処理と、
前記抽出処理により抽出された前記省略可能内部データ処理の実行を省略して前記実行データ処理を実行する実行処理とを前記コンピュータに実行させるデータ処理プログラム。
Priority Applications (6)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202080106688.5A CN116457765B (zh) | 2020-12-24 | 2020-12-24 | 数据处理装置、数据处理方法及计算机可读取的记录介质 |
| PCT/JP2020/048558 WO2022137458A1 (ja) | 2020-12-24 | 2020-12-24 | データ処理装置、データ処理方法及びデータ処理プログラム |
| JP2021530973A JP6968318B1 (ja) | 2020-12-24 | 2020-12-24 | データ処理装置、データ処理方法及びデータ処理プログラム |
| DE112020007705.5T DE112020007705T5 (de) | 2020-12-24 | 2020-12-24 | Datenverarbeitungseinrichtung, datenverarbeitungsverfahren und datenverarbeitungsprogramm |
| TW110124761A TW202225877A (zh) | 2020-12-24 | 2021-07-06 | 資料處理裝置、資料處理方法及資料處理程式產品 |
| US18/135,346 US12050940B2 (en) | 2020-12-24 | 2023-04-17 | Data processing apparatus, data processing method, and computer readable medium |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2020/048558 WO2022137458A1 (ja) | 2020-12-24 | 2020-12-24 | データ処理装置、データ処理方法及びデータ処理プログラム |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US18/135,346 Continuation US12050940B2 (en) | 2020-12-24 | 2023-04-17 | Data processing apparatus, data processing method, and computer readable medium |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2022137458A1 true WO2022137458A1 (ja) | 2022-06-30 |
Family
ID=78509629
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2020/048558 Ceased WO2022137458A1 (ja) | 2020-12-24 | 2020-12-24 | データ処理装置、データ処理方法及びデータ処理プログラム |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US12050940B2 (ja) |
| JP (1) | JP6968318B1 (ja) |
| CN (1) | CN116457765B (ja) |
| DE (1) | DE112020007705T5 (ja) |
| TW (1) | TW202225877A (ja) |
| WO (1) | WO2022137458A1 (ja) |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002244883A (ja) * | 2000-03-30 | 2002-08-30 | Matsushita Electric Ind Co Ltd | デバッグ支援装置、デバッグ支援方法及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体 |
| JP2005321848A (ja) * | 2004-05-06 | 2005-11-17 | Matsushita Electric Ind Co Ltd | システムシミュレーション実行プログラムおよびハードウェア記述変換プログラム |
Family Cites Families (22)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0648471B2 (ja) | 1986-07-01 | 1994-06-22 | 日本電気株式会社 | 情報処理装置 |
| JPH07295832A (ja) | 1994-04-25 | 1995-11-10 | Mitsubishi Electric Corp | 計算機シミュレータ |
| US20010027387A1 (en) | 2000-03-30 | 2001-10-04 | Hideaki Miyake | Debugging supporting apparatus, debugging supporting method and recording medium readable by computer with its programs recorded thereon |
| US20030220987A1 (en) * | 2002-05-21 | 2003-11-27 | Aviation Communication & Surveillance Systems, Llc | System and method with environment memory for input/output configuration |
| JP4957521B2 (ja) * | 2007-11-22 | 2012-06-20 | 日本電気株式会社 | ソフトウェア部分テストシステム、それに用いる方法およびプログラム |
| US9152435B2 (en) * | 2009-08-31 | 2015-10-06 | Red Hat, Inc. | Generating a set of linked rotational views of model objects |
| US8838430B1 (en) * | 2011-08-26 | 2014-09-16 | Cadence Design Systems, Inc. | Detection of memory access violation in simulations |
| AU2012373895B2 (en) | 2012-03-22 | 2016-01-21 | Intel Corporation | Nested emulation and dynamic linking environment |
| JP2014130460A (ja) * | 2012-12-28 | 2014-07-10 | Canon Marketing Japan Inc | テスト支援装置、制御方法、及びプログラム |
| JP6168799B2 (ja) | 2013-03-12 | 2017-07-26 | 三菱電機株式会社 | 仮想計算機システム |
| US9396011B2 (en) | 2013-03-12 | 2016-07-19 | Qualcomm Incorporated | Algorithm and apparatus to deploy virtual machine monitor on demand |
| JP5917441B2 (ja) | 2013-06-03 | 2016-05-11 | 株式会社日立製作所 | 仮想計算機システム、sr−iov対応デバイスの制御方法 |
| JP6603513B2 (ja) * | 2014-09-03 | 2019-11-06 | キヤノン株式会社 | 通信装置及び情報処理装置及びそれらの制御方法、並びに記憶媒体 |
| JP6462521B2 (ja) * | 2015-07-31 | 2019-01-30 | 株式会社日立超エル・エス・アイ・システムズ | 通常部の故障が安全部へ伝播することを防止するapi及びその処理部 |
| US10523577B2 (en) * | 2017-05-23 | 2019-12-31 | Cable Television Laboratories, Inc | Systems and methods for low latency DOCSIS queueing and scheduling |
| US11295013B2 (en) * | 2017-12-11 | 2022-04-05 | International Business Machines Corporation | Dimensionality reduction based on functionality |
| US10437712B1 (en) * | 2018-06-20 | 2019-10-08 | Ca, Inc. | API functional-test generation |
| US10949237B2 (en) * | 2018-06-29 | 2021-03-16 | Amazon Technologies, Inc. | Operating system customization in an on-demand network code execution system |
| US20200310764A1 (en) * | 2019-03-29 | 2020-10-01 | Panasonic Avionics Corporation | Vehicle entertainment system interactive user interface co-development environment |
| US11704431B2 (en) * | 2019-05-29 | 2023-07-18 | Microsoft Technology Licensing, Llc | Data security classification sampling and labeling |
| WO2021127640A1 (en) * | 2019-12-20 | 2021-06-24 | Cresance Inc. | Modeling cloud inefficiencies using domain-specific templates |
| US11232193B1 (en) * | 2020-11-04 | 2022-01-25 | Malwarebytes Inc. | Automated generation of a sandbox configuration for malware detection |
-
2020
- 2020-12-24 JP JP2021530973A patent/JP6968318B1/ja active Active
- 2020-12-24 CN CN202080106688.5A patent/CN116457765B/zh active Active
- 2020-12-24 DE DE112020007705.5T patent/DE112020007705T5/de active Pending
- 2020-12-24 WO PCT/JP2020/048558 patent/WO2022137458A1/ja not_active Ceased
-
2021
- 2021-07-06 TW TW110124761A patent/TW202225877A/zh unknown
-
2023
- 2023-04-17 US US18/135,346 patent/US12050940B2/en active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002244883A (ja) * | 2000-03-30 | 2002-08-30 | Matsushita Electric Ind Co Ltd | デバッグ支援装置、デバッグ支援方法及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体 |
| JP2005321848A (ja) * | 2004-05-06 | 2005-11-17 | Matsushita Electric Ind Co Ltd | システムシミュレーション実行プログラムおよびハードウェア記述変換プログラム |
Also Published As
| Publication number | Publication date |
|---|---|
| JPWO2022137458A1 (ja) | 2022-06-30 |
| DE112020007705T5 (de) | 2023-09-28 |
| US12050940B2 (en) | 2024-07-30 |
| JP6968318B1 (ja) | 2021-11-17 |
| CN116457765B (zh) | 2026-03-31 |
| US20230259372A1 (en) | 2023-08-17 |
| TW202225877A (zh) | 2022-07-01 |
| CN116457765A (zh) | 2023-07-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7557000B2 (ja) | ベクトル要素内のビット値のテスト | |
| US11544436B1 (en) | Hardware-software interaction testing using formal verification | |
| JP2011118841A (ja) | シミュレーション方法、システム、及びプログラム | |
| JP6968318B1 (ja) | データ処理装置、データ処理方法及びデータ処理プログラム | |
| CN116340081B (zh) | 一种基于硬件虚拟化的riscv内存访问违例检测方法及装置 | |
| KR102640248B1 (ko) | 생성형 거대 인공지능 모델의 효율적인 하드웨어 매핑을 위한 방법 및 시스템 | |
| KR102213258B1 (ko) | 효율적인 명령어 처리를 위한 프로세싱-인-메모리 제어 방법 및 이를 적용한 연산장치 | |
| EP2115574B1 (en) | Employing a buffer to facilitate instruction execution | |
| JP5001126B2 (ja) | ハードウェア検証用プログラミング記述生成装置、ハードウェア検証用プログラミング記述生成方法、制御プログラムおよび可読記録媒体 | |
| JP3641090B2 (ja) | プログラミング支援装置とその方法 | |
| JP7335952B2 (ja) | ベクトル述語要約の生成 | |
| WO2022190772A1 (ja) | ソフトウェア性能検証システム、およびソフトウェア性能検証方法 | |
| JP2007094986A (ja) | シミュレーション装置およびシミュレーション方法 | |
| JP6818568B2 (ja) | 通信装置、通信仕様差分抽出方法及び通信仕様差分抽出プログラム | |
| CN118708299B (zh) | 图形处理器的仿真方法与系统 | |
| WO2022172433A1 (ja) | テストコード生成装置、及びテストコード生成方法、並びにテストコード生成プログラム | |
| JP3019922B2 (ja) | トレースデータ削減方式 | |
| WO2021140568A1 (ja) | 関数生成プログラム、関数生成方法、及び情報処理装置 | |
| CN117008972B (zh) | 一种指令分析方法、装置、计算设备及存储介质 | |
| JP7530343B2 (ja) | システム開発支援装置、システム開発支援方法およびシステム開発支援プログラム | |
| JP5067705B2 (ja) | 異常系テスト支援装置、異常系テスト支援方法、及びプログラム | |
| TWI233034B (en) | Hierarchical software application system | |
| JP2008191796A (ja) | 解析装置及び解析方法及びプログラム | |
| US20090273605A1 (en) | Operation Checking Method in Information System, Operation Checking Program Therefor, Recording Medium, and Operation Checking System | |
| JPH01274238A (ja) | Romプログラム開発装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| ENP | Entry into the national phase |
Ref document number: 2021530973 Country of ref document: JP Kind code of ref document: A |
|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20966946 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 202347029067 Country of ref document: IN |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 202080106688.5 Country of ref document: CN |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 112020007705 Country of ref document: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 20966946 Country of ref document: EP Kind code of ref document: A1 |