WO2023063365A1 - Design execution device, design execution system, and design execution method - Google Patents

Design execution device, design execution system, and design execution method Download PDF

Info

Publication number
WO2023063365A1
WO2023063365A1 PCT/JP2022/038097 JP2022038097W WO2023063365A1 WO 2023063365 A1 WO2023063365 A1 WO 2023063365A1 JP 2022038097 W JP2022038097 W JP 2022038097W WO 2023063365 A1 WO2023063365 A1 WO 2023063365A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
information
execution
design
function
Prior art date
Application number
PCT/JP2022/038097
Other languages
French (fr)
Japanese (ja)
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
Priority claimed from JP2022140736A external-priority patent/JP2023059237A/en
Application filed by 株式会社日立製作所 filed Critical 株式会社日立製作所
Publication of WO2023063365A1 publication Critical patent/WO2023063365A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming

Definitions

  • the present invention relates to a design execution device, a design execution system, and a design execution method for designing and executing a target system.
  • Patent Document 1 discloses a program development support device that generates a program for executing data processing described in graph form on a target device.
  • This program development support device includes a GUI section, a program generation section, a process execution function database, and a data transfer function database.
  • the processing execution function database stores the processing execution function database so that each arithmetic unit can execute the process.
  • a data transfer function database holds a data transfer function for that purpose.
  • the program development support device allows the GUI unit to select which processing unit is to execute the processing, and the program generation unit reads the processing execution function and the data transfer function corresponding to the selected processing unit, Generate a program to execute data processing on the target device.
  • Patent Document 1 In order to generate a program for executing the target data processing on the target device, the technology described in Patent Document 1 needs to read the data processing method from the graph format. However, the details of the reading method are unclear.
  • Patent Document 1 does not describe detailed processing for executing the program. must be prepared separately. Therefore, the behavior of the generated program cannot be verified.
  • the purpose of the present invention is to improve the convenience of design and execution.
  • a system design execution device which is one aspect of the invention disclosed in the present application, has a node for each function that does not have the substance of a process that realizes the function, and that includes summary information that specifies information specifying the process,
  • a design unit that can connect a plurality of the nodes and generates execution order data that defines the execution order of a specific function group by connecting a specific node group, and according to the execution order data generated by the design unit,
  • the outline information used in each of the specified function groups is defined according to the execution order by inheriting the outline information of the preceding node of the specified node group to the succeeding node connected to the succeeding stage of the preceding node.
  • a generation unit that generates configuration information; an execution unit that materializes processes for realizing the specific function group using the configuration information generated by the generation unit and executes the materialized processes in the execution order; characterized by having
  • FIG. 1 is an explanatory diagram of a system configuration example of a design execution system according to a first embodiment.
  • FIG. 2 is a block diagram showing a hardware configuration example of a computer.
  • FIG. 3 is a block diagram of a functional configuration example of the design execution system according to the first embodiment;
  • FIG. 4 is an explanatory diagram of a detailed system design method by the design department according to the first embodiment;
  • FIG. 5 is an explanatory diagram of a detailed configuration information generation method by the generation unit according to the first embodiment;
  • FIG. 6 is an explanatory diagram of detailed processing related to system execution of the function generation unit, generation unit, holding unit, execution unit, control unit, and processing device according to the first embodiment.
  • FIG. 1 is an explanatory diagram of a system configuration example of a design execution system according to a first embodiment.
  • FIG. 2 is a block diagram showing a hardware configuration example of a computer.
  • FIG. 3 is a block diagram of a functional configuration example of the design execution system according to the first
  • FIG. 7 is a flowchart of a detailed processing procedure example from system design to execution by the design execution system according to the first embodiment.
  • FIG. 8 is a flowchart of detailed processing procedures for ID assignment by the design execution system according to the second embodiment.
  • FIG. 9 is an explanatory diagram of a detailed configuration information generation method by a generation unit according to the second embodiment;
  • FIG. 10 is an explanatory diagram of an example of a detailed timing chart when the execution unit executes the system according to the second embodiment;
  • FIG. 11 is a block diagram of a functional configuration example of a design execution system according to a third embodiment;
  • FIG. 12 is an explanatory diagram of a detailed processing example of configuration information generation in the generation unit of the design execution system according to the fourth embodiment.
  • FIG. 13 is an explanatory diagram showing a specific example of processing for duplication integration and node connection arrangement.
  • FIG. 14 is a flowchart of detailed generation processing procedures by the generation unit of the design execution system according to the fourth embodiment.
  • FIG. 15 is an explanatory diagram of a detailed processing example of configuration information generation in the generation unit of the design execution system according to the fifth embodiment.
  • FIG. 16 is a flow chart showing detailed generation processing procedures by a generation unit of the design execution system according to the fifth embodiment;
  • FIG. FIG. 17 is an explanatory diagram of a detailed processing example of configuration information generation in the generation unit of the design execution system according to the sixth embodiment.
  • FIG. 13 is a flow chart showing detailed generation processing procedures by a generation unit of the design execution system according to the sixth embodiment;
  • FIG. 19 is an explanatory diagram of a specific example 2 of the overlap integration and node connection arrangement processing according to the sixth embodiment.
  • FIG. 20 is a flowchart of detailed generation processing procedures by the generation unit of the design execution system according to the
  • expressions such as “table”, “list”, and “queue” may be used for explanation, but various types of information may be expressed in data structures other than these.
  • various information such as “XX table”, “XX list”, and “XX queue” may be referred to as “XX information”.
  • identification information expressions such as “identification information”, “identifier”, “name”, “ID”, and “number” are used, but these can be replaced with each other.
  • the processing performed by executing the program may be explained.
  • the computer executes a program by means of a processor (eg, CPU, GPU) and performs processing determined by the program while using storage resources (eg, memory) and interface devices (eg, communication port). Therefore, the main body of the processing performed by executing the program may be the processor.
  • a main body of processing executed by executing a program may be a controller having a processor, a device, a system, a computer, or a node.
  • the subject of the processing performed by executing the program may be an arithmetic unit, and may include a dedicated circuit for performing specific processing.
  • the dedicated circuit is, for example, FPGA (Field Programmable Gate Array), ASIC (Application Specific Integrated Circuit), CPLD (Complex Programmable Logic Device), or the like.
  • the program may be installed on the computer from the program source.
  • the program source may be, for example, a program distribution server or a computer-readable storage medium.
  • the program distribution server may include a processor and storage resources for storing the distribution target program, and the processor of the program distribution server may distribute the distribution target program to other computers.
  • two or more programs may be implemented as one program, and one program may be implemented as two or more programs.
  • the design execution system 100 shown in FIG. 1 has a server 111 and one or more clients 110 .
  • the server and client are communicably connected via a network 101 such as the Internet, a LAN (Local Area Network), or a WAN (Wide Area Network).
  • a server 111 is a computer that manages the client 110 .
  • the design execution system 100 has a function group creation function, a configuration information generation function, and a system execution function.
  • the function group creation function creates functions required for system design for each processing unit by the operation of the user using the design execution system 100 .
  • the configuration information generation function designs a system desired by an individual user by combining functions selected from a function group obtained from the function group creation function, and generates information on the designed system as configuration information.
  • the system execution function executes the designed system from the configuration information.
  • the function group creation function, configuration information generation function, and system execution function may be implemented in either the server 111 or the client 110 as long as they are implemented in the design execution system 100 .
  • server 111 may implement the function group creation function
  • client 110 may implement the configuration information generation function and the system execution function.
  • the server 111 may implement the function group creation function and the system design function
  • the client 110 may have the system execution function, receive the system designed by the server 111, and execute the received system.
  • a computer that implements the function group creation function is called a function group creation device, and a computer that implements at least the system execution function out of the configuration information generation function and the system execution function is called the design execution device.
  • the client-server type design execution system 100 is taken as an example, but a stand-alone type system design execution device may be used.
  • the design execution system 100 in which the server 111 is a function group creation device implementing a function group creation function and the client 110 is a design execution device implementing a system execution function, will be described as an example. do.
  • the client 110 may transmit information to a browser of an external device (which may be the server 111, not shown) that can communicate via the network 101, and be remotely operated on the browser of the external device.
  • FIG. 2 is a block diagram showing a hardware configuration example of a computer (server 111, client 110).
  • the computer 200 has a processor 201 , a storage device 202 , a processing device 203 , an input device 204 , an output device 205 and a communication interface (communication IF) 206 .
  • Processor 201 , storage device 202 , processing device 203 , input device 204 , output device 205 and communication IF 206 are connected by bus 207 .
  • Processor 201 controls computer 200 .
  • a storage device 202 serves as a work area for the processor 201 .
  • the storage device 202 is a non-temporary or temporary recording medium that stores various programs and data. Examples of the storage device 202 include ROM (Read Only Memory), RAM (Random Access Memory), HDD (Hard Disk Drive), and flash memory.
  • the processing device 203 is an accelerator that speeds up specific functions, and specifically includes, for example, a GPU (Graphics Processing Unit), an AI (Artificial Intelligence) chip, an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Array).
  • a GPU Graphics Processing Unit
  • AI Artificial Intelligence
  • ASIC Application Specific Integrated Circuit
  • FPGA Field Programmable Array
  • the input device 204 inputs data.
  • Input devices 204 include, for example, various sensors such as a keyboard, mouse, touch panel, numeric keypad, scanner, and camera.
  • the output device 205 outputs data.
  • Output devices 205 include, for example, displays, printers, and speakers.
  • Communication IF 206 connects to network 101 to transmit and receive data.
  • the processor 201 may be composed of a plurality of processors.
  • FIG. 3 is a block diagram of a functional configuration example of the design execution system 100 according to the first embodiment.
  • the server 111 has a function group creation unit 130 .
  • the client 110 has a design unit 120 , a generation unit 121 , a storage unit 122 , an execution unit 123 , a control unit 124 and a processing device 203 .
  • the function group creation unit 130 creates a function group 420 necessary for system design by the user using the design execution system 100 and outputs the created function group 420 to the holding unit 122 .
  • Each function of the function group 420 may be created in a program format such as a class or function, or may be created as a library for black-boxing the contents of processing.
  • the processing device 203 can be selected for some of the functions of the function group 420, and the selected processing device 203 speeds up the processing. Henceforth, this function is described as a "specific high-speed function.”
  • the design unit 120 designs a design target (system to be executed by the client 110) by connecting nodes having function overview information using a graphical user interface, and selects nodes adopted for the design.
  • system information defining the execution order of the processes realized by the functions corresponding to is output to the generation unit 121 as execution order data.
  • the function overview information does not have the substance of the processing that implements the function, but is information for identifying what kind of processing is to be performed. A numerical value defined within 100 may be used as the function overview information.
  • the generation unit 121 generates configuration information 320 that defines the function overview information according to the order of execution from the system information, and outputs the configuration information 320 to the holding unit 122 . Details of processing by the design unit 120 will be described later with reference to FIG. 4, and details of configuration information generation by the generation unit 121 will be described later with reference to FIG.
  • the holding unit 122 stores the function group 420 acquired from the function group creation unit 130 and the configuration information 320 acquired from the generation unit 121 and outputs them to the execution unit 123 .
  • generation of the function group 420 or the configuration information 320 can be omitted.
  • the holding unit 122 outputs the held function group 420 and the configuration information 320 to the execution unit 123 . This eliminates the need to regenerate the once-generated configuration information 320 and function group 420, thereby shortening the processing time and simplifying system startup after design.
  • the execution unit 123 materializes the system information described in the configuration information 320 acquired from the holding unit 122 for the corresponding functions in the function group 420, and executes the system. If the specified speed-up function is included in the materialized system, the execution unit 123 selects a device for processing according to the specified speed-up function, and executes the process in the processing device 203 via the control unit 124. .
  • the control unit 124 controls the processing device 203 to execute the specific speed-up function when the system materialized by the execution unit 123 includes the specific speed-up function.
  • the processing device 203 executes the processing of the specific speed-up function under the control of the control unit 124. Details of the execution unit 123, the control unit 124, and the processing device 203 will be described later with reference to FIG.
  • FIG. 4 is an explanatory diagram showing a detailed system design method by the design unit 120.
  • the design unit 120 can be accessed by entering a designated address from the web browser 400 and provides an operable interface. By enabling access and operation via the web browser 400 in this manner, access is possible from clients 110 other than the client 110 having the design unit 120, and remote design is also possible.
  • the interface of the design section 120 is not limited to this. For example, it may be distributed as an installation-type tool and system design may be performed through a dedicated interface screen.
  • the design department 120 has a palette 20 that holds nodes used for system design, and a workspace 240 that is a workspace for designing the system, and displays them on the web browser of the client 110 .
  • the palette 20 is classified for each functional overview of the node.
  • the category of input function 210 has nodes related to inputs of camera input 211 and video input 212 .
  • a camera input 211 is a node that holds functional outline information regarding imaging of a camera that can be connected to the client 110 .
  • the video input 212 is a node that holds function outline information for continuously reproducing images in units of frames for a captured moving image.
  • the process 220 has nodes related to human detection 221 and skeleton detection 222 .
  • the person detection 221 is a node that holds function outline information for acquiring the position and size of a person from the acquired image and outputting coordinate information for enclosing the detected person in a rectangle.
  • the skeleton detection 222 is a node that holds function overview information for detecting the position of a person's skeleton from an acquired image as coordinate information within the image.
  • the output function 230 has a result rendering 231 and an execution node 232 related to output.
  • the result drawing 231 is a node that holds function overview information that the image obtained by the input function 210 is rendered with the result of execution by the process 220 .
  • the execution node 232 is the last node connected to the system designed by the design unit 120 of the first embodiment, and the details of the operation of the execution node 232 will be described later with reference to FIG.
  • the above-described nodes held in the palette 20, the form of holding nodes for each function outline, and the function outlines to be classified are not limited to these, and are freely defined by the vendor who provides the design unit 120. , can be added and deleted.
  • the user who designs the system arranges the necessary nodes from the palette 20 in the work space 240 and connects the nodes according to the flow of processing desired by the user. For example, when designing a system that detects the position of a person from an image captured by a camera, encloses the detected position in a rectangle, and displays it together with the image, the camera input 241, the person detection 242, and the result drawing 243 and an execution node 244 are arranged in the work space 240, and the nodes (camera input 241, human detection 242, result drawing 243, execution node 244) are connected by vectors 251 to 253, respectively, in the order of processing. .
  • the detailed setting screens 246 to 248 are displayed by specifying with the input device 204, for example.
  • the detail setting screen 246 is a screen for setting the details of the function of the camera input 241, and sets the resolution and frame rate of the camera for shooting.
  • the detailed setting screen 247 is a screen for setting the details of the function of the human detection 242, and sets a DNN (Deep Neural Network) used for the human detection 242 and a device for performing DNN calculation.
  • the detail setting screen 248 is a screen for setting the details of the function of the result drawing 243, and sets a window size enlargement display function for the result drawing 243 and a processing speed display function of the designed system.
  • the setting values in the detailed setting screens 246 to 248 can be changed by user operations.
  • FIG. 5 is an explanatory diagram showing an example of generation of configuration information from system information by the generation unit 121.
  • Each node (camera input 241, human detection 242, result drawing 243) that constitutes the system information is not an actual function, but function overview information 300, 301, 302.
  • the function overview information 300 , 301 , 302 also includes information set on the detail setting screens 246 , 247 , 248 .
  • the generation unit 121 outputs the function overview information 300, 301, and 302 of each node to the subsequent nodes.
  • camera input 241 outputs its functional summary information 300 to people detection 242 .
  • the latter node outputs integrated function overview information including the function overview information acquired from the previous node and the function overview information of the node to the latter node.
  • human detection 242 outputs integrated functional overview information 310 including functional overview information 300 obtained from camera input 241 and functional overview information 301 of human detection 242 to result rendering 243 .
  • the result rendering 243 renders the integrated function outline information 320 including the integrated function outline information 310 (function outline information 300, function outline information 301) acquired from the human detection 242 and the function outline information 302 of the result rendering 243 to the execution node.
  • H.244 output.
  • each node assigns an ID to the function overview information.
  • the ID of the function outline information 300 of the starting point node (camera input 241) that does not have a previous node is set to "0", and the function outline information received from the previous stage or the integrated function outline is assigned to the latter node.
  • the maximum ID value described in the information is read, and a value obtained by incrementing the read ID value is assigned as the ID of the node. Therefore, the ID of the function outline information 301 of the human detection 242 is "1", and the ID of the function outline information 302 of the result drawing 243 is "2".
  • the method of assigning IDs should be such that the nodes constituting the designed system do not have duplicate values, and the value of the ID of the node is not limited to the value incremented from the previous ID value.
  • the execution node 244 is a node connected to the end of the system designed by the design unit 120 of the first embodiment. Information 300-301 is included.
  • the integrated function overview information 320 acquired by the execution node 244 becomes the configuration information generated by the generation unit 121 .
  • configuration information 320 it will be referred to as configuration information 320
  • function overview information 300, 301, and 302 will be referred to as configurations 300, 301, and 302, respectively.
  • FIG. 6 is an explanatory diagram showing detailed processing related to system execution of the function group creation unit 130, generation unit 121, holding unit 122, execution unit 123, control unit 124, and processing device 203. As shown in FIG.
  • the holding unit 122 holds the configuration information 302 generated by the generating unit 121 and the function group 420 generated by the function group generating unit 130 .
  • the function group 420 holds the entities of functions (classes 421 to 423, for example) corresponding to all the nodes held in the palette 20 by the design unit 120.
  • the execution unit 123 selects and materializes the configurations 300, 301, and 302 described in the configuration information 320 from the function group 420 acquired from the holding unit 122.
  • the execution unit 123 lists the materialized functions (camera input 241, human detection 242, result drawing 243) in the order of process execution, for example, like a list 431, and executes the listed processes in the execution base 432. . If the specified speed-up function is included in the materialized functions (camera input 241, human detection 242, result drawing 243), the execution unit 123 selects a device for processing according to the specified speed-up function, Processing is executed by the processing device 203 via the control unit 124 .
  • the execution unit 123 selects the GPU as the processing device 203 only for the processing of the human detection 242, and outputs the processing content and the information of the processing device 203 to the control unit 124 during the processing of the human detection 242. Based on the acquired information, the control unit 124 executes specified processing on the processing device 203 and outputs the processing result to the execution unit 123 .
  • FIG. 7 is a flowchart of a processing procedure example of the design execution system 100 according to the first embodiment.
  • the server 111 distributes the function group created by the function group creating unit 130 to the client 110 (step S700).
  • the client 110 designs the system using a graphical user interface provided by the design unit 120 (step S720).
  • the client 110 uses the generation unit 121 to generate configuration information from the designed system (step 521).
  • the function group 420 generated by the server 111 and the configuration information 320 generated by the client 110 are retained in the client 110 by the retaining unit 122 (step S722). It is not necessary to hold the function group 420 and the configuration information 320 at the same time.
  • the server 111 generates the function group 420
  • only the function group 420 may be retained in the client 110
  • the client 110 generates the configuration information 320 may be retained in the client 110 .
  • the order of holding the function group 420 and holding the configuration information 320 is not limited.
  • the client 110 reads the function group 420 and the configuration information 320 held by the holding unit 122 (step S740), and materializes the system information described in the configuration information 320 acquired by the execution unit 123 from the function group 420. (Step S742), the system is executed by the execution unit 123, the control unit 124, and the processing device 203 (Step S743).
  • configuration information generation and function creation must be executed, and the function group 420 and the configuration information 320 must be held in the holding unit 122. 320, it is not necessary to execute configuration information generation and function creation each time the system is executed. That is, if the holding unit 122 holds the function group 420 and the configuration information 320, it is possible to execute only the system execution alone.
  • configuration information generation and function generation may be executed only when there is a change in the configuration information 320 and the function group 420 respectively held by the holding unit 122 .
  • the user can obtain an environment in which the system designed on the graphical interface can be immediately executed.
  • the system is designed using a graphical user interface, the configuration information 320 is generated from the designed system, and the system is executed according to the generated configuration information 320. It is possible to execute the system immediately from the system design base that is used.
  • the process of generating the function group 420, the process of designing the system and generating the configuration information 320, and the process of executing the system from the generated configuration information 320 and the function group 420 are divided step by step. It is possible to execute the system execution in a series of flows, and it is also possible to execute the system execution separately, and it is possible to obtain a design execution system that simultaneously realizes the ease of system design and embedded implementation. .
  • FIG. 8 is a flowchart showing detailed processing procedures for ID assignment in the generation unit 121 of the design execution system 100 according to the second embodiment.
  • the generation unit 121 determines whether the node to be processed is the start node (step S800). If there is no preceding node, it is determined to be the starting node. If it is the start node (step S800: Yes), the generation unit 121 assigns "0" to the ID of the node (step S801), and proceeds to the process of step S806.
  • step S800 If it is determined in step S800 that the node is not the starting node (step S800: No), the generation unit 121 acquires function overview information or integrated function overview information from the preceding node (step S802). .
  • the same processing of the same node may be assigned as a different ID in the integrated function summary information obtained from the preceding node, resulting in duplication.
  • the generation unit 121 excludes the same process of the same node (step S803). Specifically, for example, when the same function overview information is included in a plurality of input function overview information or integrated function overview information, the generation unit 121 generates, for example, Leave only one and delete the others.
  • the same ID may be assigned to the parallelized node even in the processing of another node in the acquired integrated function overview information.
  • the generation unit 121 assigns a sub-ID for node identification to another process of another node to which the same ID is assigned (step S804). Specifically, for example, the generating unit 121 adds a unique branch number to the end of the ID value for the different node. Branch numbers are given in ascending order among identical IDs.
  • the generation unit 121 reads the maximum value of the ID from the integrated function overview information after deduplication in step S803 and sub-ID assignment to the same ID in step S804, and The incremented value is assigned as the ID of the node (step S805), and the process proceeds to step S806.
  • step S806 the generation unit 121 confirms whether the node to be processed is the end node (step S806). Specifically, for example, if the node is an execution node, it is an end node. If it is an end node (step S806: Yes), the process proceeds to step S808, and if not (step S806: No), the process proceeds to step S807.
  • step S807 the generation unit 121 outputs the function overview information processed by the node to the subsequent node, and returns to step S802.
  • step S808 the generation unit 121 outputs the processed function overview information as the configuration information 320 to the holding unit 122, and the ID management of the node ends.
  • FIG. 9 is an explanatory diagram of a detailed processing example of configuration information generation in the generation unit 121 of the design execution system 100 according to the second embodiment.
  • the generation unit 121 Since the camera input 241 is the starting point node, the generation unit 121 generates the function outline information 930 with the ID value set to "0", the vector 251 to the person detection 242 which is the subsequent node, and the vector 920 to the skeleton detection 910 . , the function overview information 930 is output.
  • the generation unit 121 reads the maximum ID value "0" from the acquired function overview information 930, and sets the incremented value "1" as the ID value of the node.
  • the generation unit 121 generates the integrated function summary information 941 by adding the function summary information 931 of the node and the generated ID value “1” to the acquired function summary information 930, and generates the integrated function summary information 941 as the vector 252, which is the subsequent node. Outputs the function overview information 931 to the result drawing 243 .
  • the generation unit 121 reads the maximum ID value "0" from the acquired function overview information 930, and sets the incremented value "1" as the ID value of the node.
  • the generation unit 121 generates the integrated function outline information 942 by adding the function outline information 932 of the node and the generated ID value “1” to the acquired function outline information 930 , and generates the integrated function outline information 942 .
  • the integrated function summary information 942 is output to the image distribution 911 in a vector 922 .
  • the generation unit 121 eliminates redundant portions of the overlapping function outline information 930 of the camera input 241 based on the acquired integrated function outline information 941 and integrated function outline information 942 (step S803).
  • the generation unit 121 further assigns sub-IDs for identification to the human detection 242 and skeleton detection 910 whose ID value is "1" (step S804).
  • Sub-IDs are assigned by adding an underscore to the end of the existing ID.
  • the value of ID for human detection 242 is set to "1_1”
  • the value of ID for skeleton detection 910 is set to "1_2”.
  • the method of assigning the sub-ID is not limited, and a sub-ID key may be generated and an identifiable ID may be assigned to the generated sub-ID.
  • the generating unit 121 further reads the IDs excluding the sub-IDs of the function outline information that has been processed, and increments the value "2" from the maximum value "1" to the function of the node. This is the ID of the summary information 933 .
  • the integrated function overview information 951 generated in this manner is output to the execution node 244, which is the subsequent node, in the vector 253.
  • the generation unit 121 reads the maximum ID value "1" from the acquired integrated function overview information 942, and sets the incremented value "2" as the ID of the function overview information 934 of the node. .
  • the generation unit 121 generates the integrated function overview information 952 by adding the function overview information 934 of the node and the generated ID value “2” to the acquired integrated function overview information 942, and generates the integrated function overview information 952, which is the subsequent node in the vector 923. It outputs integrated function summary information 952 to execution node 244 .
  • ““type”:“multi-process”” included in the function overview information 934 of the node indicates that the process of image distribution 911 is assigned as a separate process, and the process is performed independently of other processes. It becomes the information to order A detailed processing method regarding multi-processing will be described later.
  • the execution node 244 having two inputs receives the integrated function outline information 951 and the integrated function outline information 952 , the execution node 244 outputs the function outline information 930 and the skeleton detection 910 output by the camera input 241 . overlaps with the function overview information 932 output by .
  • the generation unit 121 eliminates redundant portions of the overlapping function outline information 930 of the camera input 241 based on the acquired integrated function outline information 951 and integrated function outline information 952 . In addition, since there is overlap in the skeleton detection 910 whose ID value excluding the sub ID is "1", the generation unit 121 eliminates the overlap.
  • the function overview information 932 of the skeleton detection 910 with "ID”: "1" to which no sub-ID is assigned is deleted (step S803).
  • the generation unit 121 assigns a sub-ID for identification to the function outline information 933 of the result drawing 243 and the function outline information 934 of the image distribution 911 whose ID value is "2".
  • a sub-ID is assigned by adding an underscore to the existing ID and then assigning the sub-ID.
  • the ID of the function outline information 933 of the result drawing 243 is assigned as "2_1”
  • the ID of the function outline information 934 of the image delivery 11 is assigned as "2_2”.
  • the generating unit 121 Since the execution node 244 is the terminal node, the generating unit 121 generates the function overview information 960 that has been processed as configuration information (hereinafter referred to as configuration information 960) and outputs it to the holding unit 122.
  • FIG. 10 is an explanatory diagram showing an example of a detailed timing chart during system execution in the execution unit 123 of the design execution system 100 according to the second embodiment.
  • the execution unit 123 Upon receiving the completion of the processing of the camera input 1001, the execution unit 123 starts the processing of human detection 1002 and skeleton detection 1003 in parallel. For the parallel processing that starts processing at the same time, the next processing is started upon completion of all the parallel processing.
  • the execution unit 123 starts the result drawing 1004 upon receiving the completion of the human detection 1002 and the skeleton detection 1003, and when the result drawing 1004 ends, the camera input 1011 of the next frame is started.
  • the processing of the execution unit 123 ends.
  • the execution unit 123 starts the image distribution 1005 upon receiving the completion of the skeleton detection 1003 in the previous stage. Since the image distribution 1005 receives a multi-process designation, it is synchronized with the completion of the skeleton detection 1003 at the start of processing, but is executed asynchronously with other processing after the start of processing.
  • Example 3 the function group creation unit 130 in the server 111 containerizes the function group 420 together with the execution base 432 and the program execution base 1101 using a container base such as docker.
  • the execution unit 123 holds the container execution base 1102 in order to execute processing that implements containerized functions. This makes it possible to process the function group 420 even if the server 111 and the client 110 have different processing environments such as the OS (Operating System) and the processor 201 .
  • OS Operating System
  • the function group 420 can be individually arranged according to each client 110. Processing can be performed with a single function group 420 without customization.
  • FIG. 11 is a block diagram showing a functional configuration example of the design execution system 100 according to the third embodiment.
  • the function group creation unit 130 generates a function group 420 necessary for system design by a user using the design execution system 100 for each processing unit, and the generated function group 420 is stored in an execution base 432 using a container base such as docker. and the program execution base 1101 , and output to the holding unit 122 as a containerized function group 1120 .
  • the generating unit 121 generates configuration information 1103 from the designed system information and outputs it to the holding unit 122 .
  • the holding unit 122 outputs the acquired containerization function group 1120 and configuration information 1103 to the execution unit 123 .
  • the execution unit 123 has a containerization function group 1120 , a container execution base 1102 and configuration information 1103 .
  • the execution unit 123 arranges the containerization function group 1120 acquired from the holding unit 122 in the upper layer of the container execution base 1102 and arranges the configuration information 1103 in the lower layer of the container execution base 1102 .
  • the containerized function group 1120 has a function group 420 , an execution base 432 and a program execution base 1101 .
  • the program execution infrastructure 1101 for executing the function group 420 and the execution infrastructure 432 is different from the infrastructure for executing functions written in programming languages such as python and C++, and the OS installed in the client 110. It is the foundation of the guest OS necessary to execute functions on the OS.
  • the containerization function group 1120 can be executed without being affected by the hardware and software environment of the client 110. Note that when there is a change in the containerized function group 1120, the function group creating unit 130 reflects the change and newly arranges the containerized function group 1120. FIG.
  • the container execution base 1102 has the function of absorbing the difference between the environment of the client 110 and the environment of the containerized function group 1120 and executing the containerized function group 1120 regardless of the client 110 environment.
  • the configuration information 1103 is generated by the same method as in the first and second embodiments and arranged in the hierarchy of the container execution infrastructure 1102 .
  • the execution unit 123 selects the configuration described in the configuration information 1103 from among the function groups 420 in the containerized function group 1120 acquired from the holding unit 122, and materializes each function. Then, the execution unit 123 executes processing using the program execution base 1101 and the container execution base 1102 by the execution base 432 . At this time, the execution unit 123 selects the processing device 203 for processing according to the speed-up function, and executes the processing in the processing device 203 via the control unit 124 . This speeds up the processing.
  • the containerization function group 1120 When outputting the containerization function group 1120 from the server 111 to the plurality of clients 110, for example, the containerization function group 1120 is connected to each client 110 through the container execution base 1102 through a port specific to each individual client. Appropriate processing for the client 110 may be required. In such a case, the holding unit 122 may automatically assign appropriate processing when connecting the containerized function group 1120 , or the design unit 120 may set a unique value for the client 110 .
  • the function group 420 generated by the function group creation unit 130 in the server 111 is containerized and generated together with the execution base 432 and the program execution base using a container base such as docker. Also, the execution unit 123 holds the container execution base 1102 in order to execute the containerized function group 420 .
  • the function group 420 can be processed.
  • the function group 420 does not have to be customized for each client 110.
  • a single function group 420 can perform the processing.
  • Example 4 will be described with a focus on the differences from Example 1, Example 2, and Example 3.
  • the same reference numerals are given to the points common to the first, second, and third embodiments, and the description thereof is omitted.
  • a detailed processing method will be described in the case where the configuration information 320 to be generated includes parallel processing and multi-process processing.
  • each node cannot synchronize even if there are multiple inputs from the previous node, and when any input is received from the previous node, Assume a system that acquires the function overview information of the node in the previous stage, combines the function overview information of the node, and starts the process of outputting to the subsequent stage.
  • this system will be referred to as an asynchronous system.
  • each node cannot synchronize even if there are multiple inputs from the previous node, so if the system to be designed includes parallel processing or multi-processing, A plurality of execution paths are generated, and an execution node is called for each execution path. For example, in the example shown in FIG. 9, execution node 244 is called three times because three execution paths are generated.
  • the fourth embodiment provides a system that can execute synchronous processing without a synchronous node for parallel processing and multi-process processing in such an asynchronous system.
  • FIG. 12 is an explanatory diagram of a detailed processing example of configuration information generation in the generation unit 121 of the design execution system 100 according to the fourth embodiment.
  • FIG. 12 there are a camera input 1200, an inference A 1201, an inference B 1202, an inference C 1204, a result drawing 1205, and an execution node 1206 as node groups.
  • the output of camera input 1200 is connected by vector 1210 to the input of inference A 1201 and by vector 1211 to the input of inference B 1202 .
  • the output of Infer A 1201 is connected to the input of Render Result 1205 by vector 1212 .
  • a camera input 1200 is the starting node.
  • the generation unit 121 sets the value of the ID to "AAA” and acquires "2" as the number of outputs, which is the number of nodes connected in the subsequent stage.
  • the ID "AAA” set by the generation unit 121 is arranged in system information (information that defines the execution order of processes realized by the functions corresponding to the nodes adopted in the design of the system executed by the client 110). is different from the ID given to any of the nodes.
  • inference A1201 and inference A1203 have the same function, but are arranged as different nodes, so different IDs are set for each.
  • the generation unit 121 sets the set ID "AAA”, the number of outputs "2", and "camera input” indicating the function of the node in the camera input 1200 as the function outline information 1220.
  • the generation unit 121 outputs the function overview information 1220 from the camera input 1200 to the subsequent inference A 1201 .
  • the generation unit 121 also outputs the function overview information 1221 and the function overview information 1222 from the camera input 1200 to the reasoning B 1202 . In this case, since the output of the camera input 1200 is branched not only to the inference A 1201 but also to the inference B 1202, the number of outputs of the function overview information 1220 to 1222 is "2".
  • function overview information 1220 to 1222 are the same information as the function overview information. The reason why they are described separately is to explain that the asynchronous system outputs the function outline information separately by the number of branches. Details will be described later in the operation of each node.
  • Each of the nodes 1202 to 1206 sets a unique ID for the node, and outputs integrated function overview information including the function overview information obtained from the preceding node and the function overview information for the node to the subsequent node.
  • the function overview information includes the number of outputs, but if the output of the subsequent node does not branch, the number of outputs obtained from the preceding node is inherited and output to the subsequent node. For example, although the number of outputs from a preceding node of a certain node is "2", the output of the succeeding stage does not branch, that is, there is one succeeding node. In this case, the number of outputs "2" is inherited by the succeeding node. This is because the number of outputs "2" has already been counted as "1" for the output to the succeeding node (the route from the start node to the end node via).
  • the number of outputs is updated according to the obtained number of outputs and the number of branches of the subsequent node, and is output to the subsequent node. For example, if the number of outputs obtained from the preceding node is "2" and the output of the subsequent stage branches into two, that is, if the number of subsequent nodes is two, the path newly branched to the number of outputs "2" "1" for the number of outputs is added to make the number of outputs "3". This output number "3" is output to each of the two succeeding nodes.
  • Each node cannot synchronize at the node even if there are multiple inputs from the previous node, and when there is any input from the previous node, the function overview information of the previous node is It acquires and starts the process of outputting it to the subsequent stage together with the function outline information of the node.
  • the generation unit 121 sets the ID value to "BBB" in the inference A1201, and acquires the function overview information 1220 from the camera input 1200, which is the preceding node.
  • the number of outputs "2" obtained from camera input 1200 is inherited, and the number of outputs of inference A1201 is becomes “2". That is, in the number of outputs "2", "1" for 1212 vectors indicating the output (the path from the camera input 1200 to the end node via the inference A 1201) to the result rendering 1205, which is the subsequent node of the inference A 1201, already exists. This is because it is counted at 1200.
  • the IDs "BBB”, “inference A”, and the number of outputs "2" are used as the function outline information 1223.
  • the generation unit 121 outputs the integrated outline information including the function outline information 1223 of the reasoning A 1201 and the function outline information 1220 acquired from the camera input 1200 to the subsequent result drawing 1205 .
  • the generation unit 121 sets the ID value to "CCC" in inference B1202, and acquires the function overview information 1221 from the camera input 1200, which is the preceding node. Since the node following the inference B 1202 branches to the inference A 1203 and the inference C 1204, the number of outputs of the inference B 1202 is "2", which is obtained from the camera input 1200. 3”.
  • the IDs "CCC”, “inference B”, and the number of outputs "3" are used as the function outline information 1224.
  • the generation unit 121 outputs integrated overview information including the function overview information 1224 of the inference B 1202 and the function overview information 1221 acquired from the camera input 1200 to the inference A 1203 and inference A 1204 in the subsequent stage.
  • the generation unit 121 sets the ID value to "BBB'" in the inference A1203, and acquires the function overview information 1221 and 1224 from the inference B1202, which is the preceding node. Since the only node connected to the subsequent stage of reasoning A1203 is result rendering 1205, and the output of reasoning A1203 does not branch, the number of outputs "3" obtained from reasoning B1202 is inherited, and the number of outputs of reasoning A1203 is "3". becomes.
  • the generation unit 121 outputs the integrated overview information including the function overview information 1229 of the reasoning A 1203 and the function overview information 1221 and 1224 acquired from the reasoning B 1202 to the subsequent result drawing 1205 .
  • the generation unit 121 sets the ID value to "EEE" in the inference C1204, and acquires the function overview information from the inference B1202, which is the preceding node. Since the only node connected to the subsequent stage of inference C1204 is result drawing 1205, and the output of inference C1204 does not branch, the number of outputs "3" obtained from inference B1202 is inherited, and the number of outputs of inference C1204 is "3". becomes.
  • the ID "EEE”, the "inference C”, and the number of outputs "3" are set as the function overview information 1230.
  • the generation unit 121 outputs the integrated overview information including the function overview information 1230 of the reasoning C 1204 and the function overview information 1221 and 1224 acquired from the reasoning B 1202 to the subsequent result drawing 1205 .
  • the ID "DDD”, "result drawing”, and the number of outputs "2" are set as the function outline information 1226.
  • the generation unit 121 outputs integrated overview information 1231 including the function overview information 1226 of the result drawing 1205 and the function overview information 1220 and 1223 acquired from the reasoning A 1201 to the subsequent execution node 1206 .
  • the generation unit 121 sets the value of ID to "DDD" in the result drawing 1205, and acquires function outline information 1221, 1224, and 1229 from the inference A 1203, which is the preceding node.
  • Execution node 1206 is the only node connected to the subsequent stage of result rendering 1205, and the output of result rendering 1205 does not branch. becomes "3".
  • the generation unit 121 outputs integrated overview information 1233 including the function overview information 1228 and the function overview information 1222, 1225, and 1230 acquired from the inference C 1204 to the subsequent execution node 1206.
  • the execution node 1206 asynchronously acquires the integrated overview information 1231, the integrated overview information 1232, and the integrated overview information 1233 in random order.
  • the three pieces of integrated outline information 1231-1233 include the same function outline information redundantly, such as function outline information 1220-1222 related to the camera input 1200, for example.
  • the detailed processing of the execution node 1206 for performing the synchronization processing after deduplication of the same information for the integrated summary information in which the duplicated information is divided and output multiple times by the asynchronous system will be described.
  • the execution node 1206 has function outline information acquisition 1240 , output branch number determination 1241 , overlap integration 1242 , node connection arrangement 1243 , and configuration information generation 1244 .
  • the function overview information acquisition 1240 acquires the integrated overview information 1231, the integrated overview information 1232, and the integrated overview information 1233 output from the result drawing 1205 in the previous stage in random order, and outputs them to the output branch number determination 1241.
  • the output branch count determination 1241 counts the number of acquired integrated overview information for each of the integrated overview information 1231 to 1233 acquired in random order. Also, the output branch number determination 1241 compares the counted number of integrated overview information with the number of outputs held in each of the integrated overview information 1231-1233.
  • the output branch number determination 1241 acquires the integrated outline information 1232
  • the output branch number determination 1241 counts the number of acquired integrated outline information and sets it to "2", and the output number of the integrated outline information 1232 is "2". 3”, and accumulates the integrated summary information 1232 .
  • the node connection arrangement 1243 confirms the connection relationship of each node with respect to the overlap integration overview information acquired from the overlap integration 1242, and for a node having multiple preceding nodes, when output of all preceding nodes to the node is completed, Synchronous processing information for starting processing is added, and output to the configuration information generation 1244 as synchronous duplication integration summary information.
  • a connection relation between nodes means a relation in which nodes are connected by a vector.
  • FIG. 13 is an explanatory diagram showing a specific example of the processes of duplication integration 1242 and node connection arrangement 1243 according to the fourth embodiment.
  • FIG. 13 shows changes in the integrated outline information when the overlap integration 1242 and the node connection arrangement 1243 in the execution node 1206 generate the synchronous overlap integrated outline information group 1302 from the acquired integrated outline information group 1300 .
  • the integrated overview information group 1300 includes integrated overview information 1231 to 1233 shown in FIG.
  • each of the integrated summary information 1231 to 1233 there is a connection relationship between left and right adjacent blocks.
  • the integrated overview information 1231 as an example, there is a node connection relationship with the function overview information 1220 and 1223 and a node connection relationship with the function overview information 1223 and 1226 .
  • the function summary information 1223 of the reasoning A 1201 and the function summary information 1229 of the reasoning A 1203 have the same function (reasoning A), but have different IDs (“BBB” and “BBB′”). , are not integrated by judging that they are different nodes.
  • the overlapping integration 1242 determines that they are the same node and integrates them. Output as summary information 1312 . Since the function outline information 1226 to 1228 of the result rendering 1205 are given the same ID “DDD”, the overlap integration 1242 determines that they are the same node, integrates them, and outputs them as overlap integration outline information 1313 . After all of the duplicated function outline information have been integrated with the acquired integrated outline information, the duplicated integrated outline information 1311 to 1313 and the function outline information 1223, 1229, and 1230 are grouped as a duplicated composite outline information group 1301, and node connections are arranged. Output to 1243.
  • the node connection arrangement 1243 confirms the connection relationship of each node with respect to the overlap integration summary information group 1301 acquired from the overlap integration 1242, and for a node having a plurality of preceding nodes, all the preceding nodes output to the node. Synchronous processing information for starting the processing upon completion is added, and output to the configuration information generation 1244 as synchronous duplication integration summary information.
  • connection relationships of nodes in horizontally adjacent blocks are Inherited from group 1300 .
  • the node connection relationship between the function overview information 1220 and 1223 is inherited for the node connection relationship with the function overview information 1223 .
  • the connection relationship of the nodes between the function overview information 1221 and 1224 and the connection relationship of the nodes between the function overview information 1222 and 1225 are inherited.
  • the node connection arrangement 1243 confirms whether or not there is a node connection relationship between the function overview information 1223 and the duplicate/complex overview information 1313 .
  • the function overview information 1223 has a node connection relationship with the function overview information 1226 .
  • the function overview information 1226 is integrated with the overlapping integrated overview information 1313 . Therefore, the node connection sorting out 1243 determines that there is a node connection relationship between the function overview information 1223 and the duplicate/complex overview information 1313 . Therefore, the node connection arrangement 1243 connects the function overview information 1223 and the overlapping compound overview information 1313 . In this way, the node connection arrangement 1243 confirms the connection relationship of the nodes in the group of overlapping integrated overview information 1301 .
  • the node connection arrangement 1243 starts processing after acquiring the outputs of the three preceding nodes (the function outline information 1223 of the reasoning A 1201, the function outline information 1229 of the reasoning A 1203, and the function outline information 1230 of the reasoning C 1204) for the result drawing 1205.
  • the synchronous processing information is added to the group 1301 of overlapping/composite summary information to form a group 1302 of synchronous deduplication integrated summary information, which is output to the configuration information generation 1244 .
  • Synchronous processing information is information that starts processing when output to all of the preceding nodes that exist in multiple nodes is completed.
  • function summary information 1223 of reasoning A 1201, function summary information 1229 of reasoning A 1203, and function summary information 1230 of reasoning C 1204 since there are three nodes (function summary information 1223 of reasoning A 1201, function summary information 1229 of reasoning A 1203, and function summary information 1230 of reasoning C 1204) in the preceding stage of result rendering 1205, overlap integration indicating result rendering 1205 Synchronization processing information 1320 is added to the overview information 1313 .
  • This synchronous processing information 1320 has a function of causing the result drawing 1205 to start processing when output is received from all of the function outline information 1223 , 1229 , and 1230 .
  • the result drawing 1826 waits for the outputs of the inference A1823, inference A1829, and inference C1830 to start processing and synchronize the processing.
  • the overlapped composite summary information 1311 is camera input 1200
  • camera input 1200 is started when an interrupt occurs in all of a plurality of nodes other than camera input 1200. It is possible to add synchronous processing information such as
  • the node connection arrangement 1243 completes the node connection confirmation, generates the synchronous duplication integration summary information group 1302 to which the synchronization processing information 1320 is added, and outputs it to the configuration information generation 1244 .
  • the configuration information generation 1244 generates the synchronous duplication integration summary information group 1302 acquired from the node connection arrangement 1243 as the configuration information 320 .
  • FIG. 14 is a flowchart of detailed generation processing procedures by the generation unit 121 of the design execution system 100 according to the fourth embodiment.
  • the generation unit 121 determines whether the node to be processed is the start node (step S1400). If there is no preceding node, it is determined to be the starting node. If it is not the start node (step S1400: No), the generation unit 121 acquires the function outline information from the previous node (step S1401), and proceeds to the process of step S1402. If it is determined in step S1400 that the node is the start node (step S1400: Yes), the process proceeds to step S1402.
  • step S1402 the generating unit 121 sets a node-specific ID for the node, and proceeds to step S1403.
  • step S1402 the generation unit 121 acquires the number of outputs from the number of nodes connected in the subsequent stage, and proceeds to the processing of step S1404.
  • step S1404 the generation unit 121 outputs integrated function overview information including a unique ID, the number of outputs, and the function overview information of the node to the function overview information acquired from the preceding node to the subsequent node.
  • the process proceeds to S1405.
  • step S1405 the generation unit 121 confirms whether the node to be processed is the end node (step S1405). Specifically, for example, if the node is an execution node, it is an end node. If it is an end node (step S1405: Yes), the process proceeds to step S1406, and if not (step S1405: No), the process proceeds to step S1400.
  • step S1406 the generation unit 121 acquires integrated overview information in function overview information acquisition 1240, and proceeds to the processing of step S1407.
  • step S1407 the generation unit 121 counts the number of acquisitions of the integrated overview information in the output branch count determination 1241, compares it with the number of outputs held in each integrated overview information, and if they match (step S1407: Yes), the accumulated integrated overview information is output to the duplication integration 1242, and the process proceeds to step S1408.
  • step S1408 the generation unit 121 integrates duplicate functions of the nodes using the IDs included in all the acquired integrated outline information in the overlap integration 1242, and converts the integrated integrated outline information into duplicate integrated outline information. generated, and proceeds to step S1409.
  • step S1409 the generation unit 121 confirms the connection relationship of each node from the acquired overlap integration summary information in the node connection arrangement 1243, and for a node having a plurality of preceding nodes, Synchronous processing information is added so as to start processing upon completion of output to the synchronous duplication integration summary information group 1301, and the process advances to step S1410.
  • step S1410 the generation unit 121 generates the acquired synchronous overlap integration summary information group 1301 as the configuration information 320 in the configuration information generation 1244, and the processing of the generation unit 121 ends.
  • each node in the design unit 120 cannot be synchronized even when there are multiple inputs from the preceding node. Also, when the asynchronous system receives any input from the preceding node, it acquires the function summary information of the preceding node, combines the function summary information of the node, and starts the process of outputting it to the subsequent stage. put away. Even in such an asynchronous system, synchronous processing can be executed as a parallel system that is designed to branch.
  • Example 5 will be described with a focus on the differences from Examples 1 to 4.
  • the same reference numerals are given to the points common to the first to fourth embodiments, and the description thereof will be omitted.
  • a detailed processing method will be described in a case where the generated configuration information 320 includes parallel processing and multi-process processing in an asynchronous system.
  • the fifth embodiment provides a system capable of executing synchronous processing for parallel processing and multi-process processing in such a system.
  • FIG. 15 is an explanatory diagram of a detailed processing example of configuration information generation in the generation unit 121 of the design execution system 100 according to the fifth embodiment.
  • a camera input 1500, an inference A 1501, an inference B 1502, an inference C 1504, a result drawing 1505, an image distribution 1506, and an execution node 1507 exist as a node group.
  • the output of camera input 1500 is connected by vector 1510 to the input of inference A 1501 and by vector 1511 to the input of inference B 1502 .
  • the output of reason A 1501 is connected by vector 1512 to the input of reason C 1504 .
  • the output of Inference B 1502 is connected by a vector 1513 to the input of Inference C 1504.
  • the output of Inference C 1504 is connected by vector 1510 to the input of Render Result 1505 , and the output of Inference C 1504 is connected by vector 1511 to the input of Image Delivery 1506 .
  • the output of render result 1505 is connected to the input of execution node 1507 by vector 1517 .
  • the output of image distribution 1506 is connected to the input of execution node 1507 by vector 1513 .
  • the fifth embodiment differs from the fourth embodiment in that flag signals are added to branched nodes after parallelization.
  • a flag signal is a signal for distinguishing a branch.
  • the generation unit 121 sets the value of the ID to "AAA” in the camera input 1500, and sets the set ID "AAA” as the function outline information 1520.
  • the generation unit 121 outputs the function overview information 1520 from the camera input 1500 to the inference A 1501 and the inference B 1502 in the subsequent stage. In this case, since the output of the camera input 1500 is branched not only to the inference A 1501 but also to the inference B 1502, the number of outputs is "2".
  • the generation unit 121 outputs a flag signal for a node that has a plurality of nodes in the subsequent stage and has a branch. Specifically, in the camera input 1500, the generation unit 121 outputs the flag signal “1” and the flag signal “2” together with the function overview information 1520 to the inference A 1501 and the inference B 1502 in the subsequent stages.
  • the generation unit 121 assigns individual numbers to the same information, as in the fourth embodiment. Function outline information may be given to the subsequent node. However, in the fifth embodiment, in order to emphasize the difference from the fourth embodiment, some branches will be given the same numbers and the function overview information will be output to the subsequent node.
  • the function overview information of the camera input 1500 may be assigned different numbers and output to the reasoning A 1501 and the reasoning B 1502 as in the fourth embodiment, but here the function overview information 1520 assigned the same number is , the generation unit 121 outputs to inference A 1501 and inference B 1502 .
  • the generation unit 121 sets the ID value to "BBB" in the inference A1501, and acquires the function overview information 1520 and the flag signal "1" from the camera input 1500, which is the preceding node.
  • Inference C1504 is the only node connected to the stage after Inference A1501, and the output of Inference A1501 does not branch. becomes.
  • the function outline information 1521 is the ID "BBB", the "reasoning A”, the number of outputs "2", and the flag signal "1".
  • the generation unit 121 outputs integrated overview information including the function overview information 1521 and the function overview information 1520 acquired from the camera input 1500 to the inference C1504 in the subsequent stage.
  • the generation unit 121 sets the ID value to "CCC" in inference B1502, and acquires the function overview information 1520 from the camera input 1500, which is the preceding node.
  • Inference C1504 is the only node connected to the stage after Inference B1502, and the output of Inference B1502 does not branch. becomes.
  • the ID “CCC”, the “inference B”, the number of outputs "2”, and the flag signal "2" are used as the function overview information 1522.
  • the generation unit 121 outputs integrated overview information including the function overview information 1522 and the function overview information 1520 acquired from the camera input 1500 to the inference C1504 in the subsequent stage.
  • the generation unit 121 sets the ID value to "DDD" in the inference C1504, and acquires the function overview information from the inference A1501 and inference A1502, which are the preceding nodes, in random order.
  • DDD the ID value
  • the generation unit 121 sets the ID value to "DDD" in the inference C1504, and acquires the function overview information from the inference A1501 and inference A1502, which are the preceding nodes, in random order.
  • the generation unit 121 sets the ID value to "DDD" in the inference C1504, and acquires the function overview information 1520 and 1521 from the inference A1501, which is the preceding node.
  • the generation unit 121 acquires the number of outputs “2” from the number of nodes (result rendering 1505, image distribution 1506) connected in the subsequent stage by reasoning C1504.
  • the generation unit 121 detects the presence of the flag signal "1" by inference C1504, and detects that there is already a branch at the previous node including the previous node. Then, the generation unit 121 sets the number of outputs to "4" in order to consider all branch combinations considering the branches of the nodes before the previous stage and the branches of the nodes of the subsequent stage. That is, the number of flag signals is set to "2" ⁇ the number of outputs is "2", and the number of outputs is set to "4".
  • the generation unit 121 prepares the flag signal "3" and the flag signal "4" because the node after the inference C1504 is branched. Then, in inference C 1504 , ID “DDD” and “inference C” are set as function overview information 1523 . The generation unit 121 outputs the function outline information 1523 and the function outline information 1520 and 1521 acquired from the preceding nodes as integrated outline information to the subsequent result rendering 1505 and image distribution 1506 . The generation unit 121 also outputs the flag signal “3” and the flag signal “4” prepared by the inference C 1504 to the result drawing 1505 and the image distribution 1506, respectively.
  • the generation unit 121 sets the ID value to "DDD" in the inference C1504, and acquires the function overview information 1520 and 1522 from the inference B1502, which is the preceding node.
  • the generation unit 121 acquires the number of outputs “2” from the number of nodes (result rendering 1505, image distribution 1506) connected in the subsequent stage by reasoning C1504.
  • the generation unit 121 detects the presence of the flag signal "1" by inference C1504, and detects that there is already a branch at the previous node including the previous node. Then, the generation unit 121 sets the number of outputs to "4" in order to consider all branch combinations considering the branches of the nodes before the previous stage and the branches of the nodes of the subsequent stage.
  • the generation unit 121 prepares the flag signal "3" and the flag signal "4" because the node after the inference C1504 is branched. Then, in inference C 1504 , the ID “DDD” and “inference C” are used as function overview information 1524 . The generation unit 121 outputs the function outline information 1524 and the function outline information 1520 and 1522 acquired from the preceding nodes as integrated outline information to the subsequent result rendering 1505 and image distribution 1506 . The generation unit 121 also outputs the flag signal “3” and the flag signal “4” prepared by the inference C 1504 to the result drawing 1505 and the image distribution 1506, respectively.
  • Inference C 1504 precedes result rendering 1505 and image delivery 1506 .
  • the processing of result drawing 1505 and image distribution 1506 will first be described by focusing only on the processing of inference C 1504 , result drawing 1505 and image distribution 1506 which are preceding nodes.
  • the generation unit 121 sets the ID value to "EEE" in the result rendering 1505, and acquires the function outline information 1520, 1521, 1523 and the flag signal "3" from the inference C1504, which is the preceding node.
  • Execution node 1507 is the only node connected to the subsequent stage of result rendering 1505, and the output of result rendering 1505 does not branch. It becomes "4".
  • the generation unit 121 outputs integrated overview information including the function overview information 1525 and the function overview information 1520, 1521, and 1523 acquired from the inference C 1504 to the subsequent execution node 1507.
  • FIG. 1 the ID "EEE”, “drawing result”, the number of outputs "4", and the flag signal "3" are used as function overview information 1525.
  • the generation unit 121 outputs integrated overview information including the function overview information 1525 and the function overview information 1520, 1521, and 1523 acquired from the inference C 1504 to the subsequent execution node 1507.
  • the generation unit 121 sets the ID value to "FFF" in the image delivery 1506, and acquires the function overview information 1520, 1521, and 1523 and the flag signal "4" from the inference C1504, which is the preceding node. Since the execution node 1507 is the only node connected to the subsequent stage of the image delivery 1506, and the output of the image delivery 1506 does not branch, the number of outputs "4" acquired from the inference C1504 is inherited, and the number of outputs of the image delivery 1506 is It becomes "4".
  • the generation unit 121 outputs the integrated overview information including the function overview information 1526 and the function overview information 1520, 1521, and 1523 acquired from the inference C 1504 to the subsequent execution node 1507.
  • the output from the inference C 1504 is transferred to the result rendering 1505 and the image distribution 1506 respectively. obtained and processed.
  • inference C1504 since there is a branch in the path passing through vector 1510 and vector 1511 at the node before the preceding node (inference C1504), in inference C1504, two processes are started according to the outputs from inference A1501 and inference B1502. . That is, the inference C 1504 outputs the function overview information 1523 following the path of the inference A 1501 and the function overview information 1524 following the path of the inference B 1502 to the result drawing 1505 and the image delivery 1506, respectively.
  • execution node 1507 has integrated overview information including the function overview information 1520, 1521, 1523, 1525; , 1527 and integrated overview information including function overview information 1520, 1522, 1524, 1528 are obtained. That is, execution node 1507 is activated four times.
  • Execution node 1507 differs from execution node 1206 of the fourth embodiment in that flag signal confirmation 1540 is added.
  • Flag signal confirmation 1540 confirms whether all added flag signals are included in the acquired integrated overview information, and accumulates the acquired integrated overview information until all flag signals can be confirmed. If all added flag signals have been validated, flag signal validation 1540 outputs the accumulated integration summary information to duplicate integration 1242 .
  • FIG. 16 is a flowchart of detailed generation processing procedures by the generation unit 121 of the design execution system 100 according to the fifth embodiment.
  • FIG. 16 shows an example of generating configuration information using ID assignment, output number setting, duplicate integration, flag confirmation, etc. in the generation unit 121 of the design execution system 100 according to the fifth embodiment.
  • step S1600 the generation unit 121 determines whether the output of the node to be processed is branched (step S1600). If the output of the node is branched (step S1600: Yes), the process proceeds to step S1601, and if the output of the node is not branched (step S1600: No), the process proceeds to step S1405.
  • step S1601 the generation unit 121 causes the node to output a flag signal to the subsequent node, and the subsequent node sets the acquired flag signal to the function overview information, and proceeds to the process of step S1405.
  • step S1602 the generation unit 121 checks in flag signal confirmation 1440 whether all the added flag signals are included in the acquired integrated summary information. If all the added flag signals have been confirmed (step S1602: Yes), the generation unit 121 outputs the accumulated integrated summary information to the overlapping integration 1242, and proceeds to step S1408. If all the added flag signals cannot be confirmed (step S1602: No), generating section 121 accumulates the acquired integrated summary information, and proceeds to step S1400.
  • FIG. 17 is an explanatory diagram of a detailed processing example of configuration information generation in the generation unit 121 of the design execution system 100 according to the sixth embodiment.
  • Embodiment 6 differs from Embodiments 4 and 5 in that the function overview information includes two-dimensional coordinate information 1730 to 1740 in the workspace 240 where each node is arranged, and priority confirmation is performed in the execution node 1706. 1750 was added.
  • the two-dimensional coordinate information 1730 to 1740 are the two-dimensional coordinate positions in the workspace 240 where the nodes are arranged when assigning IDs to each node, and are added to the function overview information.
  • the priority confirmation 1750 confirms the position of each node in the acquired synchronous duplication/integration summary information group 1301, and preferentially processes the paths higher on the vertical axis of the two-dimensional coordinates in the work space 240.
  • the process priority is added so as to be executed, and output to the configuration information generation 1244 as prioritized synchronous duplication integration summary information.
  • the node of reasoning A 1201 is located at the top in terms of arrangement, so processing with a higher priority is executed. This priority is also inherited by subsequent nodes. In other words, camera input 1200, reasoning A 1201, and result drawing 1205 are preferentially processed by other paths.
  • FIG. 18 is an explanatory diagram showing a specific example 1 of the processes of duplication integration 1242 and node connection arrangement 1243 according to the sixth embodiment.
  • FIG. 18 shows a change in the integrated outline information from the integrated outline information group 1800 acquired by the overlap integration 1242 and the node connection arrangement 1243 in the execution node 1206 to the overlap composite outline information group 1801 .
  • the overlapping integration 1242 is determined to be the same node. , and output as overlapping and integrated summary information 1811 .
  • the overlapping integration 1242 is performed with the same node. It judges and integrates them, and outputs them as overlapping integrated overview information 1812 .
  • the overlap integration 1242 determines that they are the same node and integrates them. Output as integrated overview information 1313 .
  • the function outline information 1230 is also given the ID “EEE”, but the two-dimensional coordinate information 1738 is different from the two-dimensional coordinate information 1739 and 1740, so the function outline information 1230 is not integrated with the overlapping integrated outline information 1313 .
  • FIG. 19 is an explanatory diagram showing a specific example 2 of the processes of duplication integration 1242 and node connection arrangement 1243 according to the sixth embodiment.
  • FIG. 19 shows a change in the integrated summary information from the overlapping composite summary information group 1801 to the synchronous duplicate integrated summary information group 1802 .
  • the node connection arrangement 1243 provides node connection confirmation and synchronization processing information 1920
  • the priority confirmation 1750 includes duplicate integration overview information 1811 (camera input 1200), function overview information 1223 (inference A 1201), and function overview information 1226 ( A priority 1930 is given to the combination of result drawing 1205 ), that is, to the integrated summary information 1231 .
  • the integrated outline information 1231 for which the priority 1930 is set is preferentially executed over the integrated outline information 1232 and 1233 . In this way, a prioritized synchronous duplication integration summary information group 1902 is generated. As a result, for example, it is possible to suppress the processing time and execute high-priority processing.
  • FIG. 20 is a flowchart of detailed generation processing procedures by the generation unit 121 of the design execution system 100 according to the sixth embodiment.
  • FIG. 20 shows an example of generating configuration information using ID allocation, output number setting, duplicate integration, flag confirmation, etc. in the generation unit 121 of the design execution system 100 according to the sixth embodiment.
  • step S2000 the generation unit 121 acquires the two-dimensional coordinates of the position where the node is arranged in the work space 240, and outputs them to step S1404.
  • step S2001 the generation unit 121 confirms the position of each node in the priority confirmation 1650, and performs processing so that the processing of the path that is higher on the vertical axis on the two-dimensional coordinates is preferentially executed. is added to generate prioritized synchronous duplication and integration overview information, and the process proceeds to step S1410.
  • the system to be designed can be designed using a graphical user interface, and the system can be executed even from the design base. Therefore, the system can be executed by the execution base alone at the time of execution after system design.
  • design execution devices according to the first to sixth embodiments described above can be configured as shown in (1) to (11) below.
  • the design support device (client 110 ) has a design section 120 , a generation section 121 and an execution section 123 .
  • the design unit 120 has, for each function, a node containing outline information defining information specifying the process without the entity of the process that realizes the function.
  • Execution order data (system information) that defines the execution order of a specific function group related to the design object is generated by connecting a specific node group related to the object.
  • the generation unit 121 inherits the outline information of the preceding node in the specific node group to the succeeding node connected to the succeeding node of the preceding node, thereby obtaining the specified node.
  • the design object configuration information 320 is generated in which the outline information used in each of the function groups is defined according to the execution order.
  • the execution unit 123 uses the configuration information 320 generated by the generation unit 121 to materialize processes for realizing the specific function group, and executes the materialized processes in the execution order.
  • the design unit 120 displays the nodes for each of the functions, and connects the plurality of nodes by an external operation (for example, a designer operating the input device 204). is possible, and the execution order data is generated by connecting the specific node group.
  • the design target can be designed using a graphical user interface, improving convenience for designers.
  • the design section 120 displays detailed setting screens 246 to 248 as the outline information of the node by the external operation.
  • the generation unit 121 refers to the execution order data, and if there is the preceding node for each node of the specific node group, Integrated outline information is generated by integrating the outline information and the outline information of the node, and if the integrated outline information of the preceding node is generated by the preceding node, the integrated outline information of the preceding node and the outline information of the node , and outputs the integrated outline information generated at the final stage node as the configuration information 320 .
  • the generating unit 121 adds a first identification that uniquely identifies the outline information within the integrated outline information to each of a plurality of pieces of outline information within the integrated outline information. If the information (ID) is not assigned, the first identification information (ID) is assigned (step S801).
  • the first identification information is set in the outline information from the top node to the node in accordance with the execution order in each node. Processes that implement a particular set of functions are executed in sequence. Therefore, the convenience for the designer is improved.
  • the generating unit 121 generates a plurality of preceding nodes for each node of the specific node group, and the plurality of preceding nodes have the same first node. If there is different summary information to which one identification information is assigned, second identification information (sub-ID) that distinguishes the different summary information is assigned to the first identification information (step S804).
  • the overlap of the first identification information is eliminated without the designer being conscious of the overlap of the first identification information simply by connecting the nodes, and parallel processing and multi-process processing can be realized.
  • the generating unit 121 generates a plurality of preceding nodes for each node of the specific node group, and the plurality of preceding nodes have the same outline information. exists, the duplication of the same outline information is eliminated and inherited by the succeeding node (step S803).
  • the designer can avoid redundant execution of the same process in the execution unit 123 by simply connecting the nodes without being aware of the duplication of the outline information. Therefore, efficiency of design can be improved, and convenience for the designer is improved.
  • the design execution device of (1) above has a holding unit 122 that holds a function group 420 that is a set of the functions and the configuration information 320, and the execution unit 123 stores the above information in the holding unit 122.
  • the specific function group is selected from the function group 420 held in the holding unit 122, and the specific function group is selected using the configuration information 320. is materialized, and the materialized processes are executed in the execution order.
  • the system can be executed by the execution unit 123 alone at the time of execution after system design without executing the design unit 120 and the generation unit 121. Therefore, efficiency of design can be improved, and convenience for the designer is improved. For example, during execution by the execution unit 123, there is no need to activate Nod-RED, which constitutes the design unit 120, and press the start button. Execution by the execution unit 123 is started only by turning on the power supply of the design execution device. Alternatively, the executing unit 123 may be started by starting from a specific program or by using a start signal as a signal.
  • the holding unit 122 holds a containerized function group 1120 obtained by containerizing the function group 420, and the execution unit 123 is held in the holding unit 122.
  • the specific containerized function group is selected from the containerized function group 1120, the specific containerized function group is materialized using the configuration information, and the materialized processes are executed in the execution order.
  • the generation unit 121 identifies the position of the node based on identification information (ID) that uniquely identifies the node and the number of the subsequent nodes to be connected. and the number of outputs indicating the number of execution paths of the execution order data to be executed, are stored in the summary information, and synchronization processing information is added to start processing when the output from the preceding node to the node is completed. By doing so, the configuration information 320 is generated.
  • ID identification information
  • synchronous processing (calling execution nodes) can be executed for parallel processing and multi-process processing in an asynchronous system.
  • the generation unit 121 determines whether or not the integration overview information for the number of outputs has been acquired at the node of the final stage based on the number of outputs. , when acquired, the configuration information 320 is generated by adding the synchronization processing information.
  • the generating unit 121 integrates a plurality of pieces of the outline information having the same identification information among the integrated outline information corresponding to the number of outputs to generate integrated outline information.
  • the configuration information 320 is generated by generating and adding the synchronization processing information to the integrated outline information.
  • the generation unit 121 acquires a flag signal regarding the number of branches for each of the latter nodes, and in the final stage node, based on the flag signal and the number of outputs, it is determined whether or not the integrated summary information for the number of outputs has been acquired.
  • the configuration information 320 is generated by adding the synchronization processing information.
  • the nodes branched for parallelization are once aggregated into one node, and after the parallelization is aggregated, even in the asynchronous system that is parallelized again, synchronous processing (calling the execution node) can be executed. can.
  • the generation unit 121 acquires coordinate information indicating the coordinate positions where each node of the specific node group is arranged in the workspace 240 by the external operation, It is held in the summary information of the node.
  • the generation unit 121 sets the priority of a plurality of execution paths included in the execution order data based on the coordinate information in the final stage node. Thus, the configuration information 320 is generated.
  • a priority can be set for each execution path, and processes related to execution paths can be executed according to the priority.
  • the present invention is not limited to the embodiments described above, and includes various modifications and equivalent configurations within the scope of the attached claims.
  • the above-described embodiments have been described in detail in order to facilitate understanding of the present invention, and the present invention is not necessarily limited to those having all the described configurations.
  • part of the configuration of one embodiment may be replaced with the configuration of another embodiment.
  • the configuration of another embodiment may be added to the configuration of one embodiment.
  • other configurations may be added, deleted, or replaced with respect to a part of the configuration of each embodiment.
  • each configuration, function, processing unit, processing means, etc. described above may be realized by hardware, for example, by designing an integrated circuit, for example, by designing a part or all of them, and the processor 201 performs each function. It may be realized by software by interpreting and executing a program to be realized.
  • Storage devices such as memory, hard disk, SSD (Solid State Drive), or IC (Integrated Circuit) card, SD card, DVD (Digital Versatile Disc) Can be stored on media.
  • control lines and information lines indicate those that are considered necessary for explanation, and do not necessarily indicate all the control lines and information lines necessary for implementation. In fact, it can be considered that almost all configurations are interconnected.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

This design execution device comprises: a design unit that includes, for respective functions, nodes including overview information prescribing information specifying processing for implementing functions without the substance of the aforementioned processing, the design unit enabling connection of a plurality of the nodes through an external operation, and generating execution order data prescribing an order of execution for a specific group of functions through connection of a specific group of nodes; a generation unit for generating configuration information whereby the overview information to use with each of the specific group of functions is prescribed in accordance with the order of execution, by inheritance of the overview information of a preceding-stage node among the specific group of nodes to a later-stage node connected to a later stage from the preceding-stage node in accordance with the execution order data generated by the design unit; and an execution unit for substantiating the processing for implementing the specific group of functions by using the configuration information generated by the generation unit, and executing the substantiated processing in the order of execution.

Description

設計実行装置、設計実行システム、および設計実行方法DESIGN EXECUTION DEVICE, DESIGN EXECUTION SYSTEM, AND DESIGN EXECUTION METHOD 参照による取り込みImport by reference
 本出願は、令和3年(2021年)10月14日に出願された日本出願である特願2021-168779および令和4年(2022年)9月5日に出願された日本出願である特願2022-140736の2件の優先権を主張し、その内容を参照することにより、本出願に取り込む。 This application is Japanese Patent Application No. 2021-168779 filed on October 14, 2021 and Japanese application filed on September 5, 2022. Two priority claims of Japanese Patent Application No. 2022-140736 are claimed, and the contents thereof are incorporated into the present application by reference.
 本発明は、対象システムを設計し、実行する設計実行装置、設計実行システム、および設計実行方法に関する。 The present invention relates to a design execution device, a design execution system, and a design execution method for designing and executing a target system.
 本技術分野の背景技術として、特許文献1は、グラフ形式で記述されるデータ処理をターゲットデバイスで実行するためのプログラムを生成するプログラム開発支援装置を開示する。このプログラム開発支援装置は、GUI部とプログラム生成部と処理実行関数データベースとデータ転送関数データベースとを備える。このプログラム開発支援装置では、データ処理に含まれるある処理が、ターゲットデバイスに搭載される異種の演算装置で実行可能である場合に、処理実行関数データベースにはそれぞれの演算装置で当該処理を実行するための処理実行関数を保持し、データ転送関数データベースにはそのためのデータ転送関数を保持する。プログラム開発支援装置は、当該処理をどの演算装置で実行させるかはGUI部で選択可能とし、プログラム生成部は、選択された演算装置に対応する処理実行関数とデータ転送関数を読み込んで、目的とするデータ処理をターゲットデバイスで実行させるためのプログラムを生成する。 As a background art in this technical field, Patent Document 1 discloses a program development support device that generates a program for executing data processing described in graph form on a target device. This program development support device includes a GUI section, a program generation section, a process execution function database, and a data transfer function database. In this program development support device, when a certain process included in data processing can be executed by a different kind of arithmetic unit installed in the target device, the processing execution function database stores the processing execution function database so that each arithmetic unit can execute the process. A data transfer function database holds a data transfer function for that purpose. The program development support device allows the GUI unit to select which processing unit is to execute the processing, and the program generation unit reads the processing execution function and the data transfer function corresponding to the selected processing unit, Generate a program to execute data processing on the target device.
特開2017-062554号公報JP 2017-062554 A
 目的とするデータ処理をターゲットデバイスで実行させるためのプログラムを生成するために、上記特許文献1に記載された技術では、データ処理方法をグラフ形式から読み取る必要がある。しかしながら、その読み取り方法の詳細が不明瞭である。 In order to generate a program for executing the target data processing on the target device, the technology described in Patent Document 1 needs to read the data processing method from the graph format. However, the details of the reading method are unclear.
 また、上記特許文献1はプログラム生成してもプログラムを実行する詳細な処理の記載はなく、特にプログラム生成とプログラム実行の実行基盤が異なる場合には生成したプログラムから、プログラムを実行するまでのプロセスを別途用意する必要がある。したがって、生成したプログラムの動作を検証することはできない。 In addition, even if the program is generated, the above-mentioned Patent Document 1 does not describe detailed processing for executing the program. must be prepared separately. Therefore, the behavior of the generated program cannot be verified.
 本発明は、設計および実行の利便性の向上を図ることを目的とする。 The purpose of the present invention is to improve the convenience of design and execution.
 本願において開示される発明の一側面となるシステム設計実行装置は、機能を実現する処理の実体がなく前記処理を特定する情報を規定した概要情報を含むノードを機能ごとに有し、外部操作により複数の前記ノードの接続が可能であり、特定のノード群の接続により特定の機能群の実行順序を規定する実行順序データを生成する設計部と、前記設計部によって生成された実行順序データに従って、前記特定のノード群のうち前段ノードの概要情報を前記前段ノードの後段に接続される後段ノードに継承することにより、前記特定の機能群の各々で用いられる前記概要情報を前記実行順序に従って規定した構成情報を生成する生成部と、前記生成部によって生成された構成情報を用いて前記特定の機能群を実現する処理を実体化して、実体化した処理を前記実行順序で実行する実行部と、を有することを特徴とする。 A system design execution device, which is one aspect of the invention disclosed in the present application, has a node for each function that does not have the substance of a process that realizes the function, and that includes summary information that specifies information specifying the process, A design unit that can connect a plurality of the nodes and generates execution order data that defines the execution order of a specific function group by connecting a specific node group, and according to the execution order data generated by the design unit, The outline information used in each of the specified function groups is defined according to the execution order by inheriting the outline information of the preceding node of the specified node group to the succeeding node connected to the succeeding stage of the preceding node. a generation unit that generates configuration information; an execution unit that materializes processes for realizing the specific function group using the configuration information generated by the generation unit and executes the materialized processes in the execution order; characterized by having
 本発明の代表的な実施の形態によれば、設計および実行の利便性の向上を図ることができる。前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。 According to the representative embodiment of the present invention, it is possible to improve the convenience of design and execution. Problems, configurations, and effects other than those described above will be clarified by the following description of the embodiments.
図1は、実施例1にかかる設計実行システムのシステム構成例を示す説明図である。FIG. 1 is an explanatory diagram of a system configuration example of a design execution system according to a first embodiment. 図2は、コンピュータのハードウェア構成例を示すブロック図である。FIG. 2 is a block diagram showing a hardware configuration example of a computer. 図3は、実施例1にかかる設計実行システムの機能的構成例を示すブロック図である。FIG. 3 is a block diagram of a functional configuration example of the design execution system according to the first embodiment; 図4は、実施例1にかかる設計部による詳細なシステム設計方法を示す説明図である。FIG. 4 is an explanatory diagram of a detailed system design method by the design department according to the first embodiment; 図5は、実施例1にかかる生成部による詳細な構成情報生成方法を示す説明図である。FIG. 5 is an explanatory diagram of a detailed configuration information generation method by the generation unit according to the first embodiment; 図6は、実施例1にかかる機能生成部と生成部と保持部と実行部と制御部と処理デバイスのシステム実行に関する詳細な処理を示す説明図である。FIG. 6 is an explanatory diagram of detailed processing related to system execution of the function generation unit, generation unit, holding unit, execution unit, control unit, and processing device according to the first embodiment. 図7は、実施例1にかかる設計実行システムによるシステム設計から実行までの詳細な処理手順例を示すフローチャートである。FIG. 7 is a flowchart of a detailed processing procedure example from system design to execution by the design execution system according to the first embodiment. 図8は、実施例2にかかる設計実行システムによるID割当ての詳細な処理手順を示すフローチャートである。FIG. 8 is a flowchart of detailed processing procedures for ID assignment by the design execution system according to the second embodiment. 図9は、実施例2にかかる生成部による詳細な構成情報生成方法を示す説明図である。FIG. 9 is an explanatory diagram of a detailed configuration information generation method by a generation unit according to the second embodiment; 図10は、実施例2にかかる実行部におけるシステム実行の際の詳細なタイミングチャート例を示す説明図である。FIG. 10 is an explanatory diagram of an example of a detailed timing chart when the execution unit executes the system according to the second embodiment; 図11は、実施例3にかかる設計実行システムの機能的構成例を示すブロック図である。FIG. 11 is a block diagram of a functional configuration example of a design execution system according to a third embodiment; 図12は、実施例4にかかる設計実行システムの生成部における構成情報生成の詳細な処理例を示す説明図である。FIG. 12 is an explanatory diagram of a detailed processing example of configuration information generation in the generation unit of the design execution system according to the fourth embodiment. 図13は、重複統合およびノード接続整理の処理の具体例を示す説明図である。FIG. 13 is an explanatory diagram showing a specific example of processing for duplication integration and node connection arrangement. 図14は、実施例4にかかる設計実行システムの生成部による詳細な生成処理手順を示すフローチャートである。FIG. 14 is a flowchart of detailed generation processing procedures by the generation unit of the design execution system according to the fourth embodiment. 図15は、実施例5にかかる設計実行システムの生成部における構成情報生成の詳細な処理例を示す説明図である。FIG. 15 is an explanatory diagram of a detailed processing example of configuration information generation in the generation unit of the design execution system according to the fifth embodiment. 実施例5にかかる設計実行システムの生成部による詳細な生成処理手順を示すフローチャートである。FIG. 16 is a flow chart showing detailed generation processing procedures by a generation unit of the design execution system according to the fifth embodiment; FIG. 図17は、実施例6にかかる設計実行システムの生成部における構成情報生成の詳細な処理例を示す説明図である。FIG. 17 is an explanatory diagram of a detailed processing example of configuration information generation in the generation unit of the design execution system according to the sixth embodiment. 実施例6にかかる設計実行システムの生成部による詳細な生成処理手順を示すフローチャートである。FIG. 13 is a flow chart showing detailed generation processing procedures by a generation unit of the design execution system according to the sixth embodiment; FIG. 図19は、実施例6にかかる重複統合およびノード接続整理の処理の具体例2を示す説明図である。FIG. 19 is an explanatory diagram of a specific example 2 of the overlap integration and node connection arrangement processing according to the sixth embodiment. 図20は、実施例6にかかる設計実行システムの生成部による詳細な生成処理手順を示すフローチャートである。FIG. 20 is a flowchart of detailed generation processing procedures by the generation unit of the design execution system according to the sixth embodiment.
 以下、本発明に係る実施の形態を図面に基づいて説明する。以下に示す実施例は、本発明を説明するための例示であって、説明の明確化のため、適宜、省略および簡略化がなされている。本発明は、他の種々の形態でも実施することが可能である。特に限定しない限り、各構成要素は単数でも複数でも構わない。 Hereinafter, embodiments according to the present invention will be described based on the drawings. The examples shown below are examples for explaining the present invention, and are appropriately omitted and simplified for clarity of explanation. The present invention can also be implemented in various other forms. Unless otherwise specified, each component may be singular or plural.
 図面において示す各構成要素の位置、大きさ、形状、範囲などは、発明の理解を容易にするため、実際の位置、大きさ、形状、範囲などを表していない場合がある。このため、本発明は、必ずしも、図面に開示された位置、大きさ、形状、範囲などに限定されない。 The position, size, shape, range, etc. of each component shown in the drawings may not represent the actual position, size, shape, range, etc. in order to facilitate the understanding of the invention. As such, the present invention is not necessarily limited to the locations, sizes, shapes, extents, etc., disclosed in the drawings.
 各種情報の例として、「テーブル」、「リスト」、「キュー」等の表現にて説明することがあるが、各種情報はこれら以外のデータ構造で表現されてもよい。たとえば、「XXテーブル」、「XXリスト」、「XXキュー」等の各種情報は、「XX情報」としてもよい。識別情報について説明する際に、「識別情報」、「識別子」、「名」、「ID」、「番号」等の表現を用いるが、これらについてはお互いに置換が可能である。 As examples of various types of information, expressions such as "table", "list", and "queue" may be used for explanation, but various types of information may be expressed in data structures other than these. For example, various information such as "XX table", "XX list", and "XX queue" may be referred to as "XX information". When describing identification information, expressions such as “identification information”, “identifier”, “name”, “ID”, and “number” are used, but these can be replaced with each other.
 同一あるいは同様の機能を有する構成要素が複数ある場合には、同一の符号に異なる添字を付して説明する場合がある。また、これらの複数の構成要素を区別する必要がない場合には、添字を省略して説明する場合がある。 When there are multiple components that have the same or similar functions, they may be described with the same reference numerals with different suffixes. Further, when there is no need to distinguish between these constituent elements, the subscripts may be omitted in the description.
 実施例において、プログラムを実行して行う処理について説明する場合がある。ここで、計算機は、プロセッサ(例えばCPU、GPU)によりプログラムを実行し、記憶資源(例えばメモリ)やインターフェースデバイス(例えば通信ポート)等を用いながら、プログラムで定められた処理を行う。そのため、プログラムを実行して行う処理の主体を、プロセッサとしてもよい。同様に、プログラムを実行して行う処理の主体が、プロセッサを有するコントローラ、装置、システム、計算機、ノードであってもよい。プログラムを実行して行う処理の主体は、演算部であれば良く、特定の処理を行う専用回路を含んでいてもよい。ここで、専用回路とは、例えばFPGA(Field Programmable Gate Array)やASIC(Application Specific Integrated Circuit)、CPLD(Complex Programmable Logic Device)等である。 In the examples, the processing performed by executing the program may be explained. Here, the computer executes a program by means of a processor (eg, CPU, GPU) and performs processing determined by the program while using storage resources (eg, memory) and interface devices (eg, communication port). Therefore, the main body of the processing performed by executing the program may be the processor. Similarly, a main body of processing executed by executing a program may be a controller having a processor, a device, a system, a computer, or a node. The subject of the processing performed by executing the program may be an arithmetic unit, and may include a dedicated circuit for performing specific processing. Here, the dedicated circuit is, for example, FPGA (Field Programmable Gate Array), ASIC (Application Specific Integrated Circuit), CPLD (Complex Programmable Logic Device), or the like.
 プログラムは、プログラムソースから計算機にインストールされてもよい。プログラムソースは、例えば、プログラム配布サーバまたは計算機が読み取り可能な記憶メディアであってもよい。プログラムソースがプログラム配布サーバの場合、プログラム配布サーバはプロセッサと配布対象のプログラムを記憶する記憶資源を含み、プログラム配布サーバのプロセッサが配布対象のプログラムを他の計算機に配布してもよい。また、実施例において、2以上のプログラムが1つのプログラムとして実現されてもよいし、1つのプログラムが2以上のプログラムとして実現されてもよい。 The program may be installed on the computer from the program source. The program source may be, for example, a program distribution server or a computer-readable storage medium. When the program source is a program distribution server, the program distribution server may include a processor and storage resources for storing the distribution target program, and the processor of the program distribution server may distribute the distribution target program to other computers. Also, in the embodiment, two or more programs may be implemented as one program, and one program may be implemented as two or more programs.
 <設計実行システム>
 図1は、設計実行システム100は、サーバ111と、1台以上のクライアント110と、を有する。サーバとクライアントとは、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)などのネットワーク101を介して通信可能に接続される。サーバ111は、クライアント110を管理するコンピュータである。
<Design execution system>
The design execution system 100 shown in FIG. 1 has a server 111 and one or more clients 110 . The server and client are communicably connected via a network 101 such as the Internet, a LAN (Local Area Network), or a WAN (Wide Area Network). A server 111 is a computer that manages the client 110 .
 設計実行システム100は、機能群作成機能と、構成情報生成機能と、システム実行機能と、を有する。機能群作成機能は、設計実行システム100を使用するユーザの操作によりシステム設計に必要な機能を処理単位ごとに作成する。構成情報生成機能は、個々のユーザが実現したいシステムを機能群作成機能より得られた機能群から選択した機能を組み合わせることにより設計し、設計したシステムの情報を構成情報として生成する。システム実行機能は、構成情報から、設計したシステムを実行する。 The design execution system 100 has a function group creation function, a configuration information generation function, and a system execution function. The function group creation function creates functions required for system design for each processing unit by the operation of the user using the design execution system 100 . The configuration information generation function designs a system desired by an individual user by combining functions selected from a function group obtained from the function group creation function, and generates information on the designed system as configuration information. The system execution function executes the designed system from the configuration information.
 機能群作成機能、構成情報生成機能およびシステム実行機能は、設計実行システム100に実装されていれば、サーバ111およびクライアント110のいずれに実装されていてもよい。たとえば、サーバ111が機能群作成機能を実装し、クライアント110が構成情報生成機能およびシステム実行機能を実装してもよい。また、サーバ111が機能群作成機能およびシステム設計機能を実装し、クライアント110はシステム実行機能を保有し、サーバ111が設計したシステムを受信して、受信したシステムを実行するだけでもよい。 The function group creation function, configuration information generation function, and system execution function may be implemented in either the server 111 or the client 110 as long as they are implemented in the design execution system 100 . For example, server 111 may implement the function group creation function, and client 110 may implement the configuration information generation function and the system execution function. Alternatively, the server 111 may implement the function group creation function and the system design function, and the client 110 may have the system execution function, receive the system designed by the server 111, and execute the received system.
 なお、機能群作成機能を実装するコンピュータを機能群作成装置と称し、構成情報生成機能およびシステム実行機能のうち少なくともシステム実行機能を実装するコンピュータを設計実行装置と称す。また、図1では、クライアントサーバ型の設計実行システム100を例に挙げたが、スタンドアロン型のシステム設計実行装置でもよい。実施例1では、説明の便宜上、サーバ111が機能群作成機能を実装した機能群作成装置であり、クライアント110がシステム実行機能を実装した設計実行装置である設計実行システム100を例に挙げて説明する。なお、クライアント110は、ネットワーク101を介して通信可能な不図示の外部装置(サーバ111でもよい)のブラウザに情報を送信し、外部装置のブラウザ上で遠隔操作されてもよい。 A computer that implements the function group creation function is called a function group creation device, and a computer that implements at least the system execution function out of the configuration information generation function and the system execution function is called the design execution device. Also, in FIG. 1, the client-server type design execution system 100 is taken as an example, but a stand-alone type system design execution device may be used. In the first embodiment, for convenience of explanation, the design execution system 100, in which the server 111 is a function group creation device implementing a function group creation function and the client 110 is a design execution device implementing a system execution function, will be described as an example. do. Note that the client 110 may transmit information to a browser of an external device (which may be the server 111, not shown) that can communicate via the network 101, and be remotely operated on the browser of the external device.
 <コンピュータのハードウェア構成例>
 図2は、コンピュータ(サーバ111、クライアント110)のハードウェア構成例を示すブロック図である。コンピュータ200は、プロセッサ201と、記憶デバイス202と、処理デバイス203と、入力デバイス204と、出力デバイス205と、通信インターフェース(通信IF)206と、を有する。プロセッサ201、記憶デバイス202、処理デバイス203、入力デバイス204、出力デバイス205、および通信IF206は、バス207により接続される。プロセッサ201は、コンピュータ200を制御する。記憶デバイス202は、プロセッサ201の作業エリアとなる。また、記憶デバイス202は、各種プログラムやデータを記憶する非一時的なまたは一時的な記録媒体である。記憶デバイス202としては、たとえば、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)、フラッシュメモリがある。
<Computer hardware configuration example>
FIG. 2 is a block diagram showing a hardware configuration example of a computer (server 111, client 110). The computer 200 has a processor 201 , a storage device 202 , a processing device 203 , an input device 204 , an output device 205 and a communication interface (communication IF) 206 . Processor 201 , storage device 202 , processing device 203 , input device 204 , output device 205 and communication IF 206 are connected by bus 207 . Processor 201 controls computer 200 . A storage device 202 serves as a work area for the processor 201 . Also, the storage device 202 is a non-temporary or temporary recording medium that stores various programs and data. Examples of the storage device 202 include ROM (Read Only Memory), RAM (Random Access Memory), HDD (Hard Disk Drive), and flash memory.
 処理デバイス203は、特定の機能を高速化するアクセラレータであり、具体的には、たとえば、GPU(Graphics Processing Unit)、AI(Artificial Intelligence)チップ、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)である。 The processing device 203 is an accelerator that speeds up specific functions, and specifically includes, for example, a GPU (Graphics Processing Unit), an AI (Artificial Intelligence) chip, an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Array).
 入力デバイス204は、データを入力する。入力デバイス204としては、たとえば、キーボード、マウス、タッチパネル、テンキー、スキャナ、カメラなどの各種センサがある。出力デバイス205は、データを出力する。出力デバイス205としては、たとえば、ディスプレイ、プリンタ、スピーカがある。通信IF206は、ネットワーク101と接続し、データを送受信する。なお、プロセッサ201は複数のプロセッサから構成されてもよい。 The input device 204 inputs data. Input devices 204 include, for example, various sensors such as a keyboard, mouse, touch panel, numeric keypad, scanner, and camera. The output device 205 outputs data. Output devices 205 include, for example, displays, printers, and speakers. Communication IF 206 connects to network 101 to transmit and receive data. Note that the processor 201 may be composed of a plurality of processors.
 <設計実行システム100の機能的構成例>
 図3は、実施例1にかかる設計実行システム100の機能的構成例を示すブロック図である。サーバ111は、機能群作成部130を有する。クライアント110は、設計部120と、生成部121と、保持部122と、実行部123と、制御部124と、処理デバイス203と、を有する。
<Functional Configuration Example of Design Execution System 100>
FIG. 3 is a block diagram of a functional configuration example of the design execution system 100 according to the first embodiment. The server 111 has a function group creation unit 130 . The client 110 has a design unit 120 , a generation unit 121 , a storage unit 122 , an execution unit 123 , a control unit 124 and a processing device 203 .
 これらは、具体的には、たとえば、図2に示した記憶デバイス202に記憶されたプログラムをプロセッサ201に実行させることにより、または、記憶デバイス202により実現される。まず、サーバ111側の機能的構成例について説明する。 Specifically, these are realized by causing the processor 201 to execute a program stored in the storage device 202 shown in FIG. 2 or by the storage device 202, for example. First, a functional configuration example on the server 111 side will be described.
 機能群作成部130は、機能群作成機能として、設計実行システム100を使用するユーザによりシステム設計に必要な機能群420を作成し、作成した機能群420を保持部122に出力する。機能群420の各々の機能は、クラスや関数などのプログラム形式で作成されてもよく、処理の内容をブラックボックス化するためライブラリとして作成されてもよい。 As a function group creating function, the function group creation unit 130 creates a function group 420 necessary for system design by the user using the design execution system 100 and outputs the created function group 420 to the holding unit 122 . Each function of the function group 420 may be created in a program format such as a class or function, or may be created as a library for black-boxing the contents of processing.
 ここで機能群420のうち一部の機能については、処理デバイス203を選択することが可能で、選択する処理デバイス203によって処理が高速化する。以降、この機能を「特定高速化機能」と表記する。 Here, the processing device 203 can be selected for some of the functions of the function group 420, and the selected processing device 203 speeds up the processing. Henceforth, this function is described as a "specific high-speed function."
 つぎに、クライアント110側の機能的構成例について説明する。設計部120は、構成情報生成機能の1つとして、グラフィカルユーザインターフェースにより、機能概要情報を持つノードを接続することで設計対象(クライアント110で実行するシステム)を設計し、当該設計で採用したノードに対応する機能が実現する処理の実行順序を規定したシステム情報を実行順序データとして生成部121に出力する。機能概要情報とは、機能を実現する処理の実体を持たず、どういった処理を行うかを識別するための情報であり、どういった処理を行うかを識別できれば、たとえば、予め設計実行システム100内で定義した数値を機能概要情報としてもよい。 Next, a functional configuration example on the client 110 side will be described. As one of the configuration information generating functions, the design unit 120 designs a design target (system to be executed by the client 110) by connecting nodes having function overview information using a graphical user interface, and selects nodes adopted for the design. system information defining the execution order of the processes realized by the functions corresponding to is output to the generation unit 121 as execution order data. The function overview information does not have the substance of the processing that implements the function, but is information for identifying what kind of processing is to be performed. A numerical value defined within 100 may be used as the function overview information.
 生成部121は、システム情報から、機能概要情報を実行順序に従って規定した構成情報320を生成し、保持部122に出力する。設計部120の処理の詳細については図4で後述し、生成部121の構成情報生成の詳細については図5で後述する。 The generation unit 121 generates configuration information 320 that defines the function overview information according to the order of execution from the system information, and outputs the configuration information 320 to the holding unit 122 . Details of processing by the design unit 120 will be described later with reference to FIG. 4, and details of configuration information generation by the generation unit 121 will be described later with reference to FIG.
 保持部122は、機能群作成部130から取得した機能群420と、生成部121から取得した構成情報320とを保存し、実行部123に出力する。ここで、機能群420や構成情報320に変更が無い場合は、機能群420、または構成情報320の生成を省略することが可能である。この場合、保持部122は、保持される機能群420と構成情報320とを実行部123に出力する。これにより一度生成した構成情報320や機能群420を再度生成する必要がなく、処理時間の短縮や設計後のシステム起動の簡略化を図ることができる。 The holding unit 122 stores the function group 420 acquired from the function group creation unit 130 and the configuration information 320 acquired from the generation unit 121 and outputs them to the execution unit 123 . Here, if there is no change in the function group 420 or the configuration information 320, generation of the function group 420 or the configuration information 320 can be omitted. In this case, the holding unit 122 outputs the held function group 420 and the configuration information 320 to the execution unit 123 . This eliminates the need to regenerate the once-generated configuration information 320 and function group 420, thereby shortening the processing time and simplifying system startup after design.
 実行部123は、保持部122から取得した構成情報320に記載のシステム情報を、機能群420内の対応する機能について実体化し、システムを実行する。実体化したシステム内に特定高速化機能が含まれる場合は、実行部123は、実体化した特定高速化機能に従って処理するデバイスを選択し、制御部124を介して処理デバイス203で処理を実行する。 The execution unit 123 materializes the system information described in the configuration information 320 acquired from the holding unit 122 for the corresponding functions in the function group 420, and executes the system. If the specified speed-up function is included in the materialized system, the execution unit 123 selects a device for processing according to the specified speed-up function, and executes the process in the processing device 203 via the control unit 124. .
 制御部124は、実行部123が実体化したシステム内に特定高速化機能が含まれる場合に、特定高速化機能を実行するために処理デバイス203を制御する。 The control unit 124 controls the processing device 203 to execute the specific speed-up function when the system materialized by the execution unit 123 includes the specific speed-up function.
 処理デバイス203は、制御部124の制御に従って、特定高速化機能の処理を実行する。実行部123、制御部124、および処理デバイス203と、の詳細は図6で後述する。 The processing device 203 executes the processing of the specific speed-up function under the control of the control unit 124. Details of the execution unit 123, the control unit 124, and the processing device 203 will be described later with reference to FIG.
 <設計部120>
 図4は、設計部120による詳細なシステム設計方法を示す説明図である。設計部120は、ウェブブラウザ400から指定のアドレスを入力することでアクセスでき、操作可能なインターフェースを提供する。このようにウェブブラウザ400を介してのアクセスと操作を可能とすることで、設計部120を備えるクライアント110以外の他のクライアント110からもアクセスが可能となり、リモートで設計することもできる。但し、設計部120のインターフェースはこれに限らず、たとえばインストール形式のツールとして配布し、専用のインターフェース画面を通してシステム設計を行ってもよい。
<Design Department 120>
FIG. 4 is an explanatory diagram showing a detailed system design method by the design unit 120. As shown in FIG. The design unit 120 can be accessed by entering a designated address from the web browser 400 and provides an operable interface. By enabling access and operation via the web browser 400 in this manner, access is possible from clients 110 other than the client 110 having the design unit 120, and remote design is also possible. However, the interface of the design section 120 is not limited to this. For example, it may be distributed as an installation-type tool and system design may be performed through a dedicated interface screen.
 設計部120は、システム設計に使用するノード群を保有するパレット20と、システムを設計するための作業場である作業スペース240と、を有し、クライアント110のウェブブラウザに表示する。 The design department 120 has a palette 20 that holds nodes used for system design, and a workspace 240 that is a workspace for designing the system, and displays them on the web browser of the client 110 .
 パレット20は、ノードの機能概要毎に分類される。具体的には、たとえば、入力機能210という分類には、カメラ入力211と、ビデオ入力212という入力に関するノードが保有される。カメラ入力211は、クライアント110に接続可能なカメラの撮像に関する機能概要情報を保有するノードである。ビデオ入力212は、撮像済の動画についてフレーム単位で連続に画像を再生するという機能概要情報を保有するノードである。 The palette 20 is classified for each functional overview of the node. Specifically, for example, the category of input function 210 has nodes related to inputs of camera input 211 and video input 212 . A camera input 211 is a node that holds functional outline information regarding imaging of a camera that can be connected to the client 110 . The video input 212 is a node that holds function outline information for continuously reproducing images in units of frames for a captured moving image.
 処理220には、人検出221と、骨格検出222という処理に関するノードが保有される。人検出221は、取得した画像の中から人の位置と大きさを取得し、検出した人を長方形で囲うための座標情報を出力するという機能概要情報を保有するノードである。骨格検出222は、取得した画像の中から人の骨格位置を画像内の座標情報として検出するという機能概要情報を保有するノードである。 The process 220 has nodes related to human detection 221 and skeleton detection 222 . The person detection 221 is a node that holds function outline information for acquiring the position and size of a person from the acquired image and outputting coordinate information for enclosing the detected person in a rectangle. The skeleton detection 222 is a node that holds function overview information for detecting the position of a person's skeleton from an acquired image as coordinate information within the image.
 出力機能230には、結果描画231と、実行ノード232という出力に関するノードが保有される。結果描画231は、入力機能210で取得した画像に、処理220で実行した結果を付与して描画するという機能概要情報を保有するノードである。実行ノード232は、実施例1の設計部120で設計するシステムの最後に接続するノードであり、実行ノード232の動作の詳細は図5で後述する。 The output function 230 has a result rendering 231 and an execution node 232 related to output. The result drawing 231 is a node that holds function overview information that the image obtained by the input function 210 is rendered with the result of execution by the process 220 . The execution node 232 is the last node connected to the system designed by the design unit 120 of the first embodiment, and the details of the operation of the execution node 232 will be described later with reference to FIG.
 上述したパレット20に保有されるノードと、機能概要毎にノードを保有する形式、および、分類する機能概要は、これらに限定されるものではなく、設計部120を提供するベンダーが自由に定義し、追加と削除が可能な構成としてもよい。 The above-described nodes held in the palette 20, the form of holding nodes for each function outline, and the function outlines to be classified are not limited to these, and are freely defined by the vendor who provides the design unit 120. , can be added and deleted.
 システムを設計するユーザは、入力デバイス204を操作することにより、パレット20から、必要なノードを作業スペース240に配置し、ユーザが希望する処理の流れに沿ってノードを接続する。たとえば、カメラで撮像した画像から人の位置を検出し、検出した人の位置を長方形で囲み画像と共に表示するというシステムの設計を行う場合には、カメラ入力241と、人検出242と、結果描画243と、実行ノード244と、を作業スペース240に配置し、処理の順序に沿って、ノード(カメラ入力241、人検出242、結果描画243、実行ノード244)をベクトル251~253でそれぞれ接続する。 By operating the input device 204, the user who designs the system arranges the necessary nodes from the palette 20 in the work space 240 and connects the nodes according to the flow of processing desired by the user. For example, when designing a system that detects the position of a person from an image captured by a camera, encloses the detected position in a rectangle, and displays it together with the image, the camera input 241, the person detection 242, and the result drawing 243 and an execution node 244 are arranged in the work space 240, and the nodes (camera input 241, human detection 242, result drawing 243, execution node 244) are connected by vectors 251 to 253, respectively, in the order of processing. .
 ここで各ノードの詳細な設定は、詳細設定画面246~248により、ノード毎に可能である。詳細設定画面246~248は、たとえば、入力デバイス204で指定することにより表示される。詳細設定画面246は、カメラ入力241の機能の詳細を設定する画面で、撮影するカメラの解像度とフレームレートを設定する。詳細設定画面247は、人検出242の機能の詳細を設定する画面で、人検出242に用いるDNN(Deep Neural Network)と、DNN演算を行うデバイスを設定する。詳細設定画面248は、結果描画243の機能の詳細を設定する画面で、結果描画243を行うウィンドウサイズの拡大表示機能や、設計したシステムの処理速度表示機能を設定する。詳細設定画面246~248内の設定値は、ユーザ操作により変更可能である。 Here, detailed settings for each node can be made for each node using detailed setting screens 246-248. The detailed setting screens 246 to 248 are displayed by specifying with the input device 204, for example. The detail setting screen 246 is a screen for setting the details of the function of the camera input 241, and sets the resolution and frame rate of the camera for shooting. The detailed setting screen 247 is a screen for setting the details of the function of the human detection 242, and sets a DNN (Deep Neural Network) used for the human detection 242 and a device for performing DNN calculation. The detail setting screen 248 is a screen for setting the details of the function of the result drawing 243, and sets a window size enlargement display function for the result drawing 243 and a processing speed display function of the designed system. The setting values in the detailed setting screens 246 to 248 can be changed by user operations.
 以上より、作業スペース240上にノードを接続することで、設計部120によりシステム情報が生成され、生成部121は、このシステム情報から構成情報を生成する。なお、図4では、たとえば、カメラ入力211,241のように、パレット20に保有されるノードと、作業スペース240に配置したノードで、ノード名が同じであっても異なる番号を付している。これはパレット20が保有するノードに対して、作業スペース240に配置されるノードはシステムに用いるために詳細な設定値が含まれる点で、ノードが保有する機能概要情報にも違いがあることを区別するため異なる番号を付している。 As described above, system information is generated by the design unit 120 by connecting nodes on the workspace 240, and the generation unit 121 generates configuration information from this system information. In FIG. 4, for example, like the camera inputs 211 and 241, the nodes held in the palette 20 and the nodes arranged in the work space 240 are assigned different numbers even if the node names are the same. . This is different from the nodes held by the palette 20 in that the nodes arranged in the workspace 240 contain detailed setting values for use in the system, and the function outline information held by the nodes is also different. Different numbers are given for distinction.
 <構成情報生成例>
 図5は、生成部121によるシステム情報からの構成情報の生成例を示す説明図である。システム情報を構成する各ノード(カメラ入力241、人検出242、結果描画243)はそれぞれ、機能の実体ではなく、ノードがどういった処理を行うかを識別するための機能概要情報300、301、302を保有する。なお、機能概要情報300、301、302には詳細設定画面246、247、248で設定した情報も含まれる。
<Configuration information generation example>
FIG. 5 is an explanatory diagram showing an example of generation of configuration information from system information by the generation unit 121. As shown in FIG. Each node (camera input 241, human detection 242, result drawing 243) that constitutes the system information is not an actual function, but function overview information 300, 301, 302. Note that the function overview information 300 , 301 , 302 also includes information set on the detail setting screens 246 , 247 , 248 .
 生成部121は、各ノードの機能概要情報300、301、302を、後段のノードに出力する。たとえば、カメラ入力241は、その機能概要情報300を人検出242に出力する。 The generation unit 121 outputs the function overview information 300, 301, and 302 of each node to the subsequent nodes. For example, camera input 241 outputs its functional summary information 300 to people detection 242 .
 この際、後段のノードは、前段のノードから取得した機能概要情報と当該ノードの機能概要情報とを含む統合機能概要情報を、後段のノードに出力する。たとえば、人検出242は、カメラ入力241から取得した機能概要情報300と人検出242の機能概要情報301とを含む統合機能概要情報310を、結果描画243に出力する。また、結果描画243は、人検出242から取得した統合機能概要情報310(機能概要情報300、機能概要情報301)と結果描画243の機能概要情報302とを含む統合機能概要情報320を、実行ノード244に出力する。 At this time, the latter node outputs integrated function overview information including the function overview information acquired from the previous node and the function overview information of the node to the latter node. For example, human detection 242 outputs integrated functional overview information 310 including functional overview information 300 obtained from camera input 241 and functional overview information 301 of human detection 242 to result rendering 243 . Also, the result rendering 243 renders the integrated function outline information 320 including the integrated function outline information 310 (function outline information 300, function outline information 301) acquired from the human detection 242 and the function outline information 302 of the result rendering 243 to the execution node. H.244 output.
 また、各ノードは、機能概要情報にIDを割り当てる。IDの割当て方は、たとえば、前段のノードがない始点となるノード(カメラ入力241)の機能概要情報300のIDを「0」とし、後段のノードは前段から受け取った機能概要情報または統合機能概要情報に記載のIDの最大値を読取り、読み取ったIDの値からインクリメントした値を当該ノードのIDとして割り当てる。したがって、人検出242の機能概要情報301のIDは「1」となり、結果描画243の機能概要情報302のIDは「2」となる。ただし、IDの割り当て方法は、設計したシステムを構成するノードにおいて重複した値を持たないよう割り当てればよく、当該ノードのIDの値は、前段のIDの値からのインクリメントした値に限定されない。 Also, each node assigns an ID to the function overview information. As for the method of assigning IDs, for example, the ID of the function outline information 300 of the starting point node (camera input 241) that does not have a previous node is set to "0", and the function outline information received from the previous stage or the integrated function outline is assigned to the latter node. The maximum ID value described in the information is read, and a value obtained by incrementing the read ID value is assigned as the ID of the node. Therefore, the ID of the function outline information 301 of the human detection 242 is "1", and the ID of the function outline information 302 of the result drawing 243 is "2". However, the method of assigning IDs should be such that the nodes constituting the designed system do not have duplicate values, and the value of the ID of the node is not limited to the value incremented from the previous ID value.
 実行ノード244は、実施例1の設計部120で設計するシステムの最後に接続するノードであり、実行ノード244が取得する統合機能概要情報320には、設計部120で設計した全ノードの機能概要情報300~301が含まれる。実行ノード244が取得する統合機能概要情報320が、生成部121が生成する構成情報となる。以下、構成情報320と表記し、機能概要情報300、301、302を構成300、301、302と表記する。 The execution node 244 is a node connected to the end of the system designed by the design unit 120 of the first embodiment. Information 300-301 is included. The integrated function overview information 320 acquired by the execution node 244 becomes the configuration information generated by the generation unit 121 . Hereinafter, it will be referred to as configuration information 320, and the function overview information 300, 301, and 302 will be referred to as configurations 300, 301, and 302, respectively.
 <システム実行の例>
 図6は、機能群作成部130、生成部121、保持部122、実行部123、制御部124および処理デバイス203のシステム実行に関する詳細な処理を示す説明図である。
<Example of system execution>
FIG. 6 is an explanatory diagram showing detailed processing related to system execution of the function group creation unit 130, generation unit 121, holding unit 122, execution unit 123, control unit 124, and processing device 203. As shown in FIG.
 保持部122は、生成部121が生成した構成情報302と、機能群作成部130が生成した機能群420と、を保持する。機能群420には、設計部120でパレット20に保有される全ノードに対応する機能の実体(例として、クラス421~423)が保有される。 The holding unit 122 holds the configuration information 302 generated by the generating unit 121 and the function group 420 generated by the function group generating unit 130 . The function group 420 holds the entities of functions (classes 421 to 423, for example) corresponding to all the nodes held in the palette 20 by the design unit 120. FIG.
 実行部123は、保持部122から取得した機能群420のうち、構成情報320に記載される構成300、301、302を選択して実体化する。実行部123は、実体化した機能(カメラ入力241、人検出242、結果描画243)を、たとえば、リスト431のように、処理実行の順にリスト化し、実行基盤432でリスト化した処理を実行する。実体化した機能(カメラ入力241、人検出242、結果描画243)の中に特定高速化機能が含まれる場合は、実行部123は、実体化した特定高速化機能に従って処理するデバイスを選択し、制御部124を介して処理デバイス203で処理を実行する。 The execution unit 123 selects and materializes the configurations 300, 301, and 302 described in the configuration information 320 from the function group 420 acquired from the holding unit 122. The execution unit 123 lists the materialized functions (camera input 241, human detection 242, result drawing 243) in the order of process execution, for example, like a list 431, and executes the listed processes in the execution base 432. . If the specified speed-up function is included in the materialized functions (camera input 241, human detection 242, result drawing 243), the execution unit 123 selects a device for processing according to the specified speed-up function, Processing is executed by the processing device 203 via the control unit 124 .
 たとえば、構成情報320内の人検出242の構成301において「“デバイス“:“GPU”」の記載がある。実行部123は、この記載に従って、人検出242の処理についてのみGPUを処理デバイス203として選択し、人検出242の処理の際には制御部124に処理の内容と、処理デバイス203の情報を出力し、制御部124は取得した情報を元に、処理デバイス203上で指定の処理を実行し、処理結果を実行部123に出力する。 For example, in the configuration 301 of the human detection 242 in the configuration information 320, there is a description of ""device":"GPU"". According to this description, the execution unit 123 selects the GPU as the processing device 203 only for the processing of the human detection 242, and outputs the processing content and the information of the processing device 203 to the control unit 124 during the processing of the human detection 242. Based on the acquired information, the control unit 124 executes specified processing on the processing device 203 and outputs the processing result to the execution unit 123 .
 <設計実行システム100の処理手順例>
 図7は、実施例1にかかる設計実行システム100の処理手順例を示すフローチャートである。機能群作成では、サーバ111は、機能群作成部130により生成した機能群をクライアント110に配信する(ステップS700)。
<Example of Processing Procedure of Design Execution System 100>
FIG. 7 is a flowchart of a processing procedure example of the design execution system 100 according to the first embodiment. In function group creation, the server 111 distributes the function group created by the function group creating unit 130 to the client 110 (step S700).
 構成情報生成では、クライアント110は、設計部120が提供するグラフィカルユーザインターフェースによりシステムを設計する(ステップS720)。 In generating configuration information, the client 110 designs the system using a graphical user interface provided by the design unit 120 (step S720).
 つぎに、クライアント110は、設計したシステムから生成部121により構成情報を生成する(ステップ521)。サーバ111が生成した機能群420とクライアント110が生成した構成情報320は、保持部122によりクライアント110内に保持される(ステップS722)。ここで機能群420の保持と構成情報320の保持は同時に実施しなくてもよい。たとえば、サーバ111が機能群420を生成した際に機能群420のみをクライアント110内に保持し、クライアント110が生成した際に構成情報320をクライアント110内に保持してもよく、保持部122による機能群420の保持と構成情報320の保持の順番は限定されない。 Next, the client 110 uses the generation unit 121 to generate configuration information from the designed system (step 521). The function group 420 generated by the server 111 and the configuration information 320 generated by the client 110 are retained in the client 110 by the retaining unit 122 (step S722). It is not necessary to hold the function group 420 and the configuration information 320 at the same time. For example, when the server 111 generates the function group 420 , only the function group 420 may be retained in the client 110 , and when the client 110 generates the configuration information 320 may be retained in the client 110 . The order of holding the function group 420 and holding the configuration information 320 is not limited.
 システム実行では、クライアント110は、保持部122が保持する機能群420と構成情報320を読取り(ステップS740)、実行部123が取得した構成情報320に記載のシステム情報を、機能群420から実体化し(ステップS742)、実行部123と制御部124と処理デバイス203とによりシステムを実行する(ステップS743)。 In system execution, the client 110 reads the function group 420 and the configuration information 320 held by the holding unit 122 (step S740), and materializes the system information described in the configuration information 320 acquired by the execution unit 123 from the function group 420. (Step S742), the system is executed by the execution unit 123, the control unit 124, and the processing device 203 (Step S743).
 システム実行には、構成情報生成と機能作成とが実行され、かつ、保持部122に機能群420と構成情報320とが保持されている必要があるが、保持部122に機能群420と構成情報320が保持されていれば、必ずしもシステム実行の度に構成情報生成と機能作成とを実行する必要はない。つまり、保持部122に機能群420と構成情報320とが保持されていれば、システム実行のみ単体で実行することが可能である。 For system execution, configuration information generation and function creation must be executed, and the function group 420 and the configuration information 320 must be held in the holding unit 122. 320, it is not necessary to execute configuration information generation and function creation each time the system is executed. That is, if the holding unit 122 holds the function group 420 and the configuration information 320, it is possible to execute only the system execution alone.
 たとえば、実行部123による実行時には、設計部120を構成するNod-REDを立ち上げて、スタートボタンを押下するというような操作が不要となる。そして、たとえば、設計実行装置の電源をONにするだけで実行部123による実行が開始される。 For example, during execution by the execution unit 123, there is no need to launch Nod-RED, which constitutes the design unit 120, and press the start button. Then, for example, the execution by the execution unit 123 is started only by turning on the power of the design execution device.
 また、構成情報生成および機能生成は、それぞれ保持部122が保持する構成情報320と機能群420に変更があった場合にのみ各々実行してもよい。また、構成情報生成とシステム実行の処理を一連の流れで実行することにより、ユーザはグラフィカルインターフェース上で設計したシステムを、すぐに実行する環境を得ることができる。 Also, configuration information generation and function generation may be executed only when there is a change in the configuration information 320 and the function group 420 respectively held by the holding unit 122 . In addition, by executing the processing of configuration information generation and system execution in a series of flows, the user can obtain an environment in which the system designed on the graphical interface can be immediately executed.
 このように、実施例1によれば、システムをグラフィカルユーザインターフェースで設計し、設計したシステムから構成情報320を生成し、生成した構成情報320に従ってシステムを実行することで、グラフィカルユーザインターフェースで提供されるシステム設計基盤上からすぐにシステムを実行することが可能となる。 Thus, according to the first embodiment, the system is designed using a graphical user interface, the configuration information 320 is generated from the designed system, and the system is executed according to the generated configuration information 320. It is possible to execute the system immediately from the system design base that is used.
 特に機能群420を生成する処理と、システムを設計し構成情報320を生成する処理と、生成した構成情報320と機能群420からシステムを実行する処理を段階的に分けたことで、システム設計とシステム実行を一連の流れで実行することも可能であるし、システム実行だけ分離して実行することも可能となり、システム設計と組込実装の容易さを同時に実現する設計実行システムを得ることができる。 In particular, the process of generating the function group 420, the process of designing the system and generating the configuration information 320, and the process of executing the system from the generated configuration information 320 and the function group 420 are divided step by step. It is possible to execute the system execution in a series of flows, and it is also possible to execute the system execution separately, and it is possible to obtain a design execution system that simultaneously realizes the ease of system design and embedded implementation. .
 実施例2を、実施例1との相違点を中心に説明する。なお、実施例1と共通する点については、同一符号を付し、その説明を省略する。実施例2では、生成する構成情報320に、並列処理やマルチプロセス処理が含まれる場合の詳細な処理方法を説明する。 The second embodiment will be described with a focus on the differences from the first embodiment. In addition, the same reference numerals are given to the points that are common to the first embodiment, and the description thereof will be omitted. In a second embodiment, a detailed processing method will be described in the case where the configuration information 320 to be generated includes parallel processing and multi-process processing.
 図8は、実施例2にかかる設計実行システム100の生成部121におけるID割当ての詳細な処理手順を示すフローチャートである。生成部121は、処理を行う当該ノードが始点ノードであるかを判断する(ステップS800)。前段のノードがなければ始点ノードと判断される。始点ノードであれば(ステップS800:Yes)、生成部121は、当該ノードのIDに「0」を割当て(ステップS801)、ステップS806の処理に進む。 FIG. 8 is a flowchart showing detailed processing procedures for ID assignment in the generation unit 121 of the design execution system 100 according to the second embodiment. The generation unit 121 determines whether the node to be processed is the start node (step S800). If there is no preceding node, it is determined to be the starting node. If it is the start node (step S800: Yes), the generation unit 121 assigns "0" to the ID of the node (step S801), and proceeds to the process of step S806.
 ステップS800の判断で当該ノードが始点ノードではないと判断された場合には(ステップS800:No)、生成部121は、前段のノードから機能概要情報または統合機能概要情報を取得する(ステップS802)。 If it is determined in step S800 that the node is not the starting node (step S800: No), the generation unit 121 acquires function overview information or integrated function overview information from the preceding node (step S802). .
 設計したシステム情報において並列処理や分岐処理が含まれる場合、前段のノードから取得した統合機能概要情報には、同じノードの同じ処理が、別のIDとして割り当てられ、重複する場合がある。 If parallel processing or branching processing is included in the designed system information, the same processing of the same node may be assigned as a different ID in the integrated function summary information obtained from the preceding node, resulting in duplication.
 このため、生成部121は、同じノードの同じ処理を排除する(ステップS803)。具体的には、たとえば、入力されてくる複数の機能概要情報または統合機能概要情報に、同一の機能概要情報が含まれる場合、生成部121は、たとえば、複数存在する同一の機能概要情報のうち1つのみを残して、それ以外を削除する。 For this reason, the generation unit 121 excludes the same process of the same node (step S803). Specifically, for example, when the same function overview information is included in a plurality of input function overview information or integrated function overview information, the generation unit 121 generates, for example, Leave only one and delete the others.
 また、設計したシステム情報において並列処理や分岐処理が含まれる場合、取得した統合機能概要情報内において、別のノードの処理でも並列化したノードに同じIDが割り当てられている可能性がある。 Also, if parallel processing or branch processing is included in the designed system information, the same ID may be assigned to the parallelized node even in the processing of another node in the acquired integrated function overview information.
 このため、生成部121は、同じIDが割り当てられた別のノードの別の処理については、ノード識別を行うためのサブIDを割り当てる(ステップS804)。具体的には、たとえば、生成部121は、当該別のノードについて、IDの値の末尾に固有の枝番を付与する。枝番は、同一ID間で昇順となるように付与される。 For this reason, the generation unit 121 assigns a sub-ID for node identification to another process of another node to which the same ID is assigned (step S804). Specifically, for example, the generating unit 121 adds a unique branch number to the end of the ID value for the different node. Branch numbers are given in ascending order among identical IDs.
 ステップS803の重複排除と、ステップS804での同一IDへのサブID割当てを行った後の統合機能概要情報に対して、生成部121は、IDの最大値を読取り、読み取ったIDの最大値からインクリメントした値を当該ノードのIDとして割り当て(ステップS805)、ステップS806の処理に進む。 The generation unit 121 reads the maximum value of the ID from the integrated function overview information after deduplication in step S803 and sub-ID assignment to the same ID in step S804, and The incremented value is assigned as the ID of the node (step S805), and the process proceeds to step S806.
 ステップS806では、生成部121は、処理を行う当該ノードが終点ノードであるかを確認する(ステップS806)。具体的には、たとえば、当該ノードが実行ノードであれば終点ノードである。終点ノードであれば(ステップS806:Yes)、ステップS808の処理に進み、終点ノードでなければ(ステップS806:No)、ステップS807の処理に進む。 At step S806, the generation unit 121 confirms whether the node to be processed is the end node (step S806). Specifically, for example, if the node is an execution node, it is an end node. If it is an end node (step S806: Yes), the process proceeds to step S808, and if not (step S806: No), the process proceeds to step S807.
 ステップS807では、生成部121は、当該ノードで処理した機能概要情報を後段ノードに出力して、ステップS802に戻る。 In step S807, the generation unit 121 outputs the function overview information processed by the node to the subsequent node, and returns to step S802.
 ステップS808では、生成部121は、処理を行ってきた機能概要情報を構成情報320として、保持部122に出力し、当該ノードのID管理は終了する。 In step S808, the generation unit 121 outputs the processed function overview information as the configuration information 320 to the holding unit 122, and the ID management of the node ends.
 <並列処理を含むシステム構成の構成情報生成の例>
 図9は、実施例2にかかる設計実行システム100の生成部121における構成情報生成の詳細な処理例を示す説明図である。
<Example of configuration information generation for system configuration including parallel processing>
FIG. 9 is an explanatory diagram of a detailed processing example of configuration information generation in the generation unit 121 of the design execution system 100 according to the second embodiment.
 カメラ入力241は始点ノードであるため、生成部121は、IDの値を「0」として機能概要情報930を生成し、ベクトル251で後段のノードである人検出242に、ベクトル920で骨格検出910に、機能概要情報930を出力する。 Since the camera input 241 is the starting point node, the generation unit 121 generates the function outline information 930 with the ID value set to "0", the vector 251 to the person detection 242 which is the subsequent node, and the vector 920 to the skeleton detection 910 . , the function overview information 930 is output.
 人検出242では、生成部121は、取得した機能概要情報930からIDの最大値である「0」を読取り、インクリメントした値である「1」を当該ノードのIDの値とする。生成部121は、取得した機能概要情報930に当該ノードの機能概要情報931と生成したIDの値「1」とを加えて統合機能概要情報941を生成し、ベクトル252で、後段のノードである結果描画243に機能概要情報931を出力する。 In the human detection 242, the generation unit 121 reads the maximum ID value "0" from the acquired function overview information 930, and sets the incremented value "1" as the ID value of the node. The generation unit 121 generates the integrated function summary information 941 by adding the function summary information 931 of the node and the generated ID value “1” to the acquired function summary information 930, and generates the integrated function summary information 941 as the vector 252, which is the subsequent node. Outputs the function overview information 931 to the result drawing 243 .
 骨格検出910では、生成部121は、取得した機能概要情報930からIDの最大値である「0」を読取り、インクリメントした値である「1」を当該ノードのIDの値とする。生成部121は、取得した機能概要情報930に当該ノードの機能概要情報932と生成したIDの値「1」を加えて統合機能概要情報942を生成し、ベクトル921で後段のノードである結果描画243に、ベクトル922で画像配信911に、統合機能概要情報942を出力する。 In the skeleton detection 910, the generation unit 121 reads the maximum ID value "0" from the acquired function overview information 930, and sets the incremented value "1" as the ID value of the node. The generation unit 121 generates the integrated function outline information 942 by adding the function outline information 932 of the node and the generated ID value “1” to the acquired function outline information 930 , and generates the integrated function outline information 942 . 243 , the integrated function summary information 942 is output to the image distribution 911 in a vector 922 .
 人検出242での統合機能概要情報941の生成と骨格検出910での統合機能概要情報942の生成とが終了した時点では、IDの値を「1」とする処理が人検出242と骨格検出910とで存在する。 When the generation of the integrated function overview information 941 by the human detection 242 and the generation of the integrated function overview information 942 by the skeleton detection 910 are completed, the process of setting the ID value to "1" is performed by the human detection 242 and the skeleton detection 910. and exist.
 また、2つの入力がある結果描画243には、統合機能概要情報941と統合機能概要情報942とが入力されるため、結果描画243では、カメラ入力241が出力した機能概要情報930が重複する。 In addition, since integrated function overview information 941 and integrated function overview information 942 are input to the result drawing 243 with two inputs, the function overview information 930 output by the camera input 241 overlaps in the result drawing 243 .
 結果描画243では、生成部121は、取得した統合機能概要情報941と統合機能概要情報942とにより、重複するカメラ入力241の機能概要情報930について重複分を排除する(ステップS803)。 In the result drawing 243, the generation unit 121 eliminates redundant portions of the overlapping function outline information 930 of the camera input 241 based on the acquired integrated function outline information 941 and integrated function outline information 942 (step S803).
 結果描画243では、さらに、生成部121は、IDの値が「1」である人検出242と骨格検出910について、識別のためのサブIDを割り当てる(ステップS804)。サブIDは、既存のIDにアンダーバーを加えてその後ろに割り当てられる。この方法により、人検出242のIDの値は「1_1」に設定され、骨格検出910のIDの値は「1_2」に設定される。ただし、サブIDの割当て方法は他に、サブIDのキーを生成し、生成したサブIDに識別可能なIDを割当ててもよく、サブIDの割当て方法は限定されない。 In the result drawing 243, the generation unit 121 further assigns sub-IDs for identification to the human detection 242 and skeleton detection 910 whose ID value is "1" (step S804). Sub-IDs are assigned by adding an underscore to the end of the existing ID. By this method, the value of ID for human detection 242 is set to "1_1" and the value of ID for skeleton detection 910 is set to "1_2". However, the method of assigning the sub-ID is not limited, and a sub-ID key may be generated and an identifiable ID may be assigned to the generated sub-ID.
 結果描画243では、さらに、生成部121は、処理を実施してきた機能概要情報のサブIDを除くIDを読取り、最大値である「1」からインクリメントした値である「2」を当該ノードの機能概要情報933のIDとする。こうして生成した統合機能概要情報951を、ベクトル253で後段のノードである実行ノード244に出力する。 In the result drawing 243, the generating unit 121 further reads the IDs excluding the sub-IDs of the function outline information that has been processed, and increments the value "2" from the maximum value "1" to the function of the node. This is the ID of the summary information 933 . The integrated function overview information 951 generated in this manner is output to the execution node 244, which is the subsequent node, in the vector 253. FIG.
 画像配信911では、生成部121は、取得した統合機能概要情報942からIDの最大値である「1」を読取り、インクリメントした値である「2」を当該ノードの機能概要情報934のIDとする。生成部121は、取得した統合機能概要情報942に当該ノードの機能概要情報934と生成したIDの値「2」とを加えて統合機能概要情報952を生成し、ベクトル923で後段のノードである実行ノード244に統合機能概要情報952を出力する。 In the image distribution 911, the generation unit 121 reads the maximum ID value "1" from the acquired integrated function overview information 942, and sets the incremented value "2" as the ID of the function overview information 934 of the node. . The generation unit 121 generates the integrated function overview information 952 by adding the function overview information 934 of the node and the generated ID value “2” to the acquired integrated function overview information 942, and generates the integrated function overview information 952, which is the subsequent node in the vector 923. It outputs integrated function summary information 952 to execution node 244 .
 ここで当該ノードの機能概要情報934に含まれる「“type”:“マルチプロセス”」は、画像配信911の処理が別のプロセスとして割当てられ、他の処理とは独立して処理が行われることを命令する情報となる。マルチプロセスに関する詳細な処理方法は後述する。 Here, ““type”:“multi-process”” included in the function overview information 934 of the node indicates that the process of image distribution 911 is assigned as a separate process, and the process is performed independently of other processes. It becomes the information to order A detailed processing method regarding multi-processing will be described later.
 結果描画243での統合機能概要情報951の生成と画像配信911での統合機能概要情報952の生成とが終了した時点では、IDの値を「2」とする処理が結果描画243と画像配信911とで存在する。 When the generation of the integrated function overview information 951 in the result drawing 243 and the generation of the integrated function overview information 952 in the image distribution 911 are completed, the process of setting the ID value to “2” is performed. and exist.
 また、2つの入力がある実行ノード244には、統合機能概要情報951と統合機能概要情報952とが入力されるため、実行ノード244では、カメラ入力241が出力した機能概要情報930と骨格検出910が出力した機能概要情報932とが重複する。 Also, since the execution node 244 having two inputs receives the integrated function outline information 951 and the integrated function outline information 952 , the execution node 244 outputs the function outline information 930 and the skeleton detection 910 output by the camera input 241 . overlaps with the function overview information 932 output by .
 実行ノード244では、生成部121は、取得した統合機能概要情報951と統合機能概要情報952とにより、重複するカメラ入力241の機能概要情報930について重複分を排除する。また、サブIDを除くIDの値が「1」である骨格検出910についても重複があるため、生成部121は重複分を排除する。ここでは、サブIDが割当てられていない「“ID”:“1”」の骨格検出910の機能概要情報932が削除される(ステップS803)。 In the execution node 244 , the generation unit 121 eliminates redundant portions of the overlapping function outline information 930 of the camera input 241 based on the acquired integrated function outline information 951 and integrated function outline information 952 . In addition, since there is overlap in the skeleton detection 910 whose ID value excluding the sub ID is "1", the generation unit 121 eliminates the overlap. Here, the function overview information 932 of the skeleton detection 910 with "ID": "1" to which no sub-ID is assigned is deleted (step S803).
 また、生成部121は、IDの値が「2」である結果描画243の機能概要情報933と画像配信911の機能概要情報934について、識別のためのサブIDを割り当てる。サブIDの割当ては、既存のIDにアンダーバーを加えてその後にサブIDを割当てることとする。この方法により、結果描画243の機能概要情報933のIDは「2_1」として、画像配信11の機能概要情報934のIDは「2_2」として割当てられる。 Also, the generation unit 121 assigns a sub-ID for identification to the function outline information 933 of the result drawing 243 and the function outline information 934 of the image distribution 911 whose ID value is "2". A sub-ID is assigned by adding an underscore to the existing ID and then assigning the sub-ID. By this method, the ID of the function outline information 933 of the result drawing 243 is assigned as "2_1", and the ID of the function outline information 934 of the image delivery 11 is assigned as "2_2".
 実行ノード244は終点ノードであるため、生成部121は、処理を行ってきた機能概要情報960を構成情報(以下、構成情報960と表記)として生成し、保持部122に出力する。 Since the execution node 244 is the terminal node, the generating unit 121 generates the function overview information 960 that has been processed as configuration information (hereinafter referred to as configuration information 960) and outputs it to the holding unit 122.
 <並列処理を含む構成情報のシステム実行例>
 図10は、実施例2にかかる設計実行システム100の実行部123におけるシステム実行の際の詳細なタイミングチャート例を示す説明図である。
<System execution example of configuration information including parallel processing>
FIG. 10 is an explanatory diagram showing an example of a detailed timing chart during system execution in the execution unit 123 of the design execution system 100 according to the second embodiment.
 実行部123は、カメラ入力1001の処理完了を受けて、人検出1002と骨格検出1003の処理を並列して開始する。同時に処理を開始する並列処理は、すべての並列処理が完了することを受けて次の処理が開始される。 Upon receiving the completion of the processing of the camera input 1001, the execution unit 123 starts the processing of human detection 1002 and skeleton detection 1003 in parallel. For the parallel processing that starts processing at the same time, the next processing is started upon completion of all the parallel processing.
 実行部123は、結果描画1004を、人検出1002と骨格検出1003の処理完了を受けて開始し、結果描画1004が終了すると、次のフレームのカメラ入力1011を開始する。ここで、たとえば、処理を行う次の画像が無い場合、実行部123の処理は終了する。 The execution unit 123 starts the result drawing 1004 upon receiving the completion of the human detection 1002 and the skeleton detection 1003, and when the result drawing 1004 ends, the camera input 1011 of the next frame is started. Here, for example, if there is no next image to be processed, the processing of the execution unit 123 ends.
 実行部123は、画像配信1005を、前段の骨格検出1003の処理完了を受けて開始する。画像配信1005はマルチプロセスの処理指定を受けているため、処理開始時には骨格検出1003の処理完了に同期するが、処理開始後は他の処理とは非同期に実行される。 The execution unit 123 starts the image distribution 1005 upon receiving the completion of the skeleton detection 1003 in the previous stage. Since the image distribution 1005 receives a multi-process designation, it is synchronized with the completion of the skeleton detection 1003 at the start of processing, but is executed asynchronously with other processing after the start of processing.
 このように、実施例2によれば、システム設計時にノードを分岐させ並列に記載することで処理を並列化させ、システム全体の処理を高速化させることが可能となる。またシステム設計時のノードにマルチプロセス指定することで、他の処理とは非同期に処理を実行可能な設計実行システム100を得ることができる。 In this way, according to the second embodiment, it is possible to parallelize the processing by branching nodes and writing them in parallel when designing the system, thereby speeding up the processing of the entire system. Also, by designating a node with multiple processes when designing the system, it is possible to obtain the design execution system 100 capable of executing processes asynchronously with other processes.
 実施例3を、実施例1や実施例2との相違点を中心に説明する。なお、実施例1や実施例2と共通する点については、同一符号を付し、その説明を省略する。実施例3では、サーバ111内の機能群作成部130が、機能群420をdockerなどのコンテナ基盤を用いて、実行基盤432とプログラム実行基盤1101と共にコンテナ化する。 The third embodiment will be described with a focus on the differences from the first and second embodiments. In addition, the same reference numerals are given to the points common to the first and second embodiments, and the description thereof is omitted. In Example 3, the function group creation unit 130 in the server 111 containerizes the function group 420 together with the execution base 432 and the program execution base 1101 using a container base such as docker.
 また、実行部123は、コンテナ化された機能を実現する処理を実行するため、コンテナ実行基盤1102を保持する。これにより、サーバ111とクライアント110にOS(Operating System)やプロセッサ201など処理環境の違いがあっても機能群420の処理が可能となる。 In addition, the execution unit 123 holds the container execution base 1102 in order to execute processing that implements containerized functions. This makes it possible to process the function group 420 even if the server 111 and the client 110 have different processing environments such as the OS (Operating System) and the processor 201 .
 また、複数のクライアント110について、互いにOSやプロセッサ201などに違いがあってもサーバ111が提供する機能群420の各々の機能をコンテナ化することで、各クライアント110に合わせて機能群420をそれぞれカスタマイズすることなく、単一の機能群420で処理を実施することが可能となる。 In addition, by containerizing each function of the function group 420 provided by the server 111 for the plurality of clients 110, even if there is a difference in the OS, the processor 201, etc., the function group 420 can be individually arranged according to each client 110. Processing can be performed with a single function group 420 without customization.
 図11は、実施例3にかかる実施例3にかかる設計実行システム100の機能的構成例を示すブロック図である。 FIG. 11 is a block diagram showing a functional configuration example of the design execution system 100 according to the third embodiment.
 機能群作成部130は、設計実行システム100を使用するユーザがシステム設計に必要な機能群420を処理単位ごとに生成し、生成した機能群420をdockerなどのコンテナ基盤を用いて、実行基盤432とプログラム実行基盤1101と共にコンテナ化して、コンテナ化機能群1120として保持部122に出力する。 The function group creation unit 130 generates a function group 420 necessary for system design by a user using the design execution system 100 for each processing unit, and the generated function group 420 is stored in an execution base 432 using a container base such as docker. and the program execution base 1101 , and output to the holding unit 122 as a containerized function group 1120 .
 生成部121は、設計したシステム情報から構成情報1103を生成し、保持部122に出力する。 The generating unit 121 generates configuration information 1103 from the designed system information and outputs it to the holding unit 122 .
 保持部122は、取得したコンテナ化機能群1120と構成情報1103とを実行部123に出力する。 The holding unit 122 outputs the acquired containerization function group 1120 and configuration information 1103 to the execution unit 123 .
 実行部123は、コンテナ化機能群1120と、コンテナ実行基盤1102と構成情報1103と、を有する。実行部123は、保持部122から取得したコンテナ化機能群1120をコンテナ実行基盤1102の上位層に配置し、構成情報1103をコンテナ実行基盤1102の下位層に配置する。 The execution unit 123 has a containerization function group 1120 , a container execution base 1102 and configuration information 1103 . The execution unit 123 arranges the containerization function group 1120 acquired from the holding unit 122 in the upper layer of the container execution base 1102 and arranges the configuration information 1103 in the lower layer of the container execution base 1102 .
 コンテナ化機能群1120は、機能群420と、実行基盤432と、プログラム実行基盤1101を有する。機能群420と実行基盤432を実行するためのプログラム実行基盤1101は、たとえば、pythonやC++などのプログラム言語で書かれた機能を実行するための基盤や、クライアント110に実装されるOSとは異なるOS上での機能を実行したい場合に必要なゲストOSの基盤である。 The containerized function group 1120 has a function group 420 , an execution base 432 and a program execution base 1101 . The program execution infrastructure 1101 for executing the function group 420 and the execution infrastructure 432 is different from the infrastructure for executing functions written in programming languages such as python and C++, and the OS installed in the client 110. It is the foundation of the guest OS necessary to execute functions on the OS.
 これにより、クライアント110のハードウェアやソフトウェアの環境に影響を受けることなくコンテナ化機能群1120を実行可能となる。なお、コンテナ化機能群1120に変更があった際には機能群作成部130が変更点を反映して、新たにコンテナ化機能群1120を配置する。 As a result, the containerization function group 1120 can be executed without being affected by the hardware and software environment of the client 110. Note that when there is a change in the containerized function group 1120, the function group creating unit 130 reflects the change and newly arranges the containerized function group 1120. FIG.
 コンテナ実行基盤1102は、クライアント110の環境とコンテナ化機能群1120の環境との違いを吸収し、クライアント110の環境によらずコンテナ化機能群1120を実行する機能を有する。構成情報1103は、実施例1および実施例2と同様の手法で生成され、コンテナ実行基盤1102の階層に配置される。 The container execution base 1102 has the function of absorbing the difference between the environment of the client 110 and the environment of the containerized function group 1120 and executing the containerized function group 1120 regardless of the client 110 environment. The configuration information 1103 is generated by the same method as in the first and second embodiments and arranged in the hierarchy of the container execution infrastructure 1102 .
 実行部123は、保持部122から取得したコンテナ化機能群1120内の機能群420のうち、構成情報1103に記載される構成を選択して、各機能を実体化する。そして、実行部123は、実行基盤432により、プログラム実行基盤1101とコンテナ実行基盤1102とを用いて処理を実行する。この際、実行部123は、高速化機能に従って処理する処理デバイス203を選択し、制御部124を介して処理デバイス203で処理を実行する。これにより、処理が高速化する。 The execution unit 123 selects the configuration described in the configuration information 1103 from among the function groups 420 in the containerized function group 1120 acquired from the holding unit 122, and materializes each function. Then, the execution unit 123 executes processing using the program execution base 1101 and the container execution base 1102 by the execution base 432 . At this time, the execution unit 123 selects the processing device 203 for processing according to the speed-up function, and executes the processing in the processing device 203 via the control unit 124 . This speeds up the processing.
 なお、サーバ111から、複数のクライアント110にコンテナ化機能群1120を出力する際、たとえば、コンテナ実行基盤1102を通して、コンテナ化機能群1120と個々のクライアント110に固有のポートを接続するなどの個々のクライアント110に適した処理が必要な場合がある。このような場合、保持部122がコンテナ化機能群1120を接続する際に適切な処理を自動で割り当ててもよいし、設計部120がクライアント110に固有の値を設定してもよい。 When outputting the containerization function group 1120 from the server 111 to the plurality of clients 110, for example, the containerization function group 1120 is connected to each client 110 through the container execution base 1102 through a port specific to each individual client. Appropriate processing for the client 110 may be required. In such a case, the holding unit 122 may automatically assign appropriate processing when connecting the containerized function group 1120 , or the design unit 120 may set a unique value for the client 110 .
 このように、実施例3によれば、サーバ111内の機能群作成部130が生成する機能群420をdockerなどのコンテナ基盤を用いて実行基盤432とプログラム実行基盤と共にコンテナ化して生成する。また、実行部123はコンテナ化された機能群420を実行するため、コンテナ実行基盤1102を保持する。 As described above, according to the third embodiment, the function group 420 generated by the function group creation unit 130 in the server 111 is containerized and generated together with the execution base 432 and the program execution base using a container base such as docker. Also, the execution unit 123 holds the container execution base 1102 in order to execute the containerized function group 420 .
 これにより、サーバ111とクライアント110にOS(Operating System)やプロセッサ201など処理環境の違いがあっても機能群420の処理が可能となる。また複数のクライアント110について、互いにOSやプロセッサ201などに違いがあってもサーバ111が提供する機能群420をコンテナ化することで、各クライアント110に合わせて機能群420をそれぞれカスタマイズすることなく、単一の機能群420で処理を実施することが可能となる。 As a result, even if the server 111 and the client 110 have different processing environments such as the OS (Operating System) and the processor 201, the function group 420 can be processed. In addition, by containerizing the function group 420 provided by the server 111 for a plurality of clients 110, even if there is a difference in the OS, the processor 201, etc., the function group 420 does not have to be customized for each client 110. A single function group 420 can perform the processing.
 実施例4を、実施例1や実施例2や実施例3との相違点を中心に説明する。なお、実施例1や実施例2や実施例3と共通する点については、同一符号を付し、その説明を省略する。実施例4では、生成する構成情報320に、並列処理やマルチプロセス処理が含まれる場合の詳細な処理方法を説明する。 Example 4 will be described with a focus on the differences from Example 1, Example 2, and Example 3. In addition, the same reference numerals are given to the points common to the first, second, and third embodiments, and the description thereof is omitted. In a fourth embodiment, a detailed processing method will be described in the case where the configuration information 320 to be generated includes parallel processing and multi-process processing.
 但し、実施例2とは異なり、各ノードは前段のノードから複数の入力があった場合にも当該ノードで同期を取ることができず、前段のノードからいずれかの入力があった時点で、前段のノードの機能概要情報を取得し、当該ノードの機能概要情報を合わせて、後段に出力する処理を開始してしまうシステムを想定する。以下、このシステムを非同期システムと表記する。 However, unlike the second embodiment, each node cannot synchronize even if there are multiple inputs from the previous node, and when any input is received from the previous node, Assume a system that acquires the function overview information of the node in the previous stage, combines the function overview information of the node, and starts the process of outputting to the subsequent stage. Hereinafter, this system will be referred to as an asynchronous system.
 実施例1~3では、各ノードは前段のノードから複数の入力があった場合にも当該ノードで同期を取ることができないため、設計対象となるシステムが並列処理やマルチプロセス処理を含む場合、複数通りの実行経路が生成され、実行経路ごとに実行ノードが呼び出される。たとえば、図9に示した例では、3通りの実行経路が生成されるため、実行ノード244は、3回呼び出される。 In Examples 1 to 3, each node cannot synchronize even if there are multiple inputs from the previous node, so if the system to be designed includes parallel processing or multi-processing, A plurality of execution paths are generated, and an execution node is called for each execution path. For example, in the example shown in FIG. 9, execution node 244 is called three times because three execution paths are generated.
 これに対し、複数通りの実行経路による実行ノードの呼び出しを1回にまとめるために、実行ノードの前段に複数通りの実行経路を集約する同期ノードを挿入することが考えられる。しかし、各実行経路の同期ノードへの接続設定は、ユーザの手動操作となる。したがって、ユーザの手動操作で接続設定ミスが発生すると、一部の実行経路の処理しか同期ノードに到達せず、実行ノードの呼び出しが開始されないことになる。ユーザが接続設定プロパティ画面で同期させる実行経路の数が正しいか否かを確認しなければならないという手間が発生する。 On the other hand, in order to consolidate the execution node calls by multiple execution paths into one call, it is conceivable to insert a synchronization node that aggregates multiple execution paths in the preceding stage of the execution node. However, setting the connection of each execution path to the synchronization node is a manual operation of the user. Therefore, if a connection setting error occurs due to a manual operation by the user, only a part of the execution path processes reaches the synchronization node, and the call to the execution node is not started. The user has to check whether the number of execution paths to be synchronized on the connection setting property screen is correct or not.
 このため、実施例4では、こうした非同期システムにおける並列処理やマルチプロセス処理に対して、同期ノードなしで同期処理を実行可能とするシステムを提供する。 For this reason, the fourth embodiment provides a system that can execute synchronous processing without a synchronous node for parallel processing and multi-process processing in such an asynchronous system.
 <並列処理を含むシステム構成の構成情報生成の例>
 図12は、実施例4にかかる設計実行システム100の生成部121における構成情報生成の詳細な処理例を示す説明図である。図12では、ノード群として、カメラ入力1200、推論A1201、推論B1202、推論C1204、結果描画1205、実行ノード1206が存在する。
<Example of configuration information generation for system configuration including parallel processing>
FIG. 12 is an explanatory diagram of a detailed processing example of configuration information generation in the generation unit 121 of the design execution system 100 according to the fourth embodiment. In FIG. 12, there are a camera input 1200, an inference A 1201, an inference B 1202, an inference C 1204, a result drawing 1205, and an execution node 1206 as node groups.
 カメラ入力1200の出力は、ベクトル1210により、推論A1201の入力と接続されており、ベクトル1211により、推論B1202の入力と接続されている。推論A1201の出力は、ベクトル1212により、結果描画1205の入力と接続されている。 The output of camera input 1200 is connected by vector 1210 to the input of inference A 1201 and by vector 1211 to the input of inference B 1202 . The output of Infer A 1201 is connected to the input of Render Result 1205 by vector 1212 .
 推論B1202の出力は、ベクトル1213により、推論A1203の入力と接続されており、ベクトル1214により、推論C1204の入力と接続されている。推論A1203の出力は、ベクトル1215により、結果描画1205の入力と接続されている。推論C1204の出力は、ベクトル1216により、結果描画1205の入力と接続されている。結果業が1205の出力は、ベクトル1217により、実行ノード1206の入力と接続されている。 The output of reasoning B 1202 is connected by vector 1213 to the input of reasoning A 1203 and by vector 1214 to the input of reasoning C 1204 . The output of Infer A 1203 is connected to the input of Render Result 1205 by vector 1215 . The output of Inference C 1204 is connected to the input of Render Result 1205 by vector 1216 . The output of result 1205 is connected to the input of execution node 1206 by vector 1217 .
 カメラ入力1200は始点ノードである。生成部121は、IDの値を「AAA」に設定し、後段に接続されるノードの数である出力数として「2」を取得する。ここで生成部121が設定するID「AAA」は、システム情報(クライアント110で実行するシステムの設計で採用したノードに対応する機能が実現する処理の実行順序を規定した情報)で配置される他のいずれのノードに与えられるIDとも異なるIDとする。 A camera input 1200 is the starting node. The generation unit 121 sets the value of the ID to "AAA" and acquires "2" as the number of outputs, which is the number of nodes connected in the subsequent stage. Here, the ID "AAA" set by the generation unit 121 is arranged in system information (information that defines the execution order of processes realized by the functions corresponding to the nodes adopted in the design of the system executed by the client 110). is different from the ID given to any of the nodes.
 これは機能が異なる各ノードと異なるIDを設定することは当然として、同じ機能が別のノードとして配置される場合においても、異なるIDを設定することを意味する。たとえば、推論A1201と、推論A1203は同じ機能であるが、別のノードとして配置されるため、それぞれ別のIDが設定される。 This means setting different IDs for each node with different functions, as well as setting different IDs even when the same functions are arranged as different nodes. For example, inference A1201 and inference A1203 have the same function, but are arranged as different nodes, so different IDs are set for each.
 生成部121は、カメラ入力1200において、設定したID「AAA」と、出力数「2」と、当該ノードの機能を示す「カメラ入力」とを、機能概要情報1220とする。生成部121は、機能概要情報1220をカメラ入力1200から後段の推論A1201に出力する。また、生成部121は、機能概要情報1221および機能概要情報1222を、カメラ入力1200から推論B1202に出力する。この場合、カメラ入力1200の出力は推論A1201のほか、推論B1202にも分岐されているため、機能概要情報1220~1222の出力数は「2」となる。 The generation unit 121 sets the set ID "AAA", the number of outputs "2", and "camera input" indicating the function of the node in the camera input 1200 as the function outline information 1220. The generation unit 121 outputs the function overview information 1220 from the camera input 1200 to the subsequent inference A 1201 . The generation unit 121 also outputs the function overview information 1221 and the function overview information 1222 from the camera input 1200 to the reasoning B 1202 . In this case, since the output of the camera input 1200 is branched not only to the inference A 1201 but also to the inference B 1202, the number of outputs of the function overview information 1220 to 1222 is "2".
 なお、機能概要情報1220~1222は、機能概要情報としては同一の情報となる。これを分けて表記するのは、非同期システムにより、分岐の数だけ機能概要情報が分かれて出力されることを説明するためである。詳細は各ノードの動作にて後述する。 Note that the function overview information 1220 to 1222 are the same information as the function overview information. The reason why they are described separately is to explain that the asynchronous system outputs the function outline information separately by the number of branches. Details will be described later in the operation of each node.
 ここで、カメラ入力1200以外の、始点ノードではない、後段の各ノード1202~1206の動きについて説明する。各ノード1202~1206は、当該ノードの固有のIDを設定し、前段のノードから取得した機能概要情報と当該ノードの機能概要情報とを含む統合機能概要情報を、後段のノードに出力する。 Here, the motions of each of the subsequent nodes 1202 to 1206 that are not the starting point nodes other than the camera input 1200 will be described. Each of the nodes 1202 to 1206 sets a unique ID for the node, and outputs integrated function overview information including the function overview information obtained from the preceding node and the function overview information for the node to the subsequent node.
 ここで、機能概要情報には出力数が含まれるが、後段のノードの出力が分岐していない場合は、前段ノードから取得した出力数を継承して、後段ノードに出力する。たとえば、あるノードの前段ノードからの出力数が「2」であるが、後段の出力が分岐していない、すなわち、後段ノードは1つである。この場合には、後段ノードに出力数「2」が継承される。出力数「2」には、後段ノードへの出力(を経由する始点ノードから終点ノードまでの経路)分の「1」がすでにカウントされているからである。 Here, the function overview information includes the number of outputs, but if the output of the subsequent node does not branch, the number of outputs obtained from the preceding node is inherited and output to the subsequent node. For example, although the number of outputs from a preceding node of a certain node is "2", the output of the succeeding stage does not branch, that is, there is one succeeding node. In this case, the number of outputs "2" is inherited by the succeeding node. This is because the number of outputs "2" has already been counted as "1" for the output to the succeeding node (the route from the start node to the end node via).
 一方、後段のノードの出力が分岐している場合には、取得した出力数と後段のノードの分岐数に応じて、出力数を更新し、後段ノードに出力する。たとえば、前段ノードから取得した出力数が「2」で、後段の出力が2つに分岐している、すなわち、後段ノードが2つの場合には、出力数「2」に新たに分岐した経路の出力分の「1」が追加されて出力数「3」となる。この出力数「3」が2つの後段ノードの各々に出力される。 On the other hand, if the output of the subsequent node is branched, the number of outputs is updated according to the obtained number of outputs and the number of branches of the subsequent node, and is output to the subsequent node. For example, if the number of outputs obtained from the preceding node is "2" and the output of the subsequent stage branches into two, that is, if the number of subsequent nodes is two, the path newly branched to the number of outputs "2" "1" for the number of outputs is added to make the number of outputs "3". This output number "3" is output to each of the two succeeding nodes.
 各ノードは、前段のノードから複数の入力があった場合にも当該ノードで同期を取ることができず、前段のノードからいずれかの入力があった時点で、前段のノードの機能概要情報を取得し、当該ノードの機能概要情報とともに、後段に出力する処理を開始する。 Each node cannot synchronize at the node even if there are multiple inputs from the previous node, and when there is any input from the previous node, the function overview information of the previous node is It acquires and starts the process of outputting it to the subsequent stage together with the function outline information of the node.
 生成部121は、推論A1201において、IDの値を「BBB」に設定し、前段のノードであるカメラ入力1200から機能概要情報1220を取得する。また、推論A1201の後段につながるノードが結果描画1205のみであり、推論A1201の出力は分岐していないため、カメラ入力1200から取得した出力数である「2」を引き継ぎ、推論A1201の出力数は「2」となる。すなわち、出力数「2」には、推論A1201の後段ノードである結果描画1205への出力(を経由するカメラ入力1200から終点ノードまでの経路)を示すベクトル1212分の「1」がすでにカメラ入力1200でカウントされているからである。 The generation unit 121 sets the ID value to "BBB" in the inference A1201, and acquires the function overview information 1220 from the camera input 1200, which is the preceding node. In addition, since the node connected to the subsequent stage of inference A1201 is only result drawing 1205, and the output of inference A1201 does not branch, the number of outputs "2" obtained from camera input 1200 is inherited, and the number of outputs of inference A1201 is becomes "2". That is, in the number of outputs "2", "1" for 1212 vectors indicating the output (the path from the camera input 1200 to the end node via the inference A 1201) to the result rendering 1205, which is the subsequent node of the inference A 1201, already exists. This is because it is counted at 1200.
 推論A1201では、ID「BBB」と「推論A」と出力数「2」とを、機能概要情報1223とする。生成部121は、推論A1201の機能概要情報1223と、カメラ入力1200から取得した機能概要情報1220と、を含む統合概要情報を、後段の結果描画1205に出力する。 In the inference A 1201, the IDs "BBB", "inference A", and the number of outputs "2" are used as the function outline information 1223. The generation unit 121 outputs the integrated outline information including the function outline information 1223 of the reasoning A 1201 and the function outline information 1220 acquired from the camera input 1200 to the subsequent result drawing 1205 .
 生成部121は、推論B1202において、IDの値を「CCC」に設定し、前段のノードであるカメラ入力1200から機能概要情報1221を取得する。推論B1202の後段につながるノードが推論A1203と推論C1204に分岐しているため、カメラ入力1200から取得した出力数「2」に、分岐されていることを加味して、推論B1202の出力数は「3」となる。 The generation unit 121 sets the ID value to "CCC" in inference B1202, and acquires the function overview information 1221 from the camera input 1200, which is the preceding node. Since the node following the inference B 1202 branches to the inference A 1203 and the inference C 1204, the number of outputs of the inference B 1202 is "2", which is obtained from the camera input 1200. 3”.
 すなわち、出力数「2」には、推論B1202の一方の後段ノードである推論A1203への出力(を経由するカメラ入力1200から終点ノードまでの経路)を示すベクトル1213分の「1」がすでにカメラ入力1200でカウントされているが、推論B1202の他方の後段ノードである推論C1204への出力(を経由するカメラ入力1200から終点ノードまでの経路)を示すベクトル1214分の「1」がカウントされていないからである。 That is, in the number of outputs "2", "1" for 1213 vectors indicating the output (the path from the camera input 1200 to the end node via the camera input 1200) to the inference A 1203, which is one subsequent node of the inference B 1202, already exists in the camera Although it is counted at the input 1200, "1" for 1214 vectors indicating the output (the path from the camera input 1200 to the end node via) to the inference C 1204, which is the other subsequent node of the inference B 1202, is counted. because there is no
 推論B1202では、ID「CCC」と「推論B」と出力数「3」とを、機能概要情報1224とする。生成部121は、推論B1202の機能概要情報1224と、カメラ入力1200から取得した機能概要情報1221と、を含む統合概要情報を、後段の推論A1203と、推論A1204に各々出力する。 In the inference B 1202, the IDs "CCC", "inference B", and the number of outputs "3" are used as the function outline information 1224. The generation unit 121 outputs integrated overview information including the function overview information 1224 of the inference B 1202 and the function overview information 1221 acquired from the camera input 1200 to the inference A 1203 and inference A 1204 in the subsequent stage.
 生成部121は、推論A1203において、IDの値を「BBB’」に設定し、前段のノードである推論B1202から機能概要情報1221,1224を取得する。推論A1203の後段につながるノードが結果描画1205のみであり、推論A1203の出力は分岐していないため、推論B1202から取得した出力数である「3」を引き継ぎ、推論A1203の出力数は「3」となる。 The generation unit 121 sets the ID value to "BBB'" in the inference A1203, and acquires the function overview information 1221 and 1224 from the inference B1202, which is the preceding node. Since the only node connected to the subsequent stage of reasoning A1203 is result rendering 1205, and the output of reasoning A1203 does not branch, the number of outputs "3" obtained from reasoning B1202 is inherited, and the number of outputs of reasoning A1203 is "3". becomes.
 推論A1203では、ID「BBB’」と「推論A」と出力数「3」とを、機能概要情報1229とする。生成部121は、推論A1203の機能概要情報1229と、推論B1202から取得した機能概要情報1221,1224と、を含む統合概要情報を、後段の結果描画1205に出力する。 In the inference A 1203, the ID "BBB'", the "inference A", and the number of outputs "3" are used as the function outline information 1229. The generation unit 121 outputs the integrated overview information including the function overview information 1229 of the reasoning A 1203 and the function overview information 1221 and 1224 acquired from the reasoning B 1202 to the subsequent result drawing 1205 .
 生成部121は、推論C1204において、IDの値を「EEE」に設定し、前段のノードである推論B1202から機能概要情報を取得する。推論C1204の後段につながるノードが結果描画1205のみであり、推論C1204の出力は分岐していないため、推論B1202から取得した出力数である「3」を引き継ぎ、推論C1204の出力数は「3」となる。 The generation unit 121 sets the ID value to "EEE" in the inference C1204, and acquires the function overview information from the inference B1202, which is the preceding node. Since the only node connected to the subsequent stage of inference C1204 is result drawing 1205, and the output of inference C1204 does not branch, the number of outputs "3" obtained from inference B1202 is inherited, and the number of outputs of inference C1204 is "3". becomes.
 推論C1204では、ID「EEE」と「推論C」と出力数「3」とを、機能概要情報1230とする。生成部121は、推論C1204の機能概要情報1230と、推論B1202から取得した機能概要情報1221,1224と、を含む統合概要情報を、後段の結果描画1205に出力する。 In the inference C 1204, the ID "EEE", the "inference C", and the number of outputs "3" are set as the function overview information 1230. The generation unit 121 outputs the integrated overview information including the function overview information 1230 of the reasoning C 1204 and the function overview information 1221 and 1224 acquired from the reasoning B 1202 to the subsequent result drawing 1205 .
 結果描画1205は、推論A1201と、推論A1203と、推論C1204との3つのノードを前段に持つ。実施例4では、非同期システムを想定しているため、各前段ノード1201,1203,1204のいずれかの出力が結果描画1205に入力された時点で結果描画1205の処理は始まる。つまり、結果描画1205は3つの前段ノード1201,1203,1204からの出力を受けて、3回動作することになる。 The result rendering 1205 has three nodes in the preceding stage: inference A1201, inference A1203, and inference C1204. Since the fourth embodiment assumes an asynchronous system, the result rendering 1205 starts when the output of one of the preceding nodes 1201, 1203, and 1204 is input to the result rendering 1205. FIG. In other words, the result drawing 1205 receives outputs from the three preceding nodes 1201, 1203, and 1204 and operates three times.
 結果描画1205について、推論A1201からの出力を受けた時の動作を説明する。生成部121は、結果描画1205において、IDの値を「DDD」に設定し、前段のノードである推論A1201から機能概要情報1220,1223を取得する。結果描画1205の後段につながるノードが実行ノード1206のみであり、結果描画1205の出力は分岐していないため、推論A1201から取得した出力数である「2」を引き継ぎ、結果描画1205の出力数は「2」となる。 Regarding the result drawing 1205, the operation when receiving the output from the reasoning A 1201 will be explained. The generation unit 121 sets the ID value to “DDD” in the result drawing 1205, and acquires the function overview information 1220 and 1223 from the inference A 1201, which is the preceding node. Execution node 1206 is the only node connected to the subsequent stage of result rendering 1205, and the output of result rendering 1205 does not branch. becomes "2".
 結果描画1205では、ID「DDD」と「結果描画」と、出力数「2」とを、機能概要情報1226とする。生成部121は、結果描画1205の機能概要情報1226と、推論A1201から取得した機能概要情報1220,1223と、を含む統合概要情報1231を、後段の実行ノード1206に出力する。 In the result drawing 1205, the ID "DDD", "result drawing", and the number of outputs "2" are set as the function outline information 1226. The generation unit 121 outputs integrated overview information 1231 including the function overview information 1226 of the result drawing 1205 and the function overview information 1220 and 1223 acquired from the reasoning A 1201 to the subsequent execution node 1206 .
 結果描画1205について、推論A1203からの出力を受けた時の動作を説明する。生成部121は、結果描画1205において、IDの値を「DDD」に設定し、前段のノードである推論A1203から機能概要情報1221,1224,1229を取得する。結果描画1205の後段につながるノードが実行ノード1206のみであり、結果描画1205の出力は分岐していないため、推論A1203から取得した出力数である「3」を引き継ぎ、結果描画1205の出力数は「3」となる。 Regarding the result drawing 1205, the operation when receiving the output from the reasoning A 1203 will be explained. The generation unit 121 sets the value of ID to "DDD" in the result drawing 1205, and acquires function outline information 1221, 1224, and 1229 from the inference A 1203, which is the preceding node. Execution node 1206 is the only node connected to the subsequent stage of result rendering 1205, and the output of result rendering 1205 does not branch. becomes "3".
 結果描画1205では、ID「DDD」と「結果描画」と出力数「3」とを、機能概要情報1227とする。生成部121は、機能概要情報1227と、推論A1203から取得した機能概要情報1221,1224,1229と、を含む統合概要情報1232を、後段の実行ノード1206に出力する。 In the result rendering 1205, the ID "DDD", "result rendering", and the number of outputs "3" are set as the function outline information 1227. The generation unit 121 outputs integrated overview information 1232 including the function overview information 1227 and the function overview information 1221, 1224, and 1229 acquired from the inference A 1203 to the subsequent execution node 1206. FIG.
 結果描画1205について、推論C1204からの出力を受けた時の動作を説明する。生成部121は、結果描画1205において、IDの値を「DDD」に設定し、前段のノードである推論C1204から機能概要情報1222,1225,1230を取得する。結果描画1205の後段につながるノードが実行ノード1206のみであり、結果描画1205の出力は分岐していないため、推論C1204から取得した出力数である「3」を引き継ぎ、結果描画1205の出力数は「3」となる。 Regarding the result drawing 1205, the operation when receiving the output from the inference C 1204 will be explained. The generation unit 121 sets the ID value to “DDD” in the result drawing 1205, and acquires the function outline information 1222, 1225, and 1230 from the inference C 1204, which is the preceding node. Execution node 1206 is the only node connected to the subsequent stage of result rendering 1205, and the output of result rendering 1205 does not branch. becomes "3".
 結果描画1205では、ID「DDD」と「結果描画」と出力数「3」とを、機能概要情報1228とする。生成部121は、機能概要情報1228と、推論C1204から取得した機能概要情報1222,1225,1230と、を含む統合概要情報1233を、後段の実行ノード1206に出力する。 In the drawing result 1205, the ID "DDD", "drawing result", and the number of outputs "3" are set as the function overview information 1228. The generation unit 121 outputs integrated overview information 1233 including the function overview information 1228 and the function overview information 1222, 1225, and 1230 acquired from the inference C 1204 to the subsequent execution node 1206. FIG.
 このように非同期システムでは、集約されるノードにおいて、いくつかの機能情報概要情報が重複して入力される可能性が生ずる。尚、推論A1201、推論A1203、および推論C1204の3つのノードの結果描画1205への出力の順番は制限されず、順番が入れ替わってもよい。 In this way, in an asynchronous system, there is a possibility that some functional summary information will be input redundantly at the aggregated node. Note that the order of outputting the three nodes of reasoning A1201, reasoning A1203, and reasoning C1204 to the result drawing 1205 is not limited, and the order may be changed.
 実行ノード1206の前段ノードは結果描画1205であるが、結果描画1205の入力数が「3」であるため、結果描画1205は3回実行される。結果描画1205は各実行結果を実行ノード1206に出力するため、実行ノード1206も3回実行されることとなる。 The preceding node of the execution node 1206 is the result drawing 1205, but since the number of inputs of the result drawing 1205 is "3", the result drawing 1205 is executed three times. Since the result drawing 1205 outputs each execution result to the execution node 1206, the execution node 1206 is also executed three times.
 実行ノード1206は、統合概要情報1231と統合概要情報1232と統合概要情報1233とを非同期に順不同で取得する。3つの統合概要情報1231~1233には、たとえば、カメラ入力1200に関する機能概要情報1220~1222のように、同じ機能概要情報が重複して含まれている。非同期システムにより、重複した情報が複数回に分かれて出力される統合概要情報について、同じ情報の重複排除を行った上で、同期処理を行うための実行ノード1206の詳細な処理を説明する。 The execution node 1206 asynchronously acquires the integrated overview information 1231, the integrated overview information 1232, and the integrated overview information 1233 in random order. The three pieces of integrated outline information 1231-1233 include the same function outline information redundantly, such as function outline information 1220-1222 related to the camera input 1200, for example. The detailed processing of the execution node 1206 for performing the synchronization processing after deduplication of the same information for the integrated summary information in which the duplicated information is divided and output multiple times by the asynchronous system will be described.
 実行ノード1206は、機能概要情報取得1240と、出力分岐数判断1241と、重複統合1242と、ノード接続整理1243と、構成情報生成1244と、を有する。 The execution node 1206 has function outline information acquisition 1240 , output branch number determination 1241 , overlap integration 1242 , node connection arrangement 1243 , and configuration information generation 1244 .
 機能概要情報取得1240は、前段の結果描画1205から出力される統合概要情報1231と統合概要情報1232と統合概要情報1233とを、順不同にそれぞれ取得し、出力分岐数判断1241に出力する。 The function overview information acquisition 1240 acquires the integrated overview information 1231, the integrated overview information 1232, and the integrated overview information 1233 output from the result drawing 1205 in the previous stage in random order, and outputs them to the output branch number determination 1241.
 出力分岐数判断1241は、順不同に取得する統合概要情報1231~1233の各々について、統合概要情報の取得数をカウントする。また、出力分岐数判断1241は、カウントした統合概要情報の数と、各統合概要情報1231~1233に保持される出力数とを比較する。 The output branch count determination 1241 counts the number of acquired integrated overview information for each of the integrated overview information 1231 to 1233 acquired in random order. Also, the output branch number determination 1241 compares the counted number of integrated overview information with the number of outputs held in each of the integrated overview information 1231-1233.
 出力分岐数判断1241は、カウントした統合概要情報の数と出力数とが一致するまで、取得した統合概要情報を蓄積する。カウントした統合概要情報の数と出力数とが一致した場合には、出力分岐数判断1241は、蓄積した統合概要情報を重複統合1242に出力する。 The output branch count determination 1241 accumulates the acquired integrated overview information until the counted number of integrated overview information matches the number of outputs. When the counted number of pieces of integrated outline information and the number of outputs match, the output branch number judgment 1241 outputs the accumulated integrated outline information to the overlapping integration 1242 .
 具体例を交えて出力分岐数判断1241の動作を説明する。まず初めに、出力分岐数判断1241が、統合概要情報1231を取得した場合には、出力分岐数判断1241は、統合概要情報の取得数(初期値は「0」)をカウントして「1」とし、統合概要情報1231の出力数が「2」であることを確認して、統合概要情報1231を蓄積する。 The operation of the output branch number determination 1241 will be described with specific examples. First, when the output branch number determination 1241 acquires the integrated outline information 1231, the output branch number determination 1241 counts the number of acquired integrated outline information (initial value is "0") and sets "1". , and confirms that the output number of the integrated overview information 1231 is “2”, and accumulates the integrated overview information 1231 .
 次に、出力分岐数判断1241が統合概要情報1232を取得した場合には、出力分岐数判断1241は統合概要情報の取得数をカウントして「2」とし、統合概要情報1232の出力数が「3」であることを確認して、統合概要情報1232を蓄積する。 Next, when the output branch number determination 1241 acquires the integrated outline information 1232, the output branch number determination 1241 counts the number of acquired integrated outline information and sets it to "2", and the output number of the integrated outline information 1232 is "2". 3”, and accumulates the integrated summary information 1232 .
 最後に、出力分岐数判断1241が統合概要情報1233を取得した場合には、出力分岐数判断1241は、統合概要情報の取得数をカウントして「3」とし、統合概要情報1233の出力数が「3」であることを確認して、統合概要情報1233を蓄積する。出力分岐数判断1241は、カウントした取得数「3」と出力数「3」とが一致したため、今までに蓄積した統合概要情報1231と、統合概要情報1232と、統合概要情報1233と、を重複統合1242に出力する。 Finally, when the output branch number determination 1241 acquires the integrated outline information 1233, the output branch number determination 1241 counts the number of acquired integrated outline information and sets it to "3", and the output number of the integrated outline information 1233 is After confirming that it is "3", the integrated summary information 1233 is accumulated. The output branch number determination 1241 duplicates the integrated overview information 1231, the integrated overview information 1232, and the integrated overview information 1233 accumulated so far because the counted acquisition number "3" and the output number "3" match. Output to integration 1242 .
 重複統合1242は、取得したすべての統合概要情報に含まれるIDを用いてノードの機能の重複を統合し、統合した統合概要情報を、重複統合概要情報としてノード接続整理1243に出力する。 The duplication integration 1242 integrates duplication of node functions using the IDs included in all of the acquired integrated overview information, and outputs the integrated integrated overview information to the node connection organizing 1243 as duplicate integrated overview information.
 ノード接続整理1243は、重複統合1242から取得した重複統合概要情報について各ノードの接続関係を確認し、複数の前段ノードを持つノードに対して、すべての前段ノードの当該ノードへの出力が完了したら処理を開始するような同期処理情報を付与して、同期重複統合概要情報として、構成情報生成1244に出力する。ノードの接続関係とは、ノードどうしがベクトルで接続されている関係をいう。ここで、重複統合1242およびノード接続整理1243の処理を、図を用いて具体的に説明する。 The node connection arrangement 1243 confirms the connection relationship of each node with respect to the overlap integration overview information acquired from the overlap integration 1242, and for a node having multiple preceding nodes, when output of all preceding nodes to the node is completed, Synchronous processing information for starting processing is added, and output to the configuration information generation 1244 as synchronous duplication integration summary information. A connection relation between nodes means a relation in which nodes are connected by a vector. Here, the processing of duplication integration 1242 and node connection arrangement 1243 will be specifically described with reference to the drawings.
 図13は、実施例4にかかる重複統合1242およびノード接続整理1243の処理の具体例を示す説明図である。図13では、実行ノード1206内の重複統合1242およびノード接続整理1243が、取得した統合概要情報群1300から同期重複統合概要情報群1302を生成した際の統合概要情報の変化を示す。 FIG. 13 is an explanatory diagram showing a specific example of the processes of duplication integration 1242 and node connection arrangement 1243 according to the fourth embodiment. FIG. 13 shows changes in the integrated outline information when the overlap integration 1242 and the node connection arrangement 1243 in the execution node 1206 generate the synchronous overlap integrated outline information group 1302 from the acquired integrated outline information group 1300 .
 統合概要情報群1300は、図12に示した統合概要情報1231~1233を含む。なお、統合概要情報1231~1233の各々において、左右に隣接しあうブロック間には接続関係が存在する。統合概要情報1231を例に挙げると、機能概要情報1220、1223との間にノードの接続関係があり、機能概要情報1223、1226との間にノードの接続関係がある。 The integrated overview information group 1300 includes integrated overview information 1231 to 1233 shown in FIG. In addition, in each of the integrated summary information 1231 to 1233, there is a connection relationship between left and right adjacent blocks. Taking the integrated overview information 1231 as an example, there is a node connection relationship with the function overview information 1220 and 1223 and a node connection relationship with the function overview information 1223 and 1226 .
 重複統合1242は、同じIDを持つ機能概要情報を同一のノードと判断し、統合する。たとえば、カメラ入力1200の機能概要情報1220~1222には、同一のID「AAA」が付与されるため、重複統合1242は、同一のノードであると判断して統合し、重複統合概要情報1311として出力する。 The duplication integration 1242 determines and integrates function outline information having the same ID as the same node. For example, the function outline information 1220 to 1222 of the camera input 1200 are given the same ID "AAA", so the overlap integration 1242 determines that they are the same node and integrates them as overlap integration outline information 1311. Output.
 一方で、推論A1201の機能概要情報1223と推論A1203の機能概要情報1229とは同一の機能(推論A)であるが、IDが異なる(「BBB」と「BBB´」)ため、重複統合1242は、異なるノードと判断して統合しない。 On the other hand, the function summary information 1223 of the reasoning A 1201 and the function summary information 1229 of the reasoning A 1203 have the same function (reasoning A), but have different IDs (“BBB” and “BBB′”). , are not integrated by judging that they are different nodes.
 この他に、推論B1202の機能概要情報1224と推論B1202の機能概要情報1225とは、同一のID「CCC」が付与されるため、重複統合1242は、同一ノードと判断して統合し、重複統合概要情報1312として出力する。また、結果描画1205の機能概要情報1226~1228は、同一のID「DDD」が付与されるため、重複統合1242は、同一ノードと判断して統合し、重複統合概要情報1313として出力する。取得した統合概要情報に対して、重複する機能概要情報のすべての統合が完了したら、重複統合概要情報1311~1313、機能概要情報1223、1229、1230を、重複複合概要情報群1301としてノード接続整理1243に出力する。 In addition, since the function overview information 1224 of the reasoning B 1202 and the function overview information 1225 of the reasoning B 1202 are given the same ID "CCC", the overlapping integration 1242 determines that they are the same node and integrates them. Output as summary information 1312 . Since the function outline information 1226 to 1228 of the result rendering 1205 are given the same ID “DDD”, the overlap integration 1242 determines that they are the same node, integrates them, and outputs them as overlap integration outline information 1313 . After all of the duplicated function outline information have been integrated with the acquired integrated outline information, the duplicated integrated outline information 1311 to 1313 and the function outline information 1223, 1229, and 1230 are grouped as a duplicated composite outline information group 1301, and node connections are arranged. Output to 1243.
 ノード接続整理1243は、重複統合1242から取得した重複統合概要情報群1301について各ノードの接続関係を確認し、複数の前段ノードを持つノードに対して、すべての前段ノードの当該ノードへの出力が完了したら処理を開始するような同期処理情報を付与して、同期重複統合概要情報として、構成情報生成1244に出力する。 The node connection arrangement 1243 confirms the connection relationship of each node with respect to the overlap integration summary information group 1301 acquired from the overlap integration 1242, and for a node having a plurality of preceding nodes, all the preceding nodes output to the node. Synchronous processing information for starting the processing upon completion is added, and output to the configuration information generation 1244 as synchronous duplication integration summary information.
 具体的には、たとえば、重複複合概要情報群1301内の重複複合概要情報1311~1313、機能概要情報1223、1229、1230において、左右方向に隣接しあうブロックにおけるノードの接続関係は、統合概要情報群1300から継承されている。 Specifically, for example, in overlapping composite overview information 1311 to 1313 and function overview information 1223, 1229, and 1230 in a group of overlapping composite overview information 1301, the connection relationships of nodes in horizontally adjacent blocks are Inherited from group 1300 .
 たとえば、重複複合概要情報1311を例に挙げると、機能概要情報1223とのノードの接続関係については、機能概要情報1220、1223間のノードの接続関係が継承されている。また、重複複合概要情報1312との接続関係については、機能概要情報1221、1224間のノードの接続関係と、機能概要情報1222、1225間のノードの接続関係と、が継承されている。 For example, taking the overlapped composite overview information 1311 as an example, the node connection relationship between the function overview information 1220 and 1223 is inherited for the node connection relationship with the function overview information 1223 . In addition, as for the connection relationship with the overlapping composite overview information 1312, the connection relationship of the nodes between the function overview information 1221 and 1224 and the connection relationship of the nodes between the function overview information 1222 and 1225 are inherited.
 一方、ノード接続整理1243は、機能概要情報1223と重複複合概要情報1313との間にノードの接続関係があるか否かを確認する。機能概要情報1223は、機能概要情報1226との間にノードの接続関係を有する。機能概要情報1226は、重複統合概要情報1313に統合されている。したがって、ノード接続整理1243は、機能概要情報1223と重複複合概要情報1313との間にノードの接続関係があると判断する。したがって、ノード接続整理1243は、機能概要情報1223と重複複合概要情報1313とを接続する。このようにして、ノード接続整理1243は、重複統合概要情報群1301において、ノードの接続関係を確認する。 On the other hand, the node connection arrangement 1243 confirms whether or not there is a node connection relationship between the function overview information 1223 and the duplicate/complex overview information 1313 . The function overview information 1223 has a node connection relationship with the function overview information 1226 . The function overview information 1226 is integrated with the overlapping integrated overview information 1313 . Therefore, the node connection sorting out 1243 determines that there is a node connection relationship between the function overview information 1223 and the duplicate/complex overview information 1313 . Therefore, the node connection arrangement 1243 connects the function overview information 1223 and the overlapping compound overview information 1313 . In this way, the node connection arrangement 1243 confirms the connection relationship of the nodes in the group of overlapping integrated overview information 1301 .
 また、結果描画1205の機能概要情報1226の前段ノードは推論A1201の機能概要情報1223である。結果描画1205の機能概要情報1227の前段ノードは推論A1203の機能概要情報1229である。結果描画1205の機能概要情報1228の前段ノードは推論C1204の機能概要情報1230である。結果描画1205の機能概要情報1226~1228には同一のID「DDD」が付与されるため、同一ノードである。したがって、結果描画1205は、前段ノードに3つのノード(推論A1201の機能概要情報1223、推論A1203の機能概要情報1229、推論C1204の機能概要情報1230)を持つと判断する。 Also, the preceding node of the function overview information 1226 of the result drawing 1205 is the function overview information 1223 of the inference A1201. The preceding node of the function outline information 1227 of the result rendering 1205 is the function outline information 1229 of the reasoning A 1203 . The preceding node of the function outline information 1228 of the result drawing 1205 is the function outline information 1230 of the inference C1204. Since the same ID "DDD" is assigned to the function overview information 1226 to 1228 of the result rendering 1205, they are the same node. Therefore, it is determined that the result drawing 1205 has three nodes (the function outline information 1223 of the inference A 1201, the function outline information 1229 of the inference A 1203, and the function outline information 1230 of the inference C 1204) in the preceding node.
 ノード接続整理1243は、結果描画1205について3つの前段ノード(推論A1201の機能概要情報1223、推論A1203の機能概要情報1229、推論C1204の機能概要情報1230)の出力を取得した後に、処理を開始するために、同期処理情報を、重複複合概要情報群1301に付与して、同期重複排除統合概要情報群1302とし、構成情報生成1244に出力する。 The node connection arrangement 1243 starts processing after acquiring the outputs of the three preceding nodes (the function outline information 1223 of the reasoning A 1201, the function outline information 1229 of the reasoning A 1203, and the function outline information 1230 of the reasoning C 1204) for the result drawing 1205. For this purpose, the synchronous processing information is added to the group 1301 of overlapping/composite summary information to form a group 1302 of synchronous deduplication integrated summary information, which is output to the configuration information generation 1244 .
 同期処理情報とは、複数存在する前段ノードのすべての当該ノードへの出力が完了したら処理を開始する情報である。本例では、結果描画1205の前段に3つのノード(推論A1201の機能概要情報1223、推論A1203の機能概要情報1229、推論C1204の機能概要情報1230)が存在するため、結果描画1205を示す重複統合概要情報1313に、同期処理情報1320が付与される。この同期処理情報1320は、機能概要情報1223、1229、1230のすべてから出力を受け付けると、結果描画1205に処理を開始させる機能を有する。 Synchronous processing information is information that starts processing when output to all of the preceding nodes that exist in multiple nodes is completed. In this example, since there are three nodes (function summary information 1223 of reasoning A 1201, function summary information 1229 of reasoning A 1203, and function summary information 1230 of reasoning C 1204) in the preceding stage of result rendering 1205, overlap integration indicating result rendering 1205 Synchronization processing information 1320 is added to the overview information 1313 . This synchronous processing information 1320 has a function of causing the result drawing 1205 to start processing when output is received from all of the function outline information 1223 , 1229 , and 1230 .
 これにより、結果描画1826は推論A1823と、推論A1829と、推論C1830と、の出力を待って処理を開始し、処理の同期をとることができる。なお、開始ノードには前段ノードが存在しないが、たとえば、重複複合概要情報1311はカメラ入力1200であるため、たとえば、カメラ入力1200以外の複数のノードのすべてで割り込みが発生したらカメラ入力1200を開始するといった同期処理情報の付与が可能である。 As a result, the result drawing 1826 waits for the outputs of the inference A1823, inference A1829, and inference C1830 to start processing and synchronize the processing. Note that although there is no preceding node in the start node, for example, since the overlapped composite summary information 1311 is camera input 1200, camera input 1200 is started when an interrupt occurs in all of a plurality of nodes other than camera input 1200. It is possible to add synchronous processing information such as
 このようにして、ノード接続整理1243は、ノードの接続確認が完了し、かつ、同期処理情報1320が付与された同期重複統合概要情報群1302を生成し、構成情報生成1244に出力する。 In this way, the node connection arrangement 1243 completes the node connection confirmation, generates the synchronous duplication integration summary information group 1302 to which the synchronization processing information 1320 is added, and outputs it to the configuration information generation 1244 .
 構成情報生成1244は、ノード接続整理1243から取得した同期重複統合概要情報群1302を構成情報320として生成する。 The configuration information generation 1244 generates the synchronous duplication integration summary information group 1302 acquired from the node connection arrangement 1243 as the configuration information 320 .
 <生成部121の処理手順例>
 図14は、実施例4にかかる設計実行システム100の生成部121による詳細な生成処理手順を示すフローチャートである。生成部121は、処理を行う当該ノードが始点ノードであるかを判断する(ステップS1400)。前段のノードがなければ始点ノードと判断される。始点ノードでなければ(ステップS1400:No)、生成部121は、前段のノードから機能概要情報を取得し(ステップS1401)、ステップS1402の処理に進む。ステップS1400の判断で当該ノードが始点ノードであると判断された場合には(ステップS1400:Yes)、ステップS1402の処理に進む。
<Example of processing procedure of generation unit 121>
FIG. 14 is a flowchart of detailed generation processing procedures by the generation unit 121 of the design execution system 100 according to the fourth embodiment. The generation unit 121 determines whether the node to be processed is the start node (step S1400). If there is no preceding node, it is determined to be the starting node. If it is not the start node (step S1400: No), the generation unit 121 acquires the function outline information from the previous node (step S1401), and proceeds to the process of step S1402. If it is determined in step S1400 that the node is the start node (step S1400: Yes), the process proceeds to step S1402.
 ステップS1402では、生成部121は、当該ノードにノード固有のIDを設定し、ステップS1403の処理に進む。 In step S1402, the generating unit 121 sets a node-specific ID for the node, and proceeds to step S1403.
 ステップS1402では、生成部121は、後段に接続されるノードの数から出力数を取得し、ステップS1404の処理に進む。 In step S1402, the generation unit 121 acquires the number of outputs from the number of nodes connected in the subsequent stage, and proceeds to the processing of step S1404.
 ステップS1404では、生成部121は、前段のノードから取得した機能概要情報に、固有のIDと出力数と当該ノードの機能概要情報とを含む統合機能概要情報を、後段のノードに出力し、ステップS1405の処理に進む。 In step S1404, the generation unit 121 outputs integrated function overview information including a unique ID, the number of outputs, and the function overview information of the node to the function overview information acquired from the preceding node to the subsequent node. The process proceeds to S1405.
 ステップS1405では、生成部121は、処理を行う当該ノードが終点ノードであるかを確認する(ステップS1405)。具体的には、たとえば、当該ノードが実行ノードであれば終点ノードである。終点ノードであれば(ステップS1405:Yes)、ステップS1406の処理に進み、終点ノードでなければ(ステップS1405:No)、ステップS1400の処理に進む。 At step S1405, the generation unit 121 confirms whether the node to be processed is the end node (step S1405). Specifically, for example, if the node is an execution node, it is an end node. If it is an end node (step S1405: Yes), the process proceeds to step S1406, and if not (step S1405: No), the process proceeds to step S1400.
 ステップS1406では、生成部121は、機能概要情報取得1240にて、統合概要情報を取得し、ステップS1407の処理に進む。 In step S1406, the generation unit 121 acquires integrated overview information in function overview information acquisition 1240, and proceeds to the processing of step S1407.
 ステップS1407では、生成部121は、出力分岐数判断1241にて、統合概要情報の取得数をカウントし、各統合概要情報に保持される出力数との比較を行い、一致していれば(ステップS1407:Yes)、蓄積した統合概要情報を重複統合1242に出力してステップS1408に進み、一致していなければ(ステップS1407:No)、取得した統合概要情報を蓄積して、ステップS1400に進む。 In step S1407, the generation unit 121 counts the number of acquisitions of the integrated overview information in the output branch count determination 1241, compares it with the number of outputs held in each integrated overview information, and if they match (step S1407: Yes), the accumulated integrated overview information is output to the duplication integration 1242, and the process proceeds to step S1408.
 ステップS1408では、生成部121は、重複統合1242にて、取得したすべての統合概要情報に含まれるIDを用いてノードの機能の重複を統合し、統合した統合概要情報を、重複統合概要情報として生成して、ステップS1409に進む。 In step S1408, the generation unit 121 integrates duplicate functions of the nodes using the IDs included in all the acquired integrated outline information in the overlap integration 1242, and converts the integrated integrated outline information into duplicate integrated outline information. generated, and proceeds to step S1409.
 ステップS1409では、生成部121は、ノード接続整理1243にて、取得した重複統合概要情報から各ノードの接続関係を確認し、複数の前段ノードを持つノードに対して、すべての前段ノードの当該ノードへの出力が完了したら処理を開始するような同期処理情報を付与して、同期重複統合概要情報群1301を生成して、ステップS1410に進む。 In step S1409, the generation unit 121 confirms the connection relationship of each node from the acquired overlap integration summary information in the node connection arrangement 1243, and for a node having a plurality of preceding nodes, Synchronous processing information is added so as to start processing upon completion of output to the synchronous duplication integration summary information group 1301, and the process advances to step S1410.
 ステップS1410では、生成部121は、構成情報生成1244にて、取得した同期重複統合概要情報群1301を構成情報320として生成し、生成部121の処理は終了する。 In step S1410, the generation unit 121 generates the acquired synchronous overlap integration summary information group 1301 as the configuration information 320 in the configuration information generation 1244, and the processing of the generation unit 121 ends.
 このように、実施例4によれば、非同期システムでは、設計部120における各ノードは前段のノードから複数の入力があった場合にも当該ノードで同期を取ることができない。また、非同期システムは、前段のノードからいずれかの入力があった時点で、前段のノードの機能概要情報を取得し、当該ノードの機能概要情報を合わせて、後段に出力する処理を開始してしまう。このような非同期システムにおいても、分岐して設計される並列システムとして同期処理を実行することができる。 As described above, according to the fourth embodiment, in the asynchronous system, each node in the design unit 120 cannot be synchronized even when there are multiple inputs from the preceding node. Also, when the asynchronous system receives any input from the preceding node, it acquires the function summary information of the preceding node, combines the function summary information of the node, and starts the process of outputting it to the subsequent stage. put away. Even in such an asynchronous system, synchronous processing can be executed as a parallel system that is designed to branch.
 実施例5を、実施例1~実施例4との相違点を中心に説明する。なお、実施例1~実施例4と共通する点については、同一符号を付し、その説明を省略する。実施例5では、非同期システムにおいて、生成する構成情報320に、並列処理やマルチプロセス処理が含まれる場合の詳細な処理方法を説明する。 Example 5 will be described with a focus on the differences from Examples 1 to 4. The same reference numerals are given to the points common to the first to fourth embodiments, and the description thereof will be omitted. In the fifth embodiment, a detailed processing method will be described in a case where the generated configuration information 320 includes parallel processing and multi-process processing in an asynchronous system.
 但し、実施例4とは異なり、並列化のために分岐したノードが、一度一つのノードに集約され並列化が集約された後に、再度並列化するシステムを想定する。実施例5では、こうしたシステムにおける並列処理やマルチプロセス処理に対して同期処理を実行可能とするシステムを提供する。 However, unlike the fourth embodiment, assume a system in which the nodes branched for parallelization are aggregated into one node once, parallelization is aggregated, and then parallelization is performed again. The fifth embodiment provides a system capable of executing synchronous processing for parallel processing and multi-process processing in such a system.
 <並列処理を含むシステム構成の構成情報生成の例>
 図15は、実施例5にかかる設計実行システム100の生成部121における構成情報生成の詳細な処理例を示す説明図である。図15では、ノード群として、カメラ入力1500、推論A1501、推論B1502、推論C1504、結果描画1505、画像配信1506、実行ノード1507が存在する。
<Example of configuration information generation for system configuration including parallel processing>
FIG. 15 is an explanatory diagram of a detailed processing example of configuration information generation in the generation unit 121 of the design execution system 100 according to the fifth embodiment. In FIG. 15, a camera input 1500, an inference A 1501, an inference B 1502, an inference C 1504, a result drawing 1505, an image distribution 1506, and an execution node 1507 exist as a node group.
 カメラ入力1500の出力は、ベクトル1510により、推論A1501の入力と接続されており、ベクトル1511により、推論B1502の入力と接続されている。推論A1501の出力は、ベクトル1512により、推論C1504の入力と接続されている。 The output of camera input 1500 is connected by vector 1510 to the input of inference A 1501 and by vector 1511 to the input of inference B 1502 . The output of reason A 1501 is connected by vector 1512 to the input of reason C 1504 .
 推論B1502の出力は、ベクトル1513により、推論C1504の入力と接続されている。推論C1504の出力は、ベクトル1510により、結果描画1505の入力と接続されており、推論C1504の出力は、ベクトル1511により、画像配信1506の入力と接続されている。 The output of Inference B 1502 is connected by a vector 1513 to the input of Inference C 1504. The output of Inference C 1504 is connected by vector 1510 to the input of Render Result 1505 , and the output of Inference C 1504 is connected by vector 1511 to the input of Image Delivery 1506 .
 結果描画1505の出力は、ベクトル1517により、実行ノード1507の入力と接続されている。画像配信1506の出力は、ベクトル1513により、実行ノード1507の入力と接続されている。 The output of render result 1505 is connected to the input of execution node 1507 by vector 1517 . The output of image distribution 1506 is connected to the input of execution node 1507 by vector 1513 .
 実施例5が実施例4と異なるのは、並列化後の分岐されたノードにフラグ信号が付加されることにある。フラグ信号とは、分岐を区別するための信号である。 The fifth embodiment differs from the fourth embodiment in that flag signals are added to branched nodes after parallelization. A flag signal is a signal for distinguishing a branch.
 生成部121は、カメラ入力1500において、IDの値を「AAA」に設定し、設定したID「AAA」を、機能概要情報1520とする。生成部121は、機能概要情報1520をカメラ入力1500から後段の推論A1501および推論B1502に出力する。この場合、カメラ入力1500の出力は推論A1501のほか、推論B1502にも分岐されているため、出力数は「2」となる。 The generation unit 121 sets the value of the ID to "AAA" in the camera input 1500, and sets the set ID "AAA" as the function outline information 1520. The generation unit 121 outputs the function overview information 1520 from the camera input 1500 to the inference A 1501 and the inference B 1502 in the subsequent stage. In this case, since the output of the camera input 1500 is branched not only to the inference A 1501 but also to the inference B 1502, the number of outputs is "2".
 更に実施例5においては、生成部121は、後段に複数のノードがあり、分岐があるノードについてはフラグ信号を出力する。具体的には、生成部121は、カメラ入力1500において、機能概要情報1520と共に、フラグ信号「1」およびフラグ信号「2」を、後段の推論A1501および推論B1502の各々に出力する。 Furthermore, in Example 5, the generation unit 121 outputs a flag signal for a node that has a plurality of nodes in the subsequent stage and has a branch. Specifically, in the camera input 1500, the generation unit 121 outputs the flag signal “1” and the flag signal “2” together with the function overview information 1520 to the inference A 1501 and the inference B 1502 in the subsequent stages.
 尚、後段ノードが複数ある場合において、後段のノードに機能概要情報を出力する際には、生成部121は、実施例4と同様に、同じ情報であっても、個別の番号を付して後段ノードに機能概要情報を付与してもよい。ただ、実施例5においては、実施例4との違いを強調として説明するため、一部の分岐については同様の番号を付して機能概要情報を後段ノードに出力することとして説明を行う。 Note that when there are a plurality of post-stage nodes, when outputting the function overview information to the post-stage nodes, the generation unit 121 assigns individual numbers to the same information, as in the fourth embodiment. Function outline information may be given to the subsequent node. However, in the fifth embodiment, in order to emphasize the difference from the fourth embodiment, some branches will be given the same numbers and the function overview information will be output to the subsequent node.
 このため、カメラ入力1500の機能概要情報は実施例4同様に別々の番号を付して、推論A1501および推論B1502に出力してもよいが、ここでは同一の番号を付した機能概要情報1520として、生成部121は、推論A1501と、推論B1502に出力する。 For this reason, the function overview information of the camera input 1500 may be assigned different numbers and output to the reasoning A 1501 and the reasoning B 1502 as in the fourth embodiment, but here the function overview information 1520 assigned the same number is , the generation unit 121 outputs to inference A 1501 and inference B 1502 .
 生成部121は、推論A1501において、IDの値を「BBB」に設定し、前段のノードであるカメラ入力1500から機能概要情報1520とフラグ信号「1」とを取得する。推論A1501の後段につながるノードが推論C1504のみであり、推論A1501の出力は分岐していないため、カメラ入力1500から取得した出力数である「2」を引き継ぎ、推論A1501の出力数は「2」となる。 The generation unit 121 sets the ID value to "BBB" in the inference A1501, and acquires the function overview information 1520 and the flag signal "1" from the camera input 1500, which is the preceding node. Inference C1504 is the only node connected to the stage after Inference A1501, and the output of Inference A1501 does not branch. becomes.
 推論A1501では、ID「BBB」と、「推論A」と、出力数「2」と、フラグ信号「1」と、を機能概要情報1521とする。生成部121は、機能概要情報1521とカメラ入力1500から取得した機能概要情報1520とを含む統合概要情報を、後段の推論C1504に出力する。 In the reasoning A 1501, the function outline information 1521 is the ID "BBB", the "reasoning A", the number of outputs "2", and the flag signal "1". The generation unit 121 outputs integrated overview information including the function overview information 1521 and the function overview information 1520 acquired from the camera input 1500 to the inference C1504 in the subsequent stage.
 生成部121は、推論B1502において、IDの値を「CCC」に設定し、前段のノードであるカメラ入力1500から機能概要情報1520を取得する。推論B1502の後段につながるノードが推論C1504のみであり、推論B1502の出力は分岐していないため、カメラ入力1500から取得した出力数である「2」を引き継ぎ、推論B1502の出力数は「2」となる。 The generation unit 121 sets the ID value to "CCC" in inference B1502, and acquires the function overview information 1520 from the camera input 1500, which is the preceding node. Inference C1504 is the only node connected to the stage after Inference B1502, and the output of Inference B1502 does not branch. becomes.
 推論B1502では、ID「CCC」と、「推論B」と、出力数「2」と、フラグ信号「2」とを、機能概要情報1522とする。生成部121は、機能概要情報1522とカメラ入力1500から取得した機能概要情報1520と含む統合概要情報を、後段の推論C1504に出力する。 In the inference B 1502, the ID "CCC", the "inference B", the number of outputs "2", and the flag signal "2" are used as the function overview information 1522. The generation unit 121 outputs integrated overview information including the function overview information 1522 and the function overview information 1520 acquired from the camera input 1500 to the inference C1504 in the subsequent stage.
 生成部121は、推論C1504において、IDの値を「DDD」に設定し、前段のノードである推論A1501と、推論A1502から機能概要情報を順不同に各々取得する。推論C1504の動作として、第一に、推論A1501から機能概要情報1521を受け取った際の動作について説明する。 The generation unit 121 sets the ID value to "DDD" in the inference C1504, and acquires the function overview information from the inference A1501 and inference A1502, which are the preceding nodes, in random order. As the operation of the inference C 1504, first, the operation when receiving the function overview information 1521 from the inference A 1501 will be described.
 生成部121は、推論C1504において、IDの値を「DDD」に設定し、前段のノードである推論A1501から機能概要情報1520、1521を取得する。生成部121は、推論C1504により、後段に接続されるノード(結果描画1505、画像配信1506)の数から出力数「2」を取得する。 The generation unit 121 sets the ID value to "DDD" in the inference C1504, and acquires the function overview information 1520 and 1521 from the inference A1501, which is the preceding node. The generation unit 121 acquires the number of outputs “2” from the number of nodes (result rendering 1505, image distribution 1506) connected in the subsequent stage by reasoning C1504.
 但し、生成部121は、推論C1504により、フラグ信号「1」の存在を検出し、既に前段のノードも含めた以前のノードで分岐があることを検出する。そして、生成部121は、前段以前のノードの分岐と後段のノードの分岐とを考慮したすべての分岐による組み合わせを考慮するため、出力数を「4」に設定する。すなわち、フラグ信号の数「2」×出力数「2」で出力数「4」に設定される。 However, the generation unit 121 detects the presence of the flag signal "1" by inference C1504, and detects that there is already a branch at the previous node including the previous node. Then, the generation unit 121 sets the number of outputs to "4" in order to consider all branch combinations considering the branches of the nodes before the previous stage and the branches of the nodes of the subsequent stage. That is, the number of flag signals is set to "2"×the number of outputs is "2", and the number of outputs is set to "4".
 また、生成部121は、推論C1504の後段のノードが分岐しているため、フラグ信号「3」とフラグ信号「4」とを用意する。そして、推論C1504では、ID「DDD」と「推論C」とを、機能概要情報1523とする。生成部121は、機能概要情報1523と前段のノードから取得した機能概要情報1520、1521と合わせて統合概要情報として、後段の結果描画1505と画像配信1506とに出力する。また、生成部121は、推論C1504が用意したフラグ信号「3」とフラグ信号「4」とを、結果描画1505と画像配信1506とに各々出力する。 Also, the generation unit 121 prepares the flag signal "3" and the flag signal "4" because the node after the inference C1504 is branched. Then, in inference C 1504 , ID “DDD” and “inference C” are set as function overview information 1523 . The generation unit 121 outputs the function outline information 1523 and the function outline information 1520 and 1521 acquired from the preceding nodes as integrated outline information to the subsequent result rendering 1505 and image distribution 1506 . The generation unit 121 also outputs the flag signal “3” and the flag signal “4” prepared by the inference C 1504 to the result drawing 1505 and the image distribution 1506, respectively.
 推論C1504の動作として、第二に、推論B1502から機能概要情報1522を受け取った際の動作について説明する。 Secondly, as the operation of the inference C 1504, the operation when receiving the function overview information 1522 from the inference B 1502 will be described.
 生成部121は、推論C1504において、IDの値を「DDD」に設定し、前段のノードである推論B1502から機能概要情報1520、1522を取得する。生成部121は、推論C1504により、後段に接続されるノード(結果描画1505、画像配信1506)の数から出力数「2」を取得する。 The generation unit 121 sets the ID value to "DDD" in the inference C1504, and acquires the function overview information 1520 and 1522 from the inference B1502, which is the preceding node. The generation unit 121 acquires the number of outputs “2” from the number of nodes (result rendering 1505, image distribution 1506) connected in the subsequent stage by reasoning C1504.
 但し、生成部121は、推論C1504により、フラグ信号「1」の存在を検出し、既に前段のノードも含めた以前のノードで分岐があることを検出する。そして、生成部121は、前段以前のノードの分岐と後段のノードの分岐とを考慮したすべての分岐による組み合わせを考慮するため、出力数を「4」に設定する。 However, the generation unit 121 detects the presence of the flag signal "1" by inference C1504, and detects that there is already a branch at the previous node including the previous node. Then, the generation unit 121 sets the number of outputs to "4" in order to consider all branch combinations considering the branches of the nodes before the previous stage and the branches of the nodes of the subsequent stage.
 また、生成部121は、推論C1504の後段のノードが分岐しているため、フラグ信号「3」とフラグ信号「4」とを用意する。そして、推論C1504では、ID「DDD」と「推論C」とを機能概要情報1524とする。生成部121は、機能概要情報1524と前段のノードから取得した機能概要情報1520、1522と合わせて統合概要情報として、後段の結果描画1505と画像配信1506とに出力する。また、生成部121は、推論C1504が用意したフラグ信号「3」とフラグ信号「4」とを、結果描画1505と画像配信1506とに各々出力する。 Also, the generation unit 121 prepares the flag signal "3" and the flag signal "4" because the node after the inference C1504 is branched. Then, in inference C 1504 , the ID “DDD” and “inference C” are used as function overview information 1524 . The generation unit 121 outputs the function outline information 1524 and the function outline information 1520 and 1522 acquired from the preceding nodes as integrated outline information to the subsequent result rendering 1505 and image distribution 1506 . The generation unit 121 also outputs the flag signal “3” and the flag signal “4” prepared by the inference C 1504 to the result drawing 1505 and the image distribution 1506, respectively.
 つぎに、結果描画1505および画像配信1506の処理について説明する。結果描画1505および画像配信1506の前段に推論C1504がある。結果描画1505および画像配信1506の処理について、第一に、前段ノードである推論C1504と結果描画1505と画像配信1506との処理にのみ着目して説明する。 Next, the processing of result rendering 1505 and image distribution 1506 will be described. Inference C 1504 precedes result rendering 1505 and image delivery 1506 . The processing of result drawing 1505 and image distribution 1506 will first be described by focusing only on the processing of inference C 1504 , result drawing 1505 and image distribution 1506 which are preceding nodes.
 生成部121は、結果描画1505において、IDの値を「EEE」に設定し、前段のノードである推論C1504から機能概要情報1520、1521、1523とフラグ信号「3」を取得する。結果描画1505の後段につながるノードが実行ノード1507のみであり、結果描画1505の出力は分岐していないため、推論C1504から取得した出力数である「4」を引き継ぎ、結果描画1505の出力数は「4」となる。 The generation unit 121 sets the ID value to "EEE" in the result rendering 1505, and acquires the function outline information 1520, 1521, 1523 and the flag signal "3" from the inference C1504, which is the preceding node. Execution node 1507 is the only node connected to the subsequent stage of result rendering 1505, and the output of result rendering 1505 does not branch. It becomes "4".
 結果描画1505では、ID「EEE」と、「結果描画」と、出力数「4」と、フラグ信号「3」と、を機能概要情報1525とする。生成部121は、機能概要情報1525と推論C1504から取得した機能概要情報1520、1521、1523とを含む統合概要情報を、後段の実行ノード1507に出力する。 In the drawing result 1505, the ID "EEE", "drawing result", the number of outputs "4", and the flag signal "3" are used as function overview information 1525. The generation unit 121 outputs integrated overview information including the function overview information 1525 and the function overview information 1520, 1521, and 1523 acquired from the inference C 1504 to the subsequent execution node 1507. FIG.
 生成部121は、画像配信1506において、IDの値を「FFF」に設定し、前段のノードである推論C1504から機能概要情報1520、1521、1523とフラグ信号「4」とを取得する。画像配信1506の後段につながるノードが実行ノード1507のみであり、画像配信1506の出力は分岐していないため、推論C1504から取得した出力数である「4」を引き継ぎ、画像配信1506の出力数は「4」となる。 The generation unit 121 sets the ID value to "FFF" in the image delivery 1506, and acquires the function overview information 1520, 1521, and 1523 and the flag signal "4" from the inference C1504, which is the preceding node. Since the execution node 1507 is the only node connected to the subsequent stage of the image delivery 1506, and the output of the image delivery 1506 does not branch, the number of outputs "4" acquired from the inference C1504 is inherited, and the number of outputs of the image delivery 1506 is It becomes "4".
 画像配信1506では、ID「FFF」と、「画像配信」と、出力数「4」と、フラグ信号「4」とを、機能概要情報1526とする。生成部121は、機能概要情報1526と推論C1504から取得した機能概要情報1520、1521、1523と含む統合概要情報を、後段の実行ノード1507に出力する。 In the image delivery 1506, the ID "FFF", "image delivery", the number of outputs "4", and the flag signal "4" are used as function overview information 1526. The generation unit 121 outputs the integrated overview information including the function overview information 1526 and the function overview information 1520, 1521, and 1523 acquired from the inference C 1504 to the subsequent execution node 1507. FIG.
 結果描画1505と画像配信1506の処理について、第二に、前段ノードである推論C1504以前のノードの分岐も交えた処理について説明する。 Regarding the processing of result rendering 1505 and image distribution 1506, secondly, the processing including branching of nodes prior to inference C1504, which is the preceding node, will be described.
 結果描画1505の前段ノードである推論C1504と、結果描画1505と、画像配信1506と、の処理にのみ着目すれば、前述の通り、推論C1504からの出力を、結果描画1505と画像配信1506が各々取得して処理が行われる。 Focusing only on the processing of the inference C 1504, which is the preceding node of the result rendering 1505, the result rendering 1505, and the image distribution 1506, as described above, the output from the inference C 1504 is transferred to the result rendering 1505 and the image distribution 1506 respectively. obtained and processed.
 しかし、前段ノード(推論C1504)以前のノードで、ベクトル1510およびベクトル1511を通る経路に分岐があるため、推論C1504では、推論A1501と推論B1502からの出力に応じて2回の処理が起動される。つまり、推論C1504は、推論A1501の経路を辿った機能概要情報1523と、推論B1502の経路を辿った機能概要情報1524とを、結果描画1505と画像配信1506に各々出力する。 However, since there is a branch in the path passing through vector 1510 and vector 1511 at the node before the preceding node (inference C1504), in inference C1504, two processes are started according to the outputs from inference A1501 and inference B1502. . That is, the inference C 1504 outputs the function overview information 1523 following the path of the inference A 1501 and the function overview information 1524 following the path of the inference B 1502 to the result drawing 1505 and the image delivery 1506, respectively.
 このため、実行ノード1507は、機能概要情報1520、1521、1523、1525を含む統合概要情報と、機能概要情報1520、1521、1523、1526を含む統合概要情報と、機能概要情報1520、1522、1524、1527を含む統合概要情報と、機能概要情報1520、1522、1524、1528を含む統合概要情報とを取得する。つまり、実行ノード1507は4回起動する。 For this reason, the execution node 1507 has integrated overview information including the function overview information 1520, 1521, 1523, 1525; , 1527 and integrated overview information including function overview information 1520, 1522, 1524, 1528 are obtained. That is, execution node 1507 is activated four times.
 実行ノード1507の詳細な処理について、実施例4との差分のみ説明する。実行ノード1507が実施例4の実行ノード1206と異なるのは、フラグ信号確認1540が追加された点にある。 Regarding the detailed processing of the execution node 1507, only differences from the fourth embodiment will be explained. Execution node 1507 differs from execution node 1206 of the fourth embodiment in that flag signal confirmation 1540 is added.
 前段のノード以前に分岐があった場合には、すべての分岐を考慮して構成情報を生成する必要がある。このため、すべてのノードを含む機能概要情報が実行ノード1507に含まれるかを確認するため、分岐後のノードにフラグ信号を付加してきた。フラグ信号確認1540は、付加したすべてのフラグ信号が、取得した統合概要情報内に含まれるかを確認し、すべてのフラグ信号が確認できるまで取得した統合概要情報を蓄積する。付加したすべてのフラグ信号を確認した場合には、フラグ信号確認1540は、蓄積した統合概要情報を重複統合1242に出力する。 If there are branches before the previous node, it is necessary to generate configuration information considering all branches. Therefore, in order to confirm whether the execution node 1507 contains the function overview information including all nodes, a flag signal is added to the node after branching. Flag signal confirmation 1540 confirms whether all added flag signals are included in the acquired integrated overview information, and accumulates the acquired integrated overview information until all flag signals can be confirmed. If all added flag signals have been validated, flag signal validation 1540 outputs the accumulated integration summary information to duplicate integration 1242 .
 <生成部121の処理手順例>
 図16は、実施例5にかかる設計実行システム100の生成部121による詳細な生成処理手順を示すフローチャートである。図16は、実施例5にかかる設計実行システム100の生成部121におけるID割当や出力数設定や重複統合やフラグ確認などを用いて構成情報を生成する例を示す。
<Example of processing procedure of generation unit 121>
FIG. 16 is a flowchart of detailed generation processing procedures by the generation unit 121 of the design execution system 100 according to the fifth embodiment. FIG. 16 shows an example of generating configuration information using ID assignment, output number setting, duplicate integration, flag confirmation, etc. in the generation unit 121 of the design execution system 100 according to the fifth embodiment.
 設計実行システム100の生成部121における構成情報を生成する詳細な処理手順について、実施例4との差分のみ説明する。構成情報を生成する詳細な処理手順が実施例4と異なるのは、図14のフローチャートにステップS1600と、ステップS1601と、ステップS1602が追加された点にある。 Only the differences from the fourth embodiment will be described in detail regarding the processing procedure for generating configuration information in the generation unit 121 of the design execution system 100 . The detailed processing procedure for generating configuration information differs from that of the fourth embodiment in that steps S1600, S1601, and S1602 are added to the flowchart of FIG.
 ステップS1600では、生成部121は、処理を行う当該ノードの出力が分岐しているかを判断する(ステップS1600)。当該ノードの出力が分岐していれば(ステップS1600:Yes)、ステップS1601の処理に進み、当該ノードの出力が分岐していなければ(ステップS1600:No)、ステップS1405の処理に進む。 At step S1600, the generation unit 121 determines whether the output of the node to be processed is branched (step S1600). If the output of the node is branched (step S1600: Yes), the process proceeds to step S1601, and if the output of the node is not branched (step S1600: No), the process proceeds to step S1405.
 ステップS1601では、生成部121は、当該ノードは後段ノードにフラグ信号を出力し、後段ノードは取得したフラグ信号を機能概要情報に設定して、ステップS1405の処理に進む。 In step S1601, the generation unit 121 causes the node to output a flag signal to the subsequent node, and the subsequent node sets the acquired flag signal to the function overview information, and proceeds to the process of step S1405.
 ステップS1602では、生成部121は、フラグ信号確認1440にて、付加したすべてのフラグ信号が取得した統合概要情報内に含まれるかを確認する。付加したすべてのフラグ信号を確認した場合には(ステップS1602:Yes)、生成部121は、蓄積した統合概要情報を重複統合1242に出力してステップS1408に進む。付加したすべてのフラグ信号が確認できない場合には(ステップS1602:No)、生成部121は、取得した統合概要情報を蓄積し、ステップS1400に進む。 In step S1602, the generation unit 121 checks in flag signal confirmation 1440 whether all the added flag signals are included in the acquired integrated summary information. If all the added flag signals have been confirmed (step S1602: Yes), the generation unit 121 outputs the accumulated integrated summary information to the overlapping integration 1242, and proceeds to step S1408. If all the added flag signals cannot be confirmed (step S1602: No), generating section 121 accumulates the acquired integrated summary information, and proceeds to step S1400.
 このように、実施例5によれば、並列化のために分岐したノードが、一度一つのノードに集約され並列化が集約された後に、再度並列化する非同期システムにおける並列処理やマルチプロセス処理に対して同期処理を実行可能な設計実行システム100を得ることができる。 As described above, according to the fifth embodiment, after the nodes branched for parallelization are aggregated into one node once and the parallelization is aggregated, parallel processing or multi-process processing in the asynchronous system is re-parallelized. It is possible to obtain the design execution system 100 capable of executing synchronous processing.
 実施例6を、実施例1~実施例5との相違点を中心に説明する。なお、実施例1~実施例5と共通する点については、同一符号を付し、その説明を省略する。実施例6では、生成する構成情報320に、並列処理やマルチプロセス処理が含まれるシステムにおいて、優先順位をつけたプロセスの処理を実行可能とするシステムを提供する。 Example 6 will be described with a focus on the differences from Examples 1 to 5. The same reference numerals are assigned to the points common to the first to fifth embodiments, and the description thereof is omitted. Embodiment 6 provides a system that enables execution of prioritized process processing in a system that includes parallel processing and multi-process processing in the generated configuration information 320 .
 <並列処理を含むシステム構成の構成情報生成の例>
 図17は、実施例6にかかる設計実行システム100の生成部121における構成情報生成の詳細な処理例を示す説明図である。実施例6が実施例4および実施例5と異なるのは、機能概要情報に各ノードが配置された作業スペース240における2次元座標情報1730~1740を含むことと、実行ノード1706内に優先度確認1750が追加されたことにある。
<Example of configuration information generation for system configuration including parallel processing>
FIG. 17 is an explanatory diagram of a detailed processing example of configuration information generation in the generation unit 121 of the design execution system 100 according to the sixth embodiment. Embodiment 6 differs from Embodiments 4 and 5 in that the function overview information includes two-dimensional coordinate information 1730 to 1740 in the workspace 240 where each node is arranged, and priority confirmation is performed in the execution node 1706. 1750 was added.
 2次元座標情報1730~1740は、各ノードにおいて、ID割当を行う際に、ノードが配置された作業スペース240における2次元座標位置であり、機能概要情報に各々追加される。 The two-dimensional coordinate information 1730 to 1740 are the two-dimensional coordinate positions in the workspace 240 where the nodes are arranged when assigning IDs to each node, and are added to the function overview information.
 優先度確認1750は、取得した同期重複統合概要情報群1301について、各ノードの位置を確認し、作業スペース240における2次元座標上の縦軸でより上部にあるパスの処理を優先して処理を実行するよう、処理の優先度を加えて、優先付同期重複統合概要情報として、構成情報生成1244に出力する。 The priority confirmation 1750 confirms the position of each node in the acquired synchronous duplication/integration summary information group 1301, and preferentially processes the paths higher on the vertical axis of the two-dimensional coordinates in the work space 240. The process priority is added so as to be executed, and output to the configuration information generation 1244 as prioritized synchronous duplication integration summary information.
 具体的には、たとえばカメラ入力1200に続く分岐において、推論A1201のノードの方が配置上、上部にあるため、優先度が高い処理が実行される。この優先度は後段ノードにも継承される。つまり、カメラ入力1200、推論A1201、結果描画1205の処理が他の経路により優先的に処理される。 Specifically, for example, in the branch following camera input 1200, the node of reasoning A 1201 is located at the top in terms of arrangement, so processing with a higher priority is executed. This priority is also inherited by subsequent nodes. In other words, camera input 1200, reasoning A 1201, and result drawing 1205 are preferentially processed by other paths.
 図18は、実施例6にかかる重複統合1242およびノード接続整理1243の処理の具体例1を示す説明図である。図18は、実行ノード1206内の重複統合1242およびノード接続整理1243が、取得した統合概要情報群1800から重複複合概要情報群1801への統合概要情報の変化を示す。 FIG. 18 is an explanatory diagram showing a specific example 1 of the processes of duplication integration 1242 and node connection arrangement 1243 according to the sixth embodiment. FIG. 18 shows a change in the integrated outline information from the integrated outline information group 1800 acquired by the overlap integration 1242 and the node connection arrangement 1243 in the execution node 1206 to the overlap composite outline information group 1801 .
 たとえば、カメラ入力1200の機能概要情報1220~1222には、同一のID「AAA」および同一の2次元座標情報1730~1732が付与されるため、重複統合1242は、同一のノードであると判断して統合し、重複統合概要情報1811として出力する。 For example, since the same ID "AAA" and the same two-dimensional coordinate information 1730-1732 are given to the function outline information 1220-1222 of the camera input 1200, the overlapping integration 1242 is determined to be the same node. , and output as overlapping and integrated summary information 1811 .
 また、推論B1202の機能概要情報1224と推論B1202の機能概要情報1225とは、同一のID「CCC」および同一の2次元座標情報1734、1735が付与されるため、重複統合1242は、同一ノードと判断して統合し、重複統合概要情報1812として出力する。 In addition, since the same ID "CCC" and the same two-dimensional coordinate information 1734, 1735 are assigned to the function overview information 1224 of the inference B1202 and the function overview information 1225 of the inference B1202, the overlapping integration 1242 is performed with the same node. It judges and integrates them, and outputs them as overlapping integrated overview information 1812 .
 また、結果描画1205の機能概要情報1227、1228は、同一のID「EEE」同一の2次元座標情報1739、1740が付与されるため、重複統合1242は、同一ノードと判断して統合し、重複統合概要情報1313として出力する。機能概要情報1230にもID「EEE」が付与されているが、2次元座標情報1738が2次元座標情報1739、1740とは異なるため、機能概要情報1230は、重複統合概要情報1313に統合されない。 In addition, since the same ID "EEE" and the same two-dimensional coordinate information 1739, 1740 are assigned to the function outline information 1227 and 1228 of the result drawing 1205, the overlap integration 1242 determines that they are the same node and integrates them. Output as integrated overview information 1313 . The function outline information 1230 is also given the ID “EEE”, but the two-dimensional coordinate information 1738 is different from the two-dimensional coordinate information 1739 and 1740, so the function outline information 1230 is not integrated with the overlapping integrated outline information 1313 .
 図19は、実施例6にかかる重複統合1242およびノード接続整理1243の処理の具体例2を示す説明図である。図19では、重複複合概要情報群1801から同期重複統合概要情報群1802への統合概要情報の変化を示す。 FIG. 19 is an explanatory diagram showing a specific example 2 of the processes of duplication integration 1242 and node connection arrangement 1243 according to the sixth embodiment. FIG. 19 shows a change in the integrated summary information from the overlapping composite summary information group 1801 to the synchronous duplicate integrated summary information group 1802 .
 ノード接続整理1243はノードの接続確認および同期処理情報1920を付与し、優先度確認1750が、重複統合概要情報1811(カメラ入力1200)、機能概要情報1223(推論A1201)、および機能概要情報1226(結果描画1205)の組み合わせ、すなわち、統合概要情報1231に、優先度1930を付与する。優先度1930が設定された統合概要情報1231は、統合概要情報1232、1233よりも優先的に実行される。このようにして、優先付同期重複統合概要情報群1902が生成される。これにより、たとえば、優先度の高い処理については処理時間を抑制して実行することが可能になる。 The node connection arrangement 1243 provides node connection confirmation and synchronization processing information 1920, and the priority confirmation 1750 includes duplicate integration overview information 1811 (camera input 1200), function overview information 1223 (inference A 1201), and function overview information 1226 ( A priority 1930 is given to the combination of result drawing 1205 ), that is, to the integrated summary information 1231 . The integrated outline information 1231 for which the priority 1930 is set is preferentially executed over the integrated outline information 1232 and 1233 . In this way, a prioritized synchronous duplication integration summary information group 1902 is generated. As a result, for example, it is possible to suppress the processing time and execute high-priority processing.
 <生成部121の処理手順例>
 図20は、実施例6にかかる設計実行システム100の生成部121による詳細な生成処理手順を示すフローチャートである。図20は、実施例6にかかる設計実行システム100の生成部121におけるID割当や出力数設定や重複統合やフラグ確認などを用いて構成情報を生成する例を示す。
<Example of processing procedure of generation unit 121>
FIG. 20 is a flowchart of detailed generation processing procedures by the generation unit 121 of the design execution system 100 according to the sixth embodiment. FIG. 20 shows an example of generating configuration information using ID allocation, output number setting, duplicate integration, flag confirmation, etc. in the generation unit 121 of the design execution system 100 according to the sixth embodiment.
 設計実行システム100の生成部121における構成情報を生成する詳細な処理手順について、実施例4や実施例5との差分のみ説明する。構成情報を生成する詳細な処理手順が実施例4と異なるのは、ステップS2000と、ステップS2001が追加された点にある。 Regarding the detailed processing procedure for generating the configuration information in the generation unit 121 of the design execution system 100, only differences from the fourth and fifth embodiments will be described. The detailed processing procedure for generating configuration information differs from that of the fourth embodiment in that steps S2000 and S2001 are added.
 ステップS2000では、生成部121は、作業スペース240において、当該ノードが配置される位置の2次元座標を取得し、ステップS1404に出力する。 In step S2000, the generation unit 121 acquires the two-dimensional coordinates of the position where the node is arranged in the work space 240, and outputs them to step S1404.
 ステップS2001では、生成部121は、優先度確認1650にて、各ノードの位置を確認し、2次元座標上の縦軸でより上部にあるパスの処理を優先して処理を実行するよう、処理の優先度を加えて、優先付同期重複統合概要情報を生成し、ステップS1410の処理に進む。 In step S2001, the generation unit 121 confirms the position of each node in the priority confirmation 1650, and performs processing so that the processing of the path that is higher on the vertical axis on the two-dimensional coordinates is preferentially executed. is added to generate prioritized synchronous duplication and integration overview information, and the process proceeds to step S1410.
 このように、実施例6によれば、並列化のために分岐したノードに対して、ノード配置位置から処理の優先度をつけることで、計算速度や処理リソースに限定のあるプロセッサにおいても、特定の処理については処理時間を抑制して処理可能な設計実行システム100を得ることができる。 As described above, according to the sixth embodiment, by assigning processing priority to nodes branched for parallelization from the node arrangement position, even in a processor with limited calculation speed and processing resources, a specific The design execution system 100 capable of suppressing the processing time for the processing of (1) can be obtained.
 以上説明したように、上述した実施例1~実施例6にかかる設計実行装置によれば、設計対象となるシステムをグラフィカルユーザインターフェースで設計し、当該システムを設計基盤上からでも実行可能とした上で、システム設計後の実行時には実行基盤単独でのシステム実行が可能になる。 As described above, according to the design execution apparatus according to the first to sixth embodiments, the system to be designed can be designed using a graphical user interface, and the system can be executed even from the design base. Therefore, the system can be executed by the execution base alone at the time of execution after system design.
 また、上述した実施例1~実施例6にかかる設計実行装置は、下記(1)~(11)のように構成することもできる。 Also, the design execution devices according to the first to sixth embodiments described above can be configured as shown in (1) to (11) below.
(1)設計支援装置(クライアント110)は、設計部120と、生成部121と、実行部123と、を有する。設計部120は、機能を実現する処理の実体がなく前記処理を特定する情報を規定した概要情報を含むノードを機能ごとに有し、外部操作により複数の前記ノードの接続が可能であり、設計対象に関する特定のノード群の接続により前記設計対象に関する特定の機能群の実行順序を規定する実行順序データ(システム情報)を生成する。生成部121は、前記設計部120によって生成された実行順序データに従って、前記特定のノード群のうち前段ノードの概要情報を前記前段ノードの後段に接続される後段ノードに継承することにより、前記特定の機能群の各々で用いられる前記概要情報を前記実行順序に従って規定した前記設計対象の構成情報320を生成する。実行部123は、前記生成部121によって生成された構成情報320を用いて前記特定の機能群を実現する処理を実体化して、実体化した処理を前記実行順序で実行する。 (1) The design support device (client 110 ) has a design section 120 , a generation section 121 and an execution section 123 . The design unit 120 has, for each function, a node containing outline information defining information specifying the process without the entity of the process that realizes the function. Execution order data (system information) that defines the execution order of a specific function group related to the design object is generated by connecting a specific node group related to the object. In accordance with the execution order data generated by the design unit 120, the generation unit 121 inherits the outline information of the preceding node in the specific node group to the succeeding node connected to the succeeding node of the preceding node, thereby obtaining the specified node. The design object configuration information 320 is generated in which the outline information used in each of the function groups is defined according to the execution order. The execution unit 123 uses the configuration information 320 generated by the generation unit 121 to materialize processes for realizing the specific function group, and executes the materialized processes in the execution order.
 これにより、設計対象の設計および実行の利便性の向上を図ることができる。具体的には、たとえば、設計部120および生成部121では、機能を実現する処理の実体がないノード群を扱っているため、ノード間では、概要情報の継承のみを実施する。すなわち、ノード間で処理した結果に関するノード間通信が発生しない。またノードごとに機能を実現する処理を実行する設計部120、生成部121、構成情報320および保持部122と実行基盤432との間には処理結果のデータ渡しが不要になる。したがって、設計の効率化を図ることができ、設計者にとって利便性が向上する。また、実行部123では、構成情報320を用いて、必要な機能のみ実体化(インスタンス化)するため、設計対象の実行の効率化を図ることができ、設計者にとって利便性が向上する。 As a result, it is possible to improve the convenience of designing and executing the design target. Specifically, for example, the design unit 120 and the generation unit 121 handle a group of nodes that do not have an entity of processing that implements a function, so only outline information is inherited between nodes. In other words, inter-node communication regarding the results of processing between nodes does not occur. Moreover, it is not necessary to pass data of processing results between the design unit 120, the generation unit 121, the configuration information 320 and the holding unit 122 that execute the processing for realizing the function of each node, and the execution base 432. FIG. Therefore, efficiency of design can be improved, and convenience for the designer is improved. In addition, since the execution unit 123 uses the configuration information 320 to materialize (instantiate) only the necessary functions, it is possible to improve the efficiency of the execution of the design target, thereby improving the convenience for the designer.
(2)上記(1)の設計実行装置において、前記設計部120は、前記ノードを前記機能ごとに表示し、外部操作(たとえば、設計者による入力デバイス204の操作)により複数の前記ノードの接続が可能であり、前記特定のノード群の接続により前記実行順序データを生成する。 (2) In the design execution device of (1) above, the design unit 120 displays the nodes for each of the functions, and connects the plurality of nodes by an external operation (for example, a designer operating the input device 204). is possible, and the execution order data is generated by connecting the specific node group.
 これにより、設計対象をグラフィカルユーザインターフェースで設計することができ、設計者にとって利便性が向上する。 As a result, the design target can be designed using a graphical user interface, improving convenience for designers.
(3)上記(2)の設計実行装置において、前記設計部120は、前記外部操作により前記ノードの前記概要情報として詳細設定画面246~248を表示する。 (3) In the design execution device of (2) above, the design section 120 displays detailed setting screens 246 to 248 as the outline information of the node by the external operation.
 これにより、どの機能がどのような項目を有しその設定値がどのような値であるかを視認することができ、設計者にとって利便性が向上する。また、ユーザ操作により設定値を変更可能にすることで、設計者にとって利便性がさらに向上する。 As a result, it is possible to visually recognize which function has which item and what the setting value is, which improves convenience for designers. In addition, by allowing the setting values to be changed by user operation, the convenience for the designer is further improved.
(4)上記(2)の設計実行装置において、前記設計部120は、前記設計実行装置と通信可能な外部装置のブラウザ400に前記ノードを前記機能ごとに表示させ、前記外部装置からの前記外部操作により複数の前記ノードの接続が可能であり、前記特定のノード群の接続により前記実行順序データを生成する。 (4) In the design execution device of (2) above, the design section 120 causes the browser 400 of an external device that can communicate with the design execution device to display the nodes for each of the functions, and the external device from the external device. A plurality of nodes can be connected by an operation, and the execution order data is generated by connecting the specific node group.
 これにより、外部装置から遠隔的に設計対象の設計および実行が可能になる。したがって、設計者にとって利便性が向上する。 This makes it possible to design and execute the design target remotely from an external device. Therefore, the convenience for the designer is improved.
(5)上記(1)の設計実行装置において、前記生成部121は、前記実行順序データを参照して、前記特定のノード群の各々のノードについて、前記前段ノードがあれば、前記前段ノードの概要情報と前記ノードの概要情報とを統合した統合概要情報を生成し、前記前段ノードの統合概要情報が前記前段ノードで生成されていれば、前記前段ノードの統合概要情報と前記ノードの概要情報とを統合した統合概要情報を生成し、最終段のノードで生成された統合概要情報を、前記構成情報320として出力する。 (5) In the design execution device of (1) above, the generation unit 121 refers to the execution order data, and if there is the preceding node for each node of the specific node group, Integrated outline information is generated by integrating the outline information and the outline information of the node, and if the integrated outline information of the preceding node is generated by the preceding node, the integrated outline information of the preceding node and the outline information of the node , and outputs the integrated outline information generated at the final stage node as the configuration information 320 .
 これにより、設計者がノードを接続するだけで、各ノードにおいて、先頭のノードから当該ノードまでの全概要情報が統合されて後段ノードに渡される。したがって、設計者がノードを接続しただけで、特定の機能群を実現する処理群が実行順序にしたがって実行される。したがって、設計者にとって利便性が向上する。 As a result, just by connecting the nodes by the designer, at each node, all the overview information from the top node to the relevant node is integrated and passed to the subsequent node. Therefore, when a designer simply connects nodes, a group of processes for realizing a group of specific functions are executed according to the order of execution. Therefore, the convenience for the designer is improved.
(6)上記(5)の設計実行装置において、前記生成部121は、前記統合概要情報内の複数の概要情報の各々に、前記概要情報を前記統合概要情報内で一意に特定する第1識別情報(ID)が割り当てられていなければ前記第1識別情報(ID)を割り当てる(ステップS801)。 (6) In the design execution device of (5) above, the generating unit 121 adds a first identification that uniquely identifies the outline information within the integrated outline information to each of a plurality of pieces of outline information within the integrated outline information. If the information (ID) is not assigned, the first identification information (ID) is assigned (step S801).
 これにより、設計者がノードを接続するだけで、各ノードにおいて、先頭のノードから当該ノードまでの概要情報に実行順序にしたがって第1識別情報が設定されるため、第1識別情報(ID)の順序にしたがって特定の機能群を実現する処理群が実行される。したがって、設計者にとって利便性が向上する。 As a result, when the designer simply connects the nodes, the first identification information is set in the outline information from the top node to the node in accordance with the execution order in each node. Processes that implement a particular set of functions are executed in sequence. Therefore, the convenience for the designer is improved.
(7)上記(6)の設計実行装置において、前記生成部121は、前記特定のノード群の各々のノードについて、複数の前記前段ノードがあり、かつ、複数の前記前段ノードに同一の前記第1識別情報が割り当てられた異なる概要情報が存在すれば、前記異なる概要情報どうしを区別する第2識別情報(サブID)を前記第1識別情報に割り当てる(ステップS804)。 (7) In the design execution device of (6) above, the generating unit 121 generates a plurality of preceding nodes for each node of the specific node group, and the plurality of preceding nodes have the same first node. If there is different summary information to which one identification information is assigned, second identification information (sub-ID) that distinguishes the different summary information is assigned to the first identification information (step S804).
 これにより、設計者がノードを接続するだけで第1識別情報の重複を意識することなく、第1識別情報の重複がなくなり、並列処理やマルチプロセス処理の実現が可能になる。また、実行部123での動作不良を事前に回避することができる。したがって、設計者にとって利便性が向上する。 As a result, the overlap of the first identification information is eliminated without the designer being conscious of the overlap of the first identification information simply by connecting the nodes, and parallel processing and multi-process processing can be realized. In addition, it is possible to prevent malfunctions in the execution unit 123 in advance. Therefore, the convenience for the designer is improved.
(8)上記(1)の設計実行装置において、前記生成部121は、前記特定のノード群の各々のノードについて、複数の前記前段ノードがあり、かつ、複数の前記前段ノードに同一の概要情報が存在すれば、前記同一の概要情報の重複を排除して前記後段ノードに継承する(ステップS803)。 (8) In the design execution device of (1) above, the generating unit 121 generates a plurality of preceding nodes for each node of the specific node group, and the plurality of preceding nodes have the same outline information. exists, the duplication of the same outline information is eliminated and inherited by the succeeding node (step S803).
 これにより、設計者がノードを接続するだけで概要情報の重複を意識することなく、実行部123での同一処理の重複実行を事前に回避することができる。したがって、設計の効率化を図ることができ、設計者にとって利便性が向上する。 As a result, the designer can avoid redundant execution of the same process in the execution unit 123 by simply connecting the nodes without being aware of the duplication of the outline information. Therefore, efficiency of design can be improved, and convenience for the designer is improved.
(9)上記(1)の設計実行装置において、前記機能の集合である機能群420と前記構成情報320とを保持する保持部122を有し、前記実行部123は、前記保持部122に前記機能群420と前記構成情報320とが保持されている場合、前記保持部122に保持された機能群420のうち前記特定の機能群を選択し、前記構成情報320を用いて前記特定の機能群を実現する処理を実体化して、実体化した処理を前記実行順序で実行する。 (9) The design execution device of (1) above has a holding unit 122 that holds a function group 420 that is a set of the functions and the configuration information 320, and the execution unit 123 stores the above information in the holding unit 122. When the function group 420 and the configuration information 320 are held, the specific function group is selected from the function group 420 held in the holding unit 122, and the specific function group is selected using the configuration information 320. is materialized, and the materialized processes are executed in the execution order.
 これにより、機能群420および構成情報320が保持されていれば、設計部120および生成部121を実行せずに、システム設計後の実行時には、実行部123単独でのシステム実行が可能になる。したがって、設計の効率化を図ることができ、設計者にとって利便性が向上する。たとえば、実行部123による実行時には、設計部120を構成するNod-REDを立ち上げて、スタートボタンを押下するというような操作が不要となる。そして、設計実行装置の電源をONにするだけで実行部123による実行が開始される。あるいは、特定プログラムからの起動や、開始信号を合図に実行部123が開始されてもよい。 As a result, if the function group 420 and the configuration information 320 are held, the system can be executed by the execution unit 123 alone at the time of execution after system design without executing the design unit 120 and the generation unit 121. Therefore, efficiency of design can be improved, and convenience for the designer is improved. For example, during execution by the execution unit 123, there is no need to activate Nod-RED, which constitutes the design unit 120, and press the start button. Execution by the execution unit 123 is started only by turning on the power supply of the design execution device. Alternatively, the executing unit 123 may be started by starting from a specific program or by using a start signal as a signal.
(10)上記(9)の設計実行装置において、前記保持部122は、前記機能群420をコンテナ化したコンテナ化機能群1120を保持し、前記実行部123は、前記保持部122に保持されたコンテナ化機能群1120のうち前記特定のコンテナ化機能群を選択し、前記構成情報を用いて前記特定のコンテナ化機能群を実体化して、実体化した処理を前記実行順序で実行する。 (10) In the design execution device of (9) above, the holding unit 122 holds a containerized function group 1120 obtained by containerizing the function group 420, and the execution unit 123 is held in the holding unit 122. The specific containerized function group is selected from the containerized function group 1120, the specific containerized function group is materialized using the configuration information, and the materialized processes are executed in the execution order.
 これにより、機能群420のバージョン管理が不要となり、実行部123の実行時における動作不良を回避することができる。このようにコンテナ化することで機能群420のメンテナンスが容易になり、設計者にとって利便性が向上する。 As a result, version management of the function group 420 becomes unnecessary, and malfunctions during execution of the execution unit 123 can be avoided. Such containerization facilitates maintenance of the function group 420 and improves convenience for the designer.
(11)上記(1)の設計実行装置において、特定の処理を実行する処理デバイス203と、前記実行部123によって実体化された前記処理デバイス203を制御する機能を実現する処理に基づいて、前記処理デバイス203を制御する制御部124と、を有する。 (11) In the design execution apparatus of (1) above, based on the process of realizing the processing device 203 that executes a specific process and the function of controlling the processing device 203 materialized by the execution unit 123, and a control unit 124 that controls the processing device 203 .
 これにより、構成情報320に記載の機能を実体化して処理デバイス203との連携を図りながら設計したシステムを実行することができる。 As a result, it is possible to implement the system designed while cooperating with the processing device 203 by materializing the functions described in the configuration information 320 .
(12)上記(5)の設計実行装置において、前記生成部121は、前記ノードを一意に特定する識別情報(ID)と、接続される前記後段ノードの数に基づいて前記ノードの位置で特定される前記実行順序データの実行経路の本数を示す出力数と、を取得して、前記概要情報に保持し、前記前段ノードから前記ノードへの出力が完了したら処理を開始する同期処理情報を付与することにより、前記構成情報320を生成する。 (12) In the design execution device of (5) above, the generation unit 121 identifies the position of the node based on identification information (ID) that uniquely identifies the node and the number of the subsequent nodes to be connected. and the number of outputs indicating the number of execution paths of the execution order data to be executed, are stored in the summary information, and synchronization processing information is added to start processing when the output from the preceding node to the node is completed. By doing so, the configuration information 320 is generated.
 これにより、非同期システムにおける並列処理やマルチプロセス処理に対して、同期処理(実行ノードの呼び出し)を実行することができる。 As a result, synchronous processing (calling execution nodes) can be executed for parallel processing and multi-process processing in an asynchronous system.
(13)上記(12)の設計実行装置において、前記生成部121は、前記最終段のノードにおいて、前記出力数に基づいて前記出力数分の前記統合概要情報を取得したか否かを判断し、取得した場合、前記同期処理情報を付与することにより、前記構成情報320を生成する。 (13) In the design execution device of (12) above, the generation unit 121 determines whether or not the integration overview information for the number of outputs has been acquired at the node of the final stage based on the number of outputs. , when acquired, the configuration information 320 is generated by adding the synchronization processing information.
 これにより、複数通りの実行経路による実行ノードの呼び出しを1回にまとめるための同期ノードが不要になり、ユーザの手動操作での接続設定ミスといったヒューマンエラーを防止することができる。 This eliminates the need for a synchronous node to consolidate execution node calls from multiple execution paths into one call, and prevents human errors such as connection setting errors due to manual operation by the user.
(14)上記(12)の設計実行装置において、前記生成部121は、前記出力数分の前記統合概要情報のうち、前記識別情報が同一の複数の前記概要情報を統合して統合概要情報を生成し、前記統合概要情報に前記同期処理情報を付与することにより、前記構成情報320を生成する。 (14) In the design execution device of (12) above, the generating unit 121 integrates a plurality of pieces of the outline information having the same identification information among the integrated outline information corresponding to the number of outputs to generate integrated outline information. The configuration information 320 is generated by generating and adding the synchronization processing information to the integrated outline information.
 これにより、構成情報320のデータ量の削減と実行順序データの簡素化を図ることができる。 As a result, it is possible to reduce the amount of data in the configuration information 320 and simplify the execution order data.
(15)上記(13)の設計実行装置において、前記生成部121は、前記ノードから複数の前記後段ノードに分岐する場合に分岐数に関するフラグ信号を前記後段ノードごとに取得して、前記後段ノードの前記概要情報に保持し、前記最終段のノードにおいて、前記フラグ信号と前記出力数とに基づいて、前記出力数分の前記統合概要情報を取得したか否かを判断し、取得した場合、前記同期処理情報を付与することにより、前記構成情報320を生成する。 (15) In the design execution device of (13) above, when the node branches to a plurality of the later nodes, the generation unit 121 acquires a flag signal regarding the number of branches for each of the latter nodes, and in the final stage node, based on the flag signal and the number of outputs, it is determined whether or not the integrated summary information for the number of outputs has been acquired. The configuration information 320 is generated by adding the synchronization processing information.
 これにより、並列化のために分岐したノードが、一度一つのノードに集約され並列化が集約された後に、再度並列化する非同期システムについても、同期処理(実行ノードの呼び出し)を実行することができる。 As a result, the nodes branched for parallelization are once aggregated into one node, and after the parallelization is aggregated, even in the asynchronous system that is parallelized again, synchronous processing (calling the execution node) can be executed. can.
(16)上記(12)の設計実行装置において、前記生成部121は、前記特定のノード群の各ノードが前記外部操作により作業スペース240に配置された座標位置を示す座標情報を取得して、前記ノードの前記概要情報に保持する。 (16) In the design execution device of (12) above, the generation unit 121 acquires coordinate information indicating the coordinate positions where each node of the specific node group is arranged in the workspace 240 by the external operation, It is held in the summary information of the node.
 これにより、どのノードが作業スペース240上のどの位置に配置されたかを確認することができる。 As a result, it is possible to confirm which node is placed at which position on the workspace 240.
(17)上記(16)の設計実行装置において、前記生成部121は、前記最終段のノードにおいて、前記座標情報に基づいて、前記実行順序データに含まれる複数の実行経路の優先度を設定することにより、前記構成情報320を生成する。 (17) In the design execution device of (16) above, the generation unit 121 sets the priority of a plurality of execution paths included in the execution order data based on the coordinate information in the final stage node. Thus, the configuration information 320 is generated.
 これにより、実行経路ごとに優先順位を設定することができ、優先順位に従って実行経路に関する処理を実行することができる。 As a result, a priority can be set for each execution path, and processes related to execution paths can be executed according to the priority.
 なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例および同等の構成が含まれる。たとえば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明したすべての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加、削除、または置換をしてもよい。 The present invention is not limited to the embodiments described above, and includes various modifications and equivalent configurations within the scope of the attached claims. For example, the above-described embodiments have been described in detail in order to facilitate understanding of the present invention, and the present invention is not necessarily limited to those having all the described configurations. Also, part of the configuration of one embodiment may be replaced with the configuration of another embodiment. Moreover, the configuration of another embodiment may be added to the configuration of one embodiment. Moreover, other configurations may be added, deleted, or replaced with respect to a part of the configuration of each embodiment.
 また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、たとえば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサ201がそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。 Further, each configuration, function, processing unit, processing means, etc. described above may be realized by hardware, for example, by designing an integrated circuit, for example, by designing a part or all of them, and the processor 201 performs each function. It may be realized by software by interpreting and executing a program to be realized.
 各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(Solid State Drive)等の記憶装置、又は、IC(Integrated Circuit)カード、SDカード、DVD(Digital Versatile Disc)の記録媒体に格納することができる。 Information such as programs, tables, files, etc. that realize each function is recorded on storage devices such as memory, hard disk, SSD (Solid State Drive), or IC (Integrated Circuit) card, SD card, DVD (Digital Versatile Disc) Can be stored on media.
 また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要なすべての制御線や情報線を示しているとは限らない。実際には、ほとんどすべての構成が相互に接続されていると考えてよい。 In addition, the control lines and information lines indicate those that are considered necessary for explanation, and do not necessarily indicate all the control lines and information lines necessary for implementation. In fact, it can be considered that almost all configurations are interconnected.

Claims (21)

  1.  機能を実現する処理の実体がなく前記処理を特定する情報を規定した概要情報を含むノードを機能ごとに有し、外部操作により複数の前記ノードの接続が可能であり、特定のノード群の接続により特定の機能群の実行順序を規定する実行順序データを生成する設計部と、
     前記設計部によって生成された実行順序データに従って、前記特定のノード群のうち前段ノードの概要情報を前記前段ノードの後段に接続される後段ノードに継承することにより、前記特定の機能群の各々で用いられる前記概要情報を前記実行順序に従って規定した構成情報を生成する生成部と、
     前記生成部によって生成された構成情報を用いて前記特定の機能群を実現する処理を実体化して、実体化した処理を前記実行順序で実行する実行部と、
     を有することを特徴とする設計実行装置。
    Each function has a node containing outline information specifying information specifying the process without the entity of the process that realizes the function, and connection of a plurality of the nodes is possible by external operation, and connection of a specific node group a design unit that generates execution order data that defines the execution order of a specific function group by
    According to the execution order data generated by the design unit, each of the specific function groups inherits the summary information of the preceding node of the specific node group to the succeeding node connected after the preceding node. a generation unit that generates configuration information defining the summary information to be used according to the execution order;
    an execution unit that materializes processes for realizing the specific function group using the configuration information generated by the generation unit and executes the materialized processes in the execution order;
    A design execution device comprising:
  2.  請求項1に記載の設計実行装置であって、
     前記設計部は、前記ノードを前記機能ごとに表示し、外部操作により複数の前記ノードの接続が可能であり、前記特定のノード群の接続により前記実行順序データを生成する、
     ことを特徴とする設計実行装置。
    The design execution device according to claim 1,
    The design unit displays the nodes for each of the functions, is capable of connecting a plurality of the nodes by an external operation, and generates the execution order data by connecting the specific node group.
    A design execution device characterized by:
  3.  請求項2に記載の設計実行装置であって、
     前記設計部は、前記外部操作により前記ノードの前記概要情報を表示する、
     ことを特徴とする設計実行装置。
    The design execution device according to claim 2,
    The design unit displays the summary information of the node by the external operation.
    A design execution device characterized by:
  4.  請求項2に記載の設計実行装置であって、
     前記設計部は、前記設計実行装置と通信可能な外部装置に前記ノードを前記機能ごとに表示させ、前記外部装置からの前記外部操作により複数の前記ノードの接続が可能であり、前記特定のノード群の接続により前記実行順序データを生成する、
     ことを特徴とする設計実行装置。
    The design execution device according to claim 2,
    The design unit causes an external device that can communicate with the design execution device to display the nodes for each of the functions, and allows connection of a plurality of the nodes by the external operation from the external device. generating the execution order data by connecting groups;
    A design execution device characterized by:
  5.  請求項1に記載の設計実行装置であって、
     前記生成部は、前記実行順序データを参照して、前記特定のノード群の各々のノードについて、前記前段ノードがあれば、前記前段ノードの概要情報と前記ノードの概要情報とを統合した統合概要情報を生成し、前記前段ノードの統合概要情報が前記前段ノードで生成されていれば、前記前段ノードの統合概要情報と前記ノードの概要情報とを統合した統合概要情報を生成し、最終段のノードで生成された統合概要情報を、前記構成情報として出力する、
     ことを特徴とする設計実行装置。
    The design execution device according to claim 1,
    The generating unit refers to the execution order data, and for each node of the specific node group, if there is the preceding node, an integrated summary obtained by integrating the summary information of the preceding node and the summary information of the node. information is generated, and if the integrated summary information of the preceding node is generated by the preceding node, the integrated summary information is generated by integrating the integrated summary information of the preceding node and the summary information of the node, and the final step of outputting the integrated overview information generated by the node as the configuration information;
    A design execution device characterized by:
  6.  請求項5に記載の設計実行装置であって、
     前記生成部は、前記統合概要情報内の複数の概要情報の各々に、前記概要情報を前記統合概要情報内で一意に特定する第1識別情報が割り当てられていなければ前記第1識別情報を割り当てる、
     ことを特徴とする設計実行装置。
    The design execution device according to claim 5,
    The generating unit assigns the first identification information to each of a plurality of pieces of overview information in the integrated overview information if the first identification information that uniquely identifies the overview information in the integrated overview information is not assigned. ,
    A design execution device characterized by:
  7.  請求項6に記載の設計実行装置であって、
     前記生成部は、前記特定のノード群の各々のノードについて、複数の前記前段ノードがあり、かつ、複数の前記前段ノードに同一の前記第1識別情報が割り当てられた異なる概要情報が存在すれば、前記異なる概要情報どうしを区別する第2識別情報を前記第1識別情報に割り当てる、
     ことを特徴とする設計実行装置。
    The design execution device according to claim 6,
    If each node of the specific node group has a plurality of preceding nodes and different summary information to which the same first identification information is assigned to the plurality of preceding nodes, , assigning to the first identification a second identification that distinguishes between the different summary information;
    A design execution device characterized by:
  8.  請求項1に記載の設計実行装置であって、
     前記生成部は、前記特定のノード群の各々のノードについて、複数の前記前段ノードがあり、かつ、複数の前記前段ノードに同一の概要情報が存在すれば、前記同一の概要情報の重複を排除して前記後段ノードに継承する、
     ことを特徴とする設計実行装置。
    The design execution device according to claim 1,
    If each node of the specific node group has a plurality of preceding nodes and the same summary information exists in the plurality of preceding nodes, the generation unit eliminates duplication of the same summary information. and inherit to the latter node,
    A design execution device characterized by:
  9.  請求項1に記載の設計実行装置であって、
     前記機能の集合である機能群と前記構成情報とを保持する保持部を有し、
     前記実行部は、前記保持部に前記機能群と前記構成情報とが保持されている場合、前記保持部に保持された機能群のうち前記特定の機能群を選択し、前記構成情報を用いて前記特定の機能群を実現する処理を実体化して、実体化した処理を前記実行順序で実行する、
     ことを特徴とする設計実行装置。
    The design execution device according to claim 1,
    a holding unit that holds a function group, which is a set of the functions, and the configuration information;
    When the holding unit holds the function group and the configuration information, the execution unit selects the specific function group from among the function groups held in the holding unit, and uses the configuration information to perform materializing processes for realizing the specific function group and executing the materialized processes in the execution order;
    A design execution device characterized by:
  10.  請求項9に記載の設計実行装置であって、
     前記保持部は、前記機能群をコンテナ化したコンテナ化機能群を保持し、
     前記実行部は、前記保持部に保持されたコンテナ化機能群のうち前記特定のコンテナ化機能群を選択し、前記構成情報を用いて前記特定のコンテナ化機能群を実体化して、実体化した処理を前記実行順序で実行する、
     ことを特徴とする設計実行装置。
    The design execution device according to claim 9,
    The holding unit holds a containerized function group obtained by containerizing the function group,
    The execution unit selects the specific containerized function group from the containerized function groups held in the holding unit, materializes the specific containerized function group using the configuration information, and materializes the containerized function group. executing the processes in the order of execution;
    A design execution device characterized by:
  11.  請求項1に記載の設計実行装置であって、
     特定の処理を実行する処理デバイスと、
     前記実行部によって実体化された前記処理デバイスを制御する機能を実現する処理に基づいて、前記処理デバイスを制御する制御部と、
     を有することを特徴とする設計実行装置。
    The design execution device according to claim 1,
    a processing device that performs a specific process;
    a control unit that controls the processing device based on a process that realizes a function of controlling the processing device materialized by the execution unit;
    A design execution device comprising:
  12.  請求項5に記載の設計実行装置であって、
     前記生成部は、前記ノードを一意に特定する識別情報と、接続される前記後段ノードの数に基づいて前記ノードの位置で特定される前記実行順序データの実行経路の本数を示す出力数と、を取得して、前記概要情報に保持し、前記前段ノードから前記ノードへの出力が完了したら処理を開始する同期処理情報を付与することにより、前記構成情報を生成する、
     ことを特徴とする設計実行装置。
    The design execution device according to claim 5,
    The generation unit includes identification information that uniquely identifies the node, an output number that indicates the number of execution paths of the execution order data that is identified by the position of the node based on the number of the subsequent nodes that are connected, and is obtained, held in the summary information, and synchronous processing information for starting processing when output from the preceding node to the node is completed, thereby generating the configuration information.
    A design execution device characterized by:
  13.  請求項12に記載の設計実行装置であって、
     前記生成部は、前記最終段のノードにおいて、前記出力数に基づいて前記出力数分の前記統合概要情報を取得したか否かを判断し、取得した場合、前記同期処理情報を付与することにより、前記構成情報を生成する、
     ことを特徴とする設計実行装置。
    13. The design execution device of claim 12,
    The generation unit determines whether or not the integrated summary information for the number of outputs has been acquired at the node in the final stage based on the number of outputs, and if acquired, adds the synchronization processing information , generating said configuration information;
    A design execution device characterized by:
  14.  請求項12に記載の設計実行装置であって、
     前記生成部は、前記出力数分の前記統合概要情報のうち、前記識別情報が同一の複数の前記概要情報を統合して統合概要情報を生成し、前記統合概要情報に前記同期処理情報を付与することにより、前記構成情報を生成する、
     ことを特徴とする設計実行装置。
    13. The design execution device of claim 12,
    The generating unit generates integrated outline information by integrating a plurality of pieces of outline information having the same identification information among the integrated outline information corresponding to the number of outputs, and adds the synchronization processing information to the integrated outline information. generating the configuration information by
    A design execution device characterized by:
  15.  請求項13に記載の設計実行装置であって、
     前記生成部は、前記ノードから複数の前記後段ノードに分岐する場合に分岐数に関するフラグ信号を前記後段ノードごとに取得して、前記後段ノードの前記概要情報に保持し、前記最終段のノードにおいて、前記フラグ信号と前記出力数とに基づいて、前記出力数分の前記統合概要情報を取得したか否かを判断し、取得した場合、前記同期処理情報を付与することにより、前記構成情報を生成する、
     ことを特徴とする設計実行装置。
    14. The design execution device of claim 13,
    The generation unit acquires a flag signal regarding the number of branches for each of the post-nodes when the node branches to the plurality of post-stage nodes, holds the flag signal in the summary information of the post-stage node, and determining whether or not the integrated summary information for the number of outputs has been acquired based on the flag signal and the number of outputs; generate,
    A design execution device characterized by:
  16.  請求項12に記載の設計実行装置であって、
     前記生成部は、前記特定のノード群の各ノードが前記外部操作により作業領域に配置された座標位置を示す座標情報を取得して、前記ノードの前記概要情報に保持する、
     ことを特徴とする設計実行装置。
    13. The design execution device of claim 12,
    The generating unit acquires coordinate information indicating a coordinate position where each node of the specific node group is arranged in the work area by the external operation, and holds it in the summary information of the node.
    A design execution device characterized by:
  17.  請求項16に記載の設計実行装置であって、
     前記生成部は、前記最終段のノードにおいて、前記座標情報に基づいて、前記実行順序データに含まれる複数の実行経路の優先度を設定することにより、前記構成情報を生成する、
     ことを特徴とする設計実行装置。
    17. The design execution device of claim 16,
    The generation unit generates the configuration information by setting priorities of a plurality of execution paths included in the execution order data based on the coordinate information at the final node.
    A design execution device characterized by:
  18.  機能群を保持するサーバと、前記サーバと通信可能なクライアントと、を有する設計実行システムであって、
     機能を実現する処理の実体がなく前記処理を特定する情報を規定した概要情報を含むノードを機能ごとに有し、外部操作により複数の前記ノードの接続が可能であり、特定のノード群の接続により特定の機能群の実行順序を規定する実行順序データを生成する設計部と、
     前記設計部によって生成された実行順序データに従って、前記特定のノード群のうち前段ノードの概要情報を前記前段ノードの後段に接続される後段ノードに継承することにより、前記特定の機能群の各々で用いられる前記概要情報を前記実行順序に従って規定した構成情報を生成する生成部と、
     前記機能群のうち、前記生成部によって生成された構成情報を用いて前記特定の機能群を実現する処理を実体化して、実体化した処理を前記実行順序で実行する実行部と、
     を有することを特徴とする設計実行システム。
    A design execution system comprising a server holding a function group and a client capable of communicating with the server,
    Each function has a node containing outline information specifying information specifying the process without the entity of the process that realizes the function, and connection of a plurality of the nodes is possible by external operation, and connection of a specific node group a design unit that generates execution order data that defines the execution order of a specific function group by
    According to the execution order data generated by the design unit, each of the specific function groups inherits the summary information of the preceding node of the specific node group to the succeeding node connected after the preceding node. a generation unit that generates configuration information defining the summary information to be used according to the execution order;
    an execution unit that materializes processes for realizing the specific function group by using the configuration information generated by the generation unit and executes the materialized processes in the execution order;
    A design execution system comprising:
  19.  請求項18に記載の設計実行システムであって、
     前記クライアントは、
     前記設計部と、前記生成部と、前記実行部と、
     を有することを特徴とする設計実行システム。
    19. The design execution system of claim 18, comprising:
    Said client
    the design unit, the generation unit, and the execution unit;
    A design execution system comprising:
  20.  請求項18に記載の設計実行システムであって、
     前記サーバは、
     前記設計部と、前記生成部と、を有し、
     前記クライアントは、
     前記実行部を有する、
     ことを特徴とする設計実行システム。
    19. The design execution system of claim 18, comprising:
    The server is
    having the design unit and the generation unit;
    Said client
    having the execution unit;
    A design execution system characterized by:
  21.  プログラムを実行するプロセッサと前記プログラムを記憶する記憶デバイスとを有するコンピュータが、
     機能を実現する処理の実体がなく前記処理を特定する情報を規定した概要情報を含むノードを機能ごとに有し、外部操作により複数の前記ノードの接続が可能であり、特定のノード群の接続により特定の機能群の実行順序を規定する実行順序データを生成する設計処理と、
     前記設計処理によって生成された実行順序データに従って、前記特定のノード群のうち前段ノードの概要情報を前記前段ノードの後段に接続される後段ノードに継承することにより、前記特定の機能群の各々で用いられる前記概要情報を前記実行順序に従って規定した構成情報を生成する生成処理と、
     前記生成処理によって生成された構成情報を用いて前記特定の機能群を実現する処理を実体化して、実体化した処理を前記実行順序で実行する実行処理と、
     を実行することを特徴とする設計実行方法。
    A computer having a processor that executes a program and a storage device that stores the program,
    Each function has a node containing outline information specifying information specifying the process without the entity of the process that realizes the function, and connection of a plurality of the nodes is possible by external operation, and connection of a specific node group A design process for generating execution order data that defines the execution order of a specific function group by
    According to the execution order data generated by the design process, each of the specific function groups inherits the outline information of the preceding node of the specific node group to the succeeding node connected to the succeeding of the preceding node. a generating process for generating configuration information defining the summary information to be used according to the execution order;
    an execution process of materializing processes for realizing the specific function group using the configuration information generated by the generation process, and executing the materialized processes in the execution order;
    A design execution method characterized by executing
PCT/JP2022/038097 2021-10-14 2022-10-12 Design execution device, design execution system, and design execution method WO2023063365A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2021-168779 2021-10-14
JP2021168779 2021-10-14
JP2022140736A JP2023059237A (en) 2021-10-14 2022-09-05 Design execution device, design execution system, and design execution method
JP2022-140736 2022-09-05

Publications (1)

Publication Number Publication Date
WO2023063365A1 true WO2023063365A1 (en) 2023-04-20

Family

ID=85988667

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/038097 WO2023063365A1 (en) 2021-10-14 2022-10-12 Design execution device, design execution system, and design execution method

Country Status (1)

Country Link
WO (1) WO2023063365A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016146148A (en) * 2015-02-09 2016-08-12 株式会社ソシオネクスト Design support device and design support method
JP2020042679A (en) * 2018-09-12 2020-03-19 株式会社日立製作所 Device and method for supporting creation of flow using visual programming tool

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016146148A (en) * 2015-02-09 2016-08-12 株式会社ソシオネクスト Design support device and design support method
JP2020042679A (en) * 2018-09-12 2020-03-19 株式会社日立製作所 Device and method for supporting creation of flow using visual programming tool

Similar Documents

Publication Publication Date Title
CN108614726B (en) Virtual machine creation method and device
KR101126255B1 (en) Signal processing apparatus
WO2021147288A1 (en) Container cluster management method, device and system
US9026508B2 (en) Document management apparatus and document management method using search folder comprising one or more parent folders
US11907905B2 (en) Namespace management techniques for facilitating multi-cluster application development
JP2863428B2 (en) Conversational graphics system
CN112051993A (en) State machine template generation and task processing method, device, medium and equipment
US11456914B2 (en) Implementing affinity and anti-affinity with KUBERNETES
WO2022188780A1 (en) Visual software development system, method and apparatus, and computer storage medium
US20160274874A1 (en) Method and apparatus for processing request
TWI692692B (en) Method for intra-subgraph optimization in tuple graph programs
US11271895B1 (en) Implementing advanced networking capabilities using helm charts
CN113010612B (en) Visual construction method, query method and device for graph data
WO2021141856A1 (en) Graph representation and description of configuration parameters for media processing function in network-based media processing (nbmp)
CN114115841A (en) Method, apparatus, device, medium and program product for dynamically arranging data stream interface
CN115658039A (en) Application framework oriented to power grid digital twin visual scene
WO2023063365A1 (en) Design execution device, design execution system, and design execution method
JP2011154496A (en) Program and device for setting access right and access right management system
JP2019106031A (en) Data processing system and data analysis/processing method
KR20100014370A (en) Independent parallel image processing without overhead
JP2023059237A (en) Design execution device, design execution system, and design execution method
CN113485686B (en) Information system program generation method and device, electronic equipment and storage medium
JP2004362343A (en) Source code conversion apparatus, source code conversion method, and program
CN113691575A (en) Communication method, device and system
JP2016146022A (en) Model base development support device, model base development support method, and model base development support program

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: 22881060

Country of ref document: EP

Kind code of ref document: A1