Advanced recipe generator

Through the template processing and application of advanced formula generators, the problem of poor user experience of ACE's advanced formulas is solved, efficient formula generation is achieved, and manual processing and license machine usage is reduced.

CN119167910APending Publication Date: 2024-12-20SHANGHAI HUALI INTEGRATED CIRCUIT CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411103628.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-08-12
Publication Date
2024-12-20

AI Technical Summary

Technical Problem

The user experience of existing ACE advanced formulas is poor. Ordinary users need to perform cumbersome preprocessing operations when making recipes, resulting in the work going from technology-intensive to labor-intensive, and it takes up a lot of license time.

Method used

Provides an advanced recipe generator. Through the combination of memory and processor, advanced users can template ACE advanced recipes and apply templates, generate template files and application algorithms, and ordinary users only need to provide the minimum input to automatically generate. Advanced recipes, reduce manual processing, and can generate recipes independently without using ACE software.

Benefits of technology

It improves the user experience, reduces the cumbersomeness of manual processing, saves the duration of the license machine, can independently generate formulas, and improves efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119167910A_ABST
    Figure CN119167910A_ABST
Patent Text Reader

Abstract

The invention provides an advanced formula generator which comprises a memory and a processor, the memory comprises a database, a file system and a storage operation interface, and the database is used for storing templates and template application algorithms; the file system is used for storing template files; the storage operation interface comprises a viewing interface and a maintenance interface; the processor comprises a processing operation interface and a core component, the processing operation interface receives information input by a user and transmits the information to the core component, the core component downloads a template selected by the user from the file system to the local to serve as a local template, and then a template application process is called to modify the local template; the method comprises the following steps: modifying a local template, renaming the modified local template according to a certain naming rule to generate a high-level formula, transmitting a storage path of the high-level formula to a processing operation interface, and finally, feeding back the storage path of the high-level formula to a user by the processing operation interface. According to the invention, the problem of poor user experience of an existing ACE advanced formula is solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of semiconductor technology, and in particular to an advanced recipe generator. Background Art

[0002] ACE is an advanced yield data analysis system that helps fabs acquire, retain and share yield improvement experience and take corrective measures as early as possible, thereby accelerating yield improvement and product launch. The Klarity system uses intuitive modular decision flow analysis, and users create customized analysis recipes by connecting configured modules.

[0003] Compared with advanced users, ordinary users, who can only master a few simple modules, need more preprocessing operations to create ACE recipes for the same task, that is, more modules to configure. Advanced users, on the other hand, need fewer preprocessing operations to create ACE recipes, that is, fewer modules to configure. For example, when faced with the task of drawing a control chart, ordinary users create recipes such as Figure 1 As shown in the figure, although the structure is simple and easy to master, if you need to add N products, you need to add N sets of four modules; if N products need to add a control chart, you need to modify N sets of modules. Although the formula created by advanced users has a more complex structure, when you need to add N products or add a control chart for N products, you only need to modify a few modules.

[0004] Therefore, the industry usually tries to avoid adopting unrealistic methods that attempt to train all ordinary users into advanced users. Instead, advanced users create ACE recipes, and ordinary users only need to learn the preprocessing configuration method of the recipe, without having to learn the principles of recipe creation, to enjoy the experience of using ACE advanced recipes. Despite this, the preprocessing process of ACE advanced recipes still inevitably requires cumbersome operations. For example, although a module contains the information required to configure all other modules, users are still required to manually process other modules based on the module information; for example, some modules can only be configured after the previous modules have been run. The above method will cause the work to change from technology-intensive to labor-intensive, seriously reducing the user experience of ACE advanced recipes. In addition, the above configuration must be completed within ACE, which takes up a lot of license time. Summary of the invention

[0005] In view of the above-mentioned shortcomings of the prior art, an object of the present invention is to provide an advanced recipe generator to solve the problem of poor user experience of the existing ACE advanced recipes.

[0006] To achieve the above objectives and other related objectives, the present invention provides an advanced recipe generator, the recipe generator comprising: a memory and a processor,

[0007] The memory includes a database, a file system and a storage operation interface.

[0008] The database is used to store templates and template application algorithms;

[0009] The file system is used to store template files, which are files obtained by template processing of ACE advanced recipes, and the template-processed ACE advanced recipe is a template, wherein the ACE advanced recipe includes a dynamic part and a static part, and the dynamic part includes multiple components;

[0010] The storage operation interface includes a viewing interface and a maintenance interface. Advanced users can query the template of the database and download the template file from the file system to the local computer in the viewing interface. Advanced users can update the template of the database and upload the template file to the file system in the maintenance interface.

[0011] The processor includes a processing operation interface and a core component. The processing operation interface receives user input information and passes it to the core component. The core component downloads the template selected by the user from the file system to the local as a local template, then calls the template application process to modify the local template, and renames the modified local template according to a certain naming rule to generate an advanced recipe, and then passes the storage path of the advanced recipe to the processing operation interface. Finally, the processing operation interface feeds back the storage path of the advanced recipe to the user;

[0012] The user input information includes: table information, non-table information and a template that the user needs to use.

[0013] Optionally, the template processing process includes: analyzing the ACE advanced recipe to divide the static part and the dynamic part; analyzing the dynamic part to select a suitable method to perform template processing on each component; and storing the processed advanced recipe as a template file.

[0014] Optionally, the template processing methods include: changing to a placeholder, clearing the content, or retaining the baseline.

[0015] Optionally, the template application process is a process of using the template application algorithm corresponding to the template to inject user input information into the template.

[0016] Optionally, the process of converting the template application algorithm into a form that can be recognized and applied by the generator and storing it in the database is the representation process of the template application algorithm.

[0017] Optionally, the expression process of the template application algorithm includes:

[0018] During the process of template processing of the ACE advanced recipe, the advanced user selects the template processing method for each component of the dynamic part, determines the corresponding template application algorithm, and summarizes the template application algorithm of each component into a table, wherein the table includes the template name, component name, algorithm name and algorithm parameter list.

[0019] Optionally, the algorithm name includes: replace attribute value, replace placeholder, add child node, replace table content and copy experiment group.

[0020] Optionally, the relationship between each template application algorithm and the template processing method includes: replacing attribute values ​​and replacing placeholders use a change placeholder processing method; adding child nodes and replacing table content use a clear content processing method; copying the experimental group uses a retain baseline processing method.

[0021] Optionally, the input parameters required for each template application algorithm include: for the replacement attribute value, the input parameters are the attribute name to be processed, the replaced placeholder and the replacement value; for the newly added child node, the input parameter is a set of the name of the child node to be added and the value of the child node to be added; for the replacement placeholder, the input parameter is a set of the replaced placeholder and the replacement value; for the copied experimental group, the input parameter is a set of experimental group names.

[0022] Optionally, the algorithm parameter list syntax is:

[0023] Each parameter of the template application algorithm is separated by "}";

[0024] In each of the template application algorithms, the parameter name and the parameter value expression are separated by "{";

[0025] In each parameter value expression, the method of obtaining values ​​from user input information and the expression are separated by "|".

[0026] Optionally, the method of obtaining a value from the user input information includes: through a constant, through a query, or through user specification.

[0027] Optionally, the correspondence between the method of obtaining a value from the user input information and the expression includes:

[0028] When taking a value through a constant, the expression corresponding to the constant is a fixed value;

[0029] When obtaining values ​​through query, the expression corresponding to the query is an SQL statement;

[0030] When obtaining a value in a user-specified manner, the corresponding expression specified by the user is the parameter name of the non-table information entered by the user.

[0031] Optionally, the process of the user performing read / write operations on the template file and the template application algorithm in the memory is the template information maintenance process.

[0032] Optionally, the template information maintenance process includes a new template creation process, a template update process and a template viewing process.

[0033] As described above, the advanced recipe generator of the present invention, after the advanced user has processed the advanced recipe into a template and applied the algorithm, and imported the template file and the applied algorithm information into the memory, the ordinary user only needs to provide minimal input, and the processor can automatically generate the advanced recipe without tedious manual processing. At the same time, the generator can generate recipes independently without using ACE software, saving license machine time, and can use more machine time to run recipes. BRIEF DESCRIPTION OF THE DRAWINGS

[0034] Figure 1 Shows recipe diagrams made for existing common users.

[0035] Figure 2 Shown is a schematic diagram of the generator structure of the present invention. DETAILED DESCRIPTION

[0036] The following describes the embodiments of the present invention through specific examples, and those skilled in the art can easily understand other advantages and effects of the present invention from the contents disclosed in this specification. The present invention can also be implemented or applied through other different specific embodiments, and the details in this specification can also be modified or changed in various ways based on different viewpoints and applications without departing from the spirit of the present invention.

[0037] See also Figure 1 to Figure 2 It should be noted that the illustrations provided in this embodiment are only schematic illustrations of the basic concept of the present invention. Although the illustrations only show components related to the present invention and are not drawn according to the number, shape and size of components in actual implementation, the form, quantity and proportion of each component in actual implementation may be changed arbitrarily, and the component layout may also be more complicated.

[0038] like Figure 2 As shown, this embodiment provides an advanced recipe generator, the recipe generator comprising: a memory and a processor,

[0039] The memory includes a database, a file system and a storage operation interface.

[0040] The database is used to store templates and template application algorithms;

[0041] The file system is used to store template files, which are files obtained by template processing of ACE advanced recipes, and the template-processed ACE advanced recipe is a template, wherein the ACE advanced recipe includes a dynamic part and a static part, and the dynamic part includes multiple components;

[0042] The storage operation interface includes a viewing interface and a maintenance interface. Advanced users can query the template of the database and download the template file from the file system to the local computer in the viewing interface. Advanced users can update the template of the database and upload the template file to the file system in the maintenance interface.

[0043] The processor includes a processing operation interface and a core component. The processing operation interface receives user input information and passes it to the core component. The core component downloads the template selected by the user from the file system to the local as a local template, then calls the template application process to modify the local template, and renames the modified local template according to a certain naming rule to generate an advanced recipe, and then passes the storage path of the advanced recipe to the processing operation interface. Finally, the processing operation interface feeds back the storage path of the advanced recipe to the user;

[0044] The user input information includes: table information, non-table information and a template that the user needs to use.

[0045] In this embodiment, non-table information should be processed into a set form, and each element in the set represents a parameter, with the parameter name as the index, and each parameter is also in the form of a set, and each element in the set represents a value of the parameter. Moreover, in this embodiment, the memory is a C / S structure, the database and the file system are located on the server side, and the storage operation interface is located on the client side. In this embodiment, the table structure of the database is as follows:

[0046] Key Name Is it a primary key? TemplateName yes ComponentName yes AlgoName yes ArgList no

[0047] The ACE recipes made by the advanced users have fewer pre-processing operations, and when configuring, they only need to configure fewer modules. Ordinary users are users who only need to learn the pre-processing method of the recipes but do not need to learn the principles of making recipes.

[0048] Specifically, the template processing process includes: analyzing the ACE advanced recipe to divide the static part and the dynamic part; analyzing the dynamic part to select a suitable method to perform template processing on each component; and storing the processed advanced recipe as a template file.

[0049] In this embodiment, the static part refers to the part of the recipe that does not change with the user input. The dynamic part refers to the part of the recipe that should change with the user input, which includes multiple components, each of which has a unique name and path. Specifically, the template processing method includes: changing to a placeholder, clearing the content, or retaining the baseline.

[0050] In this embodiment, the component content is changed to a placeholder that can describe its characteristics (for example, the component content is a series of product names, which can be replaced by Product*, where Product* is a placeholder). This method is Change ToPlaceholder. The non-baseline content of the component is deleted, and only the baseline content is retained (for example, the component content consists of three parts: baseline group, experimental group 1, and experimental group 2. The relevant content of experimental group 1 and experimental group 2 needs to be deleted, and only the relevant content of the baseline group needs to be retained). This method is RetainBaseline. The content of the component is cleared. This method is ClearContent.

[0051] Specifically, the template application process is a process of using the template application algorithm corresponding to the template to inject the user input information into the template.

[0052] In this embodiment, the template application process is specifically as follows:

[0053] Query the server database for the record where TemplateName = the template name selected by the user;

[0054] Traverse each record;

[0055] Retrieve the location of the component in the template based on the current record's ComponentName;

[0056] According to the currently recorded ArgList, parse the table type information and non-table type information provided by the user, and store the result in a collection form as the parameter list actually used by the algorithm, recorded as c;

[0057] Take c as input, execute the algorithm corresponding to the AlgoName of the current record, and modify the retrieved component;

[0058] End the traversal.

[0059] ArgList parsing process——

[0060] The non-tabular information provided by the user is recorded as a collection of UserDefinedVariables;

[0061] Decompose ArgList with the "}" separator to get the array tmp1, whose elements are the parameters of the algorithm;

[0062] Traverse each element of array tmp1;

[0063] Decompose the current element of tmp1 with "{" as the separator to get the array tmp2;

[0064] The first element of array tmp2 is the algorithm parameter name, recorded as key;

[0065] Decompose the second element of tmp2 using "|" as the separator to get array tmp3;

[0066] If the first element of array tmp3 is "Constant";

[0067] Add an element to set c1, with the value being the second element of tmp3;

[0068] Otherwise if the first element of array tmp3 is "ByUser";

[0069] Retrieve an element from the UserDefinedVariables collection, with index = the second element of tmp3;

[0070] Let set c1 = retrieved elements;

[0071] Otherwise if the first element of array tmp3 is "BySql";

[0072] The SQL statement represented by the second element of tmp3 queries records from the table class information provided by the user;

[0073] Traverse the query results;

[0074] Add an element to the collection c1, with the value being the current record;

[0075] End traversal;

[0076] Finish;

[0077] Add an element to set c, with the value of set c1 and the index of key (the first element of array tmp2, the algorithm parameter name);

[0078] End the traversal.

[0079] The set c is the parameter list actually used by the algorithm.

[0080] Specifically, the process of converting the template application algorithm into a form that can be recognized and applied by the generator and storing it in the database is the representation process of the template application algorithm.

[0081] Specifically, the representation process of the template application algorithm includes:

[0082] During the process of template processing of the ACE advanced recipe, the advanced user selects the template processing method for each component of the dynamic part, determines the corresponding template application algorithm, and summarizes the template application algorithm of each component into a table, wherein the table includes the template name, component name, algorithm name and algorithm parameter list.

[0083] In this embodiment, the template name is the full name of the template, including the storage path and file name. The component name is the full name of the component, including the path and component name of the component in the template. The algorithm parameter list is a list of input parameters required to execute the algorithm.

[0084] Specifically, the algorithm names include: Replace Attribute Value, Replace Placeholder, Add New Children, Replace Table Content, and Copy Split Group.

[0085] In this embodiment, replace attribute value (ReplaceAttributeValue) is to replace the attribute value of the component with the specified value in the user input information, which corresponds to the ChangeToPlaceholder (change to placeholder) template processing method; add child node (AddNewChildren) is to add a series of sub-components to the component according to the specified value of the user input information, which corresponds to the ClearContent (clear content) template processing method; replace placeholder (ReplacePlaceholder) is to replace the placeholder in the component with the specified value in the user input information, which corresponds to the ChangeToPlaceholder (change to placeholder) template processing method; replace table content (ReplaceTableContent) is to replace the table content in the component with the table content in the user input information, which corresponds to the ClearContent (clear content) template processing method; according to the experimental group name specified in the user input information, copy the experimental group (CopySplitGroup) is to establish a new experimental group component based on the baseline component, which usually corresponds to the RetainBaseline (retain baseline) template processing method.

[0086] Moreover, in this embodiment, the execution of the ReplacePlaceholder algorithm is:

[0087] Retrieve an element from collection c, if index = "ReplaceString";

[0088] Let set r = retrieved elements;

[0089] Use the newline character as the separator to concatenate the elements of the set r, denoted as replace_string;

[0090] Retrieve an element from collection c, with index = "FindString";

[0091] Let set f = retrieved elements;

[0092] Let the first element in set f be called find_string;

[0093] Replace find_string in the text of the part to be processed with replace_string.

[0094] Execution of the ReplaceAttributeValue algorithm

[0095] Retrieve an element from collection c, if index = "ReplaceString";

[0096] Let set r = retrieved elements;

[0097] Record the first element in set r as replace_string;

[0098] Retrieve an element from collection c, with index = "FindString";

[0099] Let set f = retrieved elements;

[0100] Let the first element in set f be called find_string;

[0101] Retrieve an element from collection c, if index = "AttributeName";

[0102] Let set a = retrieved elements;

[0103] Record the first element in set a as attribute_name;

[0104] Replace find_string in the attribute of the component to be processed whose name is attribute_name with replace_string.

[0105] Execution of the AddNewChildren algorithm

[0106] Retrieve an element from collection c, with index = "ChildElementName";

[0107] Let set n = retrieved elements;

[0108] Let the first element in set n be named name;

[0109] Retrieve an element from collection c, if index = "ChildText";

[0110] Let set t = retrieved elements;

[0111] Traverse each element in the set t;

[0112] name creates a new component with the name;

[0113] Let the value of the component = the value of the current element in the set t;

[0114] Add the component as a subcomponent to the component to be processed;

[0115] End the traversal.

[0116] Execution of the opySplitGroup (replicate experimental group) algorithm——

[0117] Retrieve elements from collection c, if index = "SplitGroup";

[0118] Let set s = retrieved elements;

[0119] Traverse each element in the set s;

[0120] Duplicate a baseline group component in the component to be processed;

[0121] Replace the content related to the baseline group name with the value of the current element;

[0122] End the traversal.

[0123] Execution of the ReplaceTableContent algorithm

[0124] Directly replace the table content in the component to be processed with the table content in the user input information.

[0125] Specifically, the relationship between each template application algorithm and the template processing method includes: replacing attribute values ​​and replacing placeholders uses the change to placeholder processing method; adding child nodes and replacing table content uses the clear content processing method; copying the experimental group uses the retain baseline processing method.

[0126] Specifically, the input parameters required for each template application algorithm include: for the replacement attribute value (ReplaceAttributeValue), the input parameters are the attribute name to be processed (AttributeName), the placeholder to be replaced (FindString) and the replacement value (ReplaceString); for the new child node (AddNewChildren), the input parameters are the name of the child node to be added (ChildElementName) and the set of values ​​of the child node to be added (ChildText); for the replacement placeholder (ReplacePlaceholder), the input parameters are the placeholder to be replaced (FindString) and the set of replacement values ​​(ReplaceString); for the copy experiment group (CopySplitGroup), the input parameter is the set of experiment group names (SplitGroup).

[0127] In this embodiment, replacing the table content (ReplaceTableContent) does not require an algorithm parameter list, and directly replaces the table content in the component with the table content in the user input information.

[0128] Specifically, the algorithm parameter list syntax is:

[0129] Each parameter of the template application algorithm is separated by "}";

[0130] In each of the template application algorithms, the parameter name and the parameter value expression are separated by "{";

[0131] In each parameter value expression, the method of obtaining values ​​from user input information and the expression are separated by "|".

[0132] Specifically, the methods of obtaining values ​​from user input information include: through constants (Constant), through queries (BySql), or through user specification (ByUser).

[0133] Specifically, the corresponding relationship between the method of obtaining values ​​from user input information and the expression includes:

[0134] When taking a value through a constant, the expression corresponding to the constant is a fixed value;

[0135] When obtaining values ​​through query, the expression corresponding to the query is an SQL statement;

[0136] When obtaining a value in a user-specified manner, the corresponding expression specified by the user is the parameter name of the non-table information entered by the user.

[0137] In this embodiment, the expression corresponding to Constant is a fixed value, for example, it is used to define ChildElementName (the name of the child node to be added) in the AddNewChildren (add child node) algorithm, or to define AttributeName (the attribute name to be processed) in the ReplaceAttributeValue (replace attribute value) algorithm, or to define FindString (the replaced placeholder) in the ReplaceAttributeValue (replace attribute value) and ReplacePlaceholder (replace placeholder) algorithms; the expression corresponding to BySql (query) is an SQL statement, for example, it is used to define an SQL statement to query ChildText (a set of values ​​of the child nodes to be added) of AddNewChildren (add child node), or to define a query. The SQL statement for ReplaceString (a collection of replacement values) of ReplacePlaceholder is used to query, or the SQL statement for SplitGroup (a collection of experimental group names) of CopySplitGroup is defined to query; the expression corresponding to ByUser (user specified) is the parameter name of the non-tabular type input by the user, and all corresponding parameter values ​​can be retrieved from the parameter set of the non-tabular type input by the user according to the parameter name, for example, it is used to define the parameter name of ReplaceString (a replacement value) of ReplaceAttributeValue (a replacement attribute value) in the non-tabular parameter set input by the user, and to define the parameter name of ChildText (a collection of values ​​of the child nodes to be added) of AddNewChildren (a new child node) in the non-tabular parameter set input by the user.

[0138] Specifically, the process in which the user performs read / write operations on the template file and the template application algorithm in the memory is the template information maintenance process.

[0139] More specifically, the template information maintenance process includes a new template creation process, a template update process, and a template viewing process.

[0140] In this embodiment, for the process of creating a new template, the advanced user selects the template file in the maintenance interface and can upload it to the server file system. The advanced user makes the result of the algorithm representation process into a table, where each row represents the template application algorithm information of a component, and then imports the table into the database in the maintenance interface. For the process of updating a template, the advanced user first downloads the template file to be updated from the viewing interface to the local computer; then modifies the file; finally, selects the template file in the maintenance interface and transfers the new version of the template file to the server file system. The advanced user first queries the information of the template to be updated in the viewing interface; then modifies the table; finally, imports the new version into the database in the maintenance interface. For the process of viewing a template, the advanced user downloads the template file to be updated from the viewing interface to the local computer. The advanced user queries the information of the template to be updated in the viewing interface.

[0141] In summary, the advanced recipe generator of the present invention, after the advanced user has processed the advanced recipe into a template and applied the algorithm, and after the template file and the applied algorithm information are imported into the memory, the ordinary user only needs to provide minimal input, and the processor can automatically generate the advanced recipe without tedious manual processing. At the same time, the generator can generate recipes independently without using ACE software, saving license machine time, and more machine time can be used to run recipes. Therefore, the present invention effectively overcomes various shortcomings in the prior art and has a high industrial utilization value.

[0142] The above embodiments are merely illustrative of the principles and effects of the present invention, and are not intended to limit the present invention. Anyone familiar with the art may modify or alter the above embodiments without departing from the spirit and scope of the present invention. Therefore, all equivalent modifications or alterations made by a person of ordinary skill in the art without departing from the spirit and technical concept disclosed by the present invention shall still be covered by the claims of the present invention.

Claims

1. An advanced recipe generator, characterized in that: The recipe generator comprises: a memory and a processor, The memory includes a database, a file system and a storage operation interface. The database is used to store templates and template application algorithms; The file system is used to store template files, which are files obtained by template processing of ACE advanced recipes, and the template-processed ACE advanced recipe is a template, wherein the ACE advanced recipe includes a dynamic part and a static part, and the dynamic part includes multiple components; The storage operation interface includes a viewing interface and a maintenance interface. Advanced users can query the template of the database and download the template file from the file system to the local computer in the viewing interface. Advanced users can update the template of the database and upload the template file to the file system in the maintenance interface. The processor includes a processing operation interface and a core component. The processing operation interface receives user input information and passes it to the core component. The core component downloads the template selected by the user from the file system to the local as a local template, then calls the template application process to modify the local template, and renames the modified local template according to a certain naming rule to generate an advanced recipe, and then passes the storage path of the advanced recipe to the processing operation interface. Finally, the processing operation interface feeds back the storage path of the advanced recipe to the user; The user input information includes: table information, non-table information and a template that the user needs to use.

2. The advanced recipe generator according to claim 1, characterized in that: The template processing process includes: analyzing the ACE advanced recipe to divide the static part and the dynamic part; analyzing the dynamic part to select a suitable method to perform template processing on each component; and storing the processed advanced recipe as a template file.

3. The advanced recipe generator according to claim 1 or 2, characterized in that: Template processing methods include: changing to placeholder, clearing content, or keeping baseline.

4. The advanced recipe generator according to claim 3, characterized in that: The template application process is a process of using the template application algorithm corresponding to the template to inject user input information into the template.

5. The advanced recipe generator according to claim 4, characterized in that: The process of converting the template application algorithm into a form that can be recognized and applied by the generator and storing it in the database is the representation process of the template application algorithm.

6. The advanced recipe generator according to claim 5, characterized in that: The representation process of the template application algorithm includes: in the process of template processing of the ACE advanced recipe, the advanced user determines the corresponding template application algorithm while selecting the template processing method of each component of the dynamic part, and summarizes the template application algorithm of each component into a table, wherein the table includes the template name, component name, algorithm name and algorithm parameter list.

7. The advanced recipe generator according to claim 6, characterized in that: The algorithm names include: replace attribute value, replace placeholder, add child node, replace table content and copy experimental group.

8. The advanced recipe generator according to claim 7, characterized in that: The relationship between each of the template application algorithms and template processing methods includes: replacing attribute values ​​and replacing placeholders uses the change to placeholder processing method; adding child nodes and replacing table content uses the clear content processing method; copying the experimental group uses the retain baseline processing method.

9. The advanced recipe generator according to claim 8, characterized in that: The input parameters required for each template application algorithm include: for the replacement attribute value, the input parameters are the attribute name to be processed, the replaced placeholder and the replacement value; for the newly added child node, the input parameter is a set of the name of the child node to be added and the value of the child node to be added; for the replacement placeholder, the input parameter is a set of the replaced placeholder and the replacement value; for the copied experimental group, the input parameter is a set of experimental group names.

10. The advanced recipe generator according to claim 9, characterized in that: The algorithm parameter list syntax is: Each parameter of the template application algorithm is separated by "}"; In each of the template application algorithms, the parameter name and the parameter value expression are separated by "{"; In each parameter value expression, the method of obtaining values ​​from user input information and the expression are separated by "|".

11. The advanced recipe generator according to claim 10, characterized in that: Ways to obtain values ​​from user input information include: through constants, through queries, or through user specifications.

12. The advanced recipe generator according to claim 11, characterized in that: The corresponding relationship between the way to obtain values ​​from user input information and the expression includes: When taking a value through a constant, the expression corresponding to the constant is a fixed value; When obtaining values ​​through query, the expression corresponding to the query is an SQL statement; When obtaining a value in a user-specified manner, the corresponding expression specified by the user is the parameter name of the non-table information entered by the user.

13. The advanced recipe generator according to claim 1, characterized in that: The process of the user performing read / write operations on the template file and the template application algorithm in the memory is the template information maintenance process.

14. The advanced recipe generator according to claim 13, characterized in that: The template information maintenance process includes a new template creation process, a template update process and a template viewing process.