← Back to Patent Explorer
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
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

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 00:05
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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag