31

There are a bunch of integration options between Emacs and UML tools, like org-mode's plantuml embedding, a plantuml major mode etc. Of course I can try them out but I'm wondering what other people use for a UML workflow?

Embedding inside another document like org-mode does is a nice idea, or outputting the generated uml in another buffer live-updated would be nice too. I'm sure people out there have some super-cute elisp functions to automate this kind of thing!

Dan
  • 32,584
  • 6
  • 98
  • 168
Mark
  • 1,409
  • 1
  • 15
  • 20
  • 1
    Rather late to the party, but this Q just got bumped by some answers. Could you make the question a little more discrete and problem-oriented? Right now, "what other people use" will solicit a lot of different, opinion-based answers, and that sort of Q&A is not well-suited to this site. – Dan Dec 19 '14 at 13:24
  • Hi @Dan, I'm not opposed to altering the question (which as you say is oldish), but people stating what they use is factual not opinion (even if their opinions were involved in deciding what to use). For example would you think it better to ask "what modules are available to generate UML and their key features"? I can't just ask "how can I generate UML from within Emacs" since as stated I already know a number of plausible answers to that question, but I want to improve on my current options. – Mark Feb 10 '16 at 11:21
  • @Dan also what are the answers that bumped this? The most recent I see is Dec '14? Or do upvotes bump threads also? – Mark Feb 10 '16 at 11:30

4 Answers4

32

Not sure if you want to have UML conversion from/to source code etc., but if you want to create and maintain them by hand, plantuml rocks!

Simple plantuml example of a sequence diagram:

Bob -> Alice : hello

Rendered result of simple plantuml example

I am successfully using org-babel with plantuml (and gnuplot and ditaa and ...) diagrams etc. Works like a charm, once set up, and html output too looks awesome when you use any one of the org-mode style sheets out there.

See also Zeekat's Making Emacs Work For Me on how to setup org-babel and many other Emacs goodies.

Then there is graphviz's dot, which I am about to check out, and while not specific to UML, could also be used in Emacs to do UMLy diagrams.

Simple dot example:

graph graphname { 
                a -- b; 
                b -- c;
                b -- d;
                d -- a;
        }

Rendered result of simple dot example

And while we are at it, though not related to UML at all, org-babel-gnuplot shows how to use the extremely versatile gnuplot in Emacs.

10

I'll just toot my own horn and mention wsd-mode. It also has partial support for org-babel, which means you can literally embed your UML in your org-mode docs and export the result to a valid HTML-document or similar.

Compared to plantuml-mode, its support for syntax-highlighting and indentation is clearly and objectively superior. It also integrates nicely with flycheck and company-mode.

If you think all those "small" things matters, wsd-mode might be a better fit for you.

Unlike plantuml-mode, it doesn't depend on Java or other binaries, but instead uses a SaaS webservice to generate the diagrams.

This makes it more plug-and-play and portable and to someone this might be a better fit, but the catch is that you need to be online for it to work.

5

I know graphviz has some support for UML, and org-mode has good support for graphviz. Perhaps the combination will work for you?

shapr
  • 370
  • 2
  • 7
4

[WARNING] Mouse dependency

What about artist-mode + ditaa ?

artist-mode- Mouse use drawer in ASCII style like simple analog Monodraw for macOS. On exit we have text file in ASCII graph.

ditaa - can convert ur text file to image/html etc.

its useful for start using emacs for build UML. But this way use mouse so hard. However, I'm hate mouse, like most emacs users, and I'm use plantUML in org-mode. Its keyboard friendly and epic useful tool for any uml styles.

artis-mode

ditaa

Bimawa
  • 153
  • 1
  • 9