System for numerical description of computer program logic
First Claim
1. A machine for designing the logical structure of a large computer program, the machine comprising(a) an input device (11) capable of entering into processing unit (12) of the machine a collection of informational words (10), numerically describing links between different portions of the computer program, said portions being called "logical parts", each link representing a transfer of control of data processing action from one logical part through its port, said port being called "exit", to the port of another logical part, said port being called "entrance";
- each informational word containing at least seven numbers, of which three numbers-a logical part number, an exit number, a program line number of the exit-are attributes of the exit of one logical part, the other three of said seven numbers are attributes of the entrance of the linked logical part, said collection of informational words being called "parent collection";
(b) said processing unit (12) having an algorithm of memorizing the entered parent collection and performing a search of informational words by the attributes of a logical part;
(c) an output device (15) providing a hard copy printout of informational words (16) arranged in a consecutive order of the numbers of logical parts.
0 Assignments
0 Petitions
Accused Products
Abstract
Data processing for an improved description of the logical structure of a large computer programs supervises, implements and coordinates a collection of informational words numerically describing links between different individually numbered portions of the computer program. These portions are called logical parts. Each link represents a transfer of control from one logical part through its exit to the entrance of another logical part. Each informational word contains at least seven numbers; of which three numbers--a logical part number, an exit number, a program line number of the exit--describing the exit of one logical part, the other three numbers describing the entrance of the linked logical part, and the last number describing the location of the informational word in the collection. A search of informational words of the collection is performed to provide a hard copy printouts of informational words in different sequences and combinations, creating a set of lists of informational words numerically describing the logical structure of a computer program, and substituting conventional graphical descriptions of the logical structure. Whenever a program is modified to the extent which effects the logical structure, the corresponding informational words of the collection are amended and a new daughter collection is created, which is used to printout a new set of lists of informational words describing the new logical structure. A program map based on the numerical description of the logical structure is used to specify amendments of informational words. The numerical description of the logical structure helps to easily read and modify a computer program of any size and complexity.
12 Citations
21 Claims
-
1. A machine for designing the logical structure of a large computer program, the machine comprising
(a) an input device (11) capable of entering into processing unit (12) of the machine a collection of informational words (10), numerically describing links between different portions of the computer program, said portions being called "logical parts", each link representing a transfer of control of data processing action from one logical part through its port, said port being called "exit", to the port of another logical part, said port being called "entrance"; - each informational word containing at least seven numbers, of which three numbers-a logical part number, an exit number, a program line number of the exit-are attributes of the exit of one logical part, the other three of said seven numbers are attributes of the entrance of the linked logical part, said collection of informational words being called "parent collection";
(b) said processing unit (12) having an algorithm of memorizing the entered parent collection and performing a search of informational words by the attributes of a logical part; (c) an output device (15) providing a hard copy printout of informational words (16) arranged in a consecutive order of the numbers of logical parts. - View Dependent Claims (2, 3, 4, 5, 6)
- each informational word containing at least seven numbers, of which three numbers-a logical part number, an exit number, a program line number of the exit-are attributes of the exit of one logical part, the other three of said seven numbers are attributes of the entrance of the linked logical part, said collection of informational words being called "parent collection";
-
7. A method for numerical description of the logical structure of large computer program, the method comprising the steps of
(a) creating a collection of informational words numerically describing links between different portions of the program, said portions being called "logical parts", each link representing a transfer of control of data processing activity from the exit of one logical part to the entrance of another logical part; -
(b) searching informational words of said collection and making hard copy printouts of informational words in different sequences and combinations, whereby a set of lists is created having the power of substituting conventional graphical description of logical structure of a computer program; (c) specifying amendments to be introduced into informational words of said collection after the computer program is modified to the extent that it effects the logical structure; (d) introducing said amendments into said collection, whereby a new collection of informational words is created, said new collection being called "daughter collection"; (e) employing said daughter collection to generate a new set of hard copy printouts of informational words numerically describing the new logical structure of the program. - View Dependent Claims (8)
-
-
9. A method for numerical description of the logical structure of a large computer program, the method comprising the steps of
(a) creating a collection of informational words describing logical links between different portions of the program, said links identifying the transfer of control of data processing activity from one program line belonging to one portion of the program to another program line belonging to another portion of the program; -
(b) identifying all portions of a program, containing at least one program line performing at least one function as "logical parts", and classifying logical parts into two classes;
(1) subroutines, (2) logical units;
a subroutine being a logical part, which predominately returns control of data processing action back to the program line wherefrom said control was transferred to said subroutine;
a logical unit, being a logical part, which eventually transfers the control of data processing action to another logical unit;(c) assigning to each logical unit a number belonging to a set of consecutive numbers, and assigning to each subroutine a number belonging to a different set of consecutive numbers; (d) considering the first program line of a logical part as a port, said port being called "entrance" of said logical unit; (e) considering each program line within a logical part, wherefrom control is transferred to the entrance of another logical part, as a port, said port being called "exit" of said logical part; (f) describing links between logical part via informational words stored in the memory as records each of said records having as many fields as many attributes, said attributes are needed to identify two linked logical parts of the program; (g) employing no less than three numbers for describing a logical part, said numbers including a logical part number, a program line number, where the port of logical part is located, and the number of the port itself; (h) assigning to each informational word a number identifying its location in the collection of informationl words, considering said number as an additional virtual attribute of the informational word; (i) saving said parent collection of informational words on a memory storage device, including magnetic tape, disk, etc. - View Dependent Claims (10)
-
-
11. A method for numerical description of the logical structure of a large computer program, the method comprising the steps of:
-
(a) specifying amendments to be introduced into informational words of the parent collection after the program is modified to the extent that it effects the logical structure of the program; (b) introducing said amendments into informational words, and creating a new collection of informational words, said collection being called "daughter" collection; (c) printing out a list of those informational words which were amended, said list containing a printout of each amended informational words before and after the amendment; (d) saving the daughter collection of informational words in a memory storage device including magnetic tape, disk, etc.; (e) using the daughter collection of informational words to create hard copy printouts of informational words in numerical order of (1) logical units, (2) subroutines, (3) program line numbers identifying the entrance of each logical part, whereby said lists of printouts describe the new logical structure of a computer program. - View Dependent Claims (12)
-
-
13. A method for numerical desription of the logical structure of a large computer program, the method comprising the steps of
(a) providing a scroll organization of the set of informational words arranged in consecutive order by numbers of (1) logical units, (2) subroutines, (3) program line numbers which identify the entrances of logical parts, said scroll being separate from the scroll of the computer program, whereby said scrolls of printouts of informational words complement the scroll of the computer program providing means for easy reading and modifying the program.
-
14. A method for numerical description of the logical structure of a large computer program, the method comprising the steps of:
-
(a) providing a loose-leaf organization of the set of hard copy printouts of informationl words arranged in consecutive order of numbers of (1) logical units, (2) subroutines; (b) employing the loose-leaf organization of said set of hard copy printouts in such a way that informational words belonging to a particular logical part are printed out on at least one separate page; (c) incorporating the portion of the program, belonging to said particular logical part, into the same page where informational words, belonging to said particular logical part, were printed out; (d) using the book compiled of loose-leaf pages as a comprehensive description of the computer system comprising the program itself and its logical structure.
-
-
15. A method for numerical description of the logical structure of a large computer program, the method comprising the steps of:
-
(a) defining a "logical part" as a portion of a program, performing at least one function; (b) defining a "logical unit" as a logical part having one port, called "entrance", through which the control of data processing action is transferred from other logical parts of the program, and at least one other port, said port being called "exit", through which the control of data processing action is eventually transferred to another logical unit; (c) defining a "subroutine" as a logical part, having an entrance, through which control of data processing action is transferred from other logical parts, said subroutine predominately returning control of data processing action back to the program line wherefrom said control was transferred to said subroutine; (d) assigning to each logical unit a number belonging to a set of consecutive numbers starting, for example, from 100 and up; (e) assigning to each subroutine a number which belongs to a set of numbers different from the set of numbers assigned to logical units, said different set of numbers starting, for example, from 500 and up; (f) assigning to each logical part a preferably short name, which might be describing at least one function of data processing action performed by said logical part; (g) identifying the entrance of a logical part by the first program line number of the portion of the program, belonging to said part, and assigning to said entrance a number, for example, zero (0); (h) identifying an exit of a logical part by a program line number, wherefrom the control of data processing action is transferred to a logical part other than said logical part; (i) identifying each exit of a logical part by a number in numerical order starting from number 1 and up. - View Dependent Claims (16, 17)
-
-
18. A method of numerical description of the logical structure of a large computer program, the method comprising the steps of
(a) describing the immediate logical environment of a particular logical part with the help of a numerical description of said particular logic part supplied from the printouts of informational words, said environment description being required whenever the program portion belonging to said particular part is being modified to the extent that it changes the logical structure of the program; -
(b) drawing around said particular logical part a program map said map graphically describing links between said particular logical part and other logical parts, each part identified by its number and the number of its location in the collection of informational words, each link being drawn as a line issuing from a particular exit of said particular logical part and ending at the entrance of another logical part, said line containing attributes of the linked parts, said attributes being indicated along the line; (c) analyzing those links of said particular logical part, which became effected by the modification of the program portion belonging to said particular part, and specifying changes in the program map to be introduced into the logical structure, said changes including amendment, creation, and deletion of said links; (d) creating a list of amendments of links derived from said program map. - View Dependent Claims (19, 20)
-
-
21. A method of numerical description of the logical structure of a large computer program, the method comprising the step of:
-
(a) dividing the collection of informational words into separate batches, each batch containing a number of informational words, said number being limited by the size of available operating memory in the computer; (b) saving each batch in the memory storage device after the informational words, belonging to said batch, were processed; (c) retrieving said batch of informational words from the operating memory of the computer in order to make room for another batch; (d) entering said batch into operating memory of the computer from the memory storage device whenever there is a need for processing the informational words, belonging to said batch.
-
Specification