Software development system with an executable working model in an interpretable intermediate modeling language
First Claim
1. A method for generating a software program in a predetermined language including the steps of:
- graphically describing functionality for the program by generating at least one descriptive diagram, said at least one descriptive diagram including a rule diagram, said rule diagram including at least one rule, said rule including an object, a cause, and an effect, wherein said cause includes at least one condition, wherein said effect represents forming an instance of said object, wherein said effect further includes at least one expression, and wherein said at least one expression assigns a value to an attribute of said instance of said object;
employing the at least one descriptive diagram to generate an executable working model of the program by expressing the at least one descriptive diagram in an interpretable intermediate modeling language, wherein said working model is operable to evaluate said at least one expression to assign said value to said attribute of said instance of said object in the event that said condition is met, wherein said working model includes a plurality of special predicates containing type information regarding said object and said instance of said object, and wherein said working model is further operable to execute without checking said type information; and
generating source code in the predetermined language from the working model, wherein said generated source code reflects said type information contained in said special predicates within said working model.
2 Assignments
0 Petitions
Accused Products
Abstract
A software development tool utilizes an intermediate object modeling language. The structure of the desired program is first described graphically by generating rule diagrams, state diagrams, and object diagrams such as user interface diagrams, event diagrams and other object diagrams. The development tool employs the diagrams to generate a working model of the program expressed in the object modeling language. The working model of the program can be executed without lengthy compiling, and hence program behavior can be quickly observed and tested. Further, the behavior of the working model can be quickly and easily changed by modifying the diagrams until the desired result is achieved. Source code is then generated from the object modeling language and compiled to create the final program.
-
Citations
92 Claims
-
1. A method for generating a software program in a predetermined language including the steps of:
-
graphically describing functionality for the program by generating at least one descriptive diagram, said at least one descriptive diagram including a rule diagram, said rule diagram including at least one rule, said rule including an object, a cause, and an effect, wherein said cause includes at least one condition, wherein said effect represents forming an instance of said object, wherein said effect further includes at least one expression, and wherein said at least one expression assigns a value to an attribute of said instance of said object;
employing the at least one descriptive diagram to generate an executable working model of the program by expressing the at least one descriptive diagram in an interpretable intermediate modeling language, wherein said working model is operable to evaluate said at least one expression to assign said value to said attribute of said instance of said object in the event that said condition is met, wherein said working model includes a plurality of special predicates containing type information regarding said object and said instance of said object, and wherein said working model is further operable to execute without checking said type information; and
generating source code in the predetermined language from the working model, wherein said generated source code reflects said type information contained in said special predicates within said working model. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46)
-
-
47. A development tool for generating a software program in a predetermined language, comprising:
-
an interface through which functionality for the program is graphically described in at least one descriptive diagram, said at least one descriptive diagram including a rule diagram, said rule diagram including at least one rule, said rule including an object, a cause, and an effect, wherein said cause includes at least one condition, wherein said effect represents forming an instance of said object, and wherein said effect further includes at least one expression, and wherein said at least one expression assigns a value to an attribute of said instance of said object;
a tool user interface that generates an executable working model of the program from the at least one diagram, the working model being represented in an interpretable intermediate modeling language, wherein said working model is operable to evaluate said at least one expression to assign said value to said attribute of said instance of said object in the event that said condition is met, wherein said working model includes a plurality of special predicates containing type information regarding said object and said instance of said object, and wherein said working model is further operable to execute without checking said type information; and
a source code generator that provides source code in the predetermined language from the intermediate modeling language representation of the program, wherein said generated source code reflects said type information contained in said special predicates within said working model. - View Dependent Claims (48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92)
-
Specification