Automatic program synthisizer
First Claim
1. An automatic program synthesizer, comprising:
- program rule memory means for storing a program synthesis rule;
program synthesis goal generating means for generating a program synthesis goal suitable for system specifications of a target system by using the program synthesis rule;
program generating means for generating a retrieval condition on the basis of the program synthesis goal, the retrieval condition being a condition for retrieving variables having the same attribute;
variable attribute memory means for storing a variable name and the variable attribute;
interpolation program synthesis rule memory means for storing an interpolation program synthesis rule for generating an interpolation program; and
variable attribute managing means for receiving the retrieval condition from said program generating means and, upon reception of the retrieval condition, for controlling said variable attribute memory means to retrieve a variable name having an attribute coinciding with that of the retrieval condition from said variable attribute memory means and sending a retrieved variable name to said program generating means, said program generating means generating a partial program by using the retrieved variable name, said variable attribute managing means controlling said interpolation program synthesis rule memory means to generate an interpolation program synthesis goal for changing an attribute by using a variable having some different attributes in accordance with the interpolation program synthesis rule stored in said interpolation program synthesis rule memory means and sending the interpolation program synthesis goal to said program generating means when the variable name having the attribute coinciding with that of the retrieval condition cannot be retrieved from said variable attribute memory means, and said program generating means generating the interpolation program by using the interpolation program synthesis goal.
2 Assignments
0 Petitions
Accused Products
Abstract
An automatic program synthesizer is disclosed. The synthesizer comprises program rule memory for storing a program synthesis rule, program synthesis goal generator for generating a program synthesis goal suitable for system specifications of a target system by using the program synthesis rule, program generator for generating a retrieval condition on the basis of the program synthesis goal, the retrieval condition being a condition for retrieving variables having the same attribute, variable attribute memory for storing a variable name and the variable attribute, interpolation program synthesis rule memory for storing an interpolation program synthesis rule for generating an interpolation program, and variable attribute manager for receiving the retrieval condition from the program generator and for controlling the variable attribute memory to retrieve a variable name and sending a retrieved variable name to the program generator upon reception of the retrieval condition, the program generator generating a partial program by using the retrived variable name, the variable attribute manager controlling the interpolation program synthesis rule memory to generate an interpolation program synthesis goal for changing an attribute by using a variable having some different attributes in accordance with the interpolation program synthesis rule stored in the interpolation program synthesis rule memory and sending the interpolation program synthesis goal to the program generator, and the program generator generating the interpolation program by using the interpolation program synthesis goal.
-
Citations
6 Claims
-
1. An automatic program synthesizer, comprising:
-
program rule memory means for storing a program synthesis rule; program synthesis goal generating means for generating a program synthesis goal suitable for system specifications of a target system by using the program synthesis rule; program generating means for generating a retrieval condition on the basis of the program synthesis goal, the retrieval condition being a condition for retrieving variables having the same attribute; variable attribute memory means for storing a variable name and the variable attribute; interpolation program synthesis rule memory means for storing an interpolation program synthesis rule for generating an interpolation program; and variable attribute managing means for receiving the retrieval condition from said program generating means and, upon reception of the retrieval condition, for controlling said variable attribute memory means to retrieve a variable name having an attribute coinciding with that of the retrieval condition from said variable attribute memory means and sending a retrieved variable name to said program generating means, said program generating means generating a partial program by using the retrieved variable name, said variable attribute managing means controlling said interpolation program synthesis rule memory means to generate an interpolation program synthesis goal for changing an attribute by using a variable having some different attributes in accordance with the interpolation program synthesis rule stored in said interpolation program synthesis rule memory means and sending the interpolation program synthesis goal to said program generating means when the variable name having the attribute coinciding with that of the retrieval condition cannot be retrieved from said variable attribute memory means, and said program generating means generating the interpolation program by using the interpolation program synthesis goal.
-
-
2. An automatic program synthesizer, comprising:
-
program rule memory means for storing a program synthesis rule; program synthesis goal generating means for generating a program synthesis goal suitable for system specifications of a target system by using the program synthesis rule; program generating means for generating a definition/retrieval condition of a variable attribute on the basis of the program synthesis goal, the definition/retrieval condition being a definition condition for defining an attribute of a variable (including a constant) or a retrieval condition for retrieving variables having the same attribute; variable name generating means for generating a variable name; variable attribute memory means for storing the variable name and the variable attribute; interpolation program synthesis rule memory means for storing an interpolation program synthesis rule for generating an interpolation program; and variable attribute managing means for receiving the definition/retrieval condition of the variable attribute from said program generating means for controlling said variable name generating means to generate a variable name coinciding with that of the definition condition and store the variable name coinciding with that of the definition condition and an attribute given as the definition condition in said variable attribute memory means when the definition/retrieval condition of the variable attribute is the definition condition, and for controlling said variable attribute memory means to retrieve a variable name having an attribute coinciding with that of the retrieval condition from said variable attribute memory means and sending a retrieved variable name to said program generating means when the definition/retrieval condition of the variable attribute is the retrieval condition, said program generating means generating a partial program by using the retrieved variable name, said variable attribute managing means controlling said interpolation program synthesis rule memory means to generate an interpolation program synthesis goal for changing an attribute by using a variable having some different attributes in accordance with the interpolation program synthesis rule stored in said interpolation program synthesis rule memory means and sending the interpolation program synthesis goal to said program generating means when the definition/retrieval condition of the variable attribute is the retrieval condition and the variable name having the attribute coinciding with that of the retrieval condition cannot be retrieved, and said program generating means generating the interpolation program by using the interpolation program synthesis goal. - View Dependent Claims (3, 4, 5, 6)
-
Specification