Фреймворк TACT представляет собой инструмент на языке Си для декларативного управления текстовыми протоколами во встраиваемых системах. Решение позволяет автоматизировать отправку команд, парсинг ответов и обработку ошибок, избавляя от необходимости писать отдельные автоматы состояний для каждого модуля.

Система не зависит от конкретной платформы или операционной системы и не использует блокирующие операции. Для работы ядра требуется вызов функции каждые 10 мс. Статический оверхед составляет около 1 КБ, что позволяет использовать фреймворк на микроконтроллерах с ограниченным объемом оперативной памяти.

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

Вторая часть фреймворка, chain, позволяет выстраивать сложные алгоритмы работы с модулями, включая ветвления, циклы и сценарии исправления ошибок. Это дает возможность описать всю логику взаимодействия с внешним оборудованием, например GSM-модемом, в едином декларативном стиле.