Вопрос

Я занимаюсь разработкой системы со множеством задач и множеством межзадачных сообщений.Система будет в основном разработана на C.

В своем проекте я пытаюсь использовать представление UML, чтобы отображать сообщения, передаваемые между задачами.Но становится все труднее представлять такие вещи, как принятие решений и т. д.

Есть ли у них какой-либо предопределенный метод создания блок-схемы для систем, основанных на задачах, которые используют много сообщений?

Не обязательно UML, есть ли какой-либо другой стандартный метод, который можно использовать для этого проекта?

Это было полезно?

Решение

Я обнаружил, что для документирования потока сообщений каждый из конечных автоматов и диаграмм последовательности имеет свое место.Конечные автоматы лучше описывают решения, изменяющие состояние системы.Диаграммы последовательностей лучше описывают сообщения, реализующие определенный элемент протокола.

Поскольку мне нравится использовать Доксиген во всяком случае для внутренней документации, и ему нравится рисовать графики вызовов и другие цифры с помощью Точка инструмента GraphViz, Я начал использовать точку для документирования своих конечных автоматов.Поскольку в Doxygen есть синтаксис для включения точечного языка непосредственно в исходный код (и даже разрешены гиперссылки с элементов чертежа на другие страницы сгенерированной документации), это было действительно удобно.Недавно в Doxygen появилась явная поддержка диаграмм последовательности, выраженных с помощью mscgen, что позволяет использовать оба стиля диаграммы.

Наличие изображений, выраженных достаточно естественным образом непосредственно в исходном коде, повышает вероятность их сохранения, чем если бы они были нарисованы извне в Visio или каком-либо другом инструменте рисования.

Другие советы

Пожалуйста, попробуйте программное обеспечение под названием Umbrello, если вы представляете свой проект в UML.Это дает вам большую гибкость в представлении вашего дизайна.

используйте диаграмму последовательности или диаграмму конечного автомата с аннотацией MARTE (профиль UML для моделирования и анализа встроенной системы реального времени), потому что я заметил, что вы работаете с операционной системой реального времени

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top