GENERATING REUSABLE SOFTWARE ASSETS FROM DISTRIBUTED ARTIFACTS
First Claim
1. A computer-implemented system comprising:
- a repository to store artifacts, wherein at least a portion of the artifacts comprise software instructions that are reusable in different development environments;
an asset source executing on a computer to monitor the repository and generate a software asset based on the artifacts upon detecting a new or updated artifact within the repository; and
an asset management system executing on one or more computers to receive the software asset from the asset source and to store the software asset within an asset library.
14 Assignments
0 Petitions
Accused Products
Abstract
In general, techniques are described that facilitate the reuse of software assets within an enterprise. A software asset, as used herein, refers to a set of one or more related artifacts that have been created or harvested for the purpose of applying that asset repeatedly in subsequent development environments. A system, for example, is described that includes a repository to store artifacts, and an asset source to generate a software asset based on the artifacts. The system further includes an asset management system to receive the software asset from the asset source and store the software asset within an asset library. The system may further include a model having one or more elements, and an asset retrieval module to selectively retrieve a subset of the software assets from the asset library based on input from a user identifying one or more of the elements.
-
Citations
62 Claims
-
1. A computer-implemented system comprising:
-
a repository to store artifacts, wherein at least a portion of the artifacts comprise software instructions that are reusable in different development environments; an asset source executing on a computer to monitor the repository and generate a software asset based on the artifacts upon detecting a new or updated artifact within the repository; and an asset management system executing on one or more computers to receive the software asset from the asset source and to store the software asset within an asset library. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A computer-implemented system comprising:
-
a plurality of repositories to store artifacts; asset templates that define schemas for reusable software assets in accordance with a data description language; a plurality of asset sources executing on one or more computers to monitor the repositories and generate software assets to include metadata that reference the artifacts in accordance with schemas of the asset templates; and an asset management system executing on one or more computers to receive the software assets from the asset sources and store the software assets within an asset library. - View Dependent Claims (23, 24, 25, 26, 27)
-
-
28. A computer-implemented system comprising:
-
a plurality of repositories to store artifacts; a multi-level hierarchy of asset sources to generate software assets having metadata that reference the artifacts, wherein higher-level asset sources of the hierarchy receive software assets from low-level asset sources of the hierarchy and combine the received software assets to form aggregate software assets; and an asset management system executing on one or more computers to receive the aggregate software assets from the hierarchy of asset sources and store the aggregate software assets within an asset library. - View Dependent Claims (29, 30, 31, 32, 33, 34, 35)
-
-
36. A computer-implemented system comprising:
-
a model having one or more elements; a database to store reusable software assets; and an asset retrieval module executing on a computer to receive input from a user selecting an element of the model that graphically represent a set of software components having instructions, and to selectively retrieve a subset of the software assets from the database based on the input. - View Dependent Claims (37, 38, 39, 40)
-
-
41. A method comprising:
-
executing asset sources on one or more computers to monitor repositories and retrieve artifacts from the repositories upon detecting a new or updated artifact within the repository, wherein at least a portion of the artifacts comprise software instructions; executing asset sources on one or more computers to generate software assets based on the artifacts in a form that conforms to a data description language that identifies the artifacts within the repositories; and publishing the software assets for storage within an asset library. - View Dependent Claims (42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56)
-
-
57. A computer-readable medium comprising instructions to cause a processor to:
-
executing asset sources on one or more computers to monitor repositories and retrieve one or more artifacts from the repositories upon detecting a new or updated artifact within the repository, wherein at least a portion of the artifacts comprise software instructions; automatically generate software assets that include a data description language that describes one or more of the artifacts; and publish the software assets to an asset library.
-
-
58. A method comprising:
-
receiving input from a user selecting one or more elements of a model that graphically depicts a set of software components having instructions that are reusable on different software programs; and retrieving software assets from an asset library based on the selected elements. - View Dependent Claims (59)
-
-
60. A computer-readable medium comprising instructions to cause a processor to:
-
receive input from a user selecting one or more elements of a model that graphically depicts a software program; and retrieve software assets from an asset library based on the selected elements, wherein the software asset identifies one or more software elements having instructions that are reusable on different software programs. - View Dependent Claims (61)
-
-
62. A computer-readable medium comprising data structures that store:
-
software models having elements; and software assets having metadata that maps the software asset to the elements of the software models.
-
Specification