Xcos — графический редактор для проектирования и моделирования динамических систем, ориентированный на создание блок-диаграмм для моделирования как непрерывных, так и дискретных процессов, включая гибридные динамические системы. Разработанный как часть программной среды для технических вычислений, Xcos предоставляет средства визуального программирования, где модели собираются из предопределённых блоков, соединённых сигналопроводами, с возможностью задания параметров, начальных условий и ввода внешних воздействий.
Инструмент поддерживает симуляцию математических моделей в режиме времени, анализ результатов и отладку моделей с помощью встроенных средств визуализации и логирования. Xcos используется в задачах обучения, научных исследований и инженерного моделирования для проектирования систем управления, электрических схем, механических и смешанных физических процессов. Исторически он возник как свободная альтернатива коммерческим системам моделирования, ориентированная на совместимость с экосистемой программ для численных расчётов и открытое распространение.
- Графический интерфейс: создание моделей путем перетаскивания блоков и соединения их сигналами, редактирование свойств блоков через диалоги параметров.
 - Поддержка гибридных систем: моделирование взаимодействия непрерывных и дискретных компонентов, событий и переходов между режимами.
 - Библиотеки блоков: набор стандартных блоков для арифметики, интегрирования, логики, управления, сигналов и источников, а также возможность расширения библиотек.
 - Симуляция во времени: интегрирование уравнений с выбором методов решения, регулировка шагов интеграции и управление параметрами симуляции.
 - Визуализация и анализ: вывод сигналов на графики, логирование переменных, экспорт данных для последующего анализа и сравнения результатов.
 - Интеграция с вычислительной средой: взаимодействие с инструментами для численных расчётов и скриптов, возможность автоматизации исследования параметров модели.
 - Импорт/экспорт моделей: сохранение проектов в стандартизированных форматах, обмен моделями между пользователями и средами разработки.
 - Расширяемость: возможность добавления пользовательских блоков и функций с использованием встроенных механизмов или внешних модулей.
 - Применение в обучении: удобство демонстрации принципов динамики, управления и системного анализа в образовательных курсах.
 - Отладка и верификация: инструменты для отслеживания ошибок в модели, тестирования сценариев и проверки поведения при различных входных данных.