CPC G06F 8/35 (2013.01) [G06F 8/20 (2013.01); G06N 5/04 (2013.01)] | 8 Claims |
1. A method for generating computer source code from a model such that a resulting source code is to be generated in a desired programming language, and the model and the generated source code form a correspondence of conceptual design, the method comprising:
including design patterns in a catalog of pre-existing design patterns;
creating formal definitions of the design patterns in the catalog in terms of elemental design patterns (EDPs);
selecting the design patterns according to original design decisions to provide an abstract form model representing an abstracted view of a computer program;
binding the selected design patterns to elements in the model to produce bindings;
using the formal definitions of the EDPs to re-express the initial model as the abstract form model;
repeating steps of the including, the creating, the selecting, the binding, and the using with respect to the abstract form model to further express the abstract form model;
mapping the EDPs of the abstract form model to constructs in one of a target programming language, assembly language, or bytecode language to produce mapped constructs;
emitting a graph of the mapped constructs as embodied in the abstract form model in the one of the target programming language, the assembly language or the bytecode language, thereby creating a source code implementation of the computer program that corresponds to the original design decisions; and
repeating steps of the including, the creating, the selecting, the binding, the using, the mapping, and the emitting to create the source code implementation.
|