Dependency resolution in polyphasic modules
First Claim
Patent Images
1. A computer-implemented method for facilitating the development, maintenance, and execution of a software program, comprising:
- obtaining a module declaration for a module to be used in the software program;
resolving one or more dependencies of the module using the module declaration and a list of available modules for the software program; and
using one or more local dependencies associated with the resolved dependencies to identify a set of locally connected modules to be used in the software program, wherein the set of locally connected modules are loaded by a single class loader;
creating an execution context containing the set of locally connected modules, wherein creating the execution context containing the locally connected modules involves;
selecting a dominant class from a set of identically named classes in the execution context; and
exposing the dominant class to other execution contexts associated with the software program; and
using the execution context to execute the software program.
1 Assignment
0 Petitions
Accused Products
Abstract
Some embodiments provide a system that facilitates the development, maintenance, and execution of a software program. During operation, the system obtains a module declaration for a module to be used in the software program. Next, the system resolves one or more dependencies of the module using the module declaration and a list of available modules for the software program. Finally, the system uses the resolved dependencies to manage the software program throughout the life cycle of the software program.
31 Citations
20 Claims
-
1. A computer-implemented method for facilitating the development, maintenance, and execution of a software program, comprising:
-
obtaining a module declaration for a module to be used in the software program; resolving one or more dependencies of the module using the module declaration and a list of available modules for the software program; and using one or more local dependencies associated with the resolved dependencies to identify a set of locally connected modules to be used in the software program, wherein the set of locally connected modules are loaded by a single class loader; creating an execution context containing the set of locally connected modules, wherein creating the execution context containing the locally connected modules involves; selecting a dominant class from a set of identically named classes in the execution context; and exposing the dominant class to other execution contexts associated with the software program; and using the execution context to execute the software program. - View Dependent Claims (2, 3, 4, 5, 6, 15, 16)
-
-
7. A system for facilitating the development, maintenance, and execution of a software program, comprising:
-
a software development kit (SDK) for the software program; and a runtime system for the software program, wherein the SDK and the runtime system are configured to; obtain a module declaration for a module to be used in the software program; resolve one or more dependencies of the module using the module declaration and a list of available modules for the software program; and use one or more local dependencies associated with the resolved dependencies to identify a set of locally connected modules to be used in the software program, wherein the set of locally connected modules are loaded by a single class loader; create an execution context containing the set of locally connected modules, wherein creating the execution context containing the locally connected modules involves; selecting a dominant class from a set of identically named classes in the execution context; and exposing the dominant class to other execution contexts associated with the software program; using the execution context to execute the software program. - View Dependent Claims (8, 9, 10, 11)
-
-
12. A non-transitory computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method for facilitating the development, maintenance, and execution of a software program, the method comprising:
-
obtaining a module declaration for a module to be used in the software program; resolving one or more dependencies of the module using the module declaration and a list of available modules for the software program; and using one or more local dependencies associated with the resolved dependencies to identify a set of locally connected modules to be used in the software program, wherein the set of locally connected modules are loaded by a single class loader; creating an execution context containing the set of locally connected modules, wherein creating the execution context containing the locally connected modules involves; selecting a dominant class from a set of identically named classes in the execution context; and exposing the dominant class to other execution contexts associated with the software program; and using the execution context to execute the software program. - View Dependent Claims (13, 14, 18, 19, 20)
-
-
17. The computer-implemented 1, wherein the dominant class is manually selected.
Specification