Dynamic software composition in a component-based software system
First Claim
1. A system for adaptive functional composition of software components, to fulfill requests for higher-order functions, comprising a processor for utilizing:
- a catalog of system resources including tools, applications, web services, and data repositories each implementing one or more functions and constraint information relating to the system resources;
a constraint solver configured to select a subset of the system resources based upon the request and the constraint information in said catalog; and
a composer configured to optimally sequence the functions and cause execution of the sequence of functions based upon the selection of system resources by said constraint solver;
wherein said catalog comprises an abstract model of functions, their inter-relationships, and their constraints;
wherein said constraint solver is configured to determine one or more sequences of functions that satisfy all constraints of the selected system resources, and to generate a function graph based thereon; and
wherein said composer is configured to generate a procedural process script from the function graph generated by said constraint solver.
1 Assignment
0 Petitions
Accused Products
Abstract
A resource catalog system comprises a catalog organized as a set of metadata structures representing distributed system resources, language for resource invocation, and a query interpreter and optimizer. Query optimization includes dynamic functional composition by modeling resources according constraints and determining constraint-satisfaction to compose an execution plan. Query optimization may also include dynamic selection and scheduling of resources by combining a resource scheduling with adaptive feedback. The resources may comprise distributed software components, application programs, shell scripts, executables, and services. The resource catalog system accepts queries for operations on distributed resources through a declarative language or a procedural language. A query optimizer derives catalog operators from a query or elsewhere and accesses the system resources according to interpretation of the catalog operators. The optimizer also retrieves information concerning the location and/or physical interfaces of the system resources to fulfill the commands specified by the catalog operators.
282 Citations
9 Claims
-
1. A system for adaptive functional composition of software components, to fulfill requests for higher-order functions, comprising a processor for utilizing:
-
a catalog of system resources including tools, applications, web services, and data repositories each implementing one or more functions and constraint information relating to the system resources; a constraint solver configured to select a subset of the system resources based upon the request and the constraint information in said catalog; and a composer configured to optimally sequence the functions and cause execution of the sequence of functions based upon the selection of system resources by said constraint solver; wherein said catalog comprises an abstract model of functions, their inter-relationships, and their constraints; wherein said constraint solver is configured to determine one or more sequences of functions that satisfy all constraints of the selected system resources, and to generate a function graph based thereon; and wherein said composer is configured to generate a procedural process script from the function graph generated by said constraint solver. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
Specification