Specification creation support system, specification creation support method, and program
The system automates the refinement of specifications using a large-scale language model and verification device to eliminate inconsistencies, streamlining the specification creation process and reducing developer workload.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- HITACHI SOLUTIONS WEST JAPAN LTD
- Filing Date
- 2025-06-02
- Publication Date
- 2026-05-07
AI Technical Summary
Existing specification creation processes, even with the aid of Large-Scale Language Models (LLMs), often result in specifications with inconsistencies that require significant human verification, leading to a substantial workload for developers.
A specification creation support system utilizing a large-scale language model (LLM) to generate and modify specifications, coupled with a verification device to check for inconsistencies, iteratively refining the specifications until no inconsistencies remain, thereby reducing the need for manual correction.
This approach significantly reduces the workload for developers by automating the resolution of specification inconsistencies, ensuring quick and efficient creation of consistent specifications.
Smart Images

Figure 0007855121000001_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to a technique for assisting in creating specifications of an information system.
Background Art
[0002] In the development of an information system, the developer listens to the requirements of the requester who procures the information system, describes them as system specifications, and after both the requester and the developer confirm the system specifications, the developer designs and creates the information system according to the system specifications.
[0003] A state transition model may be used to describe the specifications of an information system. The state transition model is represented by a model that expresses, for each object constituting the information system, the states that the object can take, the events that occur to the object, and the state transitions due to the events. The state transition model is described as a state transition diagram or a state transition table.
[0004] Errors in the specifications of an information system can cause defects in the information system. Therefore, in system development, verification of system specifications is important. Regarding the verification of specifications, an example of a specification verification support device for assisting in the specification verification of an information system is disclosed in Patent Document 1. The specification verification support device disclosed in Patent Document 1 verifies whether there is no occurrence of an event that corresponds to a violation in the state transition specifications that define state transitions due to events for each of a plurality of models.
Prior Art Documents
Patent Documents
[0005]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0006] The specification verification support device disclosed in Patent Document 1 outputs inconsistencies as verification results when there are inconsistencies in the specification, such as when an event corresponding to a violation occurs. Developers can then modify the specification based on the verification results, thus reducing the burden of system development. However, for example, in a state transition model, changing an event for one model may affect the state transitions of other models. To create a specification with fewer inconsistencies, it is conceivable to utilize a Large-Scale Language Model (LLM). Even when an LLM generates the system specification, the specification may still contain inconsistencies. In this case, human verification is ultimately required, which becomes an enormous amount of work.
[0007] One of the purposes included in this disclosure is to provide a specification creation support system, specification creation support method, and program that reduce the workload of resolving inconsistencies in specifications. [Means for solving the problem]
[0008] A specification creation support system according to one aspect of the present disclosure includes a memory for storing a program and a processor for executing processing according to the program, wherein the processor, upon execution of the program, inputs a prompt to a large-scale language model instructing the creation or modification of the specification according to the information about the specification, obtains the output result from the large-scale language model as a proposed specification, performs a verification process to input the proposed specification to a verification device that outputs a verification result indicating whether or not there are inconsistencies in the specification, obtains the verification result from the verification device, inputs a prompt to the large-scale language model instructing the modification of the proposed specification based on the verification result if the verification result includes information indicating inconsistencies in the proposed specification, performs the verification process with the output result from the large-scale language model as the new proposed specification, and outputs the proposed specification as the final specification if the verification result indicates that there are no inconsistencies in the proposed specification. [Effects of the Invention]
[0009] According to one aspect included in this disclosure, the workload for information system developers in resolving specification inconsistencies is reduced. [Brief explanation of the drawing]
[0010] [Figure 1] This is a block diagram showing one example configuration of the specification creation support system for Example 1. [Figure 2] This is a functional block diagram showing one example configuration of the specification creation support device in Example 1. [Figure 3] This is a schematic diagram illustrating the specifications of an information system, including the model, events, state transitions, and constraints. [Figure 4] This figure shows an example of the format of specification data. [Figure 5] Figure 1 is a block diagram showing an example of the hardware configuration of the specification creation support device. [Figure 6] This flowchart shows an example of the operating procedure for the specification creation support system in Example 1. [Figure 7] Figure 6 shows an example of the process in which an event is added to the basic specification in step S103. [Figure 8] This is a functional block diagram showing one example configuration of the specification creation support device in Example 2. [Modes for carrying out the invention]
[0011] The specification creation support system of this embodiment is a system that assists in the process of eliminating inconsistencies in the specifications of an information system. An example of the specification creation support system of this embodiment will be described below with reference to the drawings. [Examples]
[0012] The configuration of the specification creation support system in Example 1 will be described with reference to the figure. Figure 1 is a block diagram showing one example configuration of the specification creation support system in Example 1. As shown in Figure 1, the specification creation support system 1 includes a specification creation support device 2, a verification device 3, and a generation AI (Artificial Intelligence) device 4. The specification creation support device 2 is connected to the verification device 3 and the generation AI device 4, respectively, via a network 10. The network 10 is a network including, for example, the Internet. The user of the specification creation support system 1 is a developer who creates or modifies the specifications of an information system. The user of the information system is a client who procures the information system.
[0013] Verification device 3 is, for example, a specification verification support device disclosed in Patent Document 1. In Embodiment 1, verification device 3 pre-stores the basic specifications that form the basis of the specifications created by the specification creation support system 1. When the specification to be verified is input to verification device 3, it verifies whether or not there are inconsistencies in the input specification and outputs the verification result. Generation AI device 4 is, for example, a server. Generation AI device 4 is equipped with an LLM 5 that outputs a response to a prompt when a prompt is input.
[0014] Figure 2 is a functional block diagram showing an example configuration of the specification creation support device in Example 1. The specification creation support device 2 includes an acquisition unit 11, a proposal unit 12, a verification unit 13, and an evaluation unit 14. Before explaining the configuration of the specification creation support device 2, we will explain the state transition model used to describe the specifications of an information system. In Example 1, we will explain the case where the information system is an e-commerce system. Figure 3 is a schematic diagram for explaining the state transition model for the specifications of an information system.
[0015] The order-taking side's operations for selling goods can be divided into multiple operations such as "order-taking", "inventory", and "shipping". In the case of an e-commerce trading system, operations such as "order-taking" correspond to models. Among the multiple operations, for example, when an event of "order request" occurs in relation to the model "order-taking", an event of "shipping preparation" occurs due to the "order request". Subsequently, when an event of "payment" occurs from the ordering side, an event of "shipping" occurs. In this way, events occur between the model "order-taking" and the model "shipping".
[0016] On the other hand, after the ordering side generates an event of "order request", it may generate an event of "order cancellation". In this case, the order-taking side can set a constraint that it will accept "order cancellation" if it is before the occurrence of the event of "shipping preparation", but will not accept "order cancellation" after the occurrence of the event of "shipping preparation". Also, the order-taking side can set a constraint that it will accept "order cancellation" even after the occurrence of the event of "shipping preparation" as long as it is before the occurrence of the event of "shipping", but will not accept "order cancellation" after the occurrence of the event of "shipping". Furthermore, the order-taking side can accept "order cancellation" even after the occurrence of the event of "shipping" and generate an event of "refund". In this way, the constraint conditions can be freely set for each information system.
[0017] Hereinafter, information in which the state transition by events is defined for each of the multiple models is referred to as state transition specification information. The events included in the state transition specification information include events that occur in other models due to the state transition of the model. Also, for each event, information that defines the violation matters that should be regarded as violations when the event occurs is referred to as constraint condition information.
[0018] FIG. 4 is a diagram showing an example of the format of specification data for describing a specification. The specification data is the data that forms the basis of the specification to be created. The specification data is information including, regarding the specification, a plurality of models, state transitions of the plurality of models, constraint conditions of the plurality of models, and specifications of events between the models. The specification data includes event information, model information, state transition specification information, and constraint condition information. The event information has items of event name, business procedure name, model name, standard / exception classification, and main / secondary classification. In the column of the standard / exception classification, it is registered whether the target event is classified as standard or exception. If the target event is a process performed in a normal procedure in a business transaction, the target event is classified as standard. On the other hand, if the target event is a process that causes an error in a business transaction, or if the process is not necessarily performed even if it is a process performed in a normal procedure, the target event is classified as an exception. Hereinafter, an event classified as standard is referred to as a standard event, and an event classified as an exception is referred to as an exception event.
[0019] In the column of the main / secondary classification, it is registered whether the target event is classified as a main event or a secondary event. If the target event is an event that changes the state of the model, the target event is classified as a main event. On the other hand, if the target event is an event that changes the state of some attributes of the model, the target event is classified as a secondary event. The model information has an item of model name. The state transition information has items of event name, business procedure name, model name, state name, event result, and destination state name. The constraint condition information has items of event name, business procedure name, constraint type, and constraint content.
[0020] The configuration of each part of the specification creation support device 2, as shown in Figure 2, is explained below. When the acquisition unit 11 receives specification information from the developer, it acquires the basic specifications of the information system from the verification device 3. The proposal unit 12 creates a proposed specification based on the specification information and the basic specifications. Specifically, the proposal unit 12 inputs prompts to the LLM 5 via the generation AI device 4, instructing changes to the basic specifications according to the specification information. The proposal unit 12 acquires the output result from the LLM 5 via the generation AI device 4 as the proposed specification. The proposal unit 12 passes the proposed specification to the verification unit 13.
[0021] Furthermore, when the proposal unit 12 receives the verification results from the verification device 3 from the evaluation unit 14, it inputs a prompt to the LLM 5 via the generation AI device 4, which includes instructions to modify the proposed specifications based on the verification results. The proposal unit 12 then passes the output results from the LLM 5 to the verification unit 13 as the new proposed specifications.
[0022] When the verification unit 13 receives the proposed specification from the proposal unit 12, it performs a verification process that inputs the proposed specification to the verification device 3. The verification unit 13 receives the verification result from the verification device 3 to determine whether or not there are inconsistencies in the proposed specification. The verification unit 13 passes the verification result to the evaluation unit 14. If the evaluation unit 14 contains information indicating inconsistencies in the proposed specification, it passes the verification result to the proposal unit 12. If the evaluation unit 14 indicates that there are no inconsistencies in the proposed specification, it outputs the proposed specification as the final specification to the developer. This creates a specification that is free of inconsistencies, with no omissions in determining state transitions and no violations of constraints.
[0023] Here, we will describe an example of the hardware configuration of the specification creation support device 2. Figure 5 is a block diagram showing the example hardware configuration of the specification creation support device shown in Figure 1. The specification creation support device 2 is an information processing device such as a server or a PC (Personal Computer). As shown in Figure 5, the specification creation support device 2 has a processor 21, main memory 22, storage device 23, communication device 24, input device 25, and output device 26. The processor 21, main memory 22, storage device 23, communication device 24, input device 25, and output device 26 are connected via a bus.
[0024] The storage device 23 is, for example, an HDD (Hard Disk Drive) or an SSD (Solid State Drive). The main memory 22 has non-volatile memory such as flash memory for storing programs and volatile memory for temporarily storing the results of calculations performed by the processor. The processor 21 is, for example, an arithmetic circuit such as a CPU (Central Processing Unit) and an MPU (Micro Processing Unit). The functions of the acquisition unit 11, proposal unit 12, verification unit 13, and evaluation unit 14 are executed when the processor 21 executes the program stored in the main memory 22.
[0025] The communication device 24 communicates with other devices such as the verification device 3 and the generation AI device 4 via the network 10. If the network 10 is the internet, the communication device 24 has a communication circuit that sends and receives data according to a communication protocol such as IP (Internet Protocol). The input device 25 is, for example, a keyboard, mouse, or touch panel. The output device 26 is, for example, a display or speaker.
[0026] Furthermore, some or all of the acquisition unit 11, proposal unit 12, verification unit 13, and evaluation unit 14 shown in Figure 2 may be executed by a dedicated circuit such as an ASIC (Application Specific Integrated Circuit). Also, although Embodiment 1 is described as a case where one computer has the functions of the multiple units shown in Figure 2, these functions may be executed by multiple information processing devices (not shown). For example, the specification creation support device 2 may be configured such that multiple information processing devices, each performing these multiple functions, are connected to each other via a network 10 so that they can communicate with one another.
[0027] The hardware configuration of the generation AI device 4 is the same as the configuration example shown in Figure 5, so a detailed explanation is omitted. In Embodiment 1, the processor 21 of the generation AI device 4 may be a GPU (Graphics Processing Unit). The main memory 22 of the generation AI device 4 may have VRAM (Video Random Access Memory) as volatile memory. The LLM 5 is configured when the processor 21 of the generation AI device 4 executes the program stored in the main memory 22. Embodiment 1 is described as the case where the verification device 3 stores the basic specifications, but the storage device 23 may also store the basic specifications.
[0028] Next, the operation of the specification creation support system 1 in Example 1 will be described. Figure 6 is a flowchart showing an example of the operation procedure of the specification creation support system in Example 1.
[0029] When the developer receives information about the specifications from the client, the developer inputs the information about the specifications into the acquisition unit 11 via the input device 25 of the specification creation support device 2. The information about the specifications is information about additions, modifications, and / or deletions to at least one model, state transitions of the model, constraints of the model, and / or events between models, for the basic specifications. In step S101, the information about the specifications is input into the acquisition unit 11. In step S102, the acquisition unit 11 acquires the basic specifications from the verification device 3. Specifically, the acquisition unit 11 acquires specification data from the verification device 3 that includes the specification of multiple models, state transitions of the multiple models, constraints of the multiple models, and events between models, for the basic specifications. In the next step S103, the developer may create a prompt in natural language based on the information about the specifications and input it into the LLM 5, giving instructions for adding, modifying, and / or deleting the specifications. For example, the developer may create a prompt in natural language giving instructions such as "I want it to be like this" or "I want it to not be possible" for the model or state transition of the changes.
[0030] In step S103, the proposal unit 12 creates a proposed specification. Specifically, the proposal unit 12 sends prompts instructing changes to the basic specification and the basic specification to the generation AI device 4 according to the specification information. When the generation AI device 4 receives the basic specification and prompts from the specification creation support device 2, it inputs the basic specification and prompts to the LLM 5. The LLM 5 outputs a proposed specification with the basic specification changed according to the prompts. The generation AI device 4 sends the output result from the LLM 5 to the specification creation support device 2. The proposal unit 12 obtains the output result from the LLM 5 via the generation AI device 4 as the proposed specification. The proposal unit 12 passes the obtained proposed specification to the verification unit 13.
[0031] In step S104, the verification unit 13 verifies the proposed specification. Specifically, when the verification unit 13 receives the proposed specification from the proposal unit 12, it transmits the proposed specification to the verification device 3. When the verification device 3 receives the proposed specification from the specification creation support device 2, it verifies whether there are any inconsistencies in the proposed specification. For example, if an event is added, the verification device 3 verifies whether there are any simple omissions in confirmation, such as failure to determine the state transition for the added event, or failure to set the event result and transition destination state for the new state. The verification device 3 also checks for each model whether constraint conditions apply to the passage of all paths, such as paths between state transitions. If the verification results show that there are inconsistencies in the proposed specification, such as a state transition occurring in violation of constraint conditions, the verification device 3 extracts the inconsistencies from the proposed specification and transmits the verification result, which includes information indicating the inconsistencies, to the specification creation support device 2. On the other hand, if there are no inconsistencies in the proposed specification, the verification device 3 transmits the verification result indicating that there are no inconsistencies in the proposed specification to the specification creation support device 2. When the verification unit 13 receives the verification results from the verification device 3 to determine whether or not there are inconsistencies in the proposed specifications, it passes the verification results to the evaluation unit 14.
[0032] In step S105, the evaluation unit 14 determines whether or not there are inconsistencies in the proposed specification. If the verification result contains information indicating inconsistencies in the proposed specification, the evaluation unit 14 passes the verification result to the proposal unit 12 and returns to step S103. In step S103, when the proposal unit 12 receives the verification result from the evaluation unit 14, it sends a prompt including instructions to revise the proposed specification based on the verification result, along with the proposed specification, to the generation AI device 4.
[0033] When the generation AI device 4 receives the proposed specification and prompts from the specification creation support device 2, it inputs the proposed specification and prompts to the LLM 5. The LLM 5 outputs a new proposed specification with modifications according to the prompts. The generation AI device 4 transmits the output result from the LLM 5 to the specification creation support device 2. The proposal unit 12 obtains the output result from the LLM 5 via the generation AI device 4 as the new proposed specification. The processing in steps S104 to S105 is the same as the processing described above, so a detailed explanation is omitted.
[0034] On the other hand, if the evaluation in step S105 indicates that the verification results show no inconsistencies in the proposed specification, the evaluation unit 14 outputs the proposed specification as the final specification to the developer (step S106). In response to requests for additions, modifications, and / or deletions to the pre-prepared basic specification, the LLM5 modifies the basic specification.
[0035] Figure 7 shows an example of the process in which an event is added to the basic specification in step S103 shown in Figure 6. Figure 7 shows the case where an exception event is added to row 6 of the state transition table in the model "Order," where standard events are registered in rows 1 to 5. Rows corresponding to the events added in the process of step S103 are represented by a dot pattern.
[0036] As shown in Figure 7, the "Order" model has a total of six states: S0 representing the initial state, S1 representing the order status, S2 representing the inventory confirmation status, S3 representing the ready-to-ship state, S4 representing the shipped state, and S5 representing the completed state. The "Order" model transitions states in response to the occurrence of certain events. For example, it is shown that the state of "Order" transitions from S0 to S1 in response to the "Order Occurrence" event.
[0037] In Figure 7, the "E" displayed in the state transition column indicates an error. For example, the "Preparing for Shipment" event will not occur in the "Shipped" state indicated by S4. In such cases, the information system needs to perform some kind of error handling for impossible events. Therefore, "E" is set as the value in the column for impossible state transitions. Also, where "-" is set in the state transition column, it indicates that a state transition is impossible from the beginning. Furthermore, the "Procedure Result" column is blank at this stage for all events.
[0038] Let's consider the case in step S101 where information indicating that a new exception event, "cancellation," is added to the model "order" is input to the specification creation support device 2 as part of the specification information. A specific example of the specification information is as follows:
[0039] Event: Cancelled Business procedures: - Model: Order Standard / Exception classification: Exception
[0040] In step S103, LLM5 registers a "cancel" exception event as number 6 in the state transition table, as shown in Figure 7. LLM5 also sets the state transition to S5 in the state transition column for S1-S3.
[0041] In this way, the specification creation support system 1 has the generation AI device 4 create specifications according to the requests from the information system client, and then has the verification device 3 verify any inconsistencies in the specifications. The specification creation support system 1 then has the generation AI device 4 revise the specifications until there are no more inconsistencies, and once there are no more inconsistencies, it presents the final specifications to the developers.
[0042] The specification creation support system 1 of Embodiment 1 has a main memory 22 for storing a program and a processor 21 that executes processing according to the program. The processor 21 executes the following processes by executing the program. When information regarding the specifications of an information system is input to the processor 21, it inputs a prompt to the LLM 5 instructing the creation or modification of the specifications according to the information regarding the specifications, and obtains the output result from the LLM 5 as the proposed specification. The processor 21 performs a verification process by inputting the proposed specification to a verification device 3 that outputs verification results on whether or not there are inconsistencies in the specifications, and obtains the verification result from the verification device 3. If the verification result contains information indicating inconsistencies in the proposed specification, the processor 21 inputs a prompt to the LLM 5 instructing the modification of the proposed specification based on the verification result, and performs verification processing on the output result from the LLM 5 as the new proposed specification. On the other hand, if the verification result indicates that there are no inconsistencies in the proposed specification, the processor 21 outputs the proposed specification as the final specification.
[0043] According to Example 1, even if inconsistencies are found in the specifications as a result of verifying the information system specifications, these inconsistencies are removed from the specifications by the large-scale language model. Therefore, developers do not need to modify the specifications based on the verification results, and the burden of removing specification inconsistencies is reduced. As a result, the specifications of the information system can be formulated quickly and with low burden.
[0044] (Variation 1) In the modified example 1, the specification creation support system 1, when the verification results received from the verification device 3 include evaluation values for the proposed specification, determines whether or not to adopt the proposed specification as the final specification based on the evaluation values.
[0045] If the verification device 3 is the specification verification support device disclosed in Patent Document 1, the verification device 3 includes a specification comparison unit that extracts the differences between the proposed specification before the change and the proposed specification after the change.
[0046] The operation of the specification creation support system 1 in modified example 1 will be explained with reference to Figure 6. Here, we will explain in detail the processes in steps S101 to S106 that differ from the explanation above, and omit the explanation of similar processes.
[0047] In step S105, the evaluation unit 14 determines whether the verification results received from the verification device 3 include information on the differences between the proposed specification before the change and the proposed specification after the change. If the verification results include information on the differences between the proposed specification before the change and the proposed specification after the change, the evaluation unit 14 calculates an evaluation value for the target proposed specification based on the extracted differences. Specifically, if the verification results include information indicating the differences between the proposed specification before the change and the proposed specification after the change, the evaluation unit 14 inputs the information indicating the differences and a prompt to the LLM 5 via the generation AI device 4.
[0048] The prompts entered into LLM5 include instructions to calculate an evaluation value for the revised proposed specification based on information indicating differences, using the user usability of the information system and / or the changes made to the information system as evaluation indicators for the proposed specification. The prompts also describe specific examples of how the evaluation value is determined. For example, the prompt states that the more differences there are, the lower the evaluation value will be, because a larger number of differences means a greater change to the system specification.
[0049] This section explains specific examples of evaluation methods for each evaluation metric. First, it explains the case where the information on differences included in the verification results includes information on the user-friendliness of the information system as an evaluation metric. This evaluation metric indicates how easy the information system is for the user to use. The fewer the number of errors among the combinations of operations and events that occur as a result of those operations, the higher the specification evaluation. In this case, the prompts entered into LLM5 include instructions that increase the evaluation value for user-friendliness, with fewer errors among the combinations of operations and events that occur as a result of those operations. The higher this evaluation value, the better the user-friendliness of the information system.
[0050] The verification results include information on differences, and we will explain an evaluation metric where the less the system is modified, that is, the lower the developer's effort cost, the higher the evaluation metric. This evaluation metric increases as the amount of modification from the proposed specification before the changes decreases. For changes in the information system, the fewer the number of changes in state transitions and / or the number of changes in event occurrences, the higher the specification evaluation. In this case, the prompts input to LLM5 include instructions that increase the evaluation value as the number of changes in state transitions and / or the number of changes in event occurrences for changes in the information system decreases. The higher this evaluation value, the better the information system can suppress the system-wide impact of a particular event occurring.
[0051] When the evaluation unit 14 receives the output result from LLM5 as an evaluation value, it compares the evaluation value with a predetermined threshold. The threshold is stored in the main memory 22 or storage device 23. If the evaluation unit 14 finds that the evaluation value is greater than or equal to the threshold, it determines that the modified proposed specification is the final specification (step S106). On the other hand, if the evaluation unit 14 finds that the evaluation value is less than the threshold, it passes the evaluation index, evaluation value, and current proposed specification to the proposal unit 12 in order to request the creation of a new proposed specification (step S103). In step S103, the proposal unit 12 inputs a prompt to LLM5 via the generation AI device 4, which includes instructions to modify the proposed specification so that the evaluation value for the evaluation index increases. The proposal unit 12 receives the output result from LLM5 as the new proposed specification. A detailed explanation of the processing from step S104 onward is omitted.
[0052] When formulating specifications for an information system, developers must consider ease of use from the perspective of each user, including the client and, if the client is a company, its employees, as well as evaluations from multiple stakeholders representing the company's interests. Furthermore, developers must be careful not to propose specifications that are less favorably rated than the information system currently being used by the client.
[0053] According to Modification 1, the functionality of the specification comparison unit of the verification device 3 is used to extract the differences between the indicators of the currently used information system and the specifications of the newly created information system. Then, in Modification 1, considering the perspective of each user of the information system, usability, such as ease of use, and operability, including flexibility such as fewer limitations that can lead to errors, are evaluated, and the evaluation targets are quantified and calculated by the generation AI device 4. As a result, the evaluation unit 14 of the information processing device can judge the quality of the new information system specifications based on the evaluation values obtained by the generation AI device 4. Consequently, the generation AI device 4 can be made to create better specifications for the information system that take into account the evaluation values of people from multiple perspectives. [Examples]
[0054] Example 2 enables the creation of a proposed specification in LLM5 based on specification data, even if a basic specification that forms the basis of the specification to be created is not prepared in advance. In Example 2, the same reference numerals are used for the same configuration as described in Example 1, and their detailed explanations are omitted.
[0055] The configuration of the specification creation support system in Example 2 will be explained with reference to Figure 8. Figure 8 is a functional block diagram showing one example configuration of the specification creation support device in Example 2. As shown in Figure 8, the specification creation support device 2 of Example 2 does not have the acquisition unit 11 among the configurations shown in Figure 2. When the proposal unit 12 of Example 2 receives information about the specifications, it inputs a prompt to the LLM 5 via the generation AI device 4, instructing it to create the specifications according to the information about the specifications.
[0056] The specification information includes details about multiple models, state transitions between multiple models, constraints for multiple models, and events between models. For example, the specification information is specification data specifying models and events according to the format shown in Figure 4. The specification information is not limited to specification data; it may also be a state transition diagram or state transition table described by the specification data. Furthermore, the developer may create a prompt in natural language indicating what kind of specification they would like to see based on the specification information.
[0057] Next, the operation of the specification creation support system 1 in Example 2 will be described with reference to Figure 6. In Example 2, the specification creation support system 1 does not need to execute the process in step S102 of the steps S101 to S106 shown in Figure 6. Also, the processes in steps S104 to S106 are the same as those described in Example 1, so a detailed explanation will be omitted.
[0058] When the developer receives information about the specifications from the client, the developer inputs the information about the specifications into the proposal unit 12 via the input device 25 of the specification creation support device 2. The information about the specifications is specification data that includes the specification of multiple models, state transitions of multiple models, constraints of multiple models, and events between models for the new specification. In step S101, the information about the specifications is input into the proposal unit 12.
[0059] In step S103, the proposal unit 12 sends a prompt instructing the AI generation device 4 to create a specification according to the specification data, along with the specification data itself. Upon receiving the specification data and prompt from the specification creation support device 2, the AI generation device 4 inputs the specification data and prompt into the LLM 5. The LLM 5 outputs the proposed specification created according to the prompt. The AI generation device 4 sends the output result from the LLM 5 to the specification creation support device 2. The proposal unit 12 obtains the output result from the LLM 5 via the AI generation device 4 as the proposed specification. The processing from step S104 onward is the same as in Example 1, so a detailed explanation is omitted.
[0060] According to Example 2, when new specification data is input, the new specification is created by a large-scale language model. Since developers do not need to create new specifications using the existing specification data, the workload for system development is reduced.
[0061] The embodiments described above are illustrative for explaining the present invention and are not intended to limit the scope of the invention to those embodiments only. Those skilled in the art can implement the present invention in various other forms without departing from the scope of the invention.
[0062] Furthermore, the embodiments described above include the following items. However, the items included in these embodiments are not limited to those listed below.
[0063] (Item 1) Memory for storing programs, A processor that performs processing according to the aforementioned program, The processor executes the program, Regarding the specifications of the information system, when information about the specifications is input, a prompt instructing the creation or modification of the specifications according to the information about the specifications is input to the large-scale language model, and the output result from the large-scale language model is obtained as the proposed specification. A verification process is performed in which the proposed specifications are input to a verification device that outputs verification results on whether or not there are inconsistencies in the specifications, and the verification results are obtained from the verification device. If the verification results include information indicating inconsistencies in the proposed specification, a prompt including instructions to modify the proposed specification based on the verification results is input to the large-scale language model, the output from the large-scale language model is used as the new proposed specification and the verification process is performed, and if the verification results indicate that there are no inconsistencies in the proposed specification, the proposed specification is output as the final specification. A system to support the creation of specifications.
[0064] According to this, even if the specifications created or modified by the large-scale language model contain inconsistencies as a result of specification verification, the large-scale language model will remove these inconsistencies from the specifications. Therefore, developers do not need to modify the specifications based on the verification results, and the burden of removing specification inconsistencies is reduced.
[0065] (Item 2) In the specification creation support system described in item 1, The aforementioned processor, If the verification results include information indicating the differences between the proposed specification before the change and the proposed specification after the change, the user operability of the information system and / or the changes in the information system are used as evaluation indicators for the proposed specification, and a prompt including an instruction to calculate an evaluation value for the revised proposed specification based on the information indicating the differences is input to the large-scale language model. Upon receiving the output result from the large-scale language model as the evaluation value, the system compares the evaluation value with a predetermined threshold to determine whether or not to adopt the modified proposed specification as the final specification. A system to support the creation of specifications.
[0066] According to this, the user-friendliness of the information system and / or the changes made to the information system are used as evaluation indicators, and the proposed specifications are created to maximize the evaluation score. Therefore, the specifications are created that take into account the user-friendliness of the information system and / or the changes made to the information system.
[0067] (Item 3) In the specification creation support system described in item 2, The information relating to the above specification includes, with respect to the above specification, information on multiple models, state transitions of the multiple models, constraints of the multiple models, and events between models, The aforementioned processor, Regarding the user's operability, the large-scale language model is input a prompt that includes instructions to increase the evaluation value, where the number of errors in the combination of operations and events generated by those operations is small, up to the point where the objective is achieved. A system to support the creation of specifications. This allows for the creation of specifications that improve the user-friendliness of information systems.
[0068] (Item 4) In the specification creation support system described in item 2, The information relating to the above specification includes, with respect to the above specification, information on multiple models, state transitions of the multiple models, constraints of the multiple models, and events between models, The aforementioned processor, Regarding the changes in the information system, the larger the evaluation value is increased the fewer the number of changes in the state transitions and / or the number of changes in the occurrence of the events, the more the prompt is input to the large-scale language model. A system to support the creation of specifications. This allows for the creation of specifications in information systems that suppress the spread of a particular event throughout the entire system.
[0069] (Item 5) In the specification creation support system described in any one of items 1 to 4, The information in the aforementioned specification is specification data that includes, for a new specification, multiple models, state transitions of the multiple models, constraints of the multiple models, and the specification of events between the models. A system to support the creation of specifications. This means that when new specification data is input, the new specification is created by the large-scale language model.
[0070] (Item 6) In the specification creation support system described in any one of items 1 to 4, The information in the aforementioned specifications includes, for a pre-created basic specification, information on additions, modifications, and / or deletions to at least one model, the state transitions of the model, the constraints of the model, and / or events between models. A system to support the creation of specifications. This allows the base specifications to be modified by the large-scale language model in response to requests for additions, modifications, and / or deletions to the pre-prepared base specifications. [Explanation of symbols]
[0071] 1. Specification creation support system, 2. Specification creation support device, 3. Verification device, 4. Generation AI device, 10. Network, 11. Acquisition unit, 12. Proposal unit, 13. Verification unit, 14. Evaluation unit, 21. Processor, 22. Main memory, 23. Storage device, 24. Communication device, 25. Input device, 26. Output device.
Claims
1. Memory for storing programs, A processor that performs processing according to the aforementioned program, The processor executes the program, When information regarding the specifications of an information system is input, including at least one model, the state transitions of the model, and the constraints of the model, a prompt instructing the creation or modification of the specifications according to the information regarding the specifications is input to the large language model, and the output result from the large language model is obtained as a proposed specification. A verification process is performed in which the proposed specifications are input to a verification device that outputs a verification result of whether or not there is a contradiction in the above specifications where the state transitions are performed in violation of the constraints, and the verification results are obtained from the verification device. If the verification results include information indicating inconsistencies in the proposed specification, a prompt including instructions to modify the proposed specification based on the verification results is input to the large-scale language model, the output from the large-scale language model is used as the new proposed specification and the verification process is performed, and if the verification results indicate that there are no inconsistencies in the proposed specification, the proposed specification is output as the final specification. If the verification results include information indicating the differences between the proposed specification before the change and the proposed specification after the change, the user operability of the information system and / or the changes in the information system are used as evaluation indicators for the proposed specification, and a prompt including an instruction to calculate an evaluation value for the revised proposed specification based on the information indicating the differences is input to the large-scale language model. Upon receiving the output result from the large-scale language model as the evaluation value, the system compares the evaluation value with a predetermined threshold to determine whether or not to adopt the modified proposed specification as the final specification. A system to support the creation of specifications.
2. In the specification creation support system described in claim 1, The information relating to the above specification includes, with respect to the above specification, information on multiple models, state transitions of the multiple models, constraints of the multiple models, and events between models, The aforementioned processor, Regarding the user's operability, the large-scale language model is input a prompt that includes instructions to increase the evaluation value, where the number of errors in the combination of operations and events generated by those operations is small, up to the point where the objective is achieved. A system to support the creation of specifications.
3. In the specification creation support system described in claim 1, The information relating to the above specification includes, with respect to the above specification, information on multiple models, state transitions of the multiple models, constraints of the multiple models, and events between models, The aforementioned processor, Regarding the changes in the information system, the larger the evaluation value is increased the fewer the number of changes in the state transitions and / or the number of changes in the occurrence of the events, the more the prompt is input to the large-scale language model. A system to support the creation of specifications.
4. In the specification creation support system described in claim 1, The information in the aforementioned specification is specification data that includes, for a new specification, multiple models, state transitions of the multiple models, constraints of the multiple models, and the specification of events between the models. A system to support the creation of specifications.
5. In the specification creation support system described in claim 1, The information in the aforementioned specifications includes, for a pre-created basic specification, information on additions, modifications, and / or deletions to at least one model, the state transitions of the model, the constraints of the model, and / or events between models. A system to support the creation of specifications.
6. A method for supporting specification creation performed by an information processing device, When information regarding the specifications of an information system is input, including at least one model, the state transitions of the model, and the constraints of the model, a prompt instructing the creation or modification of the specifications according to the information regarding the specifications is input to the large language model, and the output result from the large language model is obtained as a proposed specification. A verification process is performed in which the proposed specifications are input to a verification device that outputs a verification result of whether or not there is a contradiction in the above specifications where the state transitions are performed in violation of the constraints, and the verification results are obtained from the verification device. If the verification results include information indicating inconsistencies in the proposed specification, a prompt including instructions to modify the proposed specification based on the verification results is input to the large-scale language model, the output from the large-scale language model is used as the new proposed specification and the verification process is performed, and if the verification results indicate that there are no inconsistencies in the proposed specification, the proposed specification is output as the final specification. If the verification results include information indicating the differences between the proposed specification before the change and the proposed specification after the change, the user operability of the information system and / or the changes in the information system are used as evaluation indicators for the proposed specification, and a prompt including an instruction to calculate an evaluation value for the revised proposed specification based on the information indicating the differences is input to the large-scale language model. Upon receiving the output result from the large-scale language model as the evaluation value, the system compares the evaluation value with a predetermined threshold to determine whether or not to adopt the modified proposed specification as the final specification. Methods for supporting specification creation.
7. On the computer, When information regarding the specifications of an information system is input, including at least one model, the state transitions of the model, and the constraints of the model, a prompt instructing the creation or modification of the specifications according to the information regarding the specifications is input to the large language model, and the output result from the large language model is obtained as a proposed specification. A verification process is performed in which the proposed specifications are input to a verification device that outputs a verification result of whether or not there is a contradiction in the above specifications where the state transitions are performed in violation of the constraints, and the verification results are obtained from the verification device. If the verification results include information indicating inconsistencies in the proposed specification, a prompt including instructions to modify the proposed specification based on the verification results is input to the large-scale language model, the output from the large-scale language model is used as the new proposed specification and the verification process is performed, and if the verification results indicate that there are no inconsistencies in the proposed specification, the proposed specification is output as the final specification. If the verification results include information indicating the differences between the proposed specification before the change and the proposed specification after the change, the user operability of the information system and / or the changes in the information system are used as evaluation indicators for the proposed specification, and a prompt including an instruction to calculate an evaluation value for the revised proposed specification based on the information indicating the differences is input to the large-scale language model. Upon receiving the output result from the large-scale language model as the evaluation value, the system compares the evaluation value with a predetermined threshold to determine whether or not to adopt the modified proposed specification as the final specification. A program to perform a task.
Citation Information
Patent Citations
Specification verifying system
JP1990067644A
Design assisting device
JP1993266105A
Calculator function switching system
JP2010134616A
ARCHITECTURE PROPOSAL DEVICE, INFORMATION PROCESSING METHOD, AND PROGRAM
JP7678947B1
Specification verification support device, method, and program
JP2024104241A