Pull to refresh

Comments 10

У вас же граф, он описывается таблицей — вот ее и можно рисовать в консоли. Не уверен, что это прям удобный интерфейс, но будет видно {что, от кого, кому} отправляется на данном шаге

Не совсем вас понял. Граф как набор состояний объектов системы? Такую таблицу строит TLA+, но выглядит не очень интуитивно, если честно. И то, эту таблицу читаешь в статике, по сути дебажишь. Или вы о другом представлении?

Я про визуализацию отправки и получения сигналов. Например, строки — от кого, столбцы — кому. В клетках представление сигнала, статус (насколько близок к получению) можно цветом отображать

Согласен, это мог быть хороший первый вариант. Но я в итоге пошёл другим путём, и вроде похожесть на raft.github.io даёт надежду на то, что путь правильный)

Круто! Хотелось бы иметь возможность создавать симулятор распределенной системы не в коде, а визуально. Есть такие планы?

Спасибо! А что значит "визуально"? В идеальном будущем добавление/отключение узлов, конечно, хочется сделать по клику. Но сам код обработки реквестов, логику алгоритма вряд ли можно будет "накликать".

А вы не смотрели в сторону SymPy или Salabim (как база именно для симуляции, не визуализации)?

Эх, чукча не читатель... SymPy, пишут, библиотека для выполнения символьных вычислений, как будто не очень в тему.

А вот Salabim выглядит очень интересно, спасибо, надо изучить.

О, сорри, SimPy конечно. Он правда как-то притих в развитии в последние пару лет, но все же это (с Salabimом — название шутка про «Сим-салабим») относительно продуманные системы. Визуализации правда там слабые, но они нафиг и не нужны — их надо отдельно делать, в интеграции с игровыми движками (в блендер можно вставлять, там уже питон, на panda3d писать) или вот на вебе...

Да, спасибо. Посмотрел туторилс SimPy - я что-то очень похожее переизобрёл) Чучка не читатель, с другой стороны, если бы я знал о наличии такого фреймворка, то не было бы повода поупражняться самому.

В любом случае, спасибо большое, информация об этих фреймворках точно мне пригодится)

Sign up to leave a comment.