А sequence diagram - это схема поведения, которая представляет взаимодействие между структурными элементами архитектуры как последовательность обмена сообщениями. Можно использовать диаграммы последовательности, чтобы описать, как взаимодействуют части статической системы.
Можно использовать диаграммы последовательности в System Composer™, обратившись в Architecture Views Gallery. Диаграммы последовательности интегрированы с архитектурой моделями. Для получения дополнительной информации о том, как создавать и использовать диаграммы последовательности с архитектурной моделью, смотрите Использование диаграмм последовательности в Галерее видов.
В этом примере вы узнаете об основной терминологии и функциях диаграммы последовательности в два этапа.
Добавьте спасательные линии и сообщения с триггерными условиями и ограничительными условиями, чтобы представлять взаимодействия.
Включите фрагменты и операнды с ограничительными условиями, чтобы дополнительно задать поведение взаимодействия.
Создайте новую последовательную схему путем перехода к Views > Architecture Views. Откроется Галерея видов архитектуры. Выберите New Sequence Diagram под кнопкой, чтобы создать новую схему последовательности.
Новая схема последовательности названная SequenceDiagram
создается в Диспетчере видов, и вкладка «Схема последовательности» становится активной. Выберите Component > Add Lifeline
, чтобы добавить спасательный круг элемента. Новая спасательная линия с вертикальной штриховой линией создается без имени.
Назовите спасательный круг Element 1
и создайте второй спасательный круг, Element 2
.
Выберите вертикальную пунктирную линию для Element 1
спасательный круг. Щелкните и перетащите мышью на Element 2
спасательный круг. Задайте конец To и From сообщения следующим In
и Out
, соответственно.
Щелкните на сообщении, чтобы увидеть, где разместить условие сообщения. Введите условие триггера с одним из следующих событий триггера:
crossing
rising
falling
Для примера условие запуска сообщения может быть задано следующим образом:
falling(In.elem1 + 5)
Имя сигнала In.elem1
должен быть сигнальным элементом в сигнальном интерфейсе, сопоставленном с портом. Для получения дополнительной информации об управлении интерфейсами см. раздел «Определение интерфейсов».
Условие триггера должно быть в следующей форме:
triggerEvent(signalName (+|-) positiveReal)
Условие запуска сообщения активируется при событии пересечения нулем, когда значение сигнала порта равняется нулю, начиная с заданного значения.
Добавьте условие ограничения с помощью MATLAB® логическое выражение в квадратных скобках. Условия ограничения состоят из логического выражения, действующего на имя сигнала.
[In.elem2 >= 1]
Условие ограничения является дополнительной проверкой после условия триггера.
Примечание
Для условий триггера и ограничений поддерживаются только элементы назначения. В этом примере Out
является исходным элементом и не может быть включен.
Можно использовать составные фрагменты, чтобы включить структуры управления в диаграммах последовательности. Операнды в составных фрагментах могут быть дополнительно заданы с условиями операнда, состоящими из логических выражений MATLAB между именами сигналов.
Для доступа к меню фрагментов:
Щелкните и перетащите мышью, чтобы выбрать сообщение.
Пауза на многоточии (...), которая появляется для доступа к панели действий.
Появляется список составных фрагментов:
Alt Fragment
Opt Fragment
Loop Fragment
Seq Fragment
Strict Fragment
Par Fragment
Выберите Alt Fragment
.
The Alt Fragment
добавляется фрагмент к сообщению диаграммы последовательности.
Выберите составной фрагмент для ввода условия операнда. Выберите полное имя сигнала и используйте зависимое отношение условия.
Element 2/In.elem2 > 0
Ограничение определяет, когда принимается альтернативный операнд.
Сообщение в операнде может быть выполнено, только если условие ограничения верно.
Выделите первый операнд под Alt Fragment
составной фрагмент и выберите Fragment > Add Operand > Insert After. Добавляется второй операнд.
Добавьте отношение ограничительного условия ко второму операнду.
Element 2/In.elem1 ~= 5
Второй операнд в Alt Fragment
фрагмент представляет elseif
условие, для которого сообщение не будет выполнено.
Можно просмотреть конечный продукт примера рабочего процесса для этой темы.
Откройте модель System Composer, которая содержит схему последовательности.
model = systemcomposer.openModel('ArchModelDefine');
Откройте Architecture Views Gallery, чтобы просмотреть схему последовательности.
openViews(model);