space

Ayin - это платформа для создания сети исполнительных IoT устройств, сервисов, мобильных приложений

В платформе Ayin сейчас есть:

  • Язык Ayin lang
  • Инструментальные средства с генерацией кода в разные языки
  • Java фреймворк
  • Транспортный уровень

Ayin lang - язык для моделирования и сценарирования взаимодействий исполнительных узлов в сети Ayin. На данный момент имеется среда разработки на Ayin lang с кодогенерацией для разных языков и средствами отладки.

Разработана бинарная сериализация с логическим сжатием, позволяющая передавать данные компактно, что подходит для использования Ayin lang на микроконтроллерах, в том числе и в задачах реального времени.

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

В Java-имплементации фреймворка Ayin-executor имеется собственная система плагинов, подобная OSGI. Она служит для быстрой разработки и динамического обновления компонентов системы. Так как информация о плагинах, их зависимостях и установках смоделирована в той же среде, что и runtime-структура, имеется возможность управления установкой и обновлением плагинов во время работы системы.

Ayin используется в вендинговой сети robo.cafe для управления аппаратами и для интеграции сайта с системой электронной робокоммерции Vending Manager.
Ведется разработка PLC устройств под управлением Ayin.

Ayin появился как сайд-проект в рамках разработки вендинговой сети. Он был нужен чтобы объединить всю инфраструктуру вендинга в единую среду и дать инженерам возможность самостоятельно писать сценарии работы аппаратов, тестировать механизмы. Хотелось сделать язык с возможностью графического представления и обеспечить возможность пользоваться единой платформой и на серверах и на микроконтроллерах. За основу мы взяли EMF - свободное средство моделирования для Java. Для разработки языка воспользовались XText - фреймворком на базе EMF и ANTLR.

В команде разработчиков 6 человек:
  • Никита Цымбал
    CEO, Software Architect
    Сооснователь проектов Ayin, okbuddha, balamarket.com. Предыдущий опыт - Java разработчик, архитектор и product manager группы проектов вендинговой сети.
  • Антон Желонкин
    CTO, Developer
    Сооснователь проектов Ayin, okbuddha, balamarket.com.
    Предыдущий опыт - Java разработчик, технический директор группы проектов вендинговой сети.
  • Рафаиль Делешев
    R&D Lead, Developer
    Сооснователь проекта Ayin.
    Предыдущий опыт - разработчик языка и инструментальных средств для него, Java разработчик.
  • Антон Васильев
    Lead Engineer, Embedded Developer
    Сооснователь проектов Ayin, okbuddha.
    Предыдущий опыт - разработчик редактора сценариев вендинговых аппаратов MyMachineDeveloper, прикладной программист вендинговых аппаратов.
  • Алексей Наборщиков
    Java Developer, Embedded Developer
    Сооснователь проектов Ayin, okbuddha.
    Предыдущий опыт - прикладной программист вендинговых аппаратов, разработчик системы управления вендингом VendingManager.
  • Вячеслав Слаутин
    R&D Developer
    Сооснователь проекта Ayin.
    Предыдущий опыт - Java разработчик, принимал участие в разработке архитектуры Ayin и сериализации.