С.Ковалёв -- теория категорий как математическое...
DESCRIPTION
Доклад Сергея Ковалёва (ИПУ РАН) "Теория категорий как математическое основание моделеориентированной системной инженерии" на 96 заседании Русского отделения INCOSE, 12 ноября 2014г.TRANSCRIPT
ТЕОРИЯ КАТЕГОРИЙ
КАК МАТЕМАТИЧЕСКАЯ ОСНОВА
МОДЕЛЬНО-ОРИЕНТИРОВАННОЙ
СИСТЕМНОЙ ИНЖЕНЕРИИ
1
Ковалёв С.П.
Институт проблем управления РАН [email protected]
Модельно-ориентированная системная
инженерия (MBSE)
ИПУ РАН, 2014 2
Редукция инженерной деятельности к формированию, обработке
и преобразованию комплексов разнородных компьютерных
моделей, отражающих все части и аспекты изделий
Применение стандартных и
специализированных моделей
Автоматизированное
метамоделирование
Расчет и оптимизация интегральных
характеристик изделий по модельным
сборочным чертежам (мегамоделям)
Автоматическая генерация
информационного выхода процессов
жизненного цикла изделий [Vitech corp., 2011]
Многообразие языков и инструментов MBSE
ИПУ РАН, 2014 3
[Andersson H., 2009]
Проблемы масштабирования MBSE
Слабая совместимость моделей и средств моделирования от
разных разработчиков
Отсутствует общая концепция интеграционного интерфейса для моделей
Трактовка модели как единого целого
Слабо проработаны механизмы разделения больших моделей на части
Плохо поддерживается трассирование требований к фрагментам моделей
Трудоемкость внесения изменений в языки моделирования
Непригодность традиционной инженерной математики для
строгого описания процессов системной инженерии
Отсутствуют вариационные принципы и законы сохранения
Системные решения принимаются интуитивно либо копированием образца
Требуется теоретическая база MBSE
ИПУ РАН, 2014 4
Приемы сборки сложных технических изделий
ИПУ РАН, 2014 5
«Подгонка» части так, чтобы оно
подходило к целому (загрузка)
Установка части в «гнездо»,
предусмотренное в целом
(подстановка)
«Приклеивание» части к целому при
помощи промежуточного компонента
(соединение)
Приемы комплексирования программных
систем
ИПУ РАН, 2014 6
Пример: комплексирование
распределенной вычислительной
среды типа Grid
Интерфейсы Интерфейс – часть компонента, «видимая» системой
Формально: интерфейс компонента P к системе S – это слабейшее предположение относительно P, позволяющее доказать правильность S (Parnas D., 2010)
Интерфейсы технических изделий
Резьба
Аналого-цифровой преобразователь
Транспортный узел
Интерфейсы программ
Сигнатура процедуры (декларация класса, WSDL-описание веб-сервиса, …)
Схема базы данных
Для моделей произвольного вида общепринятое понятие интерфейса еще не сформировалось
ИПУ РАН, 2014 7
Трансформации моделей Трансформация (refinement) – шаг процесса реализации изделия
(движение от абстрактного к конкретному)
Трансформации моделей технических изделий
«Убирание лишнего» из куска мрамора (Микеланджело)
Генерация файла задания для станка с ЧПУ или 3D-принтера
Трансформации моделей программ
Логический синтез программ: конструктивное доказательство
формулы x y R(x, y) порождает алгоритм вычисления
y = y(x), удовлетворяющего требованию R
Модельно-управляемая архитектура (MDA): языки QVT
(Query/View/Transformation) для преобразования PIM в PSM
Двумерный технологический процесс разработки системы
По горизонтали – операции (де)композиции
По вертикали – трансформации
ИПУ РАН, 2014 8
Теория категорий – математический аппарат
системной инженерии
Теоретико-категорная формализация разработки систем
(Goguen J. et al, since 1973)
Объекты – формальные модели системных единиц (компонентов и систем)
Морфизмы – формальные схемы операций разработки систем
Композиция морфизмов – построение многошаговых процессов
разработки систем
Тождественные морфизмы – «ничегонеделание»
Диаграммы – конфигурации (сборочные чертежи, мегамодели) систем
Функторы – переходы между технологиями разработки систем,
сохраняющие структуру процессов
g h B C 1P P Q 1Q
f g ◦ f
A
ИПУ РАН, 2014 9
Пример категории
ИПУ РАН, 2014 10
Объекты – все частично упорядоченные множества
Морфизмы – все монотонные отображения
Конструкции в категориях Описание свойств объектов через морфизмы
Принцип «черного ящика»
Независимость результатов многошаговых процессов от порядка
их прослеживания
Ассоциативность композиции
Коммутативность диаграмм
Универсальные конструкции – приемы синтеза систем
Копредел диаграммы – система, состоящая из компонентов и взаимосвязей
P («наименьшее общее кратное»)
G V T
S
Терминальный объект – элементарная неструктурированная модель
X 1 (пример в Set – одноэлементное множество)
Пределы, квадраты Ван Кампена, категории запятой, скетчи, …
ИПУ РАН, 2014 11
Опыт приложения теории категорий
в компьютерных науках
ИПУ РАН, 2014 12
Область
приложения
Авторы Объекты Морфизмы Конструкции
Денотационная
семантика языков
программирования
Scott D., Lambek J.,
Вольфенгаген В.Э. et al
Типы данных Вычислительные
процедуры
Декартово замкнутые
категории,
неподвижные точки
функторов, монады
Алгебраическая
семантика типов
данных
Goguen J., Rutten J.,
Adámek J. et al
Алгебраические
модели типов
данных
Гомоморфизмы Инициальные
алгебры,
терминальные
коалгебры
Системы
переписывания
графов
Ehrig H., Féraud L.,
Соловьев С.В. et al
Оснащенные
графы
Процедуры
редактирования
графов
Двойные кодекартовы
квадраты
Моделирование
параллельных
вычислений
Winskel G., Goubault E.,
Хусаинов А.А.,
Вирбицкайте И.Б. et al
Структуры
параллельных
вычислений
Бисимуляции (Ко)рефлексии,
(ко)гомологии
Информационное
моделирование
Goguen J., Graves H.,
Бениаминов Е.М. et al
Понятия Отношения Топосы, институции
Формальные
технологии
проектирования
программных
систем
Goguen J., Fiadeiro J.L.,
Diskin Z., Srinivas Y.V.,
Ковалѐв С.П. et al
Модели
компонентов и
систем
Операции
разработки
систем
Копределы,
унивалентные
корефлекторы, скетчи
Примеры других приложений теории категорий Теория систем управления
Анализ схем потоков сигналов
как диаграмм в моноидальных
категориях (Baez J., 2014)
Материаловедение (materiomics)
Расчет состава слоистых композитных
материалов над категорными схемами
(Gieza T. et al, 2012)
Нейронауки
Формирование целостных образов в мозгу
путем вычисления копределов
(Gómez J., 2009)
Теоретическая физика
ИПУ РАН, 2014 13
[Baez J., 2014]
[Gieza T., 2012]
[Gómez J., 2009]
Конфигурации систем и оптимизация
архитектуры Категория c-DESC
Объекты – формальные модели компонентов и систем
Морфизмы – действия по интеграции компонентов в системы
Класс Conf всех конфигураций (мегамоделей) – c-DESC-диаграмм, описывающих акты сборки систем
Любая конфигурация имеет копредел
Методы сборки систем – подклассы вида Cd Conf
Выявление оптимальной архитектуры (architecture mining)
Рассматривается класс Cd S, где S Ob c-DESC, состоящий из всех
диаграмм из Cd, имеющих копредел с вершиной S
В классе Cd S ищутся диаграммы, экстремальные по различным
критериям (количество узлов, длина критического пути и т.д.)
ИПУ РАН, 2014 14
Интерфейсы Категория интерфейсов SIG, функтор sig : c-DESC SIG
Точность: sig унивалентен (faihtful – инъективен на каждом Mor(A, B))
Реализуемость: имеется функтор дискретной реализации
sig* : SIG c-DESC
sig ◦ sig* = 1SIG
Для всех I Ob SIG, S Ob c-DESC имеется биекция
sig : Mor(sig*(I), S) Mor(I, sig(S))
Следовательно, имеется сопряжение функторов sig* ⊣ sig с тождественной
единицей
ИПУ РАН, 2014 15
р sig(p)
A B sig(A) sig(B)
q sig(q)
sig
р sig(p)
sig*(I) S sig I sig(S)
q sig(q)
Интерфейсы и конфигурации Закон непротиворечия: для любых c-DESC-диаграмм , , если
sig ◦ = sig ◦ и Conf, то Conf
Естественность (в «сильном» смысле): копредел sig-образа любой конфигурации является sig-образом ее копредела
Функтор sig поднимает копределы всех конфигураций
Можно доказать, что функтор sig сохраняет копределы всех конфигураций
(т.е. sig-образ копредела любой конфигурации является копределом ее sig-
образа)
V sig sig ◦ sig(V)
ИПУ РАН, 2014 16
Трансформации моделей Категория r-DESC
Объекты – формальные модели (Ob r-DESC = Ob c-DESC)
Морфизмы – трансформации
Любой c-DESC-изоморфизм является трансформацией
Любой набор трансформаций объектов любой конфигурации
порождает трансформацию собираемой из них системы как
целого
A B C V
⇣
A' B' C' V ' Q ↗
ИПУ РАН, 2014 17
Формальные технологии MBSE Конфигурирования: пары вида c-DESC, Conf
Специфицирования: тройки вида c-DESC, Conf, sig
Проектирования (architecture school – Fiadeiro J. et al, 2003): четверки вида c-DESC, Conf, sig, r-DESC
Морфизмы формальных технологий проектирования
c-DESC1, Conf1, SIG1, r-DESC1
Наборы функторов вида: cm Dcm sm rm
c-DESC2, Conf2, SIG2, r-DESC2,
где:
cm ◦ Conf1 Conf2 (сохранение конфигураций)
cm сохраняет копределы всех диаграмм из Conf1 (естественность)
sig2 ◦ cm = sm ◦ sig1 (сохранение интерфейсов)
rm(i) = cm(i) для любого i Iso c-DESC1 (согласованность с
трансформациями)
ИПУ РАН, 2014 18
Пример формальной технологии:
сценарное моделирование
ИПУ РАН, 2014 19
Сценарий – частично упорядоченное множество событий
Интеграция сценариев – монотонные отображения
Конфигурации – прямые суммы и однособытийные «склейки»
Интерфейс сценария – множество событий
Трансформация сценария – «раскрытие» событий до
подсценариев с полным наследованием порядка
Теоретико-категорный подход
к масштабированию в MBSE
ИПУ РАН, 2014 20
Рассматриваются проблемы, трудоемкость решения которых возрастает по мере роста масштаба системы:
Согласование моделей, в т.ч. трассирование
Расчет и оптимизация интегральных характеристик изделия
…
Строятся теоретико-категорные конструкции, формально описывающие решения на абстрактном концептуальном уровне
Путем вычислений в категориях оцениваются свойства решений, выбирается оптимальная из альтернатив (по заданным критериям – стоимость, надежность и т.д.)
Соответствующая абстрактная конструкция интерпретируется в понятиях подходящей технологии
Выбираются либо создаются инструменты для автоматизированной реализации выбранного решения
Распараллеливание – разбиение системы на компоненты, взаимно независимые на уровне интерфейсов
Формально, разбиение – c-DESC-коконус со следующими свойствами:
(1) Основание коконуса дискретно
(2) – подкоконус копредела некоторой конфигурации
(3) sig ◦ – копредел (т.е. копроизведение)
(4) Никакой собственный подкоконус в не удовлетворяет условию (3)
A B C sig(A) sig(B)
Q ↗ sig(Q)
sig ◦
V sig(V)
Сумма – разбиение, которое само является копределом
Распараллеливание
ИПУ РАН, 2014 21
sig
Любой сценарий допускает любое разбиение на непустые подсценарии
Сумма – разбиение на взаимно несравнимые (невзаимодействующие) подсценарии, т.е. распараллеливание
Оптимизация распараллеливания
Самое мелкое распараллеливание – разбиение на компоненты связности
Самое крупное «распараллеливание» – сингулярное (однокомпонентное)
Сопоставление каждому сценарию множества его связных компонент задает функтор из Pos в Set, сопряженный слева к функтору дискретной реализации интерфейсов сценариев
Распараллеливание сценариев
ИПУ РАН, 2014 22
Трассирование Трассирование – прослеживание воплощения требований
(задач) в разнородных моделях
Назначение трассирования
Проверка требований
Локализация и синхронизация
модификаций
Недопущение побочных эффектов
от модификаций
Проблемы трассирования
Перепутывание задач
друг с другом (tangling)
Рассеивание задач по системе (scattering)
Пересечение задачами единиц модульной архитектуры (crosscutting)
Слабая инструментальная поддержка трассирования
ИПУ РАН, 2014 23
[Vitech corp., 2011]
Пример трассирования: система технического
обслуживания и ремонта
ИПУ РАН, 2014 24
ведение реестра оборудования документооборот
ведение реестра объектов мониторинг состояния объекта
Теоретико-категорная формализация
трассирования
ИПУ РАН, 2014 25
Трассирование трансформации r : T S
Разметка модели S классами задач, из которых состоит T
Трасса – действие по интеграции t : S T, двойственное к
трансформации (t = rop)
sig(t) должен иметь правый обратный (чтобы сохранить трассируемость
на уровне интерфейсов при интеграции S в большую систему)
Пример: любая трансформация сценариев трассируема
r s : sig(t) ◦ s = 1sig(T)
T S sig(T) sig(S)
t = rop sig(t)
sig
Метамодель
интеллектуального дома:
Размещение пожарных датчиков:
Пример модели дома,
оснащенного датчиками:
Пример рассеянной задачи: пожарная
сигнализация для интеллектуального дома
ИПУ РАН, 2014 26
[Groher I., Voelter M., 2007]
Различные атрибуты паспорта формируются в разнородных
процессах
Пример рассеянной задачи: ведение паспорта
производственно-технологического объекта
ИПУ РАН, 2014 27
Техническое обслуживание
и ремонт оборудования
Процедуры корпоративного
управления
Классификация и кодирование
Энергетическое обследование
Верификация данных
Информационная модель (паспорт) объекта
Технические характеристики
объекта
Сведения о собственности
объекта
Коды единиц объекта
Энергетические показатели
объекта
Корректировки ошибок
паспорта
…
Аспектно-ориентированный подход
к моделированию рассеянных задач Аспектно-ориентированное программирование (Kiczales G. et al.,
1997)
Оформление рассеянных программно-технических задач (журналирование,
обработка ошибок и др.) особыми блоками кода – аспектами
Специфицирование мест вставки аспектов в базовую программу
Автоматическая генерация программного кода со вставками аспектов
(связывание – weaving)
Пример: AspectJ (аспектно-ориентированное расширение языка Java)
Аспектно-ориентированное моделирование
Идентификация аспектов (разметка моделей классами задач)
Связывание аспектов (рассеивание моделей аспектов по базовым моделям)
Модуляризация аспектов (оформление моделей аспектов в виде единиц
модульной архитектуры)
Пример: XWeave (моделирование интеллектуального дома)
ИПУ РАН, 2014 28
Теоретико-категорная семантика
аспектно-ориентированного подхода Аспект – фрагмент модели, реализующий отдельный класс задач
Аспектно-ориентированная модель (АО-модель) – пара A, l : sig(A) L, где:
A Ob c-DESC (модульная основа)
l – разметка интерфейса аспектами (sig-образ трассы – «история» получения модели из задач на уровне интерфейсов)
Интеграция АО-моделей – пара морфизмов p, q:
A, l : sig(A) L
p sig(p) q
B, m : sig(B) M
ИПУ РАН, 2014 29
Аспектно-ориентированное моделирование
сценариев
Аспектная структура сценария – разметка (labeling) классами
задач
Аспектно-ориентированный сценарий – помеченное частично-упорядоченное множество
Морфизм АО-сценариев – монотонное отображение, сохраняющее разметку
Аспект – непустой сценарий, все события которого имеют одну и ту же метку
ИПУ РАН, 2014 30
Формальные технологии аспектно-
ориентированного проектирования Категория AO – все АО-модели и все действия по их интеграции
AO – полная подкатегория в категории запятой sig SIG
Конфигурации АО-моделей – получаются из модульных конфигураций, допускающих любую корректную разметку
Интерфейсы АО-моделей – «фундаментальные» функторы: mod : A, l ↦ A (модульный интерфейс)
asp : A, l ↦ l (аспектный интерфейс)
int : A, l ↦ sig(A) (исходный интерфейс)
Дискретная реализация модульного интерфейса: mod* : A ↦ A, 1A (АО-модель с тривиальной историей)
Функтор выделения аспектной структуры АО-моделей: str : A, l ↦ codom l
Трансформации АО-моделей:
AOop-морфизмы вида r, qop, где r – трассируемая трансформация модулей
ИПУ РАН, 2014 31
Типовая мегамодель связывания аспектов Формальная спецификация связывания
База (base) B, совет (advice) W, связка (connector) C
Описание точек соединения, или срез (pointcut): j : C B
Описание точек вызова совета: e : C W
Выполнение связывания (Ковалёв С.П., 2009)
Шаг 1: «копирование» совета – вычисление 1C, e : C C W
произведения C W j
Шаг 2: «приклеивание» копий совета к базе – B j ⋈ e
вычисление кодекартова квадрата
Ограничение: естественность относительно функтора str
Свойства связывания
Наличие неразрушающего вложения базы B в результат j ⋈ e
Сохранение аспектной структуры при связывании с аспектом
Возможность представить в виде функтора ИПУ РАН, 2014 32
Пример связывания в системе управления:
спецификация связывания
ИПУ РАН, 2014 33
Компоненты системы управления моделируются АО-сценариями
B – базовая подсистема обработки событий
W – аспект изменения информационной модели объекта
управления
C – связка (изменение информационной модели может
потребоваться на различных шагах обработки событий)
Пример связывания в системе управления:
расчет мегамодели связывания
ИПУ РАН, 2014 34
Шаг 1: создание «копий» аспекта, по одной для каждой точки
связывания
Шаг 2: «приклеивание» копий аспекта к базе в точках
связывания
Совместное моделирование данных и процессов
ИПУ РАН, 2014
Трассирование данных к процессам
Разметка массивов данных задачами-источниками
Морфизм АО-технологии моделирования процессов
в АО-технологию моделирования данных
35
Апробация модельно-ориентированного подхода Автоматизированная система диспетчерского управления
ООО «Газпром энерго» (АСДУ ГПЭ, 2008-2009)
Динамическое связывание аспектов ведения информационной модели
(паспорта) энергетических объектов с процессами диспетчерского
управления
Актуализация паспортов энергетических объектов силами оперативного
персонала как основной фактор повышения наблюдаемости объектов
Автоматизированная система управления энергосбережением
города Москвы (ЕИАИС ЭЭ, 2010-2012)
Совместное моделирование данных и процессов энергосбережения
Генерация программного кода расчета показателей объектов
энергохозяйства города Москвы по паспортам объектов
Автоматизированные средства управления отдельными стадиями
жизненного цикла сложных систем
ИПУ РАН, 2014 36
Преимущества применения теории категорий
ИПУ РАН, 2014 37
Формальное технологически нейтральное выражение
принципов модельно-ориентированной системной инженерии
Возможность кратко определить основные понятия, не
«потонув» в деталях описания состава и структуры моделей
компонентов и систем
Строгое описание приемов разработки систем и доказательство
их свойств
Гармонизация разнородных технологий системной инженерии
путем сопоставления универсальных конструкций
технологическим процедурам
Возможность поставить задачу сквозной автоматизации синтеза
систем из разнородных моделей (мега-MBSE)
Теоретико-категорные конструкции,
исследованные в работе
ИПУ РАН, 2014
Формальная конструкция Содержательная интерпретация
Унивалентные корефлекторы (УКор)
Интеграционные интерфейсы
Диаграммы, копределы которых
детерминируются УКор
Конфигурации
Прообразы ретракций относительно
УКор
Трассы трансформаций
Категории запятой, порожденные УКор
АО-технологии
38
Направления дальнейших исследований Теоретические исследования
Комплексное теоретико-категорное описание модельно-ориентированного
подхода к организации полного жизненного цикла сложных изделий
Формализация распространенных технологий проектирования систем
Решение обратных задач моделирования (например восстановление
диаграммы по копределу)
Создание инструментального комплекса для автоматизации
мультимоделирования
Разработка универсального языка-«ассемблера» для записи моделей
Имитационное моделирование процессов моделирования
Адаптация категорных решателей и машин логического вывода для расчета
процессов и результатов системной инженерии
Создание генераторов системных решений в ограничениях
Апробация результатов в широком классе инженерных проектов
ИПУ РАН, 2014 39
Спасибо за внимание
ИПУ РАН, 2014 40