ailev.ru

Обсуждение

В архиве: 14 комментариев.

Читать и комментировать в ЖЖ ↗

Имя не сохранено · 30 июня 2009

Комментарий

Факт-ориентированное моделирование - интересный подход. Я как раз, когда с Геллиш познакомился, осознал его круть.

Анатолий Левенчук · 30 июня 2009

Комментарий

А дальше нужно просто размыть границу между "моделированием" и "программированием". Это и есть основной тренд в сегодняшнем программировании.

Ответ на комментарий

Имя не сохранено · 30 июня 2009

Комментарий

Согласен. Я так и пытался все время: генерить софт и тесты из формальных описаний. Причем факто-ориентированная форма самая удобная, ибо медленнее всего меняется.

Ответ на комментарий

Имя не сохранено · 1 июля 2009

Комментарий

вроде бы геллиш поддерживает только факты типа субъект-отношение-объект (в вашей терминологии это будет, наверное, "бинарное отношение"). как запомнить факт типа "вася познакомился с петей первого апреля в мухосранске", уже непонятно.

Анатолий Левенчук · 1 июля 2009

Комментарий

Однако, в книжке по Геллишу это подробно разжевано -- это просто несколько бинарных молекулярных отношений. Более того, одна строчка в геллиш-таблице (с одной тройкой) сама по себе представляет свертку из 12 атомарных отношений.

Ответ на комментарий

Имя не сохранено · 1 июля 2009

Комментарий

ну вот на примере с васей и петей, это как будет? а то у меня нет книжки по геллишу, где всё разжёвано, а в интернете, там где database schema геллиша нарисована, там непонятно.

Ответ на комментарий

Имя не сохранено · 2 июля 2009

Комментарий

спасибо за ссылку! но в ней нет ответа на мой вопрос, только сплошной handwaving - типа если нам вдруг придётся описывать что-то более сложное, чем binary relation, мы это опишем как коллекцию binary relations. а мой вопрос заключается в том, как именно. в каком-то месте там ещё упоминается, что для превращения higher order relations в binary придётся создавать sub-entities. мало того, что это методологически неправильно и увеличивает шум путём внесения в систему кучи искусственных entities, на самом деле не существующих, так ведь к тому же это всё равно проблему не решает. я, в общем, задал крайне простой вопрос насчёт васи и пети. если даже такой простой факт нельзя простым способом в геллише зарегистрировать (а по всему получается, что нельзя, иначе зачем бы handwaving? в удобных случаях автор там очень конкретен), то применимость геллиша вызывает сильные сомнения.

Ответ на комментарий

Анатолий Левенчук · 2 июля 2009

Комментарий

Если ссылка от avlasov слишком сложна, а ссылка от меня неконкретна, то я умываю руки -- вряд ли мне удастся объяснить лучше.

Ответ на комментарий

Имя не сохранено · 2 июля 2009

Комментарий

Ну там же картинки есть :). Сурово конечно, но на пальцах примерно так: 1. Вводим понятие "случай знакомства". 2. Вася 'есть субъект в' случай знакомства номер 1 3. Петя 'есть объект в' случай знакомства номер 1 4. Случай знакомства номер 1 'имеет обстоятельством времени' 1е апреля 5. Случай знакомства номер 1 'имеет обстоятельством места' Мухосранск

Ответ на комментарий

Имя не сохранено · 2 июля 2009

Комментарий

спасибо. но это означает полный распад концепции, ибо создаёт сущность "случай знакомства №1", которой на самом деле не существует. кроме того, бинарное отношение "вася познакомился с петей" - это атомарный факт, который в геллише имеет уникальный номер anyway. логичнее было бы тогда уж к нему дописать "факт №42 имеет обстоятельством времени первое апреля". и фальшивую сущность создавать не надо.

Ответ на комментарий

Имя не сохранено · 3 июля 2009

Комментарий

Да, конечно можно и без фальшивой сущности обойтись. Хотя она не фальшивая, просто вводится дополнительная модельная переменная. Просто если обходится без доп переменной, то будет уже предикат второго порядка, что не всегда удобно.

Ответ на комментарий