Мне кажется, они оба являются производными от функционально-ориентированного программирования.Идея состоит в том, чтобы упорядочить дизайн архитектуры системы в виде набора представлений, каждое из которых определяет способ, которым система обращается к функции.
В срезах вариантов использования это делается на уровне M1 стека OMG MDA.Он определяет профиль UML для моделирования того, как аспекты расширяют системные классы для добавления свойств и операций, направленных на реализацию конкретных вариантов использования.
В DCI это выполняется в M0 (код) в основном с помощью методов ОО (а не аспектов).насколько я понимаю).
В любом случае, это хороший вопрос, много лет назад у меня была такая же забота о контекстно-ориентированном программировании и аспектно-ориентированном программировании.Я все еще немного убежден, что первое - это конкретное применение второго.