IP Library Granted Patent US 7,895,563
Granted Patent B2
US 7,895,563 · App. 11/546,884 · Granted Feb 22, 2011

Managing reusable software assets

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,895,563
App. No.
11/546,884
Granted
Feb 22, 2011
Kind
B2
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.

Claims (30)

1. A computer-implemented system for managing software for assembling a software application from web-based software resources within an enterprise, comprising:

a capture module executing on the computer-implemented system to retrieve, from an asset source, a reusable software asset generated from one or more repositories of software resources, wherein the software resources are web services having functional interfaces that provide a set of functions, wherein the capture module allows a user to map data types of the web services to elements of a domain model representing a business process and to map the functions provided by the web services to the elements of the domain model, wherein upon retrieving the reusable software asset from the asset source, the capture module maps the data types and the functions of the web services to the domain model, and wherein the mappings are saved as metadata for searching to identify reusable assets;

a database to store the reusable software asset, data representative of the mapping, and information for the software resources including location information and functionality information for the software resources, the functionality information specifying the functions provided by the functional interfaces of the web services, wherein the database stores the data and the reusable software asset in a searchable form and provides access to the reusable software asset for retrieval of software resources;

an asset retrieval module executing on the computer-implemented system that presents a graphical user interface (GUI) to present a graphical view of the domain model to the user for viewing the domain model, wherein the asset retrieval module receives input from the user selecting one of the model elements of the domain model, and in response to the selection, the asset retrieval model constructs a search specification to selectively retrieve a subset of one or more software assets from the database based on the selected elements of the domain model; and

a search engine for performing a model-driven search of the database based on the search specification to select one or more of the software assets for reuse and to locate one or more of the software resources usable by a software developer for a software development project, wherein the search engine selects the one or more software assets for reuse by accessing the mappings stored by the database based on user-supplied criteria describing elements for the domain model.

2. The system of claim 1 , wherein the GUI allows the user to identify elements associated with the software resources including software components, functions, keywords, classifiers and case steps for inclusion within the search specification.

3. The system of claim 1 , wherein the domain model comprises:

a process model comprising processes and use cases; and

a structural model comprising reference components, reference interfaces, and reference functions.

4. The system of claim 3 , wherein portions of the process model are linked to reference components, reference interfaces, or reference functions of the structural model.

5. The system of claim 3 , wherein the domain model comprises a plurality of process models, portions of each process model linked to reference components, reference interfaces, or reference functions of the structural model.

6. The system of claim 1 , wherein the capture module uses synonyms to suggest mapping candidates.

7. A method for managing software for assembling a software application from web-based software resources within an enterprise, the method comprising:

retrieving, from an asset source, a reusable software asset generated from one or more repositories of software resources, wherein the software resources are web services having functional interfaces that provide a set of functions, wherein the capture module allows a user to map data types of the web services to elements of a domain model representing a business process and to map the functions provided by the web services to the elements of the domain model;

mapping the data types and the functions of the web services to the domain model upon retrieving the reusable software asset from the asset source, wherein the mappings are saved as metadata for searching to identify reusable assets;

storing the reusable software asset, data representative of the mapping, and information for the software resources including location information and functionality information for the software resources in a database, the functionality information specifying the functions provided by the functional interfaces of the web services, wherein the database stores the data and the reusable software asset in a searchable form and provides access to the reusable software asset for retrieval of software resources;

presenting a graphical user interface (GUI) to present a graphical view of the domain model to the user for viewing the domain model;

receiving input from the user selecting one of the model elements of the domain model;

constructing, with a computer, a search specification to selectively retrieve a subset of one or more software assets from the database based on the selected elements of the domain model in response to the selection; and

performing a model-driven search of the database based on the search specification to select one or more of the software assets for reuse and to locate one or more of the software resources usable by a software developer for a software development project, wherein the model-driven search selects the one or more software assets for reuse by accessing the mappings stored by the database based on user-supplied criteria describing elements for the domain model.

8. The method of claim 7 , wherein the domain model comprises:

a process model comprising processes and use cases; and

a structural model comprising reference components, reference interfaces, and reference functions.

9. The method of claim 8 , further comprising linking portions of the process model to reference components, reference interfaces, or reference functions of the structural model.

10. The method of claim 7 , further comprising ranking the software resources according to how closely they match the search specification.

11. The method of claim 7 , further comprising creating a persistent search specification for the database that can be shared between multiple users.

12. The method of claim 11 , further comprising attaching at least one software resource to the persistent search specification.

13. The method of claim 12 , further comprising publishing the portions of the search specification not met by any of the attached software resource as requirements for development of additional software resources.

14. The method of claim 11 , further comprising notifying a user when a resource is added to the database that matches the persistent search specification.

15. The method of claim 11 , further comprising publishing the persistent search specification as requirements for development of additional resources.

Assignments (16)
SECURITY INTEREST Recorded Apr 7, 2026
From: PERFORCE SOFTWARE, INC.; DELPHIX CORP.; AKANA, INC.; ROGUE WAVE SOFTWARE, INC.
To: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
Reel/Frame 075368/0968 →
RELEASE OF SECURITY INTEREST Recorded Apr 7, 2026
From: CORTLAND CAPITAL MARKET SERVICES, AS COLLATERAL AGENT
To: ROGUE WAVE SOFTWARE, INC.; AKANA, INC.; GLIFFY, INC.; DELPHIX CORP.
Reel/Frame 075365/0519 →
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Aug 7, 2019
From: BRIGHTWOOD LOAN SERVICES LLC, AS ADMINISTRATIVE AGENT AND COLLATERAL AGENT
To: AKANA, INC.; ROGUE WAVE SOFTWARE, INC.; PERFORCE SOFTWARE, INC.
Reel/Frame 049996/0115 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Jul 22, 2019
From: ANTARES CAPITAL LP, AS COLLATERAL AGENT
To: AKANA, INC.
Reel/Frame 049823/0685 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Jul 22, 2019
From: PERFORCE SOFTWARE, INC.; PERFORCE INTERMEDIATE HOLDINGS, LLC; AKANA, INC.; GLIFFY, INC.; KLOCWORK INC.; OPENLOGIC, INC.; ROGUE WAVE HOLDING CORP.; ROGUE WAVE HOLDINGS, INC.; ROGUE WAVE SOFTWARE, INC.; RWS, INC.; TOTALVIEW TECHNOLOGIES, INC.; TOTALVIEW TECHNOLOGIES LLC; VISUAL NUMERICS, INC.; ZEROTURNAROUND USA, INC.; ZEROTURNAROUND, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 049823/0752 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Jul 8, 2019
From: AKANA, INC.
To: CORTLAND CAPITAL MARKET SERVICES LLC, AS COLLATERAL AGENT
Reel/Frame 049688/0800 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 18, 2019
From: CARLSON, BRENT A.; GROSS, DAVE H.; GRASER, TIMOTHY J.; MARINER, DEBRA L.; PALOF, JOHN J.; TAMMINGA, PAUL W.
To: LOGICLIBRARY, INC.
Reel/Frame 049499/0731 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Feb 8, 2019
From: AKANA, INC.; ROGUE WAVE SOFTWARE, INC.; PERFORCE SOFTWARE, INC.
To: BRIGHTWOOD LOAN SERVICES LLC, AS COLLATERAL AGENT
Reel/Frame 048290/0223 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Feb 8, 2019
From: AKANA, INC.; ROGUE WAVE SOFTWARE, INC.; PERFORCE SOFTWARE, INC.
To: BRIGHTWOOD LOAN SERVICES LLC, AS COLLATERAL AGENT
Reel/Frame 048290/0241 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Feb 8, 2019
From: FIRST EAGLE PRIVATE CREDIT, LLC (F/K/A/ NEWSTAR FINANCIAL, LLC (NEWSTAR FINANCIAL, LLC F/K/A NEWSTAR FINANCIAL, INC.))
To: ROGUE WAVE SOFTWARE, INC.; ROGUE WAVE HOLDINGS, INC.; KLOCWORK INC.; TOTALVIEW TECHNOLOGIES, INC.; TOTALVIEW TECHNOLOGIES LLC; RWS, INC.; OPENLOGIC, INC.; VISUAL NUMERICS, INC.; AKANA, INC.
Reel/Frame 048289/0928 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Feb 8, 2019
From: AKANA, INC.
To: ANTARES CAPITAL LP, AS COLLATERAL AGENT
Reel/Frame 049859/0124 →
RELEASE OF SECURITY INTEREST Recorded Dec 6, 2016
From: MULTIPLIER CAPITAL, LP
To: AKANA, INC.
Reel/Frame 040842/0358 →
SECURITY INTEREST Recorded Nov 29, 2016
From: AKANA, INC.
To: NEWSTAR FINANCIAL, INC.
Reel/Frame 040456/0699 →
SECURITY AGREEMENT Recorded Apr 7, 2016
From: AKANA, INC.
To: MULTIPLIER CAPITAL, LP
Reel/Frame 038381/0780 →
MERGER Recorded Jan 12, 2016
From: LOGICLIBRARY, INC.
To: SOA SOFTWARE, INC.
Reel/Frame 037468/0790 →
CHANGE OF NAME Recorded Apr 15, 2015
From: SOA SOFTWARE, INC
To: AKANA, INC.
Reel/Frame 035440/0052 →