Technique for automating code generation in developing software systems
First Claim
Patent Images
1. A method for automatically generation program code, the method comprising the computer-implemented steps of:
- examining an input directory containing a plurality of sub-directories and files that form a software design specification that specifies how a software system is to be implemented, wherein examining the input directory includes identifying a section of the software design specification that defines a software class;
identifying a tree directory structure of the input directory that contains the plurality of sub-directories and files that form the software design specification;
creating an output directory having a tree directory structure that is subset of the tree directory structure of the input directory;
traversing the input directory over the tree directory structure to identify and examine one or more files that form the software design specification;
detecting one or more designated characteristics of the software system from examining the one or more files that form the software design specification; and
if the one or more designated characteristics indicate that the one or more files are associated with program code, thenautomatically generating program code for implementing at least a portion of the software system based upon the designated characteristics; and
storing a plurality of files containing the program code in the output directory that has a tree directory structure that is subset of the tree directory structure of the input directory, wherein storing the plurality of files includes storing at least one file containing code for each identified software class to a node of the output directory, wherein the node of the output directory is based on a node where a file containing the software class is designated in the input directory containing the plurality of sub-directories and files that form the software design specification.
1 Assignment
0 Petitions
Accused Products
Abstract
Programming the creation of a software system is facilitated by automating the generation of some of the program code that is necessary for the software system. The generation of program code may be automated based on a software design specification that can be created by developers. The software design specification may be scanned and code may be generated for implementing the software system based on information obtained from scanning the software design specification.
25 Citations
84 Claims
-
1. A method for automatically generation program code, the method comprising the computer-implemented steps of:
-
examining an input directory containing a plurality of sub-directories and files that form a software design specification that specifies how a software system is to be implemented, wherein examining the input directory includes identifying a section of the software design specification that defines a software class; identifying a tree directory structure of the input directory that contains the plurality of sub-directories and files that form the software design specification; creating an output directory having a tree directory structure that is subset of the tree directory structure of the input directory; traversing the input directory over the tree directory structure to identify and examine one or more files that form the software design specification; detecting one or more designated characteristics of the software system from examining the one or more files that form the software design specification; and if the one or more designated characteristics indicate that the one or more files are associated with program code, then automatically generating program code for implementing at least a portion of the software system based upon the designated characteristics; and storing a plurality of files containing the program code in the output directory that has a tree directory structure that is subset of the tree directory structure of the input directory, wherein storing the plurality of files includes storing at least one file containing code for each identified software class to a node of the output directory, wherein the node of the output directory is based on a node where a file containing the software class is designated in the input directory containing the plurality of sub-directories and files that form the software design specification. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A computer-readable storage medium for automatically generation program code, the computer-readable storage medium carrying instructions which, when processed by one or more processors, cause:
-
examining an input directory containing a plurality of sub-directories and files that form a software design specification that specifies how a software system is to be implemented, wherein examining the input directory includes identifying a section of the software design specification that defines a software class; identifying a tree directory structure of the input directory that contains the plurality of sub-directories and files that form the software design specification; creating an output directory having a tree directory structure that is subset of the tree directory structure of the input directory; traversing the input directory over the tree directory structure to identify and examine one or more files that form the software design specification; detecting one or more designated characteristics of the software system from examining the one or more files that form the software design specification; and if the one or more designated characteristics indicate that the one or more files are associated with program code, then automatically generating program code for implementing at least a portion of the software system based upon the designated characteristics; and storing a plurality of files containing the program code in the output directory that has a tree directory structure that is subset of the tree directory structure of the input directory, wherein storing the plurality of files includes storing at least one file containing code for each identified software class to a node of the output directory, wherein the node of the output directory is based on a node where a file containing the software class is designated in the input directory containing the plurality of sub-directories and files that form the software design specification. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
-
-
29. An apparatus for automatically generation program code, the apparatus comprising a memory having instructions which, when processed by one or more processors, cause:
-
examining an input directory containing a plurality of sub-directories and files that form a software design specification that specifies how a software system is to be implemented, wherein examining the input directory includes identifying a section of the software design specification that defines a software class; identifying a tree directory structure of the input directory that contains the plurality of sub-directories and files that form the software design specification; creating an output directory having a tree directory structure that is subset of the tree directory structure of the input directory; traversing the input directory over the tree directory structure to identify and examine one or more files that form the software design specification; detecting one or more designated characteristics of the software system from examining the one or more files that form the software design specification; and if the one or more designated characteristics indicate that the one or more files are associated with program code, then automatically generating program code for implementing at least a portion of the software system based upon the designated characteristics; and storing a plurality of files containing the program code in the output directory that has a tree directory structure that is subset of the tree directory structure of the input directory, wherein storing the plurality of files includes storing at least one file containing code for each identified software class to a node of the output directory, wherein the node of the output directory is based on a node where a file containing the software class is designated in the input directory containing the plurality of sub-directories and files that form the software design specification. - View Dependent Claims (30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42)
-
-
43. A method for automatically generating code, the method comprising the computer-implemented steps of:
-
scanning a software design specification that comprises one or more files; wherein scanning said software design specification includes scanning a tree directory structure of an input directory that contains a plurality of sub-directories and files that includes the one or more files; creating an output directory having a tree directory structure that is a subset of the tree directory structure of the input directory; detecting one or more designated characteristics in the software design specification; programmatically generating skeleton code of at least a first program file based on contents of the software design specification, wherein programmatically generating the skeleton code includes creating syntax based for the first program file based on the detected one or more designated characteristics; and storing the first program file at a node in the tree directory structure of the output directory that corresponds to a node in the tree directory structure of the input directory where a corresponding portion of the software design specification is located. - View Dependent Claims (44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56)
-
-
57. A computer-readable storage medium for automatically generating code, the computer-readable storage medium carrying instructions which, when processed by one or more processors, cause:
-
scanning a software design specification that comprises one or more files; wherein scanning said software design specification includes scanning a tree directory structure of an input directory that contains a plurality of sub-directories and files that includes the one or more files; creating an output directory having a tree directory structure that is a subset of the tree directory structure of the input directory; detecting one or more designated characteristics in the software design specification; programmatically generating skeleton code of at least a first program file based on contents of the software design specification, wherein programmatically generating the skeleton code includes creating syntax based for the first program file based on the detected one or more designated characteristics; and storing the first program file at a node in the tree directory structure of the output directory that corresponds to a node in the tree directory structure of the input directory where a corresponding portion of the software design specification is located. - View Dependent Claims (58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70)
-
-
71. An apparatus for automatically generating code, the apparatus comprising a memory with instructions which, when processed by one or more processors, cause:
-
scanning a software design specification that comprises one or more files; wherein scanning said software design specification includes scanning a tree directory structure of an input directory that contains a plurality of sub-directories and files that includes the one or more files; creating an output directory having a tree directory structure that is a subset of the tree directory structure of the input directory; detecting one or more designated characteristics in the software design specification; programmatically generating skeleton code of at least a first program file based on contents of the software design specification, wherein programmatically generating the skeleton code includes creating syntax based for the first program file based on the detected one or more designated characteristics; and storing the first program file at a node in the tree directory structure of the output directory that corresponds to a node in the tree directory structure of the input directory where a corresponding portion of the software design specification is located. - View Dependent Claims (72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84)
-
Specification