Software development using re-usable software components
First Claim
1. A computer program product, the computer program product being tangibly embodied on a non-transitory computer-readable storage medium and comprising instructions that, when executed, are configured to cause at least one computing device to:
- access a previously created software component library in which each software component is associated with a respective annotation describing properties, requirements and dependencies of the software component as determined from a respective knowledge base, wherein a first software component having a first annotation is linked to a second software component having a second annotation based on a semantic relationship between a property of the first software component and a property of the second software component;
import the first software component into a current software application under development and verify a first compliance of the first software component with the current software application architecture;
verify a second compliance of the first software component with the second software component in the previously created software component library;
include the second software component within the current software application under development, based on the second compliance; and
generate a graphical user interface displaying a software architecture diagram for the current software application under development, wherein the first software component and the second software component are represented in the software architecture diagram and selectable therefrom for inclusion from the previously created software component library and for verification of the first and second compliances.
1 Assignment
0 Petitions
Accused Products
Abstract
A component selector may select a first software component stored in a software component library in conjunction with a first annotation, the first annotation being linked to a second annotation of a second software component via a link. An evaluation engine may evaluate a property expressed by the first annotation relative to a requirement expressed by the second annotation, and thereby verify compliance of the first software component and the second software component for inclusion within a software application being developed. A component update monitor may re-verify the compliance, based on an update to at least one of the first software component and the second software component.
-
Citations
19 Claims
-
1. A computer program product, the computer program product being tangibly embodied on a non-transitory computer-readable storage medium and comprising instructions that, when executed, are configured to cause at least one computing device to:
-
access a previously created software component library in which each software component is associated with a respective annotation describing properties, requirements and dependencies of the software component as determined from a respective knowledge base, wherein a first software component having a first annotation is linked to a second software component having a second annotation based on a semantic relationship between a property of the first software component and a property of the second software component; import the first software component into a current software application under development and verify a first compliance of the first software component with the current software application architecture; verify a second compliance of the first software component with the second software component in the previously created software component library; include the second software component within the current software application under development, based on the second compliance; and generate a graphical user interface displaying a software architecture diagram for the current software application under development, wherein the first software component and the second software component are represented in the software architecture diagram and selectable therefrom for inclusion from the previously created software component library and for verification of the first and second compliances. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer-implemented method for executing instructions stored on a non-transitory computer readable storage medium, the method comprising:
-
accessing a previously created software component library in which each software component is associated with a respective annotation describing properties, requirements and dependencies of the software component as determined from a respective knowledge base, wherein a first software component having a first annotation is linked to a second software component having a second annotation based on a semantic relationship between a property of the first software component and a property of the second software component; importing the first software component into a current software application under development and verify compliance of the first software component with the current software application architecture; verifying compliance of the first software component with the second software component in the previously created software component library; including the second software component within the current software application under development, based on the compliance; and generate a graphical user interface displaying a software architecture diagram for the current software application under development, wherein the first software component and the second software component are represented in the software architecture diagram and selectable therefrom for inclusion from the previously created software component library and for verification of the first and second compliances. - View Dependent Claims (11, 12, 13, 14)
-
-
15. A system including instructions recorded on a non-transitory computer-readable storage medium, and executable by at least one processor, the system comprising:
-
a component selector configured to access a previously created software component library in which each software component is associated with a respective annotation describing properties, requirements and dependencies of the software component as determined from a respective knowledge base, wherein a first software component having a first annotation is linked to a second software component having a second annotation based on a semantic relationship between a property of the first software component and a property of the second software component, the component selector further configured to import the first software component into a current software application under development and verify compliance of the first software component with the current software application architecture; an evaluation engine configured to verify compliance of the first software component with the second software component in the previously created software component library and include the second software component within the current software application under development, based on the compliance; a component update monitor configured to re-verify the compliance, after an update to at least one of the first software component and the second software component in the previously created software component library; and a component configured to generate a graphical user interface displaying a software architecture diagram for the current software application under development, wherein the first software component and the second software component are represented in the software architecture diagram and selectable therefrom for inclusion from the previously created software component library and for verification of the first and second compliances. - View Dependent Claims (16, 17, 18, 19)
-
Specification