Высокоуровневое проектирование встраиваемых систем. Платунов А.Е - 165 стр.

UptoLike

Аспекты сложности и повторного использования
В связи с тем, что M3P необходимо дополнять новыми функциями в
процессе работы над новыми проектами, система должна быть простой
(принцип KISS). Упрощение системы производится созданием фреймворка,
позволяющего создавать сравнительно сложные инструментальные системы из
простых компонентов, объединенных скриптовым языком программирования.
Необходимо заметить, что простота фреймворка позволила получить первую
работающую версию инструментальной системы всего за несколько дней.
Требование простоты обеспечивается в инструментальной системе отказом от
графического интерфейса пользователя в пользу текстовой командной строки.
Простота реализации один из главных аргументов в пользу выбора языка
FORTH. В связи с тем, что в данной системе не предполагается написание очень
сложных скриптовых программ (это доказано практикой, на протяжении
десятка лет), язык FORTH позволяет легко решать различные задачи.
На начальных этапах реализация M3P изобиловала использованием
объектно-ориентированных особенностей языка С++. Практика показала, что
использование сложных иерархий классов отрицательно сказывается на
повторном использовании, в связи с чем последующие реализации M3P были
очень сильно упрощены в сторону структурного программирования.
Аспект переносимости
Как показала многолетняя практика, многим заказчикам требуется
инструментарий, работающий на самых различных платформах (Windows, Unix,
Mac OS и так далее). Обеспечение переносимости в инструментальной системе
выполняется отказом от графического интерфейса пользователя в пользу
текстовой командной строки и выполнения реализации ядра и большинства
инструментальных функций в рамках стандарта POSIX. Такое решение
позволяет с минимальными переделками быстро получить реализации
инструментальной системы для MS Windows, Cygwin, Linux и Mac OS.
Уровневая архитектура системы позволяет легко отделить части, зависящие от
особенностей конкретной операционной системы.
164