Развитие проекта

Релиз RCML версии 1.0.8

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

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

Список изменений:

  • - Исправлен баг, приводивший в некоторых случаях к потере статистики при выполнении пользовательской функции робота;
  • - Отменен выбор робота по приоритету в случае, если модуль выбора робота не смог принять решения о выборе;
  • - Добавлено игнорирование выброшенных исключений функциями, выполняемых без ожидания;
  • - Исправлено снятие блокировки интерпретатором с базы статистики в момент запроса к модулям выбора роботов;
  • - Исправлен баг с приоритетом логических операций (и/или);
  • - Удалена поддержка выбора робота для модулей роботов с API версий 000 и 100;
  • - Исправлен баг с отложенной инициализацией переменной;
  • - Добавленные новые системные функции управления семафорами (счетчики блокировок).

Download RCML

Вышел в свет RCML версии 1.0.7

Релиз 1.0.7 оказался самым долгожданным и занял более полугода разработки.

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

Это достигается накоплением статистики по производительности роботов и новым механизмом распределения задач, учитывающим полученную статистику.

Список изменений:

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

Роадмап для будущих релизов:

  • Релиз 1.0.8 - сервисный релиз, нацелен на улучшение стабильности и юзабилити среды;
  • Релиз 1.1.0 - серверная версия интерпретатора RCML, поддержка параллельного исполнения RCML программ и указание приоритетов программ;
  • Релиз 1.2.0 - введение новых типов данных (вектора, множества роботов), для управления множеством (роем) роботов.

Скачать с SourceForge.net

2015

Выпущена новая версия RCML 1.0.6

Список изменений:

  • Более оптимизированный PCode;
  • Добавлено удаление "мертвого" и недостижимого RCML кода;
  • Исправлен баги, связанные с синтаксисом переменных роботов: 
    • Для функций роботов - запрещено использование переменных робота;
    • Для пользовательских функций - запрещено использование переменных робота в выражениях;
  • Исправлен баг с испольованием оператора continue за пределами оператора цикла;
  • Исправлен баг с использование конструкции try & catch внутри цикла;
  • Ключевое слово UID переименовано в IID (Interface identifier);
  • Более глубокая оптимизация PCode (время работы компилятора незначительно увеличется);
  • Исправлен баг с использованием недопустимых индексов функции модулей;
  • Добавлена возможность перехвата значения исключения в конструкции try & catch;
  • Добавлена обратная совместимость для PCode;
  • Добавлена возможность коммуникации RCML программ с ОС через RCML интерпритатор:
    • Передача параметров командной строки в параметры функции main;
    • Передача значения из main функции через оператор return в ОС как кода завершения программы;
    • Передача исключения в ОС как завершение программы с кодом 1;
  • Обновлена синтаксическая карта.

Выпущен RCML версии 1.0.5

Общий список изменений:

  • Обновлена версия API модулей;
  • Добавлена обратная совместимость для модулей со старой версией API;
  • Добавлена поддержка системы RCML-Repository (только для публичных модулей).

Список изменений для компилятора:

  • Добавлен детальный вывод ошибок;
  • Исправлен баг некорректной обработки символов не входящих в алфавит языка;
  • Обновлен используемый лексический анализатор Bison с версии 2.4.5 на 3.0.4. Анализатор старой версии некорректно обрабатывал текущую позицию ошибки в тексте программы.

Список изменений для интерпретатора:

  • Исправлен баг связанный с игнорированием интерпретатором запрета запуска программы, выставленного модулем;
  • Исправлен баг приводивший к доступу в инициализированную область памяти при использовании системной функции system.input().

Версия 1.0.4 доступна для скачивания

Список изменений:

  • Добавлены пакеты команд
  • Добавлены флаги выполнения команды для пользовательских функций
  • Улучшена синхронизация роботов
  • Добавлена поддержка макросов

 

Адрес:

Россия, Пермь
ул. Монастырская, 12,
лит. А, офис 600

Телефон:

+7 (342) 214 01 84

E-mail:

info@rcml.tech