System for generating software source code components
First Claim
1. A system for generating concrete software programs from supplied generic specifications, said system comprisinga compiler for compiling language statements specifying generic software components, each specified generic software component corresponding to one or more user requestable programming services, and each of said programming services being specified by a collection of language statements,means responsive to said compiler for storing the compiled language statements specifying said generic software components,means having an input for receiving language statements specifying a particular software application, the language statements specifying said particular software application including at least one indirect statement and at least one request statement, each indirect statement naming any one of said specified generic software components and each request statement naming one user requestable programming service in one named generic software component, said receiving means includingfirst means responsive to each indirect statement for locating the stored language statements specifying the one generic software component named in that indirect statement,second means responsive to each request statement for locating the collection of language statements specifying the user requestable programming service named in that request statement in the stored language statements located by said first means, andmeans responsive to the collection of language statements located by said second means for creating a concrete version of said particular software application wherein said concrete version is devoid of indirect and request statements.
2 Assignments
0 Petitions
Accused Products
Abstract
A system has been devised that allows commonly used software components to be designed and developed only once, and reused many times in different applications with different operational contexts and requirements. The system includes a language for the specification of software components in a context-independent generic fashion, a compiler for the specification language and a program for generating concrete software components to work in a specific context.
-
Citations
13 Claims
-
1. A system for generating concrete software programs from supplied generic specifications, said system comprising
a compiler for compiling language statements specifying generic software components, each specified generic software component corresponding to one or more user requestable programming services, and each of said programming services being specified by a collection of language statements, means responsive to said compiler for storing the compiled language statements specifying said generic software components, means having an input for receiving language statements specifying a particular software application, the language statements specifying said particular software application including at least one indirect statement and at least one request statement, each indirect statement naming any one of said specified generic software components and each request statement naming one user requestable programming service in one named generic software component, said receiving means including first means responsive to each indirect statement for locating the stored language statements specifying the one generic software component named in that indirect statement, second means responsive to each request statement for locating the collection of language statements specifying the user requestable programming service named in that request statement in the stored language statements located by said first means, and means responsive to the collection of language statements located by said second means for creating a concrete version of said particular software application wherein said concrete version is devoid of indirect and request statements.
-
5. A system for expanding a collection of language statements under control of a set of instructions written in a transformation language having language statement-to-language statement constructs, said system having means for storing general purpose components, each of said general purpose components corresponding to one or more user requestable transformations, each transformation being specified by a collection of transformation language statements,
means for receiving a collection of user language statements including at least one context specifier statement and at least one request statement, each context specifier statement naming any one of said stored general purpose components and each request statement naming one user requestable transformation in one named general purpose component, said receiving means including means responsive to each context specifier statement for locating the general purpose component named in that context specifier statement in said stored general purpose components, means responsive to receipt of each request statement for locating the user requestable transformation named in that request statement in any general purpose component located by said first means, and means controlled by each located transformation for creating an expanded version of said user-supplied language statements.
-
8. An operating arrangement for use in a computer system in which a program including source code language statements is passed through a conversion process to generate a machine language version of said program, said operating arrangement comprising
a memory; -
means for storing general purpose software components in said memory, each of said general purpose components corresponding to one or more user requestable transformations, and each transformation being specified by a collection of language statements such that any one of said general purpose components may control an expansion of user-supplied input language into other language statements, instantiator means having an input for receiving a source code program, said program including at least one context specifier statement and at least one request statement, each context specifier statement naming a particular one of said general purpose components and each request statement naming a particular transformation in one named general purpose component, said instantiator means including first means responsive to each context specifier statement for locating in said memory the stored general purpose component named in that context specifier statement, second means responsive to each request statement for locating the collection of transformation language statements specifying the transformation named in that request statement in one general purpose component located by said first means, means responsive to the collection of transformation language statements located by said second means for creating a concrete version of said source code program, and compiler means for converting said concrete version of said source code program into a machine code version of said source code program. - View Dependent Claims (9)
-
-
10. A method for generating software programs from supplied generic specifications, said method comprising the steps of
compiling received language statements specifying generic software components, each of said generic software components corresponding to one or more user requestable services for program generation, each said service being specified by a collection of language statements, storing the compiled language statements of said specified generic software components, receiving language statements specifying a particular software application, said language statements including at least one indirect statement and at least one request statement, each indirect statement naming any one of said specified generic software cmponents and each request statement naming one user requestable programming service in one named generic software component, said receiving step further including the steps of locating in response to each indirect statement the stored language statements specifying the generic software component named in that indirect statement, locating in response to each request statement the collection of language statements specifying the user requestable programming service named in that request statement in the stored language statements that have been priorly located in response to each indirect statement, and creating in response to the located language statements specifying the user requestable programming service named in each request statement a concrete version of said particular software application wherein said concrete version is devoid of indirect and request statements.
Specification