Service provider module dependency resolving webrev
Paul Sandoz
paul.sandoz at oracle.com
Wed Jun 20 08:42:44 PDT 2012
On Jun 20, 2012, at 3:55 PM, Jaroslav Tulach wrote:
> Dne Út 19. června 2012 16:33:42, Paul Sandoz napsal(a):
>> Hi,
>>
>> http://cr.openjdk.java.net/~psandoz/jigsaw/resolver-services/webrev/
>
> This is exactly the order I was recently thinking about when trying to extend
> the concept of "complete repository[1]" to deal with services, but it is so
> NP-completenish!
>
I think you have invented a new term :-)
>> - service provider modules dependencies are resolved after the explicit
>> dependencies have been successfully resolved.
>
> This part can be made easy with complete repository[1].
>
Would you be able to elaborate in layman's terms?
I think i might grok it: we essentially treat each service provider module dependency as a direct (or top-level) dependency.
>> - if service provider modules or their dependencies are service consumer
>> modules then the correspond service provide modules are resolved after the
>> explicit dependences and so on.
>
> In this step you have to select one of the modules that "provides a service"
> which has been requested by some module in the first step. This is the part
> when the algorithm turns into 3-SAT solver.
>
I would very like to do a mind meld with you on this!
It's interesting in that, with the current Resolver implementation, when you push service provider module dependency resolution to the end then there is no longer any backtracking above those dependencies, since they are optional.
Which i think means one can break things down into ordered sub-phases resolving the dependencies of each service provider module (which IIUC is still NP-Complete as you point out). That may make it easier to report service provider module dependency resolution issues to the developer.
> No surprise, things may get unclear and complicated (which is how I understood
> your further discussion with Alan).
Yes, i am trying to run the resolver in my head. It's concerns me if developers have to do the same.
Paul.
More information about the jigsaw-dev
mailing list