Метаданные языков визуализации, специфицирования, конструирования и документирования (языки ВСКД) на примере UML, SysML (Илья Захаров, OSEDUCONF-2016)

Материал из 0x1.tv

Аннотация

Докладчик
Илья Захаров™.jpg
Илья Захаров™

Создатели UML в первых строках Usere Guide[1] называют его языком визуализации, специфицирования, конструирования и документирования. UML — на сегодняшний день самый распространенный из таких языков, кратко — языков ВСКД. Их основная особенность — непосредственная взаимосвязь с современными естествознанием и философией.

Отсюда возникают некоторые проблемы с изучением и использованием языков ВСКД, сначала привычно трактуемых с точки зрения вопросов программирования и разработки информационных систем, при том, что вся грамматика UML-2 составляет всего лишь полсотни обозначений.

Для понимания и использования языков ВСКД необходимо назвать и рассмотреть их метаданные: прежде всего — онтологический смысл понятия «объект» в современной теории познания, а также категориальные сетки и существующие в их рамках наборы понятий, посредством которых можно «понимать» объекты, проектировать и анализировать их, описывать их характеристики. Кроме того, у любой разработки объективно существуют «предельные основания» — исходные посылки, цели, которые не могут быть рационально обоснованы, т. е. предмет веры. В качестве такой «первопричины» разработки UML сами правообладатели называют идею MDA.

Доклад посвящен, прежде всего, вербализации вышеназванных вопросов — действительно, в большинстве текстов по UML они даже не упоминаются. Сделаны попытки начать обсуждение этих важнейших вопросов.

Видео

on youtube


Слайды

Метаданные языков визуализации, специфицирования, конструирования и документирования на примере UML.pdf Метаданные языков визуализации, специфицирования, конструирования и документирования на примере UML.pdf Метаданные языков визуализации, специфицирования, конструирования и документирования на примере UML.pdf Метаданные языков визуализации, специфицирования, конструирования и документирования на примере UML.pdf Метаданные языков визуализации, специфицирования, конструирования и документирования на примере UML.pdf Метаданные языков визуализации, специфицирования, конструирования и документирования на примере UML.pdf Метаданные языков визуализации, специфицирования, конструирования и документирования на примере UML.pdf Метаданные языков визуализации, специфицирования, конструирования и документирования на примере UML.pdf

Тезисы

Начать изложение хотелось бы с интересного вывода из книги «Теоретическое знание»[2], который можно считать обоснованием предлагаемых в докладе сопоставлений: «… фундаментальные теории не являются продуктом индуктивного обобщения опыта, а создаются вначале за счет трансляции концептуальных средств, заимствованных из других областей теоретического знания, и только затем обосновываются опытом…».

Из истории языков ВСКД известно, следующее: «когда все согласились, что модульные компьютерные программы лучше монолитных, начался спор о том, как строить модули … [остановились на концепции «объекта»] … сделать так, чтобы каждый модуль соответствовал одной и только одной вещи в реальном мире»[3].

Понятие «объект» в онтологии научного метода познания

Для раскрытия онтологического смысла понятия «объект» обратимся к общепризнанным работам[3] по теории познания. Вот несколько тезисов в сокращенном изложении.

  • «… если исчезнут инвариантные признаки науки, отличающие ее от других форм познания (искусства, обыденного познания, философии, религиозного постижения мира), то это будет означать исчезновение науки.»
  • «Наука ставит своей конечной целью предвидеть процесс преобразования предметов практической деятельности (объект в исходном состоянии) в соответствующие продукты (объект в конечном состоянии). Это преобразование всегда определено сущностными связями, законами изменения и развития объектов… »
  • «Поскольку в деятельности могут преобразовываться самые различные объекты — предметы природы, человек (и состояния его сознания), подсистемы общества, знаковые объекты, функционирующие в качестве феноменов культуры и т.д., — постольку все они могут стать предметами научного исследования.

Ориентация науки на изучение объектов, которые могут быть включены в деятельность (либо актуально, либо потенциально как возможные объекты ее будущего преобразования), и их исследование как подчиняющихся объективным законам функционирования и развития составляет первую главную особенность научного познания.

Эта особенность отличает его от других форм познавательной деятельности человека.»

«Наука в человеческой деятельности выделяет только ее предметную структуру и все рассматривает сквозь призму этой структуры. Как царь Мидас из известной древней легенды — к чему бы он ни прикасался, все обращалось в золото, — так и наука, к чему бы она ни прикоснулась, — все для нее предмет, который живет, функционирует и развивается по объективным законам.»

Таким образом, концептуальная ориентация на понятие «объект» в языках ВСКД жёстко и однозначно относит их к инструментам именно научной деятельности, которая в свою очередь существует в следующем пространстве форм познавательной деятельности:

  • наука;
  • обыденное познание;
  • философия;
  • религия (если говорить о методе, то лучше было бы сказать — теология, ещё точнее — апофатическая теология, так как всё остальное в основном относится к сфере религиозной философии);
  • искусство.

Фундаментальным свойством научного метода является представление обо всём как об «объекте», включая «объективизацию» других форм познания, что можно интерпретировать как универсальный метод их подмены, которая в некоторых случаях равносильна их уничтожению.

Так как для науки всё есть объект, становится достаточно ясной весьма невнятно излагаемая в книгах по языку UML тема «классификаторов» и неожиданные интерпретации почти любой конструкции языка как объекта.

Категориальные сетки и пространства понятий, характеризующих объекты различной сложности

Грамматики языков ВСКД представляют собой наборы взаимосвязанных понятий, посредством которых и представляется возможность осуществлять визуализацию, специфицирование, конструирование и документирование объектов.

Для понимания этих грамматик целесообразно сравнить их с современными представлениями об объектах в естествознании.

В западной литературе, традиционно восходящей к работам Людвига фон Берталанфи и Ильи Пригожина, важнейшей категорией, характеризующей объект, является «сложность», что можно интерпретировать как одномерную категориальную сетку, в рамках которой в хронологическом порядке отражается возникновение новых понятий, раскрывающих смысл темы «сложности».

В статье Ратникова В.С. «Обновление методологической культуры в процессе освоения наукой феномена сложности», опубликованной в рамках сборника статей[4], можно проследить хронологию нарастания инструментария работы науки с категорией «сложность».

Начиная с классической науки, её можно представить в виде такой последовательности:

I этап
мир прост в смысле его фундаментального устройства, сложность связана с недостатком информации
II этап
  • применение средних значений характеристик состояния (Клаузиус)
  • применение вероятностных значений распределения величин (Максвелл)
  • статистические закономерности на фоне индивидуального движения отдельных частиц, эргодичность (Больцман)
  • вероятностные характеристики единичного микрообъекта (квантовая механика)
  • системно-структурный подход, т. е. рассмотрение числа элементов, их связей, в т.ч. обратных связей, степени и разнообразия взаимодействия (кибернетика)
  • стохастичекие системы
  • концепция информации и управления
  • соотношение сложности, организованности и разнообразия, уровни организации системы
  • понятие иерархической системы
  • модели массовой и индивидуальной случайности, внутренней сложности (Бернштейн)
  • живые системы, эволюционирующие системы
III этап
отказ от приоритета простоты, как методологического принципа научного познания
  • простые объекты со сложным поведением, т. е. «сложность простоты»
  • нелинейная динамика
  • самоорганизация как свойство сложных систем
  • эволюция как направление самоорганизации
  • неустойчивость и неравновесность, соотношение спонтанности и детерминистичности, роль флуктуаций
  • взаимодополнение жёстко-детерминистских и вероятностно-статистических моделей
  • взаимопереходы порядка и хаоса, фрактальные аттракторы, модели с наложением внутренней сложности на несколько ключевых параметров
  • существование пределов предсказуемости поведения динамических систем.

Категориальную сетку, предложенную В. С. Стёпиным[3], и распределение в ней понятий, характеризующих сложный объект, можно представить в форме таблицы.

Метаданные языков визуализации, специфицирования, конструирования и документирования-tab1-a.png
Метаданные языков визуализации, специфицирования, конструирования и документирования-tab1-b.png

Универсальные паттерны для моделирования любых объектов

Анализ категориальных сеток и систем понятий, характеризующих объекты различной сложности, указывает на существование универсальных паттернов, парадигмальных моделей.

Этот факт абсолютно подтверждается историей естествознания и является ценным прикладным результатом, так как на практике оказывается невозможным выйти за пределы существующих паттернов никому из учёных соответствующей эпохи.

Для 1-го этапа (см. Ратников) и 1-го столбца таблицы (см. Стёпин) таким «паттерном» является устройство механических часов.

Этот факт обозначен в большом количестве самых разных текстов и широко обсуждается.

Для условно 2-го этапа (см. Ратников) и 2-го столбца таблицы (см. Стёпин) «паттерном» является самоорганизующийся автомат с гомеостазом: блок управления и блок информации с системными параметрами; обратные связи, стохастические процессы в подсистемах.

Этот факт явно был назван В.С. Стёпиным, его широкое обсуждение не выглядит заметным.

Для условно 3-го этапа (см. Ратников) и 3-го столбца таблицы (см. Стёпин) «паттерном» является предложенная В.С. Стёпиным[5] схема возникновения новых уровней саморегуляции у открытых систем с саморазвитием.

Метаданные языков визуализации, специфицирования, конструирования и документирования-tab2.png
  • 1. Исходная саморегуляция.
  • 2. Новый тип саморегуляции, основанный на трансформации предшествующих уровней иерархии системы.
  • 3. Потенциально возможный уровень организации при продолжении развития системы как возможность нового типа саморегуляции.

Это перспективная парадигмальная модель, работу с которой ещё предстоит освоить.

Вместе с тем, в настоящее время в иностранных источниках, особенно метамоделях, разработанных на UNL/SysML часто встречается «паттерн» типа «ядро-оболочка».

Вот пример из документа «Common Warehouse Metamodel (CWM) Specification».

Метаданные языков визуализации, специфицирования, конструирования и документирования-tab3.png

Описание ещё одной парадигмальной модели можно увидеть в вышеназванной статье Ратникова, хотя явно она не названа.

Речь идёт о модели «наложения» внутренней сложности на несколько ключевых параметров.

Такой «паттерн» можно представить диаграммой компонентов в UML, когда «сложность» подразумевается внутри небольшого количества «черных» ящиков, а сами компоненты — «чёрные ящики» вместе с их связями и портами образуют простую обозримую понятную схему.

Этот «паттерн» можно было бы назвать, например, «внутренняя сложность».

Итого в распоряжении современных ученых есть пять парадигмальных моделей.

Их наличие и содержание даёт обоснованный ответ на вопрос, часто обсуждаемый в книгах по UML: в какой последовательности надо составлять диаграммы.

Предельные основания разработки UML/SysML

Воспользуемся цитатами из книги[6] авторов, близких к первоисточникам.

  • «MDA [«Архитектура, управляемая моделью»] — не процесс разработки. Это не спецификация. Это не реализация. Это не комплекс мер по согласованию. MDA не имеет эталонной реализации».
  • «Инструменты MDA преобразуют «чистые» бизнес-модели в полноценные, развёртываемые, исполняемые приложениями с минимумом решений технологического плана.
  • «Модификация «чистой» бизнес-модели, заложенной в основу приложения, требует только обновлений в зависимых технологических областях, поэтому приложение удаётся заново сгенерировать за несколько минут».
  • «Хотя инструментарий MDA в конечном итоге надеется заместить все языки программирования, в своём текущем состоянии он не обладает достаточной изощрённостью… »
  • «Цель MDA просто формулируются, но до её полноценной реализации ещё далеко».

То есть MDA направлено в идеале на создание универсальных объектов — «кнопок», нажатие на которые приводит, например, к распечатке на 3D-принтере нужной вещи или изменению порядка вещей.

Мне кажется, что предыдущие пятьсот лет эта концепция называлась…

Выводы

  • Выявление и изучение метаданных языков ВСКД способствует их изучению, пониманию и использованию.
  • Без них невозможно понимать перспективы и пути дальнейшего развития как самих языком ВСКД, так и методов, с ними связанных.
  • Кроме того, изучение метаданных позволяет получить обоснованные ответы на «трудные» вопросы, слабо освещенные в литературе по языкам ВСКД.


Примечания и отзывы

  1. Grady Booch, James Rumbaugh, Ivar Jacobson, Введение в UML от созда- телей языка. — М.: ДМК Пресс, 2012. — 494с., ISBN 978-5-94074-644-7
  2. Степин В. С., Теоретическое знание. — М.:Прогресс-Традиция, 2000. — 744с., ISBN 5-89826-053-6
  3. Edward Yourdon, Carl Argila, Структурные модели в объектно ориентированном анализе и проектировании. — М.:ЛОРИ, 1999. — 268с., ISBN 5-85582-057-2
  4. Лисеев И. К., Садовский В. Н., коллектив авторов, Системный подход в современной науке. — М.: Прогресс-Традиция, 2004. — 563с., ISBN 5-89826-146-Х
  5. Киященко Л. П., Степин В. С., коллектив авторов, Постнеклассика. Философия, наука, культура. — СПб.: Мiръ, 2009. — 672с., ISBN 978-5-98846-037-4
  6. Dan Pilone, Neil Pitman, UML 2 для программистов. — СПб.: Питер, 2012. — 240с., ISBN 978-5-459-01684-0

Plays:28   Comments:0