Как стать автором
Обновить

Комментарии 13

Нужно хотя бы поверхностно изучить синтаксис UML. 

Тут видимо должно быть PlantUML, тк дальше речь про него

Нет, имел в виду именно UML, я же пишу про синтаксис. Разве где-то он различается(в рамках описания sequence-диаграмм)?

UML — это не текстовый язык

Да, не текстовый, это язык моделирования и у него есть свой синтаксис, который я и описал. Например, “a -> b” это синтаксис. Возможно, я не понимаю о чем речь, можешь объяснить подробнее?

Разобрался, внес изменение, спасибо ❤️

Самые популярные:

  • Графический редактор draw.io

  • Песочница от plantUML

  • С помощью плагина в инструментах JetBrains или VSCode

Возможен и такой: "Смарт-инструменты «Таблица -> Схема» для UML \ plantUML", по аналогии с ВРМ. Смарт-инструменты «Таблица -> Схема» для формализации бизнес-процессов. Рестайлинг ARIS SmartDesign

Пользователь без знания UML \ plantUML заполняет табличку, жмет кнопку "Нарисовать" (или в реальном времени, как это в ARIS и sequencediagram). Заполнение таблички было бы проще, чем https://sequencediagram.org/

А если посмотреть еще дальше, то строить подобное хотелось бы через RDF (единый формат семантики и исходник для дальнейших dot, Mermaid, PlantUML и др.), идея тут:

Semantic BPM. Семантика и синтаксис бизнес-процессов

#стало:

Alice -> Bob++: Authentication Request

Bob -> Sanya++: Another authentication Request

Sanya --> Bob--: Authentication Response

Alice <-- Bob--: another authentication Response

Добрый день!

Только начинаю изучать данную тему...

Вот здесь немного не понял, разве не должно быть так:

Bob --> Sanya--: Authentication Response

Зависит от поставленной задачи.

Если сделать, как вы пишите, то будет 2 стрелки от Bob к Sanya, а я старался все-таки изобразить синхронное взаимодействие для большой наглядности с блоком активности.

В теории у нас могло бы быть и такое взаимодействие, которое описываете вы, за исключением типа стрелки. Нужно выбрать в вашем случае: Bob -> Sanya. Ну и тогда это уже будет не ответ(Response), а еще один запрос, и в сумме 2 асинхронных запроса(вместо 1 синхронного запроса и ответа на него).

Почему-то Хабр не давал откорректировать комментарии...

Я там ошибся и не исправил стрелку.

Предполагалось такой вариант:

Bob <-- Sanya--: Authentication Response

По аналогии с нижним ответом.

При этом понятно, что закрываем блок активности у Sanya, а в Вашем варианте, как-будто закрывается у Bob

С точки зрения синтаксиса "Bob <-- Sanya--" и "Sanya --> Bob--" одинаковые. Блок активности закрывается не у объекта, возле которого проставлено --, а после сообщения. То есть неважно в какую сторону направлена стрелка, важно что после именно этой стрелки будет закрыт блок активности.

И ещё один вопрос возник по группировкам.

Вы пишите, что у alt есть else (тут все понятно), и у par есть else (вот тут запутался).

Par исходя из определения должны идти одновременно без условий, или я не правильно понял?

В данном случае else используется для разделения на отдельные кейсы, которые будут выполняться параллельно. Наверное, это было сделано, чтобы упростить себе жизнь(разрабам, которые делали штуки для PlantUML)

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории