It seems to me they both derive from Feature Oriented Programming. The idea behind is to arrange the design of a system architecture in a set of views each one defining the way the system address a function.
In use case slices this is done at the M1 level of the OMG MDA Stack. It defines a UML profile to model the way aspects extend system classes to add properties and operations aimed at realizing specific use cases.
In DCI this is done at M0 (code) basically by means of OO techniques (not aspects as far as I understand).
Anyway it is a good question, years ago I had the same concern about Context Oriented Programming and Aspect Oriented Programming. I am still a bit convinced the former is a specific application of the latter.