ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
25 апреля
553400 Топик полностью
fk0123 (15.10.2014 01:40, просмотров: 1) ответил Codavr на Надо было сделать транслятор с DOT в Си, и не тратить время на графику. Ах да, графика вещь универсальная и можно одну и ту же картинку реализовать в разных языках программирования :)
Алгоритм билдер, ёпт. Таких проектов стопицот штук. Quantum Leaps бывшая ... (напомните как, таблетки от склероза забыл). Есть проекты в рамках технологии автоматного программирования Шалыто (из Visio в C). Есть генераторы из UML. Есть специальные языки для написания автоматов, без графики. Вспоминается pawn (scripting language), CHSM проект на sourceforge (C++) и тысячи их! Но на самом деле всё это полная х...та. На самом деле нужна ОС или хорошая библиотека (фреймворк) для синхронного, без многопоточностей, event driven programming в рамках C/C++. В базе должен быть механизм а-ля сигналы-слоты для связки источников событий и их обработчиков и планировщик непосредственно вызывающий обработчики по мере наличия сигналов. Первый должен позволять быструю переконфигурацию в момент смены состояния автомата. Второй является основным исполняемым потоком, других потоков нет (в идеале, понятно, что так не получится, как минимум будут прерывания генерирующие те же события). Автоматы каждый шаг выполняют как обработчик события. В чём разница с традиционной многопоточной системой, понятно -- синхронная работа исключает все проблемы связанные с синхронизацией. Но добавляет свои. Все крайности плохи. Тем более, что многопоточная система на сотни-тысячи потоков в микроконтроллере представляется фантастичной штукой. В чём разница с технологиями автоматного программирования -- они не дают собственно технологии построения архитектуры ПО, они только рассказывают как построить отдельные алгоритмы. Ближайшую аналогию систем близких к embedded стоить искать в технологиях GUI на ПК. Там событийно-ориентированные системы вытеснили все остальные архитектуры. Свойства embedded и GUI примерно одинаковы: критично время отклика, большое количество параллельных компонент системы.