Automation of software application engineering using machine learning and reasoning
First Claim
1. A method for generating a computer program that reuses previously stored program components and satisfies quality requirements for an industry for which the computer program is targeted, the method comprising the steps of:
- receiving a specification of an industry classification for the computer program, a specification of Service Oriented Architecture for the computer program, a plurality of functional requirements for the computer program, a requirement for performance level of the computer program, a requirement for fault-tolerance of the computer program and a requirement for scalability of the computer program;
determining, by one or more processors, one or more of the program components that implement the plurality of functional requirements;
determining, by one or more processors, one or more combinations of the previously stored program components that include the one or more program components implement the functional requirements, are interconnected by Service Oriented Architecture, andsatisfy the requirements for (a) performance level of the computer program corresponding to the industry classification, (b) fault-tolerance of the computer program corresponding to the industry classification, and (c) scalability of the computer program corresponding to the industry classification.
1 Assignment
0 Petitions
Accused Products
Abstract
A system for automatically creating a desired software application design. In response to an input to create a desired software application design, functional requirements for the desired software application design are retrieved. Then, non-functional requirements associated with each retrieved functional requirement are retrieved. In addition, software models associated with the retrieved functional requirements are retrieved. Further, software patterns associated with the retrieved non-functional requirements are retrieved. Then, the retrieved software models are transformed into software code for the desired software application design. Also, the retrieved software patterns are applied to associated code sequences in the software code to automatically create an architecture for the desired software application design. Finally, the architecture for the desired software application design is outputted for use by a user. The decisions made during the software application design process are also captured for analysis for future improvement of the desired software application design.
109 Citations
20 Claims
-
1. A method for generating a computer program that reuses previously stored program components and satisfies quality requirements for an industry for which the computer program is targeted, the method comprising the steps of:
-
receiving a specification of an industry classification for the computer program, a specification of Service Oriented Architecture for the computer program, a plurality of functional requirements for the computer program, a requirement for performance level of the computer program, a requirement for fault-tolerance of the computer program and a requirement for scalability of the computer program; determining, by one or more processors, one or more of the program components that implement the plurality of functional requirements; determining, by one or more processors, one or more combinations of the previously stored program components that include the one or more program components implement the functional requirements, are interconnected by Service Oriented Architecture, and satisfy the requirements for (a) performance level of the computer program corresponding to the industry classification, (b) fault-tolerance of the computer program corresponding to the industry classification, and (c) scalability of the computer program corresponding to the industry classification. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A data processing system for generating a computer program that reuses previously stored program components and satisfies quality requirements for an industry for which the computer program is targeted, comprising:
-
a bus system; a computer-readable storage device connected to the bus system, and a set of program instructions stored on the storage device; and a processing unit connected to the bus system, wherein the processing unit executes the set of program instructions to; receive a specification of an industry classification for the computer program, a specification of Service Oriented Architecture for the computer program, a plurality of functional requirements for the computer program, a requirement for performance level of the computer program, a requirement for fault-tolerance of the computer program and a requirement for scalability of the computer program; determine one or more of the program components that implement the plurality of functional requirements; determine one or more combinations of the program components that include the one or more program components and implement the functional requirements, are interconnected by Service Oriented Architecture, and satisfy the requirements for (a) performance level of the computer program corresponding to the industry classification, (b) fault-tolerance of the computer program corresponding to the industry classification, and (c) scalability of the computer program corresponding to the industry classification.
-
-
17. A computer program product stored in a non-transitory computer-readable storage device and computer readable program code stored on the storage device generating a computer program that reuses previously stored program components and satisfies quality requirements for an industry for which the computer program is targeted, the computer readable program code comprising:
-
computer readable program code to receive a specification of an industry classification for the computer program, a specification of Service Oriented Architecture for the computer program, a plurality of functional requirements for the computer program, a requirement for performance level of the computer program, a requirement for fault-tolerance of the computer program and a requirement for scalability of the computer program; computer readable program code to determine, by one or more processors, one or more of the program components that implement the plurality of functional requirements; computer readable program code to determine, by one or more processors, one or more combinations of the program components that include the one or more program components and implement the functional requirements, are interconnected by Service Oriented Architecture, and computer readable program code to satisfy the requirements for (a) performance level of the computer program corresponding to the industry classification, (b) fault-tolerance of the computer program corresponding to the industry classification, and (c) scalability of the computer program corresponding to the industry classification. - View Dependent Claims (18, 19, 20)
-
Specification