Проекционное моделированние

habr.png

Вступление


В прошлой статье я рассмотрел, что такое моделирование. Из этого рассказа должно было возникнуть чувство, что обмен описаниями скорее невозможен, чем возможен. У каждого субъекта свой мир в его сознании. Кто-то видит модель в виде образа, кто-то слышит ее в виде речи, кто-то осязает ее. Как мы при этом умудряемся о чем-то договориться, совершенно непонятно. И все же мы это делаем. Как это нам удается, — вопрос к психологам. Нам же стоит удивиться и воспользоваться этой возможностью, чтобы идти дальше.

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

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

Я претендую на создание подобного языка, но для описания более сложных объектов: операций, функций, объектов. Об этом языке сегодня мой рассказ.

Язык проекционного моделирования


Базовые сущности и конструкты


Объектом нашего моделирования будет 4-х мерный объект в пространстве-времени. При этом делаются следующие допущения:

  1. Мы рассматриваем евклидово пространство, в котором время абсолютно (Ньютоновская «хаменика»). Если понадобится обобщить данный язык на случай релятивистской «хаменики», тогда будем думать.
  2. Мы считаем, что все вокруг видят (осязают) одно и то же, но могут трактовать это по-разному. Этот тезис говорит о том, что каким-то мистическим образом то, как я воспринимаю синий цвет совпадает с тем, как воспринимаете его вы (конечно, это невозможно проверить!).
  3. Мы не связаны антропоморфностью. Это значит, что легко можем менять свое восприятие. Пример: при восприятии очень редких явлений мы можем представить себя живущими настолько долго и воспринимающих время настолько медленно, что рассматриваемые события сливаются перед нами в едином потоке неразличимых событий. При рассмотрении пространственных объектов отказаться от антропоморфности гораздо проще, чем при рассмотрении временных событий. Нам трудно представить себя очень медленными.


Моделирование 4-х мерного объекта состоит в проектировании его на две перпендикулярные плоскости. Первая плоскость — это пространство, вторая плоскость — это время. При проецировании рождаются проекции. Базовые сущности, из которых потом строится описание любой проекции, следующие:

  1. 3-Д Объект
  2. Операция


3-Д Объект — это аксиоматическое понятие, не требующее определения.
Операция — – это аксиоматическое понятие, не требующее определения.

3-Д объект, шириной которого можно пренебречь, — поверхность.
3-Д объект, шириной и толщиной которого можно пренебречь, — линия.
3-Д объект, толщиной, шириной и длиной которого можно пренебречь, — точка.
Операция, длительностью которой можно пренебречь, — событие.
Пренебречь, конечно, можно только в рамках решаемой задачи.

Из базовых объектов собираются конструкты двух типов:

  1. Конструкт из конечного числа 3-Д объектов. Это — конструкция.
  2. Конструкт из бесконечного числа 3-Д объектов. Это — куча. Пример галактика
  3. Конструкт из конечного числа операций — сценарий.
  4. Конструкт из бесконечного числа операций — функция. Пример функция вращения.


Есть конструкты из конструктов:

  1. Конструкт из конечного числа куч. Пример: группа галактик.
  2. Конструкт из бесконечного числа куч. Пример пока не придумал. Буду признателен, если подскажете.
  3. Конструкт из конечного числа функций — функциональная структура. Пример: диаграмма в нотации IDEF0 моделирует такого рода конструкт.
  4. Конструкт из бесконечного количества функций. Пример пока не придумал.


Конструкт из конечного, или бесконечного числа конструкций и сценариев не имеет смысла.

Связи между элементами


В конструкте могут быть связи между элементами конструкта. Связь — это общие части элементов конструкта. И этот тезис очень важен. Он отличается от общепринятого тезиса, что объекты разделены между собой и связаны нитями, которые им не принадлежат. Такой способ моделирования приводит к коллизиям. Поэтому он заменен на тезис о том, что связь — общие части элементов. Пример: связью между гайкой и болтом будет общая плоскость соприкосновения. Связью между функцией производства дизельного топлива и функцией перекачки будет общая функция залива топлива в трубопровод. Это значит, что функция залива принадлежит как функции производства, так и функции перекачки! Связью между одним телом в пространстве и другим будет общее гравитационное поле, которое будет неотъемлемой частью первого и второго тела. И так далее. Научиться мыслить таким способом — отдельная и довольно трудная задача, требующая тренировки. Но без этого нельзя построить непротиворечивые модели.

Примеры моделирования


Один и тот же 4-Д объект может быть рассмотрен с разных точек зрения. И проекции его на плоскости могут отличаться в зависимости от выбранной точки зрения. Например, можно спроецировать 4-Д объект на пространство и получить 3-Д объект. Можно спроецировать и получить 3-Д конструкцию. Первая и вторая проекции никак не связаны друг с другом. Однако, в сознании у субъекта такая связь может возникнуть. Она называется: объект и его конструкция. Почему «его»? Потому что субъект делает анализ и в своем сознании делит объект на части, получая при этом конструкцию. Затем он делает синтез и получает объект. Если анализ и синтез прошли успешно, субъект начинает думать, что объективно понял строение объекта. Хотя — это лишь результат его воображения — представление. Для моделирования такого представления можно использовать две проекции, связанные между собой связью — «объект и его конструкция в представлении такого-то субъекта».

Можно спроецировать объект на время и получить операцию. Можно тот же объект спроецировать на пространство и получить объем. Тогда в воображении модельера может возникнуть связь между этими двумя проекциями типа: объем, занимаемый операцией. Тогда мы говорим, что операция состоялась там-то.

Одновременная проекция объекта на пространство, которое дает нам 3-Д объект и на время, которое дает нам функцию, в воображении субъекта может породить такое утверждение: мотор крутится.

Одновременная проекция объекта на время с разных точек зрения: с одной стороны, как операция, с другой — как сценарий, порождает в воображении субъекта тезис о том, что данная операция состоит из подопераций.

Одновременная проекция объекта на время как функция и как множество операций порождает тезис в сознании у субъекта, что данная функция состоит из операций.

Одновременная проекция объекта как функция и как конструкция порождает в сознании у субъекта мысль о том, что в данной функции участвуют такие-то объекты. В частности, если объект один, опять получаем тезис о том, что мотор крутится.

Анализ стандартов моделирования


Такой подход к моделированию позволяет легко распознать все ошибки процессного подхода, а теперь еще и системной инженерии.

Например, возьмем термин эмерджентность. Этот термин означает, что объект, который делится на части, имеет свойства, отличные от свойств его частей. При этом не понятно, что системная инженерия понимает под объектом и его частями. Это могут быть проекции в виде объекта, в виде конструкции, в виде функции и в виде функциональной структуры. Боюсь предположить, что все четыре проекции в системной инженерии называются одинаково — системой. От этого и возникает дуальность, триальность и прочие альности. Все дело в том, что в системной инженерии не разделяют эти проекции.

Мы же, разделив проекции, сможем проводить анализ и синтез осознанно. Ровно то же касается вопроса учета функциональных и физических объектов. Такое разделение возникло из необходимости вести учет в различных разрезах, что породило пересекающиеся в пространстве объекты. Но, умея строить проекции, мы можем сильно упростить моделирование, просто объясняя пересечения объектов. И это дает нам еще одно преимущество. Теперь нам не надо воображать невозможное — якобы жизненный цикл системы начинается с момента ее задумки. Нет, конечно, жизненный цикл начинается с ее строительства и заканчивается разрушением. А задумка системы — вообще не относится к системе, она относится к проекту системы, который надо отличать от самой системы. Так что добро пожаловать в простой и ясный мир простых и ясных истин!

Заключение


Я даже не начал разговор про проекции. Эта тема огромная. Я лишь показал дорогу, куда мы шли все эти четыре года. Надеюсь, что было интересно. Спасибо!

© Habrahabr.ru