Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
В терминах ООП говорят так: есть класс ООП автомобилей и есть класс ООП колес. Между этими классами ООП есть связь один к четырем. Связь называется: «автомобиль-колесо».
Но ни тот ни другой метод моделирования не позволяет моделировать семантические отношения между объектами и классами объектов. Это является существенным ограничением современных моделлеров, которое необходимо устранять.
В математике мы часто встречаем связи между объектами и классами.Но это не связи типа «прямая имеет класс точек», «покупка имеет множество монет».
Мое мнение, что отсутствие в текстах подобной связи говорит об инерции мышления, а не о порочности такого способа мышления.Да вы имеете полное право как угодно расширять рамки мышления и вводить новые парадигмы. Но это надо оговаривать отдельно, начиная с того, зачем это нужно и какие задачи вы собираетесь решать.
Но это не связи типа «прямая имеет класс точек», «покупка имеет множество монет».
Главное, что такая связь есть, и ее надо уметь моделироватьС этого — с постановки проблемы — и надо начинать. Но вопрос-то заключается именно в том, что такой связи нет в логической парадигме. Это надо признать и строить другую, в которой имеются другие связи между объектом и классом/множеством кроме «классификация».
Но это не связи типа «прямая имеет класс точек»
У прямой есть два свойства — с одной стороны, она определяет некоторое множество точекЭто не свойство, а способ описания.
И если мы можем сказать «прямая имеет направление», то почему не верно, что «прямая имеет множество точек»? Да, так не говорят. Но разницы в типах связи «прямая — направление» и «прямая — множество точек» я не вижу.Здесь проблема в слове «имеет». Да, сказать «прямая — множество точек» вполне можно — это означает, что мы можем представить/описать прямую как множество точек. Но «прямая имеет множество точек» выражает отношение часть-целое, мол есть некая прямая и у нее есть (не она сама есть, а у нее есть) множество точек.
Это не свойство, а способ описания.
А насчёт слова «имеет» — формулировку «прямая имеет направление» или «машина имеет цвет» вы тоже будете считать некорректной?Проблема ведь не в словах. Сам maxstroy использует слово «имеет» как указание на то, что класс колес является частью машины. Посмотрите на рисунок, там написано «класс колес стоит на машине».
класс колес является частью машины
В данном контексте я этого не говорил.Я понимаю, что контекст может быть разным, но в данном тексте вы продолжаете развивать идею записи "Класс объектов или объекты класса?", а там в комментариях вы написали:
@maxstroy: Есть класс колес. Есть автомобиль. Я говорю, что авто состоит из класса колес. (ссылка)И на картинке в текущем тексте у вас связь между классом колес и автомобилем обозначена как «класс колес стоит на автомобиле». Причем тут заказчик? Вы же пытаетесь сформировать точный язык, строгую логику. И вам надо дать однозначный ответ на вопрос: может ли индивид (автомобиль №12) вступать с классом в отношение целое-часть.
«Стоит на» не равно «состоит из».Да, конечно, не равно. Но обе фразы («стоит на» и «состоит из») указывают на отношение «часть-целое», которое вы упорно не хотите обсуждать. Даже избегаете его произносить.
Но обе фразы («стоит на» и «состоит из») указывают на отношение «часть-целое», которое вы упорно не хотите обсуждать
«Часть-целое», которые мы используем в быту.Забавно. Это одно из первейших семантических отношений (см. например, тут). Куча книг и статей написано на эту тему.
А сейчас обсуждаем только отношение «стоит на»Хорошо. Можно ли считать это положительным ответом на вопрос: может ли класс стоять на индивиде?. Если да, то требуется уточнение: класс стоит на индивиде (авто), так же как на авто стоит двигатель? Нужен ли слесарь, чтобы снять класс с авто? или достаточно просто удалить класс из онтологии на моделлере?
В логической парадигме есть отношения «похож на», «стоит рядом», «женат» и так далее.Да какие угодно. Но все они выражаются через отнесение объекта к одному из классов: класс «похожие на Бреда Пита», класс «стоящие рядом с пивным ларьком», класс «женатые». Других отношений между индивидом и классом в логической парадигме нет. Это и есть теоретико-множественный подход.
А что такое класс стоит на автомобиле я даже представить себе не могу
В логической парадигме автомобиль может только входить в класс, но никак не включает класс в себя.
может ли в логической парадигме какое либо-другое отношение между индивидом и классом кроме индивид является элементом класса?
maxstroy: Я тоже не могу, но логика говорит о том, что такое возможно.Я этой логики не увидел.
в конструкции «класс колёс, стоящих на конкретном автомобиле» какое отношение между классом колёс и индивидом автомобиля?
«When I use a word,» Humpty Dumpty said, in rather a scornful tone, «it means just what I choose it to mean—neither more nor less.»
«The question is,» said Alice, «whether you can make words mean so many different things.»
«The question is,» said Humpty Dumpty, «which is to be master—that's all.»
А в конструкции «класс колёс, стоящих на конкретном автомобиле» какое отношение между классом колёс и индивидом автомобиля?Это название класса. Назовите так «колеса автомобиля» или «КА»
А в конструкции «класс колёс, стоящих на конкретном автомобиле» какое отношение между классом колёс и индивидом автомобиля?Не имеет смысла. Он про название или про элементы класса. Или проще ответить так: никакого нет отношения. Поскольку это просто класс и для фиксации его отношений с другими сущностями надо как-то определять эти отношения. В процедуре задания класса и тем более в его названии они не определены.
Способ задания элементов класса тут простой — перечисление его элементов (колеса на конкретном авто).
Такой способ задания будет неустойчив к отвинчиванию колесаНе понял. Что значит «неустойчив»? Отвинтили колесо — в классе «Hu65FDE6» стало на один элемент меньше. Где проблемы?
И какое теперь отношение между автомобилем и классом?Никакого. В логической парадигме может быть только одно отношение: объект является/не является элементом класса. Если вы о чем-то другом (не о логической парадигме, которую излагает maxstroy), то тогда и разговор будет другим.
Какая ваша цель моделирования?
Почему мало 2х элементов автомобиль и колесо плюс связи 1-4
Зачем производить концептуальную модель в виде ЕР диаграммы?
Причина, по которой я предпочитаю ER модель, я указал: это то, что она ближе к моделированию классов, чем диаграмма классов UML.
цель — создать представление модели без искажения смысла? можно ли так вообще формулировать цель? веь взяв любой объект можно сделать миллион его разных моделей.
Кто является заказчиком — не важно
Эта задача ровно та же, что решалась математиками, когда они стремились найти способ описания мира. который был бы максимально приближен к нашему способу мышления. И нашли такой способ — математическую логику.
так меня учили, что математика — это язык философии
Я не готов принять тот факт, что математика оторвана от реальности.
Это излишне романтизированное представление о математике.
так меня учили, что математика — это язык философииИ это излишне примитивизированное представление о философии.
Это излишне романтизированное представление о математике.
Я лишь утверждаю, что, если мы хотим научиться моделировать пространство-время, нам придется воспользоваться достижениями математики.
для решения какой прикладной задачи вам понадобилась такая связь?
строго определить понятия «объект» и «класс объектов»
строго определить понятие «семантическая связь»
приведёт ли добавление к классу деталей автомобиля ещё одного колеса к автоматическому изменению класса колёс автомобиля?
не противоречит ли это тому, что класс определяется исключительно перечислением своих элементов?
В какой-то момент времени есть 4 колеса в классе, в какой-то — 5.
Есть более сложная задача — смоделировать утверждение, что все 4 колеса должны быть одной марки
Это делается очень просто: указав класс, к которому относятся данные колеса: класс «Бриджстаунмля»
колёса должны быть одного класса
Можно указывать как пересечение, можно перечислять объекты. Правда надо делать оговорку, что данное перечисление соответствует такому-то времени.
Записать модель без искажений… а где вы определили уровень детализации?
Насчет «представления модели». Можете дать определение и ссылку на определение данного понятия?
Вам нужно промоделировать классы? или все же данные для хранения информации?
семантическая связь между классом ТМ автомобилей и классом ТМ колес
Связь между классами — это и есть класс связей между их членами
Особенности концептуального моделирования предметной области