Аннотация:
Исследуется процедура расширения технологий модульной разработки программных систем приемами аспектно-ориентированного подхода. Расширение описано как обогащение формальных моделей программных модулей разметкой их интерфейсов классами задач, образующими аспектную структуру. Предложен новый подход к разделению ответственности (separation of concerns) путем естественной модуляризации аспектной структуры. В качестве обобщения этого подхода предложена процедура частичной модуляризации аспектной структуры. Для формализации образующихся конструкций на общесистемном уровне, не зависящем от частных парадигм программирования, привлекается теория категорий. Технологиям разработки программ отвечают категории, объектами которых служат формальные модели программ, а морфизмами — технологические операции. Аспектно-ориентированное расширение (АО-расширение) технологии описано аксиоматически как преобразование таких категорий — функтор, обладающий сопряженными подходящего вида как справа, так и слева. В качестве иллюстративного примера АО-расширения приводится событийный подход к моделированию систем.
Ключевые слова:аспектно-ориентированное программирование; трассируемость; теория категорий; формальная технология проектирования; разделение ответственности.