Dynamic model based software application development
First Claim
1. A computer-implemented method of providing an application based on a workflow, comprising:
- under control of one or more computer systems configured with executable instructions;
obtaining one or more workflow models;
testing the one or more workflow models in a test environment to identify one or more acceptable workflow models;
storing the one or more acceptable workflow models in a model repository;
obtaining one or more code generation templates based on the one or more workflow models;
generating first source code based on the one or more acceptable workflow models obtained from the model repository and the one or more code generation templates;
compiling the first source code to provide first compiled code;
performing integration testing to determine whether a behavior of the one or more acceptable workflow models used to generate the first source code matches the behavior of the first compiled code;
modifying at least one of the one or more acceptable workflow models to provide at least one modified workflow model based on the behavior of the one or more acceptable workflow models used to generate the first source code not matching the behavior of the first compiled code;
testing the at least one modified workflow model in the test environment using interpretive components comprising interpreted code generated from the at least one modified workflow model and generated code components comprising one or more unchanged components of the first compiled code to identify one or more acceptable modified workflow models;
generating second source code based on the one or more acceptable modified workflow models obtained from the model repository and the one or more code generation templates;
compiling the second source code to provide second compiled code;
performing integration testing to determine whether the behavior of the one or more acceptable modified workflow models used to generate the second source code matches the behavior of the second compiled code;
providing the second compiled code to a deployment manager based on the behavior of the one or more acceptable workflow models used to generate the second source code matching the behavior of the second compiled code; and
providing the application based on the second compiled code from the deployment manager to a production environment.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method of dynamically generating software is provided. Applications are created in a set of workflow models which are tested in an interpretive test environment. The models are stored in a versioning repository and code generation templates created for the models. Source code is generated and compiled for the application. Modifications to the models are tested and incorporated into a modified version of the application after subsequent testing of the model and the modified, compiled application. The modified version of the application is returned to the test environment where it becomes the basis for testing future modifications.
68 Citations
20 Claims
-
1. A computer-implemented method of providing an application based on a workflow, comprising:
under control of one or more computer systems configured with executable instructions; obtaining one or more workflow models; testing the one or more workflow models in a test environment to identify one or more acceptable workflow models; storing the one or more acceptable workflow models in a model repository; obtaining one or more code generation templates based on the one or more workflow models; generating first source code based on the one or more acceptable workflow models obtained from the model repository and the one or more code generation templates; compiling the first source code to provide first compiled code; performing integration testing to determine whether a behavior of the one or more acceptable workflow models used to generate the first source code matches the behavior of the first compiled code; modifying at least one of the one or more acceptable workflow models to provide at least one modified workflow model based on the behavior of the one or more acceptable workflow models used to generate the first source code not matching the behavior of the first compiled code; testing the at least one modified workflow model in the test environment using interpretive components comprising interpreted code generated from the at least one modified workflow model and generated code components comprising one or more unchanged components of the first compiled code to identify one or more acceptable modified workflow models; generating second source code based on the one or more acceptable modified workflow models obtained from the model repository and the one or more code generation templates; compiling the second source code to provide second compiled code; performing integration testing to determine whether the behavior of the one or more acceptable modified workflow models used to generate the second source code matches the behavior of the second compiled code; providing the second compiled code to a deployment manager based on the behavior of the one or more acceptable workflow models used to generate the second source code matching the behavior of the second compiled code; and providing the application based on the second compiled code from the deployment manager to a production environment. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
12. A system, comprising:
-
a processor; a memory including instructions that, upon being executed by the processor, cause the system to; obtain one or more workflow models; test the one or more workflow models in a test environment to identify one or more acceptable workflow models; store the one or more acceptable workflow models in a model repository; obtain one or more code generation templates based on the one or more workflow models; generate first source code based on the one or more acceptable workflow models obtained from the model repository and the one or more code generation templates; compile the first source code to provide first compiled code; perform integration testing to determine whether a behavior of the one or more acceptable workflow models used to generate the first source code matches the behavior of the first compiled code; modify at least one of the one or more acceptable workflow models to provide at least one modified workflow model based on the behavior of the one or more acceptable workflow models used to generate the first source code not matching the behavior of the first compiled code; test the at least one modified workflow model in the test environment using interpretive components comprising interpreted code generated from the at least one modified workflow model and generated code components comprising one or more unchanged components of the first compiled code to identify one or more acceptable modified workflow models; generate second source code based on the one or more acceptable modified workflow models obtained from the model repository and the one or more code generation templates; compile the second source code to provide second compiled code; perform integration testing to determine whether the behavior of the one or more acceptable modified workflow models used to generate the second source code matches the behavior of the second compiled code; provide the second compiled code to a deployment manager based on the behavior of the one or more acceptable workflow models used to generate the second source code matching the behavior of the second compiled code; and provide an application based on the second compiled code from the deployment manager to a production environment. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. A non-transitory computer-readable storage medium including instructions that, upon being executed by a processor, cause the processor to:
-
obtain one or more workflow models; test the one or more workflow models in a test environment to identify one or more acceptable workflow models; store the one or more acceptable workflow models in a model repository; obtain one or more code generation templates based on the one or more workflow models; generate first source code based on the one or more acceptable workflow models obtained from the model repository and the one or more code generation templates; compile the first source code to provide first compiled code; perform integration testing to determine whether a behavior of the one or more acceptable workflow models used to generate the first source code matches the behavior of the first compiled code; modify at least one of the one or more acceptable workflow models to provide at least one modified workflow model based on the behavior of the one or more acceptable workflow models used to generate the first source code not matching the behavior of the first compiled code; test the at least one modified workflow model in the test environment using interpretive components comprising interpreted code generated from the at least one modified workflow model and generated code components comprising one or more unchanged components of the first compiled code to identify one or more acceptable modified workflow models; generate second source code based on the one or more acceptable modified workflow models obtained from the model repository and the one or more code generation templates; compile the second source code to provide second compiled code; perform integration testing to determine whether the behavior of the one or more acceptable modified workflow models used to generate the second source code matches the behavior of the second compiled code; provide the first compiled code to a deployment manager based on the behavior of the one or more acceptable workflow models used to generate the first source code matching the behavior of the first compiled code; and provide an application based on the first compiled code including at least one modified model in response to determining the at least one modified model operates as designed from the deployment manager to a production environment. - View Dependent Claims (19, 20)
-
Specification