Перейти к содержанию

DependoBuf: Протокол для сериализации структурированных данных с зависимыми типами

Описание

DependoBuf — очередной протокол для сериализации структурированных данных. Однако в отличие от ProtoBuf и иже подобным, наш протокол позволяет описание более сложных структур данных: сбалансированных деревьев, массивов фиксированной длины, матриц, особым образом провалидированных данных...

Всё это возможно благодаря особенной системе типов, включающей в себя зависимые типы таким образом, чтобы сохранять разрешимость проверки типов (т.е. в отличие от C++, для DependoBuf существует алгоритм, за конечное время проверяющий корректность составленной программы).

В ходе предшествующей работы над проектом, в DependoBuf была реализована собственно процедура проверки типов, протокол (де)сериализации в/из байтовых последовательностей, а также кодогенерация в различные мейнстримные языки программирования.

RIIR: перевод протокола сериализации структурированных данных с зависимыми типами на Rust

В этом году предлагается завершить основной этап работы над проектом,

  1. убедившись в совместимости различных алгоритмов кодогенерации;
  2. переписав проект с C++ на Rust;
  3. дописав в кодогенерации методы для (де)сериализации типов данных.

База данных для типов данных DependoBuf

Кроме этого, интересной задачкой является реализация базы данных, поддерживающей хранение данных, схема которых описана в протоколе.