Document generation device, program, and document generation method
Patent Information
- Application Number
- JP2024521428
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-05-17
- Publication Date
- 2025-04-25
- Estimated Expiration
- 2042-05-17
AI Technical Summary
Conventional document generation from system models is inefficient due to the need for users to specify each class for output, resulting in time-consuming processes and reduced versatility, as information is uniformly output in the same format without the ability to customize formats for different classes.
A document generation device and method that acquires user-defined output conditions and formats, allowing for the extraction and formatting of relevant system model information, enabling the output of information about elements that satisfy specified conditions in user-specified formats.
This approach reduces user effort by allowing multiple elements to be specified at once, increases document versatility by enabling different formats for each element, and facilitates the generation of complex documents by leveraging the tree structure of system models.
Smart Images

Figure 00000011_0000 
Figure 00000012_0000 
Figure 00000013_0000
Abstract
Description
Document generation device, program, and document generation method
[0001] The present disclosure relates to a document generation device, a program, and a document generation method.
[0002] Instead of the conventional document-based system development using specifications or design documents, attention is now being paid to MBSE (Model-based Systems Engineering), which uses descriptive languages such as SysML (Systems Modeling Language) or UML (Unified Modeling Language) to build and design a system model.
[0003] In document-based system development, system designers create specifications or design documents while designing the system. On the other hand, in MBSE, system designers use MBSE-compatible tools called modeling tools to build a system model that includes the design information while designing the system.
[0004] Here, the system model is a database (DB) that stores system information. The information stored in the system model is, for example, a list of system components, external interface information for each component, information on data exchanged between each component, information on developers, and other information related to the system life cycle.
[0005] A modeling tool is a tool for viewing, creating, and updating a database (DB) that is a system model that stores system information, and can output the system information stored in the DB. Furthermore, a system model DB often has a tree structure, with each piece of information stored in a node of the tree structure called an element.
[0006] In the document-based approach, the deliverable of the system design is a specification or design document, whereas in the MBSE approach, the deliverable of the system design is a system model, which is treated as the single source of truth of the design information.
[0007] A system model contains comprehensive system design information. Therefore, when a system development stakeholder wants to view the design information of their interest, they must search for the required part from the vast amount of design information in the system model, which is time-consuming. Furthermore, although a system model can be viewed using a modeling tool, there are licensing issues with using the modeling tool, and it takes time to learn how to use the modeling tool.
[0008] Therefore, it is possible to extract from the system model the range of interest to the parties involved and output it as a document. For example, when a new function is added to a system, design information about the new function may be extracted from the system model and a design document for the new function may be generated. Also, when presenting the system interface specifications to external system parties, design information about the system interface may be extracted from the system model and an interface specification may be generated.
[0009] Patent Document 1 discloses a technology relating to a document generation function that outputs information necessary for creating software specifications from a system model including software design information, and creates the software specifications. By using the technology of Patent Document 1, it is possible to generate documents from a system model.
[0010] Japanese Patent Application Laid-Open No. 2005-258561
[0011] However, with conventional technology, when outputting class information to a document, the user must specify each class for which information is to be output. Therefore, when outputting information about multiple classes to a document, the user may need to spend a lot of time specifying multiple classes.
[0012] Furthermore, since information about classes is output to the document in the same format, it is not possible to output information about each class in a different format, which may reduce the versatility of the document.
[0013] Therefore, one or more aspects of the present disclosure aim to reference information in a system model and enable information regarding elements that satisfy document output target conditions specified by a user to be output to a document in a format specified by the user.
[0014] A document generation device according to one aspect of the present disclosure is characterized by comprising an interface unit that acquires setting information having conditions indicating an object to be output to a document and items indicating a format in which the document is to be output, and a document generation unit that generates the document by searching for a system model including a plurality of elements and outputting information about elements that satisfy the conditions in the format.
[0015] A program according to one aspect of the present disclosure is characterized in that it causes a computer to function as an interface unit that acquires setting information having conditions indicating an object to be output to a document and items indicating a format in which the document is to be output, and a document generation unit that searches for a system model including multiple elements and generates the document by outputting information about elements that satisfy the conditions in the format.
[0016] A document generation method according to one aspect of the present disclosure is characterized in that it generates the document by obtaining configuration information having conditions indicating the target to be output to the document and items indicating the format in which the output to the document is to be made, searching for a system model including multiple elements, and outputting information about elements that satisfy the conditions in the format.
[0017] According to one or more aspects of the present disclosure, information about a system model can be referenced, and information about elements that satisfy document output target conditions specified by a user can be output to a document in a format specified by the user.
[0018] FIG. 1 is a block diagram showing an outline of the configuration of a document generation device according to embodiments 1 and 2. FIG. 2 is a schematic diagram showing an example of a system model. FIG. 3 is a schematic diagram showing the sw structure of an X system. FIG. 4 is a block diagram showing an outline of the configuration of a document generation information addition unit according to embodiments 1 and 2. FIG. 5 is a block diagram showing an outline of the configuration of a computer. FIG. 6 is a flowchart showing the operation of a document generation unit. FIG. 7 is a block diagram showing an example of input / output of a setting information update unit according to embodiment 2. FIG. 8 is a schematic diagram showing an example of a system model updated in embodiment 2.
[0019] 1 is a block diagram showing a schematic configuration of a document generation device 100 according to embodiment 1. The document generation device 100 includes a system model storage unit 101, an interface unit (hereinafter referred to as an I / F unit) 102, a document generation information addition unit 103, a document generation unit 104, and an output unit 105.
[0020] In the first embodiment, an example of a document generation device for a system model including system design information is shown, but the information included in the system model does not have to be system design information. For example, it may be information related to the system life cycle, such as project management information or maintenance information for the system.
[0021] The document generation device shown in FIG. 1 includes an I / F unit 102 , a document generation information adding unit 103 , a document generation unit 104 , and a system model storage unit 101 .
[0022] The system model storage unit 101 stores a system model, which is a database that stores system design information. FIG. 2 is a schematic diagram showing an example of a system model. FIG. 2 shows an example of a system model 106 that includes design information related to an X system. The system model 106 is configured in a tree structure, and each node of the tree is called an element. Each element has design information that includes metadata such as the element name, type, notes, and update date and time.
[0023] First, the root element 106a of the tree structure will be described. The root element 106a has information on the element name, type, and notes. Although not shown in FIG. 2, each element generally also holds metadata such as the element's update date and time history, updater history, and unique attributes. The type of the root element 106a is a package, which means that the element is used to group multiple elements. Furthermore, notes is a field in which information about the element can be freely entered.
[0024] Next, the child elements will be described. The root element 106a has child elements such as a structure element 106b and a behavior element 106c.
[0025] The structural element 106b has a classA element 106d, a classB element 106e, and a classC element 106f as child elements, which indicates that the X system has class components classA, classB, and classC as components.
[0026] The structure element 106b has a SW configuration diagram element 106g as a child element. The type of the SW configuration diagram element 106g is a block definition diagram, and the SW configuration diagram element 106g includes a diagram representing the SW structure of the X system, as shown in FIG.
[0027] 1, the I / F unit 102 receives setting information related to document generation from the user. The setting information is provided to the document generation information adding unit 103.
[0028] The setting information is information that has at least one item that indicates how to generate a document. For example, the setting information has items that indicate conditions that indicate what is to be output to the document and a format that indicates the format in which the document is to be output.
[0029] Specifically, examples of setting information items input by the user include the following: "If an element was added after year x, month y, and date z, and the type is request, output the element name of the element in text to the document." "If the element type is operation, output information on the operation arguments in table format." "If the element name includes "class," output the element name and the path name in the tree structure." "If the element type is package, and an element whose information is output to the document exists among the element's descendant elements (descendant nodes of the node in the tree structure), add the chapter and section of the element name to the document."
[0030] The document generation information adding unit 103 functions as an updating unit that updates the setting information and the system model so that processing can be performed using a single element when at least one of the conditions and the format indicated by the items included in the setting information indicates that processing is to be performed using two or more elements included in the multiple elements. Note that, when updating the system model, the system model itself may be changed, or a copy of the system model may be changed and the changed copy may be maintained.
[0031] For example, the document generation information addition unit 103 receives setting information from the I / F unit 102 and reads out a system model from the system model storage unit 101. If the setting information includes an item that is processed using information from multiple elements, the document generation information addition unit 103 analyzes the item, updates the system model, and updates the setting information by rewriting the item to an item that is processed using information from a single element. The setting information with the rewritten item is provided to the document generation unit 104 as updated setting information.
[0032] 4 is a block diagram showing a schematic configuration of the document generation information adding unit 103. The document generation information adding unit 103 includes a setting information analyzing unit 103a and a setting information updating unit 103b.
[0033] The setting information analysis unit 103a receives the setting information SI from the I / F unit 102. Next, the setting information analysis unit 103a analyzes the received setting information SI to determine whether there is an item that is processed using information of multiple elements. Note that in the setting information SI, one line represents one item.
[0034] For example, when an item of the setting information includes information indicating multiple elements, the setting information analysis unit 103a determines that the item is an item to be processed using information on multiple elements. Here, the information indicating multiple elements is, for example, information including character strings that mean other elements or tree structures, such as "child element," "parent element," "descendant element," "ancestor element," or "path name of a tree structure," or information that specifies multiple specific elements with identification information such as ID (IDentification) or element names. In other words, the information indicating multiple elements is information including a predetermined character string or identification information.
[0035] Specifically, if the item is "If the element was added after year y / z and the type is request, output the element name of the element in text to the document," the setting information analysis unit 103a determines that this item can be processed with only information on a single element, and therefore does not require information on multiple elements.
[0036] On the other hand, if the item is "If the element type is a package and there is an element among the descendant elements of the element (descendant nodes of a node in the tree structure) whose information is output to the document, add the chapter and section of the element name to the document," the setting information analysis unit 103a determines that information on multiple elements is required for this item, since a judgment using information on descendant elements is required.
[0037] The setting information analysis unit 103a then provides the setting information update unit 103b with analyzed setting information SI#1, which is the setting information SI provided by the I / F unit 102 and which has been added with the analysis results. In the analyzed setting information SI#1 shown in Fig. 4, a necessity column SI#1a is added to the setting information, and if an item in the same row includes information indicating multiple elements, "Necessary" is stored in the necessity column SI#1a, and if an item in the same row does not include information indicating multiple elements, "No" is stored in the necessity column SI#1a.
[0038] The setting information update unit 103 b receives the analyzed setting information SI# 1 from the setting information analysis unit 103 a and reads the system model from the system model storage unit 101 .
[0039] If there is an item in the analysis setting information SI#1 that is processed using information on multiple elements, the setting information update unit 103b updates the system model so that only a single element can be processed, and then generates updated setting information in which the relevant item is updated.
[0040] For example, assume that an item to be processed using information on multiple elements is specified as "if [condition A], output [information B] to a document." In this case, the setting information update unit 103b searches the system model and extracts elements that satisfy [condition A].
[0041] Next, if [Information B] is information expressed using information on multiple elements, the setting information update unit 103b searches the system model and generates the content of [Information B] to be output to the document as a character string. [Information B] is information expressed using information on multiple elements when, as described above, [Information B] includes a predetermined character string or identification information. The setting information update unit 103b then adds a unique attribute indicating "[Information B] = 'Content of [Information B] generated as a character string'" to the element extracted under [Condition A]. In this case, the corresponding item of the setting information is also updated to output information B from that element, thereby enabling the required information to be obtained from a single element.
[0042] On the other hand, if [Condition A] is a condition that is processed using information of multiple elements and [Information B] is information that is expressed using information of a single element, the setting information update unit 103b adds a unique attribute indicating "[Information B] = true" to the element extracted by [Condition A].
[0043] Specifically, if the analysis setting information contains an item that is processed using information on multiple elements, such as "If the element type is a package and an element whose information is output to a document exists among the descendant elements of the element (descendant nodes of a node in the tree structure), add the chapter and section of the element name to the document," the setting information update unit 103b searches the system model to find an element that satisfies the condition "If the element type is a package and an element whose information is output to a document exists among the descendant elements of the element (descendant nodes of a node in the tree structure)," then the setting information update unit 103b adds a unique attribute indicating "document generation setting information A = true" to the found element. Furthermore, the setting information update unit 103b generates updated setting information SI#2 by rewriting the corresponding item in the analysis setting information to "If an element has document generation setting information A = true as an attribute, add the chapter and section of the element name to the document."
[0044] In other words, when a condition for a setting information item is determined using two or more elements, the setting information update unit 103b identifies an element that satisfies the condition using the two or more elements from among the multiple elements constituting the system model.The setting information update unit 103b then updates the system model by adding a predetermined attribute to the identified element, and updates the item by changing the condition to "an element having a predetermined attribute."
[0045] Furthermore, if the analysis setting information contains an item that is processed using information on multiple elements, such as "If an element contains "class" in its element name, output the element name and the path name of the tree structure," the setting information update unit 103b updates the system model by adding the path name of the tree structure to the attribute information of the classA element, "Document generation setting information B = X system / structure / classA."The setting information update unit 103b then generates updated setting information SI#2 by rewriting the corresponding item in the analysis setting information to "If an element contains "class" in its element name, output the class name and the value of the attribute information "Document generation setting information B."
[0046] In other words, when the format of a setting information item indicates that information related to two or more elements is to be output, the setting information update unit 103b identifies an element that satisfies the condition of that item from among the multiple elements constituting the system model.The setting information update unit 103b then adds a predetermined attribute to the identified element and updates the system model by including information related to the two or more elements as information on the predetermined attribute.The setting information update unit 103b then updates the item by changing the format of the item to "output information related to the predetermined attribute."
[0047] The setting information update unit 103b then provides the generated updated setting information SI#2 to the document generation unit 104.
[0048] 1 , the document generation unit 104 generates a document by searching the system model and outputting information about elements that satisfy the conditions of the items in the format included in the items. Here, if the items of the setting information and the system model have been updated, the document generation unit 104 searches for the updated system model according to the updated items and generates a document. For example, the document generation unit 104 receives updated setting information from the setting information update unit 103 b, reads the updated system model from the system model storage unit 101, and generates a document according to the updated setting information.
[0049] The output unit 105 outputs the document generated by the document generation unit 104 .
[0050] 5 is a block diagram showing a schematic configuration of the computer 10. The computer 10 includes an auxiliary storage device 11 such as a hard disk drive (HDD) or a solid state drive (SSD), a memory 12, a processor 13 such as a central processing unit (CPU), an input I / F 14 such as a keyboard or a mouse, and an output I / F 15 such as a display or a network interface card (NIC).
[0051] The I / F unit 102 can be realized by the processor 13 using the input I / F 14. The document generation information addition unit 103 and the document generation unit 104 can be realized by the processor 13 reading a program stored in the auxiliary storage device 11 into the memory 12 and executing the program. The system model storage unit 101 can be realized by the processor 13 using the auxiliary storage device 11 or the memory 12. The output unit 105 can be realized by the processor 13 using the output I / F 15.
[0052] Such a program may be provided via a network or may be provided by being recorded on a recording medium, i.e., may be provided as a program product.
[0053] 6 is a flowchart showing the operation of the document generation unit 104. Here, the description will be given assuming that the setting information has been updated by the document generation information addition unit 103.
[0054] First, the document generation unit 104 traverses the tree structure of the system model stored in the system model storage unit 101 in order from the root element to determine whether all elements have been searched (S10). If all elements have been searched (Yes in S10), the process ends. If elements that have not yet been searched remain (No in S10), the process proceeds to step S11.
[0055] In step S11, the document generation unit 104 searches the tree structure of the system model stored in the system model storage unit 101 in order from the root element, and moves to the next element.
[0056] Next, the document generation unit 104 outputs information about the moved element to the document (S12).
[0057] In step S12, the document generation unit 104 outputs information about the moved element to the document by referring to information including metadata of the moved element based on the updated setting information updated by the document generation information addition unit 103.
[0058] If the moved element does not satisfy all the conditions of the update setting information, the document generation unit 104 does not output information about the moved element to the document. Furthermore, the information about the moved element is output to the document in the format indicated in the update setting information.
[0059] For example, if the update setting information is "if an element is added after x year y month z day and its type is request, output the element name of the element in text format to the document," in step S12, the document generation unit 104 refers to the update date and time history, which is the metadata of the moved element, and if the element is an element that was newly created after x year y month z day, outputs the element name of the element in text format to the document.
[0060] For example, if the update setting information is "If the element name of an element has been changed after x year y month z day, the element names before and after the change are output to the document in the format [before change: "element name before change" / after change: "element name after change"]", in step S12, the update date and time history, which is the metadata of the element, and the update contents are referenced, and if the element name has been changed after x year y month z day, [before change: "element name before change" / after change: "element name after change"] is output to the document.
[0061] By using the technology described in Patent Document 1, it is possible to generate documents from a system model. However, it is necessary to specify each class element for which documents are to be output, and when generating documents for multiple classes, the user's specification can take a long time.
[0062] Furthermore, since the information of all class elements is output to the document in the same format, it is not possible to output the information of each class element to the document in a different format, which may reduce the versatility of the document.
[0063] In contrast, according to the first embodiment, by referencing the system model information including metadata and filtering based on conditions, multiple elements can be specified at once, thereby reducing the work time required to generate a document.
[0064] Furthermore, according to embodiment 1, by referencing information about a system model including metadata and outputting information about elements to a document in a specified format, it is possible to output information about each element to a document in a different format, thereby increasing the versatility of the document.
[0065] Among these, documents can be generated efficiently by performing filtering that takes advantage of the tree structure of the system model, such as by referencing information on descendant elements.
[0066] Furthermore, according to the first embodiment, information on a plurality of elements is referenced before outputting the information to the document, making it possible to generate complex documents.
[0067] Furthermore, according to embodiment 1, by dividing the system into a part that processes information on multiple elements and a part that generates a document by referencing information on a single element, it becomes possible to generate complex documents by utilizing existing document generation functions that only have simple functions and expanding only the part that processes information on multiple elements.
[0068] Furthermore, according to the first embodiment, there is an advantage that system change information can be output to a document by referencing history information, which is metadata included in elements.
[0069] Second Embodiment As shown in FIG. 1 , a document generation device 200 according to a second embodiment includes a system model storage unit 101, an I / F unit 102, a document generation information addition unit 203, a document generation unit 104, and an output unit 105.
[0070] The system model storage unit 101, I / F unit 102, document generation unit 104, and output unit 105 of the document generation device 200 according to the second embodiment are similar to the system model storage unit 101, I / F unit 102, document generation unit 104, and output unit 105 of the document generation device 100 according to the first embodiment.
[0071] Document generation information addition unit 203 performs the same processing as in embodiment 1, and also performs the following processing: In embodiment 2, if the setting information received from I / F unit 102 contains an item related to the document output order of information on multiple elements, document generation information addition unit 203 converts such an item into setting information related to a single element.
[0072] For example, if the setting information is "output to a document in the order of [condition C]," and [condition C] is to be processed using information on multiple elements, the document generation information adding unit 203 determines that the setting information is "setting information regarding the document output order of information on multiple elements." Here, the information on multiple elements is the same as the information indicating multiple elements described above. In other words, if the information indicating multiple elements includes a character string indicating an order, the document generation information adding unit 203 determines that the setting information contains setting information regarding the document output order of information on multiple elements.
[0073] 4, the document generation information addition unit 203 includes a setting information analysis unit 103a and a setting information update unit 203b. The setting information analysis unit 103a of the document generation information addition unit 203 in the second embodiment is the same as the setting information analysis unit 103a of the document generation information addition unit 103 in the first embodiment.
[0074] The setting information update unit 203b in the second embodiment performs the same processing as in the first embodiment, and also performs the following processing: The setting information update unit 203b receives the analysis setting information from the setting information analysis unit 103a, reads out the system model from the system model storage unit 101, updates the system model by rearranging the elements of the system model in document output order, and generates updated setting information by deleting information related to the document output order from the analysis setting information.
[0075] FIG. 7 is a block diagram showing an example of input and output of the setting information update unit 203b.
[0076] If the analysis setting information SI#3 received from the setting information analysis unit 103a contains an item related to the document output order of information on multiple elements, the setting information update unit 203b updates the system model by rearranging the order of the elements in the system model according to the output order to the document, then deletes the item and adds new items that obtain information from each element to generate updated setting information SI#4, and provides the updated setting information SI#4 to the document generation unit 104.
[0077] For example, Figure 8 shows an example of an updated system model when the analysis setting information includes an item for the system model 106 shown in Figure 2 that states, "The sequence diagram below behavior element 106c, the class name information below structural element 106b, and the operation information below structural element 106b are output to the document in this order."
[0078] 8, in the updated system model, behavior element 207b including descendant elements, child elements 207c to 207e and grandchild elements 207f to 207i, which are information related to the sequence diagram of element 207b, are copied and arranged in order under root element 207a. Child elements 207k to 207m, which are elements related to the class name of structure element 207j, are also copied and arranged in order. Child elements 207o and 207p and grandchild elements 207q to 207s, which are elements related to the operation of structure element 207n, are also copied and arranged in order.
[0079] The element names of element 207f and element 207g are "A do" and "A' do", respectively, but when "A do" is in the same package, there is no rule such as adding a dash to the next element name, and these element names are shown as examples. Element names are determined by the system designer as names or titles, and from the standpoint of ease of recognition, identification, or readability, etc., efforts are made to avoid using the same element names as much as possible, but the same element names are not prohibited.
[0080] The document generation unit 104 searches the tree structure in order and generates information about the elements in the document, so that in the updated system model, the elements are arranged in the order in which they are to be output to the document. Note that the setting information update unit 203b may copy the same element multiple times to deal with cases in which the same information appears in multiple places, such as the structure element 207j and the structure element 207n.
[0081] As described above, when the format indicated by an item of the setting information indicates the output order of information about two or more elements included in the multiple elements that make up the system model, the setting information update unit 203b updates the system model so that the two or more elements are in that output order, and updates the setting information by deleting the item and adding two or more new items that read information about the two or more elements in sequence from the updated system model.
[0082] As described above, according to the second embodiment, the document output order of information relating to elements can be set by updating the system model so as to change the order of elements.
[0083] Furthermore, according to the second embodiment, by updating the system model so as to change the order of elements, the information output to the document can be understood by looking at the updated system model.
[0084] 100, 200 Document generation device; 101 System model storage unit; 102 I / F unit; 103, 203 Document generation information addition unit; 103a Setting information analysis unit; 103b, 203b Setting information update unit; 104 Document generation unit; 105 Output unit.
Claims
1. A document generation device comprising: an interface unit that acquires setting information having conditions indicating the target to be output to a document and items indicating the format in which the document will be output; and a document generation unit that searches for a system model including multiple elements and generates the document by outputting information about elements that satisfy the conditions in the format.
2. The document generation device according to claim 1, further comprising an update unit that updates the setting information and the system model so that processing can be performed using a single element when at least one of the conditions and the format indicates that processing should be performed using two or more elements included in the plurality of elements, and the document generation unit searches for the updated system model in accordance with the updated setting information to generate the document.
3. The document generation device of claim 2, characterized in that when the condition is determined using the two or more elements, the update unit identifies an element from the plurality of elements that satisfies the condition using the two or more elements, updates the system model by adding a predetermined attribute to the identified element, and updates the setting information by changing the condition to an element that has the predetermined attribute.
4. A document generation device as described in claim 2 or 3, characterized in that, when the format outputs information about the two or more elements, the update unit identifies an element from the plurality of elements that satisfies the condition, adds a predetermined attribute to the identified element, and updates the system model by including information about the two or more elements as information about the predetermined attribute, and updates the setting information by changing the format to output information about the predetermined attribute.
5. A document generation device as described in any one of claims 2 to 4, characterized in that, when the format indicates an output order of information regarding two or more elements included in the plurality of elements, the update unit updates the system model so that the two or more elements are in the output order, deletes the items, and updates the setting information by adding two or more new items that read information regarding the two or more elements in order from the updated system model.
6. A program that causes a computer to function as an interface unit that acquires setting information having conditions indicating the target to be output to a document and items indicating the format in which the document will be output, and a document generation unit that searches for a system model containing multiple elements and generates the document by outputting information about elements that satisfy the conditions in the format.
7. A document generation method comprising: acquiring setting information having conditions indicating the target to be output to a document and items indicating the format in which the document will be output; searching for a system model including multiple elements; and generating the document by outputting information about elements that satisfy the conditions in the format.