Введение Возможно, кто-то задаст вопрос, причем тут математика? Отвечу сразу: все, что здесь изложено, относится непосредственно к математике.
Изучая литературу по теории построения моделей предметной области, я обнаружил серьёзный пробел.
Авторы статей и книг сразу берут одну из нотаций моделирования: ER-диаграммы или диаграммы классов и быстро начинают использовать их для описания предметной области.
При этом описание парадигмы, в которой осуществляется данное моделирование, остается совершенно нераскрытым.
И поэтому ограничения той или иной нотации остаются нераскрытыми.
Увы, мы все умеем строить модели, но мало кто знает, как объяснить, что же они построили в одной из существующих парадигм.
Поэтому я часто слышу дикие термины с точки зрения какой-либо парадигмы: класс типов, типы классов, типы типов и так далее, но правильного термина «класс классов» я ни разу не услышал.
Этот разрыв в нашем образовании очень серьезен.
И я объясню почему.
Давайте зададим аналитикам простой вопрос.
Те, кто моделировал процессы, вероятно, знакомы с нотацией BPMN. Очень часто при моделировании операции по заключению договора я встречаю следующий фрагмент схемы:
Видно, что в результате заключения договора рождается нечто, передаваемое в другую операцию.
Но что означает элемент диаграммы с загнутыми ушками? Нам нужно точно знать, что передается с одной операции на другую, иначе будет сложно объяснить другим, что от них требуется.
Итак, что же создается в результате операции «Заключить договор»? Ответы, которые я услышал:
- Бумага с печатью
- Бумаги с печатью
- Класс бумаг с маркой
- Соглашение
- Соглашение
- Информация об аранжировке
- Файл MS Word с именем контракт
- Запись в базе данных
- Поток каких-то объектов
Чтобы ответить на этот вопрос, мне пришлось копнуть глубже и в сторону парадигм.
Более того, ответ требовал разделения вопроса на два.
Первый вопрос был: «Как правильно сформулировать вопросЭ» А второй был: «Как на это ответитьЭ» Чтобы ее правильно сформулировать, необходимо было выбрать соответствующую парадигму.
Эта статья посвящена истории двух парадигм: аристотелевской и логической, и тому, почему я выбрал логическую в качестве рабочей.
Я не буду давать ответ на вопрос, поставленный в этой статье.
Ответ дам в другой статье.
Как построить модель существования?
Посмотрите на картинку.
Схематично изображен процесс построения модели существования.
- Сначала субъект отделяет себя от существования, затем выбирает парадигму для моделирования.
Парадигма включает в себя предположения о том, как все работает (например, 4-мерное пространство-время, заполненное объектами, или 11-мерное пространство-время, заполненное суперструнами, и так далее).
- Предположим, что субъект выбрал четырехмерное пространство-время, в которое погружены объекты.
Парадигма предполагает рассмотрение существования с определенной точки зрения.
Поскольку на предыдущем этапе отбора мы решили рассматривать объекты в пространстве, то теперь мы видим только их: (например, существо – информационный объект, или существо – функциональный объект и так далее).
Затем, в соответствии с выбранной парадигмой (объективной) и точкой зрения на объект (функциональной, информационной.
), субъект представляет сущность в виде объекта с необходимыми свойствами и контекстом, в котором объект размещен.
Это модель, которую субъект выстроил внутри себя.
Если построенная модель не удовлетворяет задачам описания, испытуемый начинает заново – снова выбирает парадигму и повторяет цикл.
Цикл повторяется до тех пор, пока построенная модель не будет удовлетворять потребности испытуемого.
Этот процесс изначально противоречив, но ничего лучшего европейцы не придумали.
Его недостаток заключается в том, что субъект отделяет себя от существования в самом начале моделирования.
Такое разделение приводит к рекурсиям и противоречиям.
Кроме того, многие, если не подавляющее большинство, считают, что их и только их точка зрения правильна, что не позволяет построить множество моделей, отвечающих на разные вопросы.
Но в этой статье мы сделаем вид, что не замечаем этих противоречий, предположим, что субъект подобен Творцу, и пойдем дальше.
- Далее модель нужно перенести на другой предмет. Для этого испытуемый использует обозначения для записи модели.
Он берет обозначения и применяет их к построенной модели.
Полученное представление модели является фиксацией модели.
Мы видим, что существующее, описание парадигмы, описание нотации и представление модели — это то, что находится вне субъекта.
Если сделать ДОПОЛНЕНИЕ, что мир ДЕЙСТВИТЕЛЬНО состоит из 4-х мерного пространства-времени и расположенных в нем объектов, то картину можно перерисовать так:
Особенности парадигм
Обычно мы используем две парадигмы для описания мира: аристотелевскую парадигму и логическую парадигму.Оба они основаны на предположении, что мир объективен и представляет собой четырехмерное пространство-время.
Но между парадигмами существуют различия, которые я должен подчеркнуть.
- Первое различие между парадигмами — это отношение к временной координате в четырехмерном пространстве-времени.
Если Аристотель предполагал, что существуют объекты, проявляющие свои свойства во времени, то логическая парадигма считает время такой же координатой, как и остальные 3, единственное отличие от которых состоит в том, что мы по каким-то причинам устроены таким образом, что можем двигаться по этой координате только в одном направлении.
Поэтому риторика тех, кто придерживается логики Аристотеля, выглядит так: мы создали часы, чтобы показывать время.
Логическая парадигма утверждает, что часы — это функция, показывающая время.
То есть часы не показывают время, это функция показа времени.
По логике Аристотеля, предприятие создается для того, чтобы что-то производить.
В логической парадигме предприятие — это производство чего-либо.
- Второе отличие состоит в том, что Аристотель считал, что объекты не созданы нами, а существуют независимо от нашего сознания.
Это предполагало существование типов объектов, данных нам свыше.
Логическая парадигма предполагает, что объекты выделяются из пространства-времени произвольным образом, исходя из предпочтений субъекта.
Например, воздушный шар — это объект или пространство, наполненное газом? Что это такое, решает субъект. Границы объекта также определяются субъектом.
Никто не может точно сказать, где проходит граница между туловищем и рукой.
Тогда возможности парадигмы будут использованы в полной мере.
И тогда становится возможным «думать конспектами».
То есть можно будет нарисовать изображение модели одновременно с ее созданием.
Многие люди думают так, когда, например, пишут статьи, рисуют картинки или рисуют рисунки.
Моделирование в виде таблиц соответствует парадигме Аристотеля.
Однако отношения между таблицами — это то, чего Аристотель не имел в виду.
Поэтому обозначения ER-диаграмм, хотя и основаны на аристотелевской парадигме, но выходят за ее пределы.
Обозначение диаграммы классов также выходит за рамки аристотелевской парадигмы и не согласуется с ней.
Он используется для моделирования программного кода.
В объектном мире вы не найдете ни наследования, ни инкапсуляции.
Все это термины программирования, а не специфичные для предметной области.
Диаграммы классов и ER-диаграммы подходят для описания предметной области, как я уже сказал Левенчук один из их статьи между плохим и очень плохим.
Многие люди не знают этих ограничений, а потому считают, что ограничений вообще нет. Лечить это заблуждение можно только одним способом – изучением логической парадигмы.
Логическая парадигма использует две нотации, описанные в стандарте ISO 15926. Идет спор между инженерами и философами.
Инженеры часто упрекают философов в словоблудии.
Философы говорят, что если бы не их словоблудие, не было бы инженеров.
Но математики молчат. Но весь фокус в том, что математика и философия слились воедино еще до XX века.
Декарт и Кантор — великие философы и математики.
Задача была проста.
Мало было придумать парадигму, нужно было придумать нотацию для передачи моделей в этой парадигме другим гражданам, а также нужно было иметь возможность проверять парадигму на непротиворечивость.
Эту проблему решил наемник философии – математик.
Но в XX веке Рассел предложил отделить математику от философии.
Просто потому, что математика дала результаты, слишком далекие от нашего эмпирического опыта.
И вместо того, чтобы постулировать ограниченность нашего опыта, Рассел действовал в духе антропоцентризма — он предложил нам больше не задумываться о смысле математических открытий.
Отличная работа! Сейчас мы пожинаем плоды этого разделения.
Сейчас мало кто знает парадигмы и почему они существуют. Создается множество нотаций, оторванных от парадигм, задача которых — удовлетворить потребности здесь и сейчас.
А то, что они противоречивы и не описаны пределы их возможностей, мало кого волнует. Жаль, потому что в результате эта нотация широко используется для построения моделей предметной области людьми, которые не знают ограничений этих нотаций.
Однако не все так плохо.
Есть те, кто это знает. В книга на стр.
36-37 написано:
Программные объекты в некотором смысле соответствуют объектам реального мира, но не являются их точными моделями или копиями.Хорошо, когда созданные модели удовлетворяют следующим свойствам: полнота (в модели должно присутствовать все, что мы хотели сказать), непротиворечивость (одна часть описания не должна противоречить другой части), расширяемость (добавление новых данных не должно приводить к противоречиям).Хотя полученная диаграмма классов проекта не полностью соответствует модели предметной области, некоторые имена классов и их характеристики совпадают. Объектно-ориентированные проектные решения и языки сокращают разрыв между представлением информации в виде программных компонентов и мысленных моделей предметной области.
Это улучшает образность презентации.
).
Чтобы модель имела указанные свойства, парадигма построения модели должна позволять это делать.
Парадигма Аристотеля не удовлетворяет требованию непротиворечивости и расширяемости моделей.
Именно поэтому на смену аристотелевской парадигме пришла логическая парадигма, основанная на теории множеств.
Построение одной модели для более чем одного объекта
Построив одну модель для одного объекта, вы можете попробовать посмотреть, насколько хорошо она подходит другому объекту.Или так: можно сразу построить модель с учетом того, что она будет описывать множество объектов реального мира.
Таким образом мы получаем одну универсальную модель для многих объектов одновременно.
Это существенно упрощает задачу описания реального мира.
Находим объекты, чем-то похожие друг на друга, и описываем их одной моделью.
Конечно, какие-то индивидуальные особенности придется «добавлять» для каждой модели отдельно, но это мелочи по сравнению с индивидуальным описанием каждого объекта в отдельности.
Именно это мы и делаем, когда создаем чертеж, на основе которого потом можно создать один функциональный объект, а может и множество! Эти объекты образуют набор или класс.
Для любого объекта этого класса можно сказать, что рисунок является его моделью.
Аристотель использовал другую риторику.
Он сказал, что рисунок – это описание типа предметов.
И объекты являются экземплярами этого типа.
Что делает сценарист при написании сценария? Он пишет сценарий, но будет ли по нему спектакль и сколько будет в итоге спектаклей, он не знает. Сценарием может быть модель одного спектакля, например, празднования Нового 2015 года.
Или он может смоделировать различные спектакли, например, сценарий балета «Щелкунчик».
Понятно, что сценарий один, но спектаклей много.
В логической парадигме это описание выглядело бы так: есть набор всех спектаклей, подмножество этого набора — есть спектакли, сделанные на основе сценария балета «Щелкунчик».
То же самое в парадигме Аристотеля выглядело бы так.
Есть объекты - спектакли.
Любая речь является примером речи.
Есть объекты другого типа – это спектакли, сделанные по тому же сценарию «Балет «Щелкунчик».
Любой спектакль в этом сценарии является примером спектакля «Щелкунчик».
Один и тот же спектакль является одновременно экземпляром спектакля и экземпляром балета «Щелкунчик».
При этом Аристотель должен сейчас немного волноваться, потому что он этого не говорил! В нем нет того факта, что один объект может относиться к разным типам! Это наша интерпретация, основанная на моделировании в виде ER-диаграмм.
Это и многое другое не позволяют построить непротиворечивую модель предметной области на основе парадигмы Аристотеля.
Информационная объектная модель
Таким образом, в логической парадигме объекты одного множества могут быть связаны с одной моделью:Объекты, которые мы описываем с помощью одних и тех же моделей, мы называем подобными и относим их к одному классу.
Например, класс насекомых или класс болтовых соединений.
Кроме того, одна модель также может быть представлена множеством информационных объектов.
Например, одна модель болтового соединения может иметь множество представлений в виде разных листов ватмана с рисунком на нем, в виде зарисовок в тетрадях и так далее.
Понятно, что все эти представления используют одни и те же обозначения, но все они разные:
Из всего разнообразия представлений нас интересуют только те, которые выполнены по определенным правилам.
Например, мы не хотим смотреть на чертежи, высеченные в камне.
Для этого нам необходимо ввести дополнительные правила, по которым будут создаваться подходящие нам информационные объекты.
Эти правила будут формировать модель самих информационных объектов.
В результате получается следующая иерархическая структура:
Разнообразие информационных моделей описывается моделью информационного объекта.
Эта модель в головах людей.
Данная модель формируется в результате применения специальной парадигмы, рассматривающей объект предметной области как информационный.
Тогда, после применения обозначений, модель информационных моделей может быть выражена в виде представления этой модели.
Таким образом, любой объект может иметь модель и ее представление.
В свою очередь, представление тоже может иметь свою модель, и так до бесконечности.
Эта бесконечность является одним из очень серьезных ограничений логической парадигмы.
Я не знаю, как разрешить это противоречие.
Но я честно признаю, что у логической парадигмы есть ограничения, и они заключаются в том, что рано или поздно нам придется разорвать цепочку моделей и обратиться к здравому смыслу.
Соглашение
Если применить построенную структуру к схеме, нарисованной в самом начале статьи, то возникнут вопросы: что такое договор? Это реальность или модель реальности? Что такое контракт? Что такое штампованные листья? Что такое файл MS Word? Что такое запись в базе данных? И что оно фиксирует: договор, соглашение, действительность? Я нарисовал кусок модели, начиная с соглашения, но не расшифровал, что это за соглашение.
Мы видим, что реальная модель предметной области довольно сложна.
При этом мы не прорисовывали все детали и не прорисовывали все уровни модели, поскольку умение работать с MS Word не предполагает знания формата хранения данных.
И знание формата хранения данных не означает знание правил управления печатающей головкой.
И так далее.
Есть физические объекты и предметы, есть информационные объекты И функциональный , и они иногда связаны довольно сложными иерархическими связями.
Мы должны научиться моделировать эти связи и передавать их другим в качестве знаний.
Например, 7-уровневая сетевая модель OSI представляет собой иерархическую модель физических и информационных объектов.
В сокращенном варианте данная модель выглядит так:
И теперь это узнаваемый дизайн.
Он исключает сущности, которые можно пропустить с точки зрения моделирования данных.
Но теперь, глядя на нее, понимаешь о узах, которые их связывают. Иногда, чтобы построить правильную модель, нужно знать гораздо больше, чем нарисовано.
А моя статья как раз демонстрирует ход мыслей, который может сделать каждый, чтобы не совершать ошибок.
Попробуйте рассуждать по любому вопросу в вашей предметной области.
Попробуйте задавать вопросы до тех пор, пока не получите четкое представление о том, что вы видите.
В противном случае это будет так: Лирический этюд Мы дальтоники.
Не в том смысле, что мы не можем различать цвета, нет. Мы не различаем значения слов, используемых в разных контекстах.
То, что мы говорим сокращенными фразами, смысл которых определяется контекстом, является необходимой мерой выживания.
Надо уметь быстро выразиться: Смотри: волк голодный! вместо: Посмотрите: предмет, принадлежащий одновременно множеству волков, принадлежит к классу голодных живых существ! Но при употреблении сокращенных словосочетаний мы не должны забывать об их полном значении и должны уметь восстанавливать это значение.
Однако при этом происходит обратный процесс: используя сокращенные элементы языка, мы все дальше и дальше удаляемся от понимания того, что за ними скрывается.
Когда я еду в деревню, я готовлюсь к фестивалю слуха.
Разговор жителей деревни полон смысла, оттенков и музыки.
Я вижу, что, произнося слова, сельский житель не просто жонглирует мысленными конструкциями, как это принято в городской среде, он одновременно переживает образы, скрытые за словами, и погружается всем своим существом в контекст, в котором живут эти образы.
.
Переживание образов и контекста как основы сохраняет целостность структур и не порождает противоречий.
В отличие от деревенского жителя, горожанин, обученный воспринимать слова изолированно от контекста, может использовать стандартные языковые модели.
Это приводит к потере сначала контекста, а затем и размытию смысла самих слов.
Выделение слов из контекста не позволяет сохранить целостность и последовательность структур.
В результате происходит подлог: набор языковых моделей заменяет знания.
Поскольку слушателями такого человека зачастую являются такие же, как он, люди, неспособные одновременно удержать в своем сознании и смысл, и контекст, этот трюк проходит. Я встречаю мастеров жонглирования словами.
Это те, кто умеет менять контекст и менять в соответствии с этим речевые модели: психотерапевты, учителя, мошенники и хорошие политики, хорошие аналитики.
Но плохие учителя, например, не понимают секрета такой гибкости и могут только имитировать действия хороших.
Секрет прост – переживание контекста позволяет сохранять целостность, а умение менять контекст дает возможность творить.
Вернемся к вопросу, заданному в начале статьи.
Я спросил, что означает этот элемент со сложенным уголком модели? Я оставлю этот вопрос открытым.
Постарайтесь правильно поставить вопрос и подумайте над ответом.
Теги: #онтология #парадигмы #логика #моделирование предметной области #моделирование данных #bpmn #семантика #Анализ и проектирование систем #математика
-
Это Загадочное Устройство От Sony
19 Oct, 24 -
Лучшие Статьи Уходящего Года.
19 Oct, 24 -
Colt Выпущен С Поддержкой Source Maps
19 Oct, 24