Цитата(yanvasiij @ Nov 13 2013, 11:20)

Мне нужно средство, которое позволило бы грамотно проработать концепцию программы, спланировать работу, разбить ее на куски и т.д.
Обратите внимание на методологию SADT (IDEF0), которая как раз для этого и придумана. Хотя мне для программ порядка 10000 строк кода хватает 30-40 тетрадных листов и обычных блок-схем.
А методологий и языков помимо UML куча...
Цитата(yanvasiij @ Nov 13 2013, 11:20)

Но как применить UML к embedded на простом Си.
При такой постановке вопроса выходит, что UML применяется ради UML, а не ради решения задачи.
На мой взгляд начинать нужно с придумывания внятных имен переменных, функций, модулей, библиотек и т.д.
Внятная система имен - мощнейший инструмент.
Если программа или алгоритм плохо спроектированы, то это сразу будет заметно, так как пасьянс из структур данных не разложится, все корявости будут видны,
все несимметричности, натяжки и нестыковки засверкают.
Потом можно будет дополнить описание блок-схемами и временными диаграммами (если нужно).
Использование даже этих простейших подходов обеспечивает высокую вероятность успешного завершения работы.