RTOS. Сервер на C под uCLinux без поддержки динамической линковки и pthreads. Программа реализует некий интерфейс для настройки ряда устройств, посредством которого можно мгновенно в любой момент времени изменить их конфигурацию. Действительно же применение новой конфигурации занимает некоторое время и представляет собой довольно сложный процесс взаимодействия с утройствами, который сильно зависит от текущего состояния устройств и применяемых настроек.
Стоит заменить, что до применения QP софт не раз переписывался, т.к. сложность алгоритма конфигурирования постоянно приводила к почти полной потере расширяемости и изобилию багов.
Применение UML диаграмм состояний и последовательности позволило решить эти проблемы. В итоге получилось 4 класса сущностей (один из которых имел 5-ти-уровневую диаграмму состояний!). QP помог реализовать эти сущности, превратив их соответственно в 4 класса активных объектов.
Ядро кооперативной многозадачности мы использовали свое, сделанное на основе предлагаемого фреймворком легковесного Vanilla Kernel (хотя, проще и лучше было бы прицепить GNU Pth).
Стоит заменить, что до применения QP софт не раз переписывался, т.к. сложность алгоритма конфигурирования постоянно приводила к почти полной потере расширяемости и изобилию багов.
Применение UML диаграмм состояний и последовательности позволило решить эти проблемы. В итоге получилось 4 класса сущностей (один из которых имел 5-ти-уровневую диаграмму состояний!). QP помог реализовать эти сущности, превратив их соответственно в 4 класса активных объектов.
Ядро кооперативной многозадачности мы использовали свое, сделанное на основе предлагаемого фреймворком легковесного Vanilla Kernel (хотя, проще и лучше было бы прицепить GNU Pth).