Моделирование простейших высказываний  



Моделирование простейших высказываний -3

Я продолжаю комментировать статью по проекционному моделированию.

Рассмотрим утверждение «красная машина едет»

Заметим, что в языке нет точного указания на то, как трактовать данное высказывание. Ведь и «машина» и «красный» и «едет» могут трактоваться как: конкретный 4-Д объем (конкретная машина), тип 4-Д объемов (тип транспортных средств – машина), любой из возможных 4-Д объемов (любая машина), часть 4-Д объема (часть большого красного объема). Последний кейс скорее экзотика, но он случается, когда большое красное полотно делится на части. И тогда один красный может обозначать часть большого полотна.

Сделаю предположение, что в данном тезисе речь идет о конкретной машине. То есть, не любая машина и не какая-то, а конкретная машина. Это значит, что для нее мы можем завести объект в БД, моделирующий данную машину.

Красная – означает, не конкретный красный объект, а тип объектов – красные. То есть, для данного конкретного 4-Д объема в БД не будет отдельного объекта, моделирующего конкретный красный. Будет один объект в БД, моделирующий тип цветов – красные цвета. И будет ссылка на этот объект, говорящая о том, что тип данного цвета – красный.

Едет – означает не конкретное движение, а тип движений. То есть, для данного конкретного 4-Д объема в БД не будет отдельного объекта, моделирующего конкретное движение. Будет один объект в БД, моделирующий тип движений – едет. И будет ссылка на этот объект, говорящая о том, что тип данного движения — едет.

В конкретном случае мы трактуем это высказывание так: машина – конкретная, красный – тип цветов, потому абстрактен, едет – тип движений и потому тоже абстрактен.

Возможные заблуждения


Такая трактовка играет с нами злую шутку. Мы начинаем думать, что цвет и едет – это абстрактные понятия. И это принципиальная ошибка многих стандартов моделирования. На самом деле функция вращения вала не абстрактна, у нее даже есть параметр – скорость вращения, которая зависит от времени. Но тип функций «вращение вала» – это понятие абстрактное. И, когда мы говорим, что двигатель вращает вал, то по инерции с машиной думаем: двигатель конкретный, а тип движений (вращение) абстрактный. Из-за этой путаницы трудно сходу понять тезисы, которые я ввел в проекционном моделировании. В определениях даются понятия конкретной функции, конкретной операции, а читатель по инерции думает про тип функций и про тип операций.

Для выяснения того, как мыслит собеседник, я задаю следующий вопрос: пусть есть одна операция точения болта, и есть другая операция точения другого болта. Это две разные операции, или одна? Часто отвечают, что это – одна и та же операция, но исполнения у нее разные. Этот ответ – наследие той же проблемы – неразличения типа операций и операций данного типа. Две операции, конечно, разные, но тип у них – один. А, поскольку в речи мы говорим про точение болта в смысле типа действия, то получается, что операция одна! И вся эта каша прямиком перекладывается в стандарты моделирования активности, будь то BPMN, ISO15926, системная инженерия, или ИСО 9000. Поэтому, когда я говорю, что функция конкретна, операция конкретна, длина – тоже конкретна, что их можно видеть и щупать, у многих это вызывает непонимание.

В проекционном моделировании объект, прилагательное, действие и функцию можно увидеть и потрогать. Это- конкретные 4-Д объемы, а прилагательные, глаголы и существительные – это описания проекций этих 4-Д объемов на пространство или на время. Чтобы это понять, надо научиться различать вот этот красный от того красного, вот эти 10 метров от вот тех 10-ти метров, вот эту операцию вот от той операции, вот эту машину от вот той машины.

С описанным выше языковым паттерном связано еще одно заблуждение. Принято считать, что функция вращения вала – это свойство мотора, или красный – свойство вот той машины. Все потому, что мы говорим мотор в смысле вот этот конкретный мотор, а вращение в смысле типа движений, а не в смысле конкретного движения. Если же мы определяем функцию как проекцию 4-Д объема на время, то вращение становится конкретным и независимым от мотора объектом учета. Тогда мотор и вращение связывает между собой общий 4-Д объем, проекциями которого они являются.

Чего мы не моделируем


Меня часто спрашивают, позволяет ли проекционная модель описать отношения типа «я владею машиной». Проекционная модель не моделирует деятельность. Модель деятельности может идти поверх модели активности, но в модели активности нет субъекта, который бы что-то совершал, или чем-то владел. Есть лишь факты. Например, в операции по точению болта участвовали: станок, Петров и заготовка. Я не моделирую трактовку такого участия: Петров ли точил, или станок – это не важно. Моделируются только факты, а не их интерпретация. Это ровно как в начертательной геометрии, когда чертится конус, не указывается, из чего он сделан и как обработан. Однако эту информацию можно добавить и получить модель деятельности поверх модели активности.

Вы можете помочь и перевести немного средств на развитие сайта

Теги:



Комментарии (1):

  1. lair
    /#10581942

    Красная – означает, не конкретный красный объект, а тип объектов – красные. То есть, для данного конкретного 4-Д объема в БД не будет отдельного объекта, моделирующего конкретный красный. Будет один объект в БД, моделирующий тип цветов – красные цвета. И будет ссылка на этот объект, говорящая о том, что тип данного цвета – красный.

    А ничего, что реализация в БД зависит от задачи? И может быть и отдельный объект для "конкретного красного" (здравствуй, пантон), и вообще бессылочная реализация?


    Мы начинаем думать, что цвет и едет – это абстрактные понятия. И это принципиальная ошибка многих стандартов моделирования.

    А что такое "абстрактное понятие"?


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

    "X владеет Y" — это, извините, факт (в конкретной решаемой задаче, конечно же). Ваша модель может описать этот факт или нет?