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 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 compliance of the first software component with the current software application architecture;
verify compliance of the first software component with the second software component in the software component library; and
include the second software component within the current software application under development, based on the compliance.
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.
20 Citations
23 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 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 compliance of the first software component with the current software application architecture; verify compliance of the first software component with the second software component in the software component library; and include the second software component within the current software application under development, based on the compliance. - View Dependent Claims (2, 3, 4, 5, 6, 8, 9, 10, 21)
-
-
7. (canceled)
-
11. A computer-implemented method for executing instructions stored on a non-transitory computer readable storage medium, the method comprising:
-
accessing a 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 software component library; and including the second software component within the current software application under development, based on the compliance. - View Dependent Claims (12, 14, 15, 22)
-
-
13. (canceled)
-
16. 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 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 software component library and include the second software component within the current software application under development, based on the compliance; and 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 software component library. - View Dependent Claims (17, 18, 19, 23)
-
-
20. (canceled)
Specification