System design device, system design method, and program
The system design device automates the generation of both logical and physical configurations in ICT systems by evaluating distance constraints, addressing the manual adjustment requirement in existing technologies and enhancing design efficiency.
Patent Information
- Application Number
- JP2023096358
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-06-12
- Publication Date
- 2024-12-24
AI Technical Summary
Existing ICT system design technologies cannot fully automate the process of determining physical device configurations, including spatial arrangements, due to the inability to consider distance constraints such as wiring length and radio wave interference, and require manual adjustments.
A system design device and method that iteratively converts abstract system elements into concrete configurations using a tree structure, evaluating both logical and physical configurations based on distance constraints to automatically determine device placement.
Automates the generation of both logical and physical configurations, reducing engineering burden by ensuring accurate spatial arrangement of devices while considering distance constraints, thereby speeding up the design process.
Smart Images

Figure 2024177938000001_ABST
Abstract
Description
[Technical field]
[0001] The present disclosure relates to a system design apparatus, a system design method, and a program. [Background technology]
[0002] The process required for constructing an ICT (Information Communication Technology) system includes a design process for designing a specific system configuration that satisfies the requirements for the system. In the design process, after designing the configuration information of logical elements that satisfy the requirements, such as an application, an OS (Operation System), and a network (hereinafter referred to as a logical configuration in this specification), it is necessary to determine the configuration information of the spatial arrangement of devices, such as servers, network devices, and wireless terminals, included in the logical configuration, and create a specific configuration consisting of a set of the logical configuration and the configuration information of the spatial arrangement of the devices. Technologies aimed at automating the design of such systems have been considered in the past, but not all steps have been automated. In the following specification, the logical configuration information of the system is referred to as the logical configuration, and the configuration information of the spatial arrangement of the devices is referred to as the physical configuration.
[0003] Patent Document 1 describes an automatic design technology for ICT systems using machine learning (learning-based automatic system design technology) aimed at reducing the labor burden involved in designing ICT systems. In this technology, when generating specific system configuration information from abstract system configuration information (requirements), a reward value is given to each of the generated system configuration proposal (hereinafter referred to as a configuration proposal) and the implementation means applied in the generation process, and AI (Artificial Intelligence) performs machine learning on the merits of the system configuration and the implementation means. This enables the AI to pseudo-acquire knowledge (design knowledge) related to system design by engineers, and by learning designs and reward values for a wide variety of requirements, it becomes possible to design system configurations faster and with higher reliability. In addition, the automatic design technology shown in Non-Patent Document 1 is an extension of the learning-type system automatic design technology of Patent Document 1, and calculates an evaluation value of the configuration plan to be designed from a quantitative value (hereinafter referred to as promising degree) that indicates the degree to which the configuration plan to be designed satisfies functional requirements and the expected values of quantitative values related to multiple quantitative requirements such as delay, bandwidth, and cost, thereby enabling AI to evaluate the merits and demerits of the configuration plan in terms of both functionality and performance. On the other hand, the automatic design technology shown in Patent Document 1 and Non-Patent Document 1 can generate the logical configuration of an ICT system, but the physical configuration needs to be adjusted manually, and the system configuration design including the spatial arrangement of physical devices such as servers, network devices, and wireless terminals cannot be fully automated.
[0004] Patent Document 2 describes a network design support device that aims to shorten the construction period for setting up a network system that meets communication requirements. This device designs a logical network configuration (called a logical network) that meets the abstract requirements of the network, and allocates resources to nodes included in an existing physical network configuration (called a physical network) and designs communication paths. The introduction of this device makes it possible to shorten the construction period for designing and constructing a logical network. On the other hand, the technology of Patent Document 2 is based on the premise that the physical network has been designed and constructed in advance, and tasks such as determining the placement of newly introduced devices, placing existing devices, and changing the wiring between devices must be done manually, so the design process including both the physical and logical networks cannot be fully automated. [Prior art documents] [Patent documents]
[0005] [Patent Document 1] Patent No. 6989014 [Patent Document 2] JP 2021-136692 A [Non-patent literature]
[0006] [Non-Patent Document 1] Takayuki Kuroda, Yutaka Yakuwa, Kazuki Tanabe, Automatic Network Design Technology Using Machine Learning, Journal of the Institute of Electronics, Information and Communication Engineers, Vol. 105, No. 10, pp. 1208-1214, October 2022 Summary of the Invention [Problem to be solved by the invention]
[0007] As described above, the conventional automatic design technology shown in Patent Document 1 and Non-Patent Document 1 cannot take into account distance constraints such as the wiring length between devices, the effective distance of wireless connections, and radio wave interference when designing a system configuration including devices that require spatial placement, and the physical configuration of the system must be determined manually. Also, the conventional network design support device shown in Patent Document 2 is based on the premise that the logical configuration of the system including the network has been designed in advance, and therefore has not yet automated the entire design process.
[0008] There is a demand for technology that can consistently automate the design process of systems that include physical devices by taking into account both the logical and physical configurations of the system and automatically determining, in addition to designing the logical configuration, the physical configuration, including the placement coordinates of devices that take distance constraints into account.
[0009] Therefore, an object of the present invention is to provide a system design device, a system design method, and a program that solve the above-mentioned problems. [Means for solving the problem]
[0010] According to one aspect of the present invention, a system design apparatus receives system requirements as input and outputs a specific configuration of the system, and includes a design search means that iteratively applies a concretization means for converting abstract elements included in the system into a concrete configuration to the requirements to generate a tree structure in which the requirements are the root node and configuration plans of the system in which the abstract elements are concretized as leaf nodes, performs a search by selecting the configuration plan with the highest evaluation value in the generated tree structure, and outputs the configuration plan in which all elements are concretized as a concrete configuration, and a configuration evaluation means that calculates an evaluation value of the configuration plan from an evaluation value of the logical configuration plan of the system included in the configuration plans constituting the tree structure and an evaluation value of a physical configuration plan of a device included in the configuration plan that requires physical placement.
[0011] According to one aspect of the present invention, a system design method is a system design method that takes system requirements as input and outputs a specific configuration of the system, the system design method comprising the steps of: iteratively applying a concretization means for converting abstract elements included in the system into a concrete configuration to the requirements to generate a tree structure in which the requirements are the root node and configuration plans of the system in which the abstract elements are concretized as leaf nodes; performing a search in the generated tree structure by selecting the configuration plan with the higher evaluation value; and outputting the configuration plan in which all elements are concretized as a concrete configuration, wherein in the outputting step, an evaluation value of the configuration plan is calculated based on an evaluation value of the logical configuration plan of the system included in the configuration plans constituting the tree structure and an evaluation value of the physical configuration plan of a device included in the configuration plan that requires physical placement.
[0012] According to one aspect of the present invention, a program is a system design method for inputting system requirements to a computer and outputting a specific configuration of the system, the method comprising the steps of: generating a tree structure having the requirements as the root node and configuration plans of the system in which the abstract elements are concretized as leaf nodes by repeatedly applying a concretization means for converting abstract elements included in the system into a concrete configuration to the requirements; performing a search by selecting the configuration plan with a higher evaluation value in the generated tree structure; and outputting the configuration plan in which all elements are concretized as a concrete configuration, the outputting step including a process of calculating an evaluation value of the configuration plan based on an evaluation value of a logical configuration plan of the system included in the configuration plans constituting the tree structure and an evaluation value of a physical configuration plan of a device that requires a physical placement included in the configuration plan; Execute the command. Effect of the Invention
[0013] According to the present invention, the logical configuration and physical configuration of a system can be automatically generated. [Brief description of the drawings]
[0014] [Figure 1]1 is a block diagram showing an example of the configuration of a system design apparatus according to an embodiment. [Diagram 2] FIG. 11 is an explanatory diagram illustrating an example of a description of a requirement according to the embodiment. [Diagram 3] FIG. 11 is an explanatory diagram illustrating an example of a requirement according to the embodiment. [Figure 4] FIG. 2 is an explanatory diagram showing an example of a description of a specific configuration according to an embodiment. [Diagram 5] FIG. 2 is an explanatory diagram showing an example of a logical configuration in a specific configuration according to an embodiment; [Figure 6] FIG. 2 is an explanatory diagram illustrating an example of a physical configuration in a specific configuration according to an embodiment. [Figure 7] FIG. 2 is an explanatory diagram showing an example of a Euclidean distance d(P1, P2) on a coordinate plane according to the embodiment; [Figure 8] FIG. 2 is an explanatory diagram showing an example of a Manhattan distance d(P1, P2) on a coordinate plane according to the embodiment. [Figure 9] FIG. 2 is an explanatory diagram showing an example of a Euclidean distance d(P1, P2) in a coordinate space according to the embodiment; [Figure 10] FIG. 11 is an explanatory diagram showing an example of an embodiment of the present invention; [Figure 11] FIG. 2 is an explanatory diagram illustrating an example of a search tree according to the embodiment. [Figure 12] FIG. 11 is an explanatory diagram illustrating an example of definitions of type information of components and relationships according to an embodiment. [Figure 13] FIG. 2 is an explanatory diagram showing an example of a description of a distance constrained topology according to the embodiment; [Figure 14] FIG. 2 is an explanatory diagram illustrating an example of a distance constrained topology according to the embodiment; [Figure 15] FIG. 11 is an explanatory diagram illustrating an example of a definition of a distance constraint according to the embodiment. [Figure 16] FIG. 10 is an explanatory diagram illustrating an example of a distance constraint according to the embodiment. [Figure 17] FIG. 2 is an explanatory diagram showing an example of a possible arrangement area on a two-dimensional coordinate plane according to the embodiment. [Figure 18]FIG. 2 is an explanatory diagram showing an example of a possible arrangement area in a three-dimensional coordinate space according to the embodiment. [Figure 19] 11 is an explanatory diagram showing an example of a process for generating a possible arrangement area on a coordinate plane according to the embodiment; FIG. [Figure 20] 11 is an explanatory diagram showing an example of a process for generating an arrangement possible area in a coordinate space according to the embodiment; [Figure 21] FIG. 11 is an explanatory diagram showing an example of a calculation process of an evaluation value of a configuration plan according to the embodiment. [Figure 22] 11 is an explanatory diagram showing an example of a calculation process of an evaluation value of a physical configuration when the arrangement possible area according to the embodiment is sufficiently large; FIG. [Diagram 23] 11 is an explanatory diagram showing an example of a process for calculating an evaluation value of a configuration plan when there are multiple components for which a layout area can be generated according to the embodiment; FIG. [Figure 24] 11 is an explanatory diagram showing an example of a process of determining the placement coordinates of a device whose placement has not been determined, performed by a placement determination unit according to the embodiment; FIG. [Diagram 25] 11 is an explanatory diagram showing an example of a process of searching for a combination of provisional placement of unplaced devices in a placement coordinate determination process according to the embodiment; FIG. [Figure 26] 11 is an explanatory diagram showing an example of arrangement candidate coordinates in a lattice area according to the embodiment; FIG. [Figure 27] FIG. 2 is an explanatory diagram illustrating an example of a user interface of the system design apparatus according to the embodiment. [Figure 28] 4 is a flowchart illustrating an operation of an embodiment of a system design apparatus according to an embodiment. [Figure 29] 10 is a flowchart showing an operation of an evaluation value calculation flow according to the embodiment. [Diagram 30] 10 is a flowchart showing an operation of a placement coordinate determination flow according to the embodiment. [Diagram 31] FIG. 2 is a block diagram showing an example of a minimum configuration of a system design apparatus according to an embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0015] Hereinafter, the automatic design process of a system according to each embodiment of the present invention will be described with reference to the drawings. In the drawings used in the following description, the configuration of parts that are not related to the present invention may be omitted or not illustrated.
[0016] <Embodiment> (composition) FIG. 1 is a block diagram illustrating an example of the configuration of a system design device according to an embodiment. 1, a system design device 100 of this embodiment includes a design search unit 110, a physical configuration extraction unit 120, a placement area generation unit 130, a configuration evaluation unit 140, a placement determination unit 150, and a storage unit 160. The system design device 100 receives a requirement 200 as an input and outputs a specific configuration 300.
[0017] The operation of the system design device 100 is outlined below. The system design device 100 repeatedly applies a concretization means for partially replacing abstract elements included in the logical configuration of a system with concrete configurations to input requirements, thereby generating a tree structure consisting of system configuration plans called a search tree. Then, a search is performed in the search tree, and when a configuration plan in which the abstract elements in the logical configuration are completely concretized is reached, this configuration plan is selected as a candidate for the concrete configuration. Furthermore, a physical configuration is generated by determining the placement coordinates of components that require spatial placement and are included in the selected configuration plan, and a concrete configuration consisting of a pair of the logical configuration and the physical configuration is output.
[0018] When searching for a configuration plan in the search tree, the system design device 100 calculates an evaluation value that quantitatively quantifies the quality of the configuration for each of the logical configuration and the physical configuration of the configuration plan, calculates an overall evaluation value of the configuration plan from the two values of the evaluation value of the logical configuration and the evaluation value of the physical configuration, and uses this as a criterion for judging the quality of the configuration plan in the search. The evaluation value of the logical configuration may be calculated by an AI that has learned the quality of the system configuration shown in Patent Document 1 or Non-Patent Document 1. When calculating the evaluation value of the physical configuration, a graph structure that represents components that require spatial placement and distance constraints between the components, called a distance constraint topology, may be generated from the logical configuration of the configuration plan, and a numerical value that quantifies the size of an area (hereinafter referred to as a placement possible area) that can be placed while satisfying the distance constraint between a component whose placement coordinates in the coordinate system are yet to be determined (hereinafter referred to as a placement undetermined device) and a component whose placement coordinates have already been determined (hereinafter referred to as a placement determined device) may be used as the evaluation value. In this embodiment, the coordinate system to be used as the target for arranging components may be either a two-dimensional coordinate system representing a plane or a three-dimensional coordinate system representing a three-dimensional space. In the following description, unless otherwise specified, a two-dimensional coordinate plane will be used as the target coordinate system.
[0019] Next, an overview of each functional unit of the system design device 100 and the input / output data structure of the system design device 100 will be described. The design search unit 110 concretizes the abstract elements of the input requirements and generates a search tree, which is a tree structure of configuration plans. The design search unit 110 then searches the search tree, and when it reaches a configuration plan in which the abstract elements are completely concretized in the logical configuration, it selects and outputs the configuration plan. In the process of the search, the design search unit 110 uses the evaluation value of the configuration plan calculated by the configuration evaluation unit 140 as a selection criterion for the configuration plan, and performs a search to select a configuration plan with a higher evaluation value.
[0020] The physical configuration extraction unit 120 receives a configuration plan as an input, and generates a distance-constrained topology by extracting components representing devices that require spatial placement from the configuration plan. The possible placement area generating unit 130 receives the distance-constrained topology as an input, and generates a possible placement area for a component element that corresponds to a device whose placement has not yet been determined, among devices that require spatial placement. The configuration evaluation unit 140 receives as input the possible arrangement areas of the devices whose arrangement has not yet been determined, output from the possible arrangement area generation unit 130, and calculates an evaluation value of the proposed configuration. The placement determination unit 150 receives as input a proposed configuration and a set of a distance constraint topology and a placement possible area, generates a physical configuration in which the placement coordinates of components representing devices requiring spatial placement are determined, and outputs the logical configuration and physical configuration together as a concrete configuration. The storage unit 160 stores information on the types of components of the system and the relationships between the components, as well as implementation means for implementing the design. The requirements 200 are information expressing abstract requirements that a user has for a system. The specific configuration 300 is information that defines the specific configuration of a system that satisfies the requirements 200 .
[0021] Next, an overview of the data structure handled in the present invention will be described. Fig. 2 shows an example of the definition of requirements 200. The definition of requirements includes components that users of applications, devices, etc., require from the system, and abstract relationships between the components. Fig. 3 is an explanatory diagram that graphically expresses the requirements shown in Fig. 2. The definition data of the requirements shown in Fig. 2 consists of two fields: "components", which defines the components of the system, and "relationships", which defines the relationships between the components. In the graph structure shown in Fig. 3, etc., "components" correspond to the nodes represented by circles, "relationships" correspond to the edges of the solid arrows, and "requirements" correspond to the edges of the dashed arrows and the speech bubbles. The definition of the components described in "components" may include "type", which is information about the type of the components, as well as "properties", which is information about the attribute values, and "location", which is information about the placement coordinates of the devices whose placement locations have already been determined. The definition of the relationships described in "relationships" is defined by a list consisting of three sets of information: the component that requests the relationship, the component that requests the relationship, and the type information of the relationship. For example, the relationship "[camera1, bs3, connTo]" indicates that the component "camera1", which represents a Web camera, is connected to the component "bs3", which represents a base station, by some means. The location coordinates described in "location" may be defined by two values, the x-axis coordinate value "x" and the y-axis coordinate value "y" on a two-dimensional plane. In addition, when the present invention targets three-dimensional spatial coordinates, the location coordinates may be defined by three values, the x-axis coordinate value "x", the y-axis coordinate value "y", and the z-axis coordinate value "z".
[0022] The requirements in Figures 2 and 3 represent the requirements for a video distribution system using wireless communication. At a site where existing mobile phone base stations "bs1" and "bs2" are installed, two web cameras "camera1" and "camera2" are wirelessly connected to a new base station "bs3", and a client application "client1" operating near the base station transmits the video data captured by the two web cameras to a server application "server1" via the Internet through the base station "bs3". The client application "client1" compresses the video data to the video format specified in the property "format" and the frame rate specified in the property "fps" and transmits it. The requirements in Figures 2 and 3 specify that the video format should be MPEG-4 format (mp4) and the frame rate should be 15 fps (frames per second). The server application "server1" analyzes and saves the received video data.
[0023] Fig. 4 shows an example of the definition of the specific configuration 300. The definition of the specific configuration 300 includes a logical configuration consisting of the components of the system that satisfy the requirements and the relationships between the components, and a physical configuration consisting of the location coordinate information of the devices that require physical location among the components. Fig. 5 shows the logical configuration of the specific configuration 300 shown in Fig. 4, and Fig. 6 illustrates the physical configuration.
[0024] The specific configurations shown in Figures 4 to 6 are examples of configuration information of a system designed based on the requirements shown in Figures 2 and 3. In the logical configuration shown in Figure 5, in addition to the components defined by the requirements in Figures 2 and 3, an ubuntu type component "os1" indicating that the Ubuntu (registered trademark) Linux (registered trademark) OS is used as the OS on which the client application "client1" runs, a physicalmachine type component "machine1" indicating the physical machine on which the OS runs, an ubuntu type component "os2" indicating the OS on which the server application "server1" runs, a virtualmachine type component "machine2" indicating a virtual machine, and a cloud type component "cloud1" indicating a cloud environment that provides virtual machines are added. In addition, the application and the OS, and the OS and the virtual machine or physical machine are connected by a "wire:OS" type and a "wire:Machine" type relationship indicating a specific host relationship, respectively, and the other components are connected by an "access" type component indicating a connection relationship of direct communication. The components "os1" and "os2" representing the OS each have a property "version" that indicates the version designation of the Ubuntu (registered trademark) Linux (registered trademark) OS, and "20.04" is defined for the property "version."
[0025] On the other hand, in the physical configuration shown in FIG. 6, the placement coordinates of each device that satisfies the distance constraint between devices described later are defined for the components that represent devices that need to be placed, with the underlined element names among the components included in the logical configuration in FIG. 5. In the example of FIG. 6, in addition to the components "camera1", "camera2", "bs1", and "bs2" whose placement coordinates have already been specified in the requirements, the component "bs3" whose placement coordinates have not yet been determined, and the component "machine1" of a device that was newly added in the process of designing the specific configuration are placed on the coordinate plane. In addition, a lattice area is set on the coordinate plane for use in the generation process of the placement area of the components described later and in the calculation of the evaluation value of the physical configuration in the configuration plan. In the description of this specification, a lattice area with a size of one side of 5 is used, but other values can be set for the size of one side of the lattice area, and is not limited to this.
[0026] In the explanation of this specification, the Euclidean distance (L2 distance) shown in FIG. 7 and the following formula (1) is used as an example of distance on a two-dimensional coordinate plane. However, the device of the present invention can also be applied to other distances, such as the Manhattan distance (L1 distance) shown in FIG. 8 and the following formula (2), and the definition of distance is not limited to Euclidean distance.
[0027]
number
[0028] d(P 1 ,P 2 )=|x 2 -x 1 |+|y 2 -y 1 | …(2)
[0029] In addition, as an example of distance when the present invention targets a three-dimensional coordinate space, the Euclidean distance (L2 distance) shown in FIG. 9 and the following formula (3) is used, but other definitions of distance can also be applied, and the definition of distance is not limited to Euclidean distance.
[0030]
number
[0031] FIG. 10 illustrates an example of the concretization means. The concretization means is information that defines a means for replacing a partial configuration including an abstract element in a configuration plan with a concrete configuration, and is defined by a set of a partial configuration before the concretization means is applied and a partial configuration after the concretization means is applied. The concretization means in FIG. 10(a) means adding an os type component representing an OS to an app type component representing an application, and connecting the two with a concrete relationship of wire:OS type to add an OS on which the application runs. The concretization means in FIG. 10(b) and FIG. 10(c) respectively represent a means for converting an os type element representing an abstract OS into an ubuntu type representing an Ubuntu (registered trademark) Linux (registered trademark) OS, or a windows type representing a Windows (registered trademark) OS, and mean concretizing the type of the abstract OS added by the concretization means including FIG. 10(a). The concretization means in Figure 10(d) means making the abstract communication relationship one step more concretized by replacing the “HTTP” type relationship, which represents the abstract HTTP (Hyper Text Transfer Protocol) communication between two applications “app1” and “app2”, with TCP (Transmission Control Protocol) communication between the OSs on which both applications run.
[0032] An example of a search tree is illustrated in Fig. 11. The search tree is generated in the process of generating a specific configuration from requirements in the design search unit 110, and is represented as a tree-structured graph with the requirements as the root node. Each node represents a system configuration plan, including configuration plans in the middle of design. In the process of searching for a specific configuration in the search tree, one applicable concretization means is applied to a node representing a configuration plan in the middle of concretization, and a configuration plan in which an abstract element is partially concretized is generated as a node representing the next state, and among the multiple generated nodes, a node with a larger evaluation value of the configuration plan is determined to be a valid configuration plan closer to the specific configuration, and is selected as the next node.
[0033] FIG. 12 illustrates an example of the definition of type information for system components. The type information definition is composed of fields "components" that represent components and "relationships" that represent relationships. Type information can also define the type of a child class that inherits from a parent class type, and each item has a "type" field that represents the type name, an "abstract" field that is a flag that represents that the component or relationship represented by the type is abstract, and a "parent" field that represents the type of the parent class from which it is inherited. In addition, the component definition defines a "category" field that represents a classification that identifies whether the component is a device that requires physical placement or a logical component that does not require placement, and a value of "physical" indicates that it is a physical component, and a value of "logical" indicates that it is a logical component.
[0034] Fig. 13 illustrates an example of a definition of a distance constraint topology. Fig. 14 shows a visual representation of the distance constraint topology defined in Fig. 13. The distance constraint topology is a graph in which the components of a device requiring physical placement are treated as nodes and distance constraints between the components are expressed as edges, and a distinction is made between a device whose placement coordinates have been decided (hereinafter referred to as a placement-determined device) and a device whose placement coordinates have not yet been decided. Of the components included in the distance constraint topology, the components of a placement-undetermined device adjacent to the components of a placement-determined device are treated as components for which a placement-possible area is generated by the placement-possible area generating unit 130.
[0035] As shown in FIG. 13, the definition of the distance constraint topology is composed of two fields: "components" that defines the components that represent the devices that need to be placed, and "distance_constraints" that defines the distance constraint between the devices. The definition of "components" may use the same notation as the definition of the requirements and specific configurations shown in FIG. 2 and FIG. 4. The definition information of the distance constraint defined in "distance_constraints" is composed of a set of four values: the names of the two components that are the subject of the distance constraint defined in "components", the type of the distance constraint, and the upper or lower limit of the distance that should be satisfied between the components. In the example of FIG. 13, the distance constraint "[camera1, bs3, max, 10]" means that the distance between the web camera "camera1" and the base station "bs3" is within 10, and "max", which indicates that the upper limit of the distance is defined, is stored in the type of the distance constraint, and "10" is stored in the value of the upper limit. Similarly, the distance constraint "[bs1, bs3, min, 5]" means that the distance between base station "bs1" and base station "bs3" is greater than 5, and the type of distance constraint is "min," which defines the lower limit of the distance, and the value of the lower limit is "5."
[0036] FIG. 15 illustrates an example of the definition of a distance constraint. FIG. 16 illustrates a diagram visually expressing the distance constraint shown in FIG. 15. The symbols (a) to (c) attached to FIG. 15 and FIG. 16 each represent the same distance constraint. The definition of a distance constraint is defined by the type of distance constraint, the upper or lower limit of the distance to be satisfied by the distance constraint, and a pair of types of two components that are the subject of the distance constraint. The distance constraint (a) defined in FIG. 15 means that a certain distance or more must be secured in order to prevent interference between base stations when installing mobile phone base stations. The "type" field that defines the type of distance constraint stores "min", which indicates that a lower limit of the distance is set, the "value" field that defines the lower or upper limit of the constraint stores "5", which is the lower limit of the distance, and the "components" field that represents a pair of types of components that are the subject of the constraint stores a pair of "basestation" type and "basestation" type.
[0037] An example of a possible placement area on a two-dimensional coordinate plane is illustrated in Fig. 17. The possible placement area represents a lattice area on the coordinate plane in which a component representing a device whose placement has not yet been determined can be placed, and the possible placement area shown in Fig. 17 represents the possible placement area of the component "bs3" in the distance-constrained topology shown in Figs. 13 and 14.
[0038] An example of a possible area in a three-dimensional coordinate space is illustrated in Fig. 18. The possible area shown in Fig. 18 represents a cubic lattice area in which a component "bs3" can be placed when a component "bs1" is placed at coordinates (10, 5, 0), a component "bs2" is placed at coordinates (25, 5, 0), a component "camera1" is placed at coordinates (10, 25, 10), and a component "camera2" is placed at coordinates (25, 25, 10) in a physical configuration in a system consisting of the same device configuration as the example in Fig. 17.
[0039] (Detailed Description) Next, the operation of each functional unit of the system design device 100 will be described in detail with reference to the drawings. The design search unit 110 refers to the storage unit 160 for instantiation means applicable to the requirements 200 input to the system design device 100, applies each applicable instantiation means to the requirements, and generates a tree structure called a search tree, with the requirements as the root node and configuration plans in the middle of instantiation as nodes.Then, the generated search tree is searched for leaf nodes that will become the instantiations.In the search process, each node generated by applying the instantiation means applicable to the current node is input to the physical configuration extraction unit 120 as a configuration plan.
[0040] The search process of the design search unit 110 will be described using the search tree and the concretization means shown in FIG. 11. All the symbols (a), (a1), . . . , (X), (Y), (Z) and the like used in the description correspond to the symbols shown in FIG. 11. In the example of FIG. 11, the search process is started with the requirement (a) as the starting point, and the concretization means (Z) is applicable to the abstract relationship (a1) included in the requirement (a), and the concretization means (X) or (Y) is applicable to the abstract component (a2). The concretization means (X) is applied as the configuration plan (b), the concretization means (Y) is applied as the configuration plan (c), and the concretization means (Z) is applied as the configuration plan (d). At this time, the configuration plans (b) and (c) for which there is no applicable concretization means are rejected as being in a state where the design cannot be concretized, and the configuration plan (d) is selected as the next node. Similarly, the concretization means (X) is applied to the component (d1) of the configuration plan (d) to generate the configuration plan (e), and the concretization means (Y) is applied to generate the configuration plan (f), and the configuration plan (e) with the highest evaluation value is output as the logical configuration for which concretization has been completed.
[0041] The physical configuration extraction unit 120 receives the configuration plan output from the design search unit 110 as an input, extracts components representing devices that need to be placed from the configuration plan, and outputs a distance constraint topology configured by the extracted components. An example of a distance constraint topology generation process by the physical configuration extraction unit 120 is shown below using the examples of Figs. 13 and 14. The physical configuration extraction unit 120 references type information of components defined in the input configuration plan (e.g., Fig. 12) and generates a "components" field of a distance constraint topology by extracting those whose value in the "category" field of the type definition of the components is "physical". Then, the physical configuration extraction unit 120 references type information of the components and definition information of distance constraints (e.g., Fig. 15), and if a combination of components that matches the combination of types of components defined in the "components" field of each distance constraint exists in the configuration plan, it adds a set of four values to the list of distance constraints: the names of the two corresponding components, the type of the distance constraint specified in the "type" of the distance constraint, and the value defined in the "value" of the distance constraint. This is repeated for all pairs of components for which distance constraints can be generated, and the "distance_constraints" field of the configuration proposal is generated from the contents of the list of distance constraints.
[0042] The placement possible area generation unit 130 receives as input the distance constrained topology output from the physical configuration extraction unit 120, and outputs the placement possible area of devices that require spatial placement and whose placement coordinates have not yet been determined (hereinafter referred to as "unplaced devices").
[0043] The possible placement area is used by the configuration evaluation unit 140 to calculate an evaluation value of the physical configuration in the proposed configuration. For each component for which a possible placement area is generated in the distance constraint topology, a common area that satisfies the distance constraint with adjacent devices whose placement has been determined on the distance constraint topology is derived, and a lattice area that includes the common area is output as the possible placement area.
[0044] Fig. 17 shows an example of a possible arrangement area for a two-dimensional plane, generated by the possible arrangement area generating unit 130, and an overview of a generating means for the possible arrangement area. In the example of Fig. 17, in the physical configuration of the configuration plan shown in Fig. 13 and Fig. 14 for the distance constraint topology, for the component "bs3" representing the base station for which the possible arrangement area is to be generated, the area that satisfies the distance constraint with respect to the components that are adjacent devices on the distance constraint topology is given by the following inequalities (4) to (7), respectively.
[0045] Between "camera1" and "bs3": (x-10) 2 +(y-25) 2 <10 2 (4) Between "camera2" and "bs3": (x-25) 2 +(y-25) 2 <10 2 (5) Between "bs1" and "bs3": (x-10) 2 +(y-5) 2 <5 2 (6) Between "bs2" and "bs3": (x-25) 2 +(y-5) 2 <5 2 (7)
[0046] These common areas are represented by the shaded areas on the coordinate plane in FIG. 17, and the lattice area that includes the common areas is output as the possible placement area for "bs3." The example in Fig. 18 is an example of a possible placement area targeted at a three-dimensional space. The example in Fig. 18 shows a process of deriving a possible placement area of a basestation type component "bs3" in a physical configuration consisting of components equivalent to the distance constraint topology shown in Fig. 13 and Fig. 14, in which "camera1" is placed at coordinates (10,25,10), "camera2" at coordinates (25,25,10), "bs1" at coordinates (10,5,0), and "bs2" at coordinates (25,5,0). The areas that satisfy the distance constraints between "bs3" and the other components are given by the following inequalities (8) to (11), respectively, and the lattice area that includes these common areas is output as the possible placement area of "bs3".
[0047] Between "camera1" and "bs3": (x-10) 2 +(y-25) 2 +(z-10) 2 <10 2 (8) Between "camera2" and "bs3": (x-25) 2 +(y-25) 2 +(z-10) 2 <10 2 (9) Between "bs1" and "bs3": (x-10) 2 +(y-5) 2 +z 2 <5 2 (10) Between "bs2" and "bs3": (x-25) 2 +(y-5) 2 +z 2 <5 2 (11)
[0048] The configuration evaluation unit 140 receives as input the possible arrangement area of the arrangement-undecided device output from the possible arrangement area generation unit 130, calculates an evaluation value of the configuration plan, and outputs it together with the configuration plan.
[0049] Fig. 19 illustrates, as an example of a calculation process of an evaluation value of a configuration plan in the configuration evaluation unit 140, a calculation process of an evaluation value for a configuration plan having the logical configuration shown in Fig. 4 and the physical configuration showing the distance constraint topology in Fig. 12 and Fig. 13. The configuration evaluation unit 140 calculates an evaluation value for each of the logical configuration and physical configuration in the configuration plan, and calculates the evaluation value of the configuration plan by taking a linear weighted sum using weights.
[0050] The evaluation value of the logical configuration can be calculated by a means that uses as an evaluation value the ratio of the total number of concrete (i.e., non-abstract) components and relationships to the total number of components and relationships in the logical configuration, or by a means that uses as an evaluation value the degree of likelihood that the logical configuration in the configuration plan can reach a concrete logical configuration, calculated by a graph neural network (GNN) that has learned the design process of a wide variety of requirements in advance, as used in the technology described in Non-Patent Document 1. Note that the above-mentioned calculation means are merely examples, and are not limited to these.
[0051] The evaluation value of the physical configuration can be calculated by a means for calculating the number of lattice areas occupied by the placeable area in the coordinate plane shown in Fig. 17 as the evaluation value, or by a means for calculating the area of the placeable area in the coordinate plane as the evaluation value. In the case of a three-dimensional space, the evaluation value can be calculated by a means for calculating the number of lattice areas occupied by the placeable area in the coordinate space shown in Fig. 18 as the evaluation value, or by a means for calculating the volume of the placeable area as the evaluation value. When the number of lattice areas occupied by the placeable area is calculated as the evaluation value, the evaluation value of the physical configuration in the coordinate plane in Fig. 17 is calculated to be 4, and the evaluation value of the physical configuration in the coordinate space in Fig. 18 is calculated to be 12 (Fig. 20). Note that the above-mentioned calculation means are merely examples, and the present invention is not limited to these.
[0052] As shown in the example of FIG. 21, after the evaluation values of the logical configuration and the physical configuration are calculated, the evaluation value of the configuration plan is calculated by taking the weighted average value. In the example of FIG. 21, if the evaluation value of the logical configuration is calculated to be 0.9 and the evaluation value of the physical configuration is calculated to be 4, 2.76, which is the weighted average value using the evaluation value weight of "logical configuration: physical configuration = 4:6", is output as the evaluation value of the configuration plan. Note that the weight of the evaluation value may be a value fixed in advance by the invention device, or a value specified by the user in the requirements. Note that if the arrangement possible area is sufficiently large and the evaluation value of the physical configuration diverges to infinity, a preset upper limit value is set as the evaluation value of the physical configuration. For example, as shown in FIG. 22, the upper limit value of the evaluation value of the physical configuration may be set to 100, and if the number of lattice areas included in the arrangement possible area exceeds the upper limit value, the evaluation value of the physical configuration may be output as 100.
[0053] FIG. 23 is a diagram illustrating an outline of the operation of the arrangement area generating unit 130 and the configuration evaluating unit 140 when there are multiple components for which an arrangement area is to be generated in a distance-constrained topology. The arrangement area generating unit 130 generates an arrangement area for each of the components to be generated with a component that represents a device for which arrangement has been determined, and the configuration evaluating unit 140 independently calculates the evaluation value of the physical configuration for each of the arrangement areas, and outputs the weighted average of each evaluation value according to the weights defined for the components for which the arrangement area is to be generated as the evaluation value of the overall physical configuration. The weight of the component may be defined in advance by the user in the requirements, or if the weight is not defined, a simple average value may be output. In the example of FIG. 23, the generation of the arrangement area includes two components: a basestation type component "bs3" representing a base station, and a robot type component "robot1" representing a robot that can be controlled by wireless communication. The arrangement possible area generation unit 130 generates the arrangement possible area for each component as shown in the coordinate plane in the lower left of Fig. 23, and the configuration evaluation unit 140 calculates the physical configuration evaluation value for the component "bs3" as 4 and the physical configuration evaluation value for the component "robot1" as 2. Then, 3.6, which is the weighted average using the weights of both, is output as the evaluation value of the physical configuration in the configuration proposal.
[0054] Furthermore, the design search unit 110 selects the configuration plan having the highest evaluation value as the next node from the pair of the configuration plan and the evaluation value of the configuration plan input multiple times by the configuration evaluation unit 140, and updates the current node with the selected node. The design search unit 110 also determines whether the logical configuration of the configuration plan represented by the updated node has been completely realized, and if the logical configuration has been completely realized, inputs a set of three points, the configuration plan, the distance constraint topology generated by the physical configuration extraction unit 120, and the placement possible area generated by the placement possible area generation unit 130, to the placement determination unit 150.
[0055] The placement determination unit 150 receives as input a set of a configuration plan, a distance constraint topology, and a placement possible area output by the design search unit 110 after it is determined that generation of the logical configuration has been completed, and outputs a set of a physical configuration in which the placement coordinates of the components representing all devices have been determined, and a logical configuration as a concrete configuration. Note that if there are no placement coordinates that satisfy the distance constraints for all devices whose placement has not been determined, the configuration plan is rejected, and the process returns to the search for configuration plans in the design search unit 110.
[0056] FIG. 24 shows an outline of the placement coordinate determination process by the placement determination unit 150. The placement of the components representing the unplaced devices included in the physical configuration is determined in the placement determination order determined based on the distance constraint topology by the physical configuration extraction unit 120. The contents shown in FIG. 24 show the process of determining the placement coordinates of the physical configuration shown in FIG. 13 and FIG. 14, and the placement is determined in the order of the components "bs3" and "machine1". First, one of the lattice areas included in the placement possible area of the device that is first in the placement determination order (hereinafter referred to as the "first device") is selected and provisionally placed (FIG. 24(a)). Next, for the device that is second in the placement determination order (hereinafter referred to as the "second device"), a placement possible area is generated based on the distance constraint between the first device and the placement-determined device (FIG. 24(b)). Then, one of the lattice areas included in the placement possible area of the second device is selected and provisionally placed (FIG. 24(c)). The same process is then performed for all devices whose placement has not yet been determined, and when the provisional placement of all devices has been completed, the lattice area in which each device will be placed is confirmed, the detailed coordinates of each device within the lattice area are determined, and the physical configuration is output.
[0057] If no possible area for placement exists during the process of the temporary placement of a device, the temporary placement of the previous device in the placement decision order is redone, as shown in Fig. 25, and the process of temporary placement of devices and generation of possible areas for placement is repeated until temporary placement of all devices is completed. If temporary placement of up to the n-1th device is completed according to the placement decision order defined in the distance constraint topology, and there is no area that satisfies the distance constraint when generating the possible area for placement of the nth device, and therefore no possible area for placement exists (Fig. 25(a)), a different temporary placement pattern for the n-1th device is selected (Fig. 25(b)), and if it is possible to generate a new possible area for placement of the nth device, one of the lattice areas included in the possible area for placement is selected, and the temporary placement is completed (Fig. 25(c)).
[0058] Fig. 26 illustrates an example of a means for determining placement coordinates after determining a lattice area in which a component is to be placed. Within each lattice area, multiple placement candidate coordinates with a specified priority are predefined, and the coordinates are determined in order of priority according to the placement determination order defined by the distance constraint topology, depending on the number of undetermined devices to be placed within the lattice area. In the example of Fig. 26, for a lattice area with a side size of 5, the following candidate coordinates are defined, which are the intersections of auxiliary lines that further divide one side of the lattice area into four equal parts (the numbers after "candidate" below correspond to the numbers in the circles in Fig. 26). Candidate 1: (a+2.5, b+2.5), Candidate 2: (a+2.5, b+3.75), Candidate 3: (a+3.75, b+2.5), Candidate 4: (a+2.5, b+1.25), Candidate 5: (a+1.25, b+2.5), Candidate 6: (a+3.75, b+3.75), Candidate 7: (a+3.75, b+1.25), Candidate 8: (a+1.25, b+1.25), Candidate 9: (a+1.25, b+3.75). Note that the means for determining the placement coordinates is merely an example and is not limited to the example in FIG. 26.
[0059] FIG. 27 is a diagram showing an example of a screen display according to this embodiment. This screen display G1 is a user interface (Graphical User Interface: GUI) of the system design device 100. The user is, for example, a designer who designs a system. The screen display G1 is composed of a library G2 of components, a requirement input form G3, an output form G4 of a specific configuration that is a design result, a design button G5, and a sub-window G6 that displays information on the components and relationships in the requirements and specific configuration, and the placement coordinates in the physical configuration. The requirement input form G3 is composed of a logical configuration input form G7 and a physical configuration input form G8, and the specific configuration output form G4 is similarly composed of a logical configuration output form G9 and a physical configuration output form G10. In the sub-window G6, the id of the element selected in the requirement input form G3 or the specific configuration output form G4 is displayed in the "id" field, and the type name of the selected element is displayed in the "type" field. In the "category" field, either the character string "logical" indicating that the selected element is a logical element or "physical" indicating that it is a physical element is displayed. The "resolved" field is a flag indicating that the element has been replaced with a specific configuration during the design process and does not exist in the actual configuration. The "properties" field displays information on the attribute values of the selected element, and the "distance_constraints" field displays information on distance constraints defined between the selected element and other elements. In the component library G2, the types of system components defined in the storage unit 160 are arranged by category, such as App (application) and OS, and the user can create a graph structure of the logical configuration of requirements by placing component nodes from this library in the input form G7 for the logical configuration and connecting the nodes with relationship edges.In addition, when the requirement includes a component whose placement coordinates have already been determined, the placement coordinates can be defined by selecting the component in the input form G7 of the logical configuration and inputting coordinate information in the "location" field of the sub-window G6, or by moving the position of the component on the input form G8 of the physical configuration. After inputting the requirement in the input form G3, pressing the design button G4 displays the logical configuration of the specific configuration designed by the system design device 100 in the output form G9 of the logical configuration, and the physical configuration of the specific configuration in the output form G10 of the physical configuration. When the requirement displayed in the input form G3 and a node (component) or edge (relationship) of the graph structure of the configuration plan displayed in the output form G5 are selected, detailed information of the selected component or relationship is displayed in the sub-window G6. The example of FIG. 27 shows the screen display when the requirements shown in FIG. 2 and FIG. 3 are designed and the specific configurations shown in FIG. 4 to FIG. 6 are output, and the component "bs3" in the specific configuration is selected, and information such as the ID, type information, placement coordinates, and distance constraints of the component is displayed in the sub-window G6.
[0060] (operation) Next, the overall operation of this embodiment will be described in detail with reference to the flowchart of FIG. First, information on requirements is input to the design search unit. The design search unit 110 substitutes the input information on requirements into the current configuration plan (step S101). Next, the design search unit 110 refers to the concretization means from the storage unit 160 and determines whether there is a concretization means applicable to the current configuration plan (step S102). If there is no applicable concretization means (No in step S102), it determines that the design of the concrete configuration has failed and ends the operation. If there is an applicable concretization means (Yes in step S102), the design search unit 110 generates a candidate list of configuration plans by the configuration plans obtained by applying the concretization means one by one to the current configuration plan (step S103). Then, the design search unit 110 executes the process of the value calculation flow for each of the configuration plans included in the candidate list of the configuration plans. The value calculation flow receives the configuration plan as an input and outputs an evaluation value of the configuration plan (step S105).
[0061] After the processing of the value calculation flow for the configuration plan included in the candidate list of configuration plans is completed, the design exploration unit 110 extracts the configuration plan with the highest evaluation value from the candidate list of configuration plans and substitutes it for the current configuration plan (step S106). Then, the design exploration unit 110 judges whether the concretization of the logical configuration for the current configuration plan is completed (step S107). If the concretization is not completed (No in step S107), it is determined that further concretization means need to be applied to the current configuration plan, and the process returns to step S102. If the concretization is completed (Yes in step S107), the process of the placement coordinate determination flow is executed (step S108). In the placement coordinate determination flow, the configuration plan, the distance constraint topology, and the placement possible area are received, and a concrete configuration is output.
[0062] After the processing of the placement coordinate determination flow is completed, the placement determination unit 150 determines whether the placement coordinates of all undetermined placement devices in the physical configuration have been determined (step S109), and if they have not been determined (No in step S109), it determines that redesign of the logical configuration is necessary and returns to step S102. If they have been determined (Yes in step S109), the placement determination unit 150 determines that the design of the physical configuration has also been completed, and generates and outputs a concrete configuration that combines the physical configuration and the logical configuration (step S110).
[0063] Next, the evaluation value calculation flow (step S105) will be described in detail with reference to FIG. The physical configuration extraction unit 120 refers to the configuration plan input to the evaluation value calculation flow, extracts components that require physical placement based on the type information of the components, generates a distance constraint topology based on the definition information of the distance constraint (step S111), and inputs it to the placement possible area generation unit 130. The physical configuration extraction unit 120 also determines the placement determination order of the placement undecided devices in the placement determination unit 150 based on the distance constraint topology (step S112). For example, the physical configuration extraction unit 120 determines the placement determination order in ascending order of the number of hops from the components representing the placement-decided devices in the distance constraint topology. For example, in the case of the example of FIG. 13 and FIG. 14, the physical configuration extraction unit 120 calculates the number of hops from the placement-decided devices (camera1, camera2, bs1, bs2) of the placement undecided devices (bs3, machine1) based on FIG. 5 etc., and determines the placement of bs3 with the smallest number of hops first, and then determines the placement of machine1. Next, the allocable area generating unit 130 extracts components adjacent to the components of the placement-determined device in the distance-constrained topology as targets for generating the allocable area (step S113). Then, for each component for which the allocable area is to be generated, the allocable area generating unit 130 generates an allocable area by calculating a common range on the coordinate plane from the distance constraint with the adjacent placement-determined device in the distance-constrained topology (step S114), and inputs the allocable area together with the configuration plan to the configuration evaluating unit 140. The configuration evaluating unit 140 calculates the evaluation values of the logical configuration and the physical configuration in the configuration plan from the input configuration plan and allocable area (step 115). Then, the configuration evaluating unit 140 calculates and outputs the evaluation value of the configuration plan by a weighted average based on the weights of the evaluation values of the logical configuration and the physical configuration (step S116).
[0064] Next, the arrangement coordinate determination flow (step S108) will be described in detail with reference to FIG. The placement determination unit 150 selects one of the components to be placed tentatively according to the placement determination order of the components determined by the physical configuration extraction unit 120 (step S121). If there is a lattice area in which the selected component can be placed (Yes in step S122), it selects and determines one of the lattice areas in which the component is to be placed tentatively (step S123). If there is no lattice area in which the component can be placed (No in step S122), it cancels the last tentative placement of the component (step S126) and determines whether there is an untried tentative placement pattern (step S127). If there is an untried pattern (Yes in step S127), it returns to step S122 and continues to try to place the components tentatively. If there is no untried pattern (No in step S127), it determines that it is impossible to determine the placement coordinates of the untried device in the physical configuration of the configuration plan, and ends the operation of the placement coordinate determination flow.
[0065] After executing step S123, the placement determination unit 150 judges whether there is a component whose lattice region to be temporarily placed is not yet determined in the physical configuration of the configuration plan (step S124). If there is a component whose lattice region to be temporarily placed is not yet determined (Yes in step S124), the placement determination unit 150 selects one component to be temporarily placed next according to the placement determination order (step S128). Then, based on the distance constraint topology and the information of the temporarily placed component, a placement possible region of the selected component is generated (step S129), and the process returns to step S122. If there is no component whose lattice region to be temporarily placed is not yet determined in the physical configuration of the configuration plan, that is, if the temporary placement of all components is completed (No in step S124), the placement determination unit 150 determines placement coordinates for each component of the undetermined device from placement coordinate candidates included in the lattice region where the placement has been performed, and outputs a set of the physical configuration and the logical configuration as a concrete configuration (step S125).
[0066] (effect) As described above, in this embodiment, in addition to the logical configuration of applications and networks that satisfy the requirements of the system, it is possible to automatically generate the physical arrangement of devices that require physical arrangement, such as servers and wireless terminals. Furthermore, in the design technology shown in Patent Document 1 and Non-Patent Document 1, the search tree is searched taking into account only the evaluation value of the logical configuration, whereas in this embodiment, the evaluation value considering both the logical configuration and the physical configuration is used as the selection criterion for the configuration plan in the search process. Therefore, it is possible to suppress the occurrence of rework caused by outputting a specific configuration in which the logical configuration is correct but the spatial arrangement of the components is impossible, and it is possible to further speed up the design compared to general techniques. This makes it possible to further reduce the burden on engineers involved in the design of systems that required manual adjustment. This embodiment can be applied to applications such as the design and construction of ICT systems and communication networks.
[0067] (Minimum configuration) FIG. 31 is a block diagram showing an example of a minimum configuration of a system design device according to an embodiment. The system design device 800 receives the system requirements 700 as input and outputs a specific configuration of the system, and includes a design search means 801 and a configuration evaluation means 802 . The design search means 801 repeatedly applies a concretization means, which converts abstract elements included in the system into concrete configurations, to the requirements to generate a tree structure in which the requirements are the root node and configuration plans for the system in which the abstract elements are concretized are leaf nodes, and performs a search by selecting the configuration plan with the higher evaluation value in the generated tree structure, and outputs the configuration plan in which all elements are concretized as a concrete configuration 900. The configuration evaluation means 802 calculates an evaluation value of the configuration plan based on an evaluation value of the logical configuration plan of the system included in the configuration plan that constitutes the tree structure, and an evaluation value of the physical configuration plan of the device that requires physical placement included in the configuration plan.
[0068] It should be noted that a part of the system design devices 100, 800 in the above-mentioned embodiments may be realized by a computer. In that case, a program for realizing this function may be recorded in a computer-readable recording medium, and the program recorded in the recording medium may be read into a computer system and executed. Note that the "computer system" referred to here is a computer system built into the system design devices 100, 800, and includes hardware such as an OS (Operating System) and peripheral devices.
[0069] In addition, "computer-readable recording medium" refers to portable media such as flexible disks, optical magnetic disks, ROMs, and CD-ROMs, and storage devices such as hard disks built into computer systems. Furthermore, "computer-readable recording medium" may also include devices that dynamically hold a program for a short period of time, such as a communication line when transmitting a program via a network such as the Internet or a communication line such as a telephone line, and devices that hold a program for a certain period of time, such as volatile memory inside a computer system that serves as a server or client in such cases. Furthermore, the above program may be one that realizes part of the above-mentioned functions, or may be one that can realize the above-mentioned functions in combination with a program already recorded in the computer system.
[0070] Furthermore, a part or the whole of the system design devices 100, 800 in the above-described embodiments may be realized as an integrated circuit such as an LSI (Large Scale Integration). Each functional unit of the system design devices 100, 800 may be individually implemented as a processor, or a part or the whole may be integrated and implemented as a processor. The integrated circuit implementation method is not limited to LSI, and may be implemented by a dedicated circuit or a general-purpose processor. Furthermore, when an integrated circuit implementation technology that replaces LSI appears due to the progress of semiconductor technology, an integrated circuit based on that technology may be used.
[0071] Although one embodiment of the present invention has been described in detail above with reference to the drawings, the specific configuration is not limited to the above, and various design changes and the like can be made within the scope of the gist of the present invention. In addition, one aspect of the present invention can be modified in various ways within the scope of the claims, and embodiments obtained by appropriately combining the technical means disclosed in different embodiments are also included in the technical scope of the present invention. In addition, configurations in which elements described in the above embodiments and modified examples are replaced with elements that have the same effect are also included. [Explanation of symbols]
[0072] 100 System design equipment 110...Design Search Department 120...Physical configuration extraction section 130... Placeable area generation unit 140 Configuration Evaluation Section 150... Placement determination section 160...Storage section 200···Requirements 300...Specific configuration 700···Requirements 800···System design equipment 801...design search means 802... Configuration evaluation means 900...Specific configuration
Claims
1. A system design device that receives system requirements as input and outputs a specific configuration of the system, a design search means for repeatedly applying a concretization means for converting abstract elements included in the system into concrete configurations to the requirements, thereby generating a tree structure in which the requirements are the root node and configuration plans of the system in which the abstract elements are concretized are the leaf nodes, performing a search by selecting the configuration plans with higher evaluation values in the generated tree structure, and outputting the configuration plans in which all elements are concretized as concrete configurations; a configuration evaluation means for calculating an evaluation value of the configuration plan based on an evaluation value of a logical configuration plan of the system included in the configuration plan constituting the tree structure and an evaluation value of a physical configuration plan of a device that requires a physical placement included in the configuration plan; A system design device comprising:
2. a physical configuration extraction means for extracting devices requiring physical placement from the configuration plan and generating a distance-constrained topology expressing constraints between the devices; The system design apparatus of claim 1 further comprising:
3. a placement possible area generating means for generating a placement possible area of the device whose placement location has not been determined from the constraints between the devices whose placement locations have been determined and the devices whose placement locations have not been determined, among the constraints between the devices that require the physical placement; The system design device according to claim 1 or 2, further comprising:
4. the configuration evaluation means calculates an evaluation value for the physical configuration plan based on a size of a possible arrangement area of the device whose arrangement location has not yet been determined, and further calculates an evaluation value for the logical configuration plan by a predetermined method, thereby calculating an evaluation value for the configuration plan; The system design apparatus according to claim 3 , further comprising:
5. a placement determination means for determining placement of the devices whose placement has not been determined based on the devices requiring the physical placement included in the specific configuration output by the design search means and the placement possible area, and outputting a specific configuration including the placement of the devices; The system design apparatus according to claim 4 , further comprising:
6. A storage means for storing type information of components of the system and relationships between the components, and the materialization means for converting abstract elements included in the requirements into concrete configurations; The system design device according to claim 1 or 2, further comprising:
7. A system design method for inputting system requirements and outputting a specific configuration of the system, comprising the steps of: a step of repeatedly applying a concretization means for converting abstract elements included in the system into concrete configurations to the requirements to generate a tree structure having the requirements as a root node and configuration plans of the system in which the abstract elements are concretized as leaf nodes, performing a search by selecting the configuration plans with higher evaluation values in the generated tree structure, and outputting the configuration plans in which all elements are concretized as concrete configurations; having In the outputting step, an evaluation value of the configuration plan is calculated based on an evaluation value of a logical configuration plan of the system, which is included in the configuration plan constituting the tree structure, and an evaluation value of a physical configuration plan of a device, which is included in the configuration plan and requires a physical placement. System design methods.
8. On the computer, A system design method for inputting system requirements and outputting a specific configuration of the system, comprising the steps of: a step of repeatedly applying a concretization means for converting abstract elements included in the system into concrete configurations to the requirements to generate a tree structure having the requirements as a root node and configuration plans of the system in which the abstract elements are concretized as leaf nodes, performing a search by selecting the configuration plans with higher evaluation values in the generated tree structure, and outputting the configuration plans in which all elements are concretized as concrete configurations; having a process of calculating an evaluation value of the configuration plan based on an evaluation value of a logical configuration plan of the system included in the configuration plan constituting the tree structure and an evaluation value of a physical configuration plan of a device that requires a physical placement included in the configuration plan, in the outputting step; A program that executes the following.
Citation Information
Patent Citations
Network design support device, network design support method, and network design support program
JP2021136692A
System configuration derivation device, method and program
JP6989014B2
