Size: a a a

2020 September 26

V

Vasilii Demidenok in ErlangRus
Lev Walkin
Чуть поэргономичнее, чем TLA+, кмк.
я правильно понимаю что под эргономичностью ты имел ввиду пространство состояний которое оно может перебрать по сравнению с TLA+?
источник

V

Vasilii Demidenok in ErlangRus
В чем преимущества?)
источник

SP

Sergey Prokhorov in ErlangRus
Vasilii Demidenok
В чем преимущества?)
Думаю имеется в виду что TLA уж слишком из мира математиков. А в promela вон говорят синтаксис на C похож
источник

SP

Sergey Prokhorov in ErlangRus
Petr Kozorezov
Ну у меня просто есть ?SUCHTHAT и вот с ним такое бывает.
Ну вот как раз suchthat у нас почти нет. Т.е. statefull как работает.. сперва создает пустой state. Потом вызывает твой модуль и говорит "дай мне все возможные команды которые я могу сейчас вызвать над твоей моделью, я сам выберу какую-то из них, проверю precondition, обновлю состояние модели, дерну реальную систему, сравню модель с реальнтй и если всё ок, то уже с обновленным стейтом попробую следующую команду и так далее в цикле" (не совсем так, но упрощенно можго так сказать). И у нас на каждом шагу следующие варианты команд и их аргументов создаются на основе текущего state. Т.е. когда пропер спросит нас "дай мне список возможных команд, вот тебе текущий state модели", мы ему не предложим "удалить Fee" если в state нет ни одной Fee
источник

LW

Lev Walkin in ErlangRus
Sergey Prokhorov
Думаю имеется в виду что TLA уж слишком из мира математиков. А в promela вон говорят синтаксис на C похож
да. у TLA+ два синтаксиса, и один из них — тупо TeX, а в итоге рендерит он в PDF. В итоге у тебя в голове пять концепций: программа, абстрактная модель, два синтаксиса модели, рендеринг tex-синтаксиса. И надо между по крайней мере тремя или четырьмя из них постоянно переключаться.
источник

SP

Sergey Prokhorov in ErlangRus
Danil Zagoskin
Кажется, в тех местах, которые я фуззил руками, слишком высокоорганизованный бинарь, чтобы такое просто сработало.
Ну можно сказать "сделай мне бинарь в котором первый байт это 1 или 0. Если 0 то остальные байты это unicode строка длиной от 3 до 100 символов; если 1 то дальше должен быть int32 длины и потом любой json. И т.п. Генераторы там довольно выразительные на самом деле.
Но пропер он не пытается именно corner cases целенаправленно искать. У него есть внутренняя переменная size и он га каждом шаге её увеличивает и генерирует всё более длинные/ большие значения. Т.е. если ты ему скажешь "сделай мне список", то он в начале теста сгенерирует пустой список, потом чуть побольше и потом всё боььше и больше (точнее он делает в стиле Length = rand:uniform(0, Size))
источник

V

Vasilii Demidenok in ErlangRus
Lev Walkin
да. у TLA+ два синтаксиса, и один из них — тупо TeX, а в итоге рендерит он в PDF. В итоге у тебя в голове пять концепций: программа, абстрактная модель, два синтаксиса модели, рендеринг tex-синтаксиса. И надо между по крайней мере тремя или четырьмя из них постоянно переключаться.
Pluscal вам не зашёл?
> Spin provides direct support for the use of embedded C code as part of model specifications. This makes it possible to directly verify implementation level software specifications, using Spin as a driver and as a logic engine to verify high level temporal properties.
звучит довольно интересно
источник

LW

Lev Walkin in ErlangRus
Vasilii Demidenok
Pluscal вам не зашёл?
> Spin provides direct support for the use of embedded C code as part of model specifications. This makes it possible to directly verify implementation level software specifications, using Spin as a driver and as a logic engine to verify high level temporal properties.
звучит довольно интересно
У меня к нему эстетическая контрадикция. Но, может быть, вкусовщина всего лишь.
источник

V

Vasilii Demidenok in ErlangRus
понятно, кстати пользуясь случаем что говорим про formal methods, у тебя нет на примете хорошой книги или пейпера по классификации методов и введения в тему?
источник
2020 September 27

in ErlangRus
Всем привет. Кто знает? Как из файла модуля можно вызвать функцию f()? В консоли её могу вызывать, в модуле - нет
источник

s

serkus in ErlangRus
А зачем вам в моделей  функция f()?
источник

in ErlangRus
в задании сказано сделать destroy, который будет удалять бд, все методы уже сделал и они работают, только вот не пойму как удалить БД
источник

in ErlangRus
БД - обычный список
источник

in ErlangRus
Пока у меня возвращается просто ok.
источник

EM

Evgeny M. in ErlangRus
никак. Как вариант держать все в отдельном процессе и грохать процесс
источник

EM

Evgeny M. in ErlangRus
типа new  - запустили процесс с бесконечным циклом в котором receive, delete - послали туда сообщение что пора закругляться
источник

in ErlangRus
я еще не на столько хорошо знаю Erlang) Мы его только начали учить :)
источник

EM

Evgeny M. in ErlangRus
там вообще странное задание. "борщик мусора выполнит всю работу за вас" - ну тогда формально решением будет destroy(_Db) -> ok.
источник

in ErlangRus
Окей. Спасибо!
источник

EM

Evgeny M. in ErlangRus
и кмк list comprehensions для этого задания это читерство. Они хотят явные рекурсии.
источник