Метаданные языков визуализации, специфицирования, конструирования и документирования (языки ВСКД) на примере 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
Метаданные языков визуализации, специфицирования, конструирования и документирования (языки ВСКД) на примере UML, SysML !.jpg



Plays:39   Comments:0