TGViewer
Гуманный аналитик Гуманный аналитик @humane_analyst · 413 subscribers
Post #296 235
⚡ Спешу поделиться багом, который только что выявил.

Инструкция skinparam responseMessageBelowArrow в PlantUML по задумке авторов определяет способ размещения подписи ответного сообщения на диаграмме последовательности. При значении false текст размещается над стрелкой (классический вариант, который является дефолтным), а при значении true — над стрелкой. Если вы пользуетесь этой инструкций, то следующая информация для вас.

☝️Предусловие. Вы используете следующую инструкцию:

skinparam responseMessageBelowArrow true


В простых примерах всё работает ожидаемым образом, однако представим ситуацию, что требуется отразить следующую логику.

Система A вызывает систему B (A -> B), от которой ждёт ответ. Однако в некоторых случаях системе B для подготовки ответа может потребоваться обратиться к системе А (переспросить пользователя, дозапросить недостающие данные и т.п.), т.е., образно говоря, формируется малая петля взаимодействия внутри большой петли.

Вы наверняка напишите B -> A (а не B --> A), чтобы проиллюстрировать семантику запроса, но движок PlantUML воспримет вызова системы A как ответ (ранее ведь A вызывал B) и сделает подпись под стрелкой. А ответ A --> B, следуя той же самой логике, он воспримет как новый запрос и подпишет стрелку сверху. Это точно не соответствует задумке.

Я поэкспериментировал и пришёл к заключению, что движок PlantUML в целях отработки инструкции responseMessageBelowArrow тупо ориентируется на порядок следования участников взаимодействия (actor, participant и пр.). И тот участник, что левее, всегда воспринимается вызывающим, а тот, кто справа, — вызываемым. Можно, конечно, A и B переставить местами, но тогда придётся читать диаграмму справа налево, что неудобно, и, более того, подпись к исходному вызову A -> B будет снизу... В общем, универсального решения не нашёл, надеюсь, что когда-нибудь это исправят.

#визуализация #plantuml
  • 🔥 3
  • 👍 1
  • 🙏 1
More from @humane_analyst
  1. Oct 1, 2026⚡ TechCommunity Fest 2026 (TCF2026) Я сегодня на TechCommunity Fest. Событие не для широко…
  2. Sep 28, 2026📕 "Ikigai: The Japanese Secret to a Long and Happy Life" by Héctor García and Francesc Mi…
  3. Sep 24, 2026Друзья, поздравляю всех с Днём системного аналитика! 🥂 Пусть все требования будут чёткими…
  4. Sep 21, 2026📣 Выложены записи трека "Архитектура и анализ" CodeFest'16. Смотрим! 📺 #события #codefes…
  5. Sep 16, 2026🤖 Новая веха: заказчик принëс нейрослоп На днях произошло событие, которое без преувеличе…
  6. Sep 10, 2026Моё настроение сегодня как нельзя лучше представлено на этом ролике. #юмор #методыуправлен…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →