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;
wherein the asset management system includes;
an asset template that defines a schema for a software asset in accordance with a data description language;
an asset capture tool that identifies missing artifacts from the software asset based on the asset template;
a rules engine to generate metadata that maps the software asset to elements of a model that graphically represents a set of software components having instructions;
an asset retrieval module to receive input from a user selecting an element of a model and to selectively retrieve the software asset from the asset library based on the input and the metadata that maps the software assets to the elements of the model, wherein the asset retrieval module generates a search specification based on the user input anda scoring engine to score the software asset within the asset library against the search specification.
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.
189 Citations
41 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; wherein the asset management system includes; an asset template that defines a schema for a software asset in accordance with a data description language; an asset capture tool that identifies missing artifacts from the software asset based on the asset template; a rules engine to generate metadata that maps the software asset to elements of a model that graphically represents a set of software components having instructions; an asset retrieval module to receive input from a user selecting an element of a model and to selectively retrieve the software asset from the asset library based on the input and the metadata that maps the software assets to the elements of the model, wherein the asset retrieval module generates a search specification based on the user input and a scoring engine to score the software asset within the asset library against the search specification. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. 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, wherein the asset management system includes; a rules engine to generate metadata that maps the software asset to elements of a model that graphically represents a set of software components having instructions; an asset retrieval module to receive input from a user selecting an element of a model, and the metadata that maps the software assets to the elements of the model, wherein the asset retrieval module generates a search specification based on the user input; and a scoring engine to score the software assets within the asset library against the search specification, wherein the asset retrieval module selectively retrieves one or more of the software assets from the asset library based on the input. - View Dependent Claims (17, 18, 19, 20, 21)
-
-
22. 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 to form low-level asset sources of the hierarchy and combine the received software assets to form aggregate software assets, wherein the asset sources generate the software assets in accordance with asset templates that define schemas for the software assets in accordance with a data description language; 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, wherein the asset management system includes; an asset capture tool that generates metadata that maps the aggregate software assets to elements of a model; an asset retrieval module to receive input from a user selecting an element of a model and to selectively retrieve one or more of the software assets from the asset library based on the input, wherein the asset retrieval module generates a search specification based on the user input; and a scoring engine to score the software assets within the asset library against the search specification. - View Dependent Claims (23, 24, 25, 26)
-
-
27. A computer-implemented system comprising:
-
a model having one or more elements; a database to store reusable software assets; a rules engine to generate metadata that maps the software assets to the elements the model; 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 and the metadata that maps the software assets to elements of the model, wherein the asset retrieval module generates a search specification based on the user input; and a scoring engine to score the software asset within the asset library against the search specification. - View Dependent Claims (28)
-
-
29. 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; generating the metadata that maps the software assets to the elements of the model; receiving, with an asset retrieval module, input from a user selecting one or more elements of a model that graphically represent a set of software components having instructions; generating, with the asset retrieval module, a search specification based on the user input; scoring the software assets within the asset library against the search specification by ranking the software assets of the asset library according to the selected elements of the models; and retrieving one or more of the software assets from the asset library. - View Dependent Claims (30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40)
-
-
41. 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; generate the metadata that maps the software assets to the elements of the model; receive, with an asset retrieval module, input from a user selecting one or more elements of a model that graphically represent a set of software components having instructions; generate, with the asset retrieval module, a search specification based on the user input; score the software assets within the asset library against the search specification by ranking the software assets of the asset library according to the selected elements of the models; and retrieving one or more of the software assets from the asset library.
-
Specification