Как альтернативным способом (! Pic2plot) генерировать диаграммы последовательности из некоторой декларативной текстовой формы? - PullRequest
3 голосов
/ 14 апреля 2011

В UMLGraph есть компонент pic2plot для рисования диаграмм последовательности (sequence.pic).

Формат ввода такой:

.PS
copy "/usr/local/lib/sequence.pic"; 

object(N0,"0"); 
object(N1,"1"); 

step();

message(N0,N0,"doSomething()"); 
message(N0,N1,"callFunction()");

step();

.PE

Основной недостаток состоит в том, что он основан на pic2plot, которыйвыглядит заброшенным, не может обрабатывать UTF-8 и имеет труднодоступную документацию (даже man plotutils does not have a full set of useful man pages).

Есть ли альтернативы для рисования диаграмм последовательности из простого текстового ввода без GUI?

Примечание : теперь используется этот хак:

cat mpiseq.pic | <a href="http://vi-server.org/vi/bin/u8h" rel="nofollow">u8h</a> | pic2plot -T svg | <a href="http://www.ofb.net/~egnor/xml2/" rel="nofollow">xml2</a> | perl -pe 's!/svg/\@height=8in!/svg/\@height=32in!; s!/svg/\@viewBox=0 0 1 1!/svg/\@viewBox=0 -0.2 1 3.8!' | <a href="http://www.ofb.net/~egnor/xml2/" rel="nofollow">2xml</a> | <a href="http://vi-server.org/vi/bin/h8u" rel="nofollow">h8u</a> | <a href="http://vi-server.org/vi/bin/svg" rel="nofollow">svg</a>

u8h / h8u маскирует / демаскирует символы UTF-8 в виде последовательности шестнадцатеричных цифр (защищенных подписями)

Ответы [ 2 ]

4 голосов
/ 14 апреля 2011

На самом деле, есть несколько альтернатив. Взгляните на этот список текстовых инструментов UML

1 голос
/ 22 ноября 2017

Я пробовал sdedit, который даже не смог обработать свой собственный пример!

Среди множества инструментов plantuml выделяется в моей книге: может обрабатывать довольно сложные функции с четким синтаксисом.

@startuml
Alice->Bob : hello
note left: this is a first note

Bob->Alice : ok
note right: this is another note

Bob->Bob : I am thinking
note left
    a note
    can also be defined
    on several lines
end note
@enduml
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...