Claims
- 1. A method comprising:
receiving a distribution list comprising two or more shared resources, and two or more classified entry points into the shared resources; for each classified entry point, identifying a graph of nodes and edges reachable within the shared resources; creating a new first order resource comprising nodes reachable from first order classified entry points; creating a new second order resource comprising nodes reachable from second order classified entry points and not reachable from first order classified entry points; and creating dependency relations for nodes in the first resource depended on by nodes in the second resource.
- 2. The method of claim 1 further comprising:
creating a new third order resource comprising nodes reachable from third order classified entry points and not reachable from first or second order classified entry points; and creating dependency relations for nodes in the first and second resource depended on by nodes in the third order resource.
- 3. The method of claim 2 wherein a table mapping runtime is injected into the new second and third order resource for resolving dependency relations with explicit links.
- 4. The method of claim 2 wherein upon executing a third order classified application, the new first, second, and third order resource are loaded into the third order classified application's process address space.
- 5. The method of claim 2 wherein upon executing a second order classified application, the new first and second order resource, but not the new third order resource, are loaded into the second order classified application's process address space.
- 6. The method of claim 2 wherein upon executing a first ordered classified application, the new first order resource, but not the new second or third order resource, are loaded into the first ordered classified application's process address space.
- 7. The method of claim 1 further comprising:
creating plural additional new order resources comprising nodes reachable from entry points classified for each of the new ordered resources; and creating dependency relations for nodes in the plural new resources that depend on nodes in higher order resources.
- 8. The method of claim 7 further comprising:
creating a final order resource comprising nodes not-reachable from entry points in the distribution list; and creating dependency relations for nodes in the final order resource that depend on reachable nodes in the higher order resources.
- 9. A method of reformulating compiled resources comprising:
receiving a distribution list; converting resources in the distribution list into an internal representation; merging the internal representations into an integrated representation; from classified entry points in the distribution list, coloring reachable nodes in the integrated representation with a classification of a color classification of a highest order entry point that reaches a node; create new resources for each color classification; inject colored nodes into a new resource of its corresponding color; inject imports into new resources when nodes of the new resource depend on nodes of a color classification of a higher order; and inject exports into new resources when nodes of the new resource are depended on by nodes of a color classification of a lower order.
- 10. The method of claim 9 further comprising:
injecting a table mapping runtime into new resources with imports.
- 11. The method of claim 9 wherein coloring nodes reachable in the integrated representation comprises pushing descendant nodes into a pending list.
- 12. The system of claim 11 wherein nodes are basic blocks, and already colored basic blocks taken from the pending list are marked for requiring import and export relations.
- 13. The method of claim 9 wherein the created new resources have a one-way dependency relationship wherein no higher order color classification new resource depends on any lower order color classification new resource.
- 14. A computer system comprising:
a CPU coupled to main memory and secondary memory; and the memory comprising a node identifier, a resource reformulator, a dependency redirector, plural shared resources, and a distribution list; wherein the distribution list comprises a list of classified entry points, each entry points associated with a new shared resource name, and each entry point represents a graph of reachable nodes in the shared resources.
- 15. The system of claim 14 wherein the distribution list further comprises a request to reformulate the new shared resources with the graphs of reachable nodes.
- 16. The method of claim 14 wherein the distribution list further comprises a request to the dependency redirector, to create one way dependency relations for the new shared resources.
- 17. A computer-readable medium having executable instructions for performing a method comprising:
receiving a distribution list comprising two or more shared resources, and two or more classified entry points into the shared resources; for each classified entry point, identifying a graph of nodes and edges reachable within the shared resources; creating a new first order resource comprising nodes reachable from first order classified entry points; creating a new second order resource comprising nodes reachable from second order classified entry points and not reachable from first order classified entry points; and creating dependency relations for nodes in the first resource depended on by nodes in the second resource.
- 18. The computer-readable medium of claim 17 further comprising:
creating a new third order resource comprising nodes reachable from third order classified entry points and not reachable from first or second order classified entry points; and creating dependency relations for nodes in the first and second resource depended on by nodes in the third order resource.
- 19. The computer-readable medium of claim 18 further comprising:
a table mapping runtime is injected into the new second and third order resource for resolving dependency relations with explicit links.
- 20. A computer-readable medium of claim 18 further comprising:
upon executing a third order classified application, the new first, second, and third order resource are loaded into the third order classified applications process address space.
- 21. A computer-readable medium of claim 18 further comprising:
upon executing a second order classified application, the new first and second order resource, but not the new third order resource, are loaded into the second order classified application's process address space.
- 22. A computer-readable medium of claim 18 further comprising:
upon executing a first ordered classified application, the new first order resource, but not the new second or third order resource, are loaded into the first ordered classified application's process address space.
- 23. A computer-readable medium of claim 17 further comprising:
creating plural additional new order resources comprising nodes reachable from entry points classified for each of the new ordered resources; and creating dependency relations for nodes in the plural new resources that depend on nodes in higher order resources.
- 24. A computer-readable medium of claim 23 further comprising:
creating a final order resource comprising nodes not-reachable from entry points in the distribution list; and creating dependency relations for nodes in the final order resource that depend on reachable nodes in the higher order resources.
- 25. A method of reformulating compiled resources comprising:
displaying a list of application programming interfaces available for accessing shared resources; receiving selections of application programming interfaces; converting selections into a distribution list; creating an internal representation of nodes reachable from entry points in the distribution list; and creating a new resource comprising the internal representation.
- 26. A method of reformulating compiled resources comprising:
displaying a list of application programming interfaces available for accessing shared resources; receiving selections of application programming interfaces, wherein selections include classifications; converting selections and classifications into a distribution list; creating an internal representation of nodes reachable from entry points in the distribution list; coloring reachable nodes in the integrated representation with a color classification of a highest order classified entry point that reaches a node; creating a new resources for each color classification; injecting colored nodes into a new resource of its corresponding color; injecting imports into new resources when nodes of the new resource depend on nodes of a color classification of a higher order; and injecting exports into new resources when nodes of the new resource are depended on by nodes of a color classification of a lower order.
RELATED APPLICATIONS
[0001] The present application is related to U.S. Patent Application entitled “CLASSIFYING SOFTWARE AND REFORMULATING RESOURCES ACCORDING TO CLASSIFICATIONS,” (Attorney Docket No. 3382-64758), filed on the same day as the present application, and assigned to the same assignee, is incorporated herein by reference.