День добрый!
Прочитал материал https://habrahabr.ru/post/313936/
и комментарии
Очень созвучно с методами и проектами, над которыми я сейчас работаю.
А когда увидел фамилию Левенчук - тоже порадовался.
Теперь о сути:
Вы пишете в комментариях :
"Три точки зрения — этого мало. Существуют разные области человеческой деятельности, каждая из которых порождает общепринятую точку зрения на сущее. Это значит, что специалист в этой области начинает видеть то, чему его научили в этой области. Область деятельности предполагает свой терминологический аппарат, свои типы объектов, которые (объекты) требуются для выделения. То, что мы называем «физические» объекты — это выделение объектов в одной области деятельности, то, что называется «функциональные» — это выделение объектов в другой области деятельности. Выделение объектов тем или иным способом диктуется используемой парадигмой."
Подход к решению этого вопроса существует в стандарте ISO 81346.
Как мне кажется, там более-менее вменяемо описано использование множественности точек зрения на реальный мир.
Если коротко, то суть в многомерной классификации "чего-то" в реальном мире.
По крайней мере сформулирован подход к такой задачке.
Реальный мир никак не разделен и не состоит из каких-бы то ни было объектов или процессов.
Для простоты - есть "что-то".
Для определенной цели и с определенной точки зрения субъект выделяет "объект" из окружающего мира.
Объект существует только в модели мира (в голове субъекта).
Никакого иного смысла у объекта нет.
Одновременно (и это важно!) существует множество моделей мира в разном виде.
Временное пересечение моделей дает примерное описание части "чего-то", достаточное для аналитики (например).
Метафора: если каждую модель мира представить как плоскость, то для количества моделей =3 получим описание части "чего-то" в виде координат в картезианской системе координат (три числа).
Теперь о классификации.
По сути, многие вопросы онтологии и программирования сводятся к тем или иным вариантам классификации.
Обычно используется привычная система одномерной классификации ("объект 1 состоит из объектов 2, 3 и 4). То есть отношение "целое-часть" (например). Могут быть иные виды отношений. Важно, что всегда используется в данный момент ТОЛЬКО 1 метод классификации.
В стандарте 81346 использована красивая идея "многомерной" классификации.
Одновременно "что-то" классифицируется по нескольким "аспектам".
Причем только один аспект является обязательным.
Например, аспект "функция".
В начале проектирования (на этапе анализа требований, например) объекты модели классифицируются, как "функции" (абстрактное или конкретное действие).
Метафора: вводится одна плоскость в системе координат (аспект).
Потом, в процессе уточнения проекта, вводится классификация по аспекту "продукт" (конкретный физический объект).
При этом новая "плоскость координат" вводится дополнительно, не заменяя, а дополняя классификацию объекта.
То есть объект одновременно классифицирован и как "функция" и как "продукт" (в двух аспектах одновременно).
И конечно же, возможна иерархия в каждом из аспектов.
Но сами аспекты не связаны иерархически!
То есть одновременно существует сразу две точки зрения на один объект в целостной (единой) модели.
И модели, при разработке, строятся и переходят одна в другую во времени (обычно от преимущественно аспекта "функция" к преимущественно аспекту "продукт").
В стандарте изящно решены проблемы "множественной классификации" одно и того же "чего-то" в разных аспектах.
Используется контекст для упрощения обозначений.
И красиво решена возможность множества аспектов.
Их количество может быть не 3, столько, сколько надо.
Просто добавляется при необходимости новый аспект со своим обозначением.
Вроде бы все не сложно, но есть нюансы.
Де-факто в стандарте отказались от детерминированного подхода к моделированию.
Определение модели системы принципиально всегда будет неполным, несвоевременным и противоречивым.
Просто в разные моменты времени модель будет более полная или более точная.
Например, при таком подходе корректнее будет так
"в видимой части системы можно выделить 5 объектов"
вместо
"систему можно разделить на 5 объектов"
То есть декомпозиция системы всегда неполная, и даже не ставится задача корректно сделать декомпозицию системы на подсистемы.
И много иных приколов в первой части стандарта.
Я, например, использую этот подход для моделирования (проектирования) реальных производственных предприятий.
И физически он реализован в программе Eplan.
Если информация будет полезная - всегда рад общению!