Patent US5084813A successfully refreshed from Google Patents.
US5084813A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Rule based system for synthesizing a program suited for a target system in response to an input target system specification
Assignee: Toshiba Mitsubishi Electric Industrial Systems Corp
•
Filing: 1989-04-19
•
Granted: 1992-01-28
•
Expires: 2009-04-19
Abstract
Abstract An automatic program synthesizer receives a system specification and searches software parts suited to the specification. In order to obtain a function satisfying the system specification, the searched software parts are corrected or converted in accordance with a knowledge base for customizing a programming form stored therein.
Inventors
- 👤 Yasuko Ono
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-10-25 06:22
CPC Classifications
G; G06; G06F; G06F8/00; G06F8/30; Y; Y10; Y10S; Y10S706/00; Y10S706/902; Y10S706/919; Y10S706/922
Claims Analysis
Total Claims: 16
Claim 1
Independent Claim
305 words
An automatic program synthesizer for synthesizing a program suited for a target system in response to input of a system specification of the target system to be controlled by the program, comprising: a software part retrieval rule memory portion including a memory section for storing program synthesis rules which are divided into hierarchial groups for reducing the target system specification into simplified functions, and software part retrieval rules for searching for software parts which satisfy the simplified functions; a software part memory portion for storing said software parts, including a program pattern defining a prototype program for customization to satisfy a given simplified function, a program pattern customizing knowledge base for customizing or changing the program pattern so that the program pattern satisfies the system specification, and a memory section for storing a knowledge base for defining an attribute of a variable in the program pattern; software part retrieval means for obtaining the program synthesis rule from the system specification, and for searching for the software part, having a function requested by the software part retrieval rule, from the obtained program synthesis rule; variable manager section including a variable name generating section for generating a name of a variable or constant used in the program in accordance with an attribute thereof, and a variable attribute memory section for storing a variable name and an attribute of the variable or constant; and software part customizing means for defining an attribute of the variable according to a variable attribute definition in the software part searched for by said software part retrieval means, supplying the defined variable attribute to said variable manager section to obtain the variable name, and customizing or changing the program pattern in the software part in accordance with the obtained variable name and the knowledge base for customizing the program in the software part.
Claim 2
Dependent Claim
305 words
An automatic program synthesizer for synthesizing a program suited for a target system in response to input of a system specification of the target system to be controlled by the program, comprising: a software part retrieval rule memory portion including a memory section for storing program synthesis rules which are divided into hierarchial groups for reducing the target system specification into simplified functions, and software part retrieval rules for searching for software parts which satisfy the simplified functions; a software part memory portion for storing said software parts, including a program pattern defining a prototype program for customization to satisfy a given simplified function, a program pattern customizing knowledge base for customizing or changing the program pattern so that the program pattern satisfies the system specification, and a memory section for storing a knowledge base for defining an attribute of a variable in the program pattern; software part retrieval means for obtaining the program synthesis rule from the system specification, and for searching for the software part, having a function requested by the software part retrieval rule, from the obtained program synthesis rule; variable manager section including a variable name generating section for generating a name of a variable or constant used in the program in accordance with an attribute thereof, and a variable attribute memory section for storing a variable name and an attribute of the variable or constant; and software part customizing means for defining an attribute of the variable according to a variable attribute definition in the software part searched for by said software part retrieval means, supplying the defined variable attribute to said variable manager section to obtain the variable name, and customizing or changing the program pattern in the software part in accordance with the obtained variable name and the knowledge base for customizing the program in the software part.
Claim 3
Independent Claim
250 words
A method of automatically synthesizing a program suited for a target system in response to input of a system specification of the target system to be controlled by the program, comprising the steps of: obtaining a software part including a program pattern for realizing a function requested by the system specification of said target system, a program pattern customizing knowledge base for customizing or changing the program pattern so that the program pattern satisfies the system specification, and a knowledge base for defining an attribute of a variable in the program pattern; obtaining a software part retrieval rule including program synthesis rules which are dividing into hierarchial groups for reducing the target system specification into simplified functions, and software part retrieval rules for searching for software parts which satisfy the simplified functions; obtaining the program synthesis rule from the system specification; and searching for a software part, having a function requested by the software part retrieval rule, from the obtained program synthesis rule; generating a name of a variable or constant used in the program in accordance with an attribute thereof, and storing the variable name and the attribute of the variable or constant; and defining an attribute of the variable according to a variable attribute definition in the searched software part, obtaining the variable name from the defined variable attribute, and customizing or changing the program pattern of the software part in accordance with the obtained variable name and the program pattern customizing knowledge base in the software part.
Claim 4
Independent Claim
250 words
A method of automatically synthesizing a program suited for a target system in response to input of a system specification of the target system to be controlled by the program, comprising the steps of: obtaining a software part including a program pattern for realizing a function requested by the system specification of said target system, a program pattern customizing knowledge base for customizing or changing the program pattern so that the program pattern satisfies the system specification, and a knowledge base for defining an attribute of a variable in the program pattern; obtaining a software part retrieval rule including program synthesis rules which are dividing into hierarchial groups for reducing the target system specification into simplified functions, and software part retrieval rules for searching for software parts which satisfy the simplified functions; obtaining the program synthesis rule from the system specification; and searching for a software part, having a function requested by the software part retrieval rule, from the obtained program synthesis rule; generating a name of a variable or constant used in the program in accordance with an attribute thereof, and storing the variable name and the attribute of the variable or constant; and defining an attribute of the variable according to a variable attribute definition in the searched software part, obtaining the variable name from the defined variable attribute, and customizing or changing the program pattern of the software part in accordance with the obtained variable name and the program pattern customizing knowledge base in the software part.
Claim 5
Dependent Claim
249 words
An automatic program synthesizer for synthesizing a program suited for a target system in response to input of a system specification of the target system to be controlled by the program, comprising: program synthesis rule memory means for storing software synthesis rules which are divided into hierarchial groups for reducing the target system specification into simplified functions; software part retrieval rule memory means for storing software part retrieval rules which is used for searching for software parts which satisfy the simplified functions; program pattern memory means for storing a program pattern for customization to satisfy a given simplified function, the program pattern including a variable having a predetermined attribute; memory means for storing a program pattern customizing knowledge base for customizing or changing the program pattern so that the program pattern satisfies the system specification; memory means for storing a variable attribute definition in the program pattern; software part retrieval means for obtaining the program synthesis rule from the system specification, and for searching for a software part, having a function requested by the software part retrieval rule, from the obtained program synthesis rule; and program customizing means for defining an attribute of the variable according to the variable attribute definition in the software part retrieved by said software part retrieval means, obtaining a variable name from the defined variable attribute, and customizing or changing the program pattern in the software part in accordance with the obtained variable name and program pattern customizing knowledge base in the software part.
Claim 6
Dependent Claim
249 words
An automatic program synthesizer for synthesizing a program suited for a target system in response to input of a system specification of the target system to be controlled by the program, comprising: program synthesis rule memory means for storing software synthesis rules which are divided into hierarchial groups for reducing the target system specification into simplified functions; software part retrieval rule memory means for storing software part retrieval rules which is used for searching for software parts which satisfy the simplified functions; program pattern memory means for storing a program pattern for customization to satisfy a given simplified function, the program pattern including a variable having a predetermined attribute; memory means for storing a program pattern customizing knowledge base for customizing or changing the program pattern so that the program pattern satisfies the system specification; memory means for storing a variable attribute definition in the program pattern; software part retrieval means for obtaining the program synthesis rule from the system specification, and for searching for a software part, having a function requested by the software part retrieval rule, from the obtained program synthesis rule; and program customizing means for defining an attribute of the variable according to the variable attribute definition in the software part retrieved by said software part retrieval means, obtaining a variable name from the defined variable attribute, and customizing or changing the program pattern in the software part in accordance with the obtained variable name and program pattern customizing knowledge base in the software part.
Claim 7
Dependent Claim
47 words
A program synthesizer according to claim 3, further comprising: variable name generating means for generating a variable name of a variable or constant used in the program in accordance with an attribute thereof; and variable attribute memory means for storing the variable name and the attribute thereof.
Claim 8
Dependent Claim
36 words
A program synthesizer according to claim 3, further comprising: means for storing a program customized or changed by said program customizing means, and converting the stored program into a target program expressed in a predetermined language.
Claim 9
Dependent Claim
46 words
A program synthesizer according to claim 3, further comprising: data memory means of a system specification for converting the system specification into intermediate data used in the automatic program synthesizer, storing the converted intermediate data, and supplying the stored data to said software part retrieval means.
Claim 10
Dependent Claim
21 words
A program synthesizer according to claim 3, further comprising: memory means for temporarily storing data used to search the software part.
Claim 11
Dependent Claim
351 words
An automatic program synthesizer for synthesizing a program suited for a target system in response to input of a system specification of the target system to be controlled by the program, comprising: a software part retrieval rule memory portion including a memory section for storing program synthesis rules which are divided into hierarchial groups for reducing the target system specification into simplified functions, and software part retrieval rules for searching for software parts which satisfy the simplified function; a software part memory portion for storing said software parts, including a program pattern defining a prototype program for customization to satisfy a given simplified function, a program pattern customizing knowledge base for customizing or changing the program pattern so that the program pattern satisfies the system specification, and a memory section for storing a knowledge base for defining an attribute of a variable in the program pattern; software part retrieval means for obtaining the program synthesis rule from the system specification, and for searching for the software part, having a function requested by the software part retrieval rule, from the obtained program synthesis rule; variable manager section including a variable name generating section for generating a name of a variable or constant used in the program in accordance with an attribute thereof, and a variable attribute memory section for storing a variable name and an attribute of the variable or constant; software part customizing means for defining an attribute of the variable according to a variable attribute definition in the software part searched for by said software part retrieval means, for supplying the defined variable attribute to said variable manager section to obtain the variable name, and for customizing or changing the program pattern in the software part in accordance with the obtained variable name and the knowledge base for customizing the program in the software part; and intermediate memory means for storing each program synthesized by the automatic program synthesizer according to a defined variable attribute thereof, the software part customizing means also searching the intermediate memory means for the attribute of the variable defined by the software part customizing means.
Claim 12
Dependent Claim
351 words
An automatic program synthesizer for synthesizing a program suited for a target system in response to input of a system specification of the target system to be controlled by the program, comprising: a software part retrieval rule memory portion including a memory section for storing program synthesis rules which are divided into hierarchial groups for reducing the target system specification into simplified functions, and software part retrieval rules for searching for software parts which satisfy the simplified function; a software part memory portion for storing said software parts, including a program pattern defining a prototype program for customization to satisfy a given simplified function, a program pattern customizing knowledge base for customizing or changing the program pattern so that the program pattern satisfies the system specification, and a memory section for storing a knowledge base for defining an attribute of a variable in the program pattern; software part retrieval means for obtaining the program synthesis rule from the system specification, and for searching for the software part, having a function requested by the software part retrieval rule, from the obtained program synthesis rule; variable manager section including a variable name generating section for generating a name of a variable or constant used in the program in accordance with an attribute thereof, and a variable attribute memory section for storing a variable name and an attribute of the variable or constant; software part customizing means for defining an attribute of the variable according to a variable attribute definition in the software part searched for by said software part retrieval means, for supplying the defined variable attribute to said variable manager section to obtain the variable name, and for customizing or changing the program pattern in the software part in accordance with the obtained variable name and the knowledge base for customizing the program in the software part; and intermediate memory means for storing each program synthesized by the automatic program synthesizer according to a defined variable attribute thereof, the software part customizing means also searching the intermediate memory means for the attribute of the variable defined by the software part customizing means.
Claim 13
Independent Claim
275 words
A method of automatically synthesizing a program suited for a target system in response to input of a system specification of the target system to be controlled by the program, comprising the steps of: obtaining a software part including a program pattern for realizing a function requested by a system specification of said system, a program pattern customizing knowledge base for customizing or changing the program pattern so that the program pattern satisfies the system specification, and a knowledge base for defining an attribute of a variable in the program pattern; obtaining a software retrieval rule including program synthesis rules which are dividing into hierarchial groups for reducing the target system specification into simplified functions, and software part retrieval rules for searching for software parts which satisfy the simplified function; obtaining the program synthesis rule from the system specification; and searching for a software part, having a function requested by the software part retrieval rule, from the obtained program synthesis rule; generating a name of a variable or constant used in the program in accordance with an attribute thereof, and storing the variable name and the attribute of the variable or constant; defining an attribute of the variable according to a variable attribute definition in the searched software part, obtaining the variable name from the defined variable attribute, and customizing or changing the program pattern of the software part in accordance with the obtained variable name and the program pattern customizing knowledge base in the software part; storing each program synthesized according to a defined variable attribute thereof; and searching each program synthesized for the attribute of the variable according to the variable attribute definition.
Claim 14
Independent Claim
275 words
A method of automatically synthesizing a program suited for a target system in response to input of a system specification of the target system to be controlled by the program, comprising the steps of: obtaining a software part including a program pattern for realizing a function requested by a system specification of said system, a program pattern customizing knowledge base for customizing or changing the program pattern so that the program pattern satisfies the system specification, and a knowledge base for defining an attribute of a variable in the program pattern; obtaining a software retrieval rule including program synthesis rules which are dividing into hierarchial groups for reducing the target system specification into simplified functions, and software part retrieval rules for searching for software parts which satisfy the simplified function; obtaining the program synthesis rule from the system specification; and searching for a software part, having a function requested by the software part retrieval rule, from the obtained program synthesis rule; generating a name of a variable or constant used in the program in accordance with an attribute thereof, and storing the variable name and the attribute of the variable or constant; defining an attribute of the variable according to a variable attribute definition in the searched software part, obtaining the variable name from the defined variable attribute, and customizing or changing the program pattern of the software part in accordance with the obtained variable name and the program pattern customizing knowledge base in the software part; storing each program synthesized according to a defined variable attribute thereof; and searching each program synthesized for the attribute of the variable according to the variable attribute definition.
Claim 15
Dependent Claim
289 words
An automatic program synthesizer for synthesizing a program suited for a target system in response to input of a system specification of the target system to be controlled by the program, comprising: program synthesis rule memory means for storing software synthesis rules which are divided into hierarchial groups for reducing the target system specification into simplified functions; software part retrieval rule memory means for storing software part retrieval rules which is used for searching for software parts which satisfy the simplified functions; program pattern memory means for storing a program pattern for customization to satisfy the simplified function, the program pattern including a variable having a predetermined attribute; memory means for storing a program pattern customizing knowledge base for customizing or changing the program pattern so that the program pattern satisfies the system specification; memory means for storing a variable attribute definition in the program pattern; software part retrieval means for obtaining the program synthesis rule from the system specification, and for searching for a software part, having a function requested by the software part retrieval rule, from the obtained program synthesis rule; program customizing means for defining an attribute of the variable according to the variable attribute definition in the software part retrieved by said software part retrieval means, obtaining a variable name from the defined variable attribute, and customizing or changing the program pattern in the software part in accordance with the obtained variable name and program pattern customizing knowledge base in the software part; and intermediate memory means for storing each program synthesized by the automatic program synthesizer according to a defined variable attribute thereof, the program customizing means searching the intermediate memory means for the attribute of the variable defined by the program customizing means.
Claim 16
Dependent Claim
289 words
An automatic program synthesizer for synthesizing a program suited for a target system in response to input of a system specification of the target system to be controlled by the program, comprising: program synthesis rule memory means for storing software synthesis rules which are divided into hierarchial groups for reducing the target system specification into simplified functions; software part retrieval rule memory means for storing software part retrieval rules which is used for searching for software parts which satisfy the simplified functions; program pattern memory means for storing a program pattern for customization to satisfy the simplified function, the program pattern including a variable having a predetermined attribute; memory means for storing a program pattern customizing knowledge base for customizing or changing the program pattern so that the program pattern satisfies the system specification; memory means for storing a variable attribute definition in the program pattern; software part retrieval means for obtaining the program synthesis rule from the system specification, and for searching for a software part, having a function requested by the software part retrieval rule, from the obtained program synthesis rule; program customizing means for defining an attribute of the variable according to the variable attribute definition in the software part retrieved by said software part retrieval means, obtaining a variable name from the defined variable attribute, and customizing or changing the program pattern in the software part in accordance with the obtained variable name and program pattern customizing knowledge base in the software part; and intermediate memory means for storing each program synthesized by the automatic program synthesizer according to a defined variable attribute thereof, the program customizing means searching the intermediate memory means for the attribute of the variable defined by the program customizing means.
References Cited (Backward Citations)
US4528623A
Cited
US4607327A
Cited
US4679137A
Cited
US4827404A
Cited
US4939635A
Cited
US4949253A
Cited
US4835730A
Cited
US4974160A
Cited
US4974160B1
Cited
US4862345A
Cited
US4931950A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1995-01-27 | 1995-07-29 | 1996-01-28 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 1999-01-27 | 1999-07-29 | 2000-01-28 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2003-01-27 | 2003-07-29 | 2004-01-28 | $7700.00 | Window Closed / Lapsed |