2011-08-09 14 views
5

Graphviz, State Transition Diagram'larını tam olarak böyle işler mi?Graphviz, State Transition Diagram'larını böyle yapabilir mi?

http://upload.wikimedia.org/wikipedia/commons/c/cf/Finite_state_machine_example_with_comments.svg

=== Düzenleme === Marapet kodu gerçekten yakın gelir

(bkz: http://i.imgur.com/ElzSl.png). Cevabını kabul ediyorum.

+0

Bu kesinlikle automata diyagramları çizmek için popüler bir araçtır, ancak bu kesin resmi çizebilir, emin değilim. Henüz denedin mi? –

+0

Aynı görüntüyü elde etmekle değil, aynı diyagram tipiyle (geçiş koşulları, giriş eylemleri vb. Benzer bir düzen/görünümde destekle) ilgili değil. Henüz denemedim, birisinin STD'lerin buna benzer şekilde nasıl yapıldığını anladığını merak ediyordum. – Erik

+0

Evet, bunu birkaç kez yaptım. Oldukça basit. –

cevap

9

I geçiş koşulları için düğümleri oluşturuyordunuz:

digraph g{ 
    Opened[label="1\nOpened\nE: open door"]; 
    Closed[label="2\nClosed\nE: closed door"]; 
    node[shape=plaintext]; 

    Opened -> close_door[arrowhead=none]; 
    close_door -> Closed; 
    Opened -> open_door[dir=back]; 
    open_door -> Closed[arrowhead=none]; 
} 
+0

Mükemmel öneri, teşekkürler! – Erik

+0

Yardım ettiğine sevindim! ... ayrıca _Opened_ ve _Closed_ düğümleri için kalın metin kullanmak için html benzeri bir etiket kullanabilir ve _transition condition_ düğümleri için bir monospace font kullanabilirsiniz. – marapet

2

I close_door için bir düğüm oluşturmak yerine oka etiket kullanmak:

Açılmış -> Kapalı [etiket = kapıyı kapat];