PlantUML
Developer(s) | Arnaud Roques[1] |
---|---|
Initial release | 17 April 2009[2] |
Repository | |
Written in | Java |
Operating system | Linux, OS X, Windows |
Type | UML Modeling |
License | GNU Public License |
Website | plantuml |
![](http://upload.wikimedia.org/wikipedia/commons/thumb/5/57/Example_of_Facade_design_pattern_in_UML.png/250px-Example_of_Facade_design_pattern_in_UML.png)
PlantUML is an open-source tool allowing users to create UML diagrams from a plain text language. The language of PlantUML is an example of a Application Specific Language.[3] It uses Graphviz software to lay out its diagrams. It has been used to allow blind students work with UML. [4] [5] PlantUml also helps blind software engineers to design and read UML diagrams.
Applications that use PlantUML
PlantUML.com is a web server that generates diagrams in the cloud. There are also various extensions or add-ons that incorporate PlantUML.
- IntelliJ IDEA can create and display diagrams using a plugin.
- Google Docs has an add-on called PlantUML Gizmo that works with the PlantUML.com server.
- Microsoft Word can use PlantUML diagrams via a Visual Studio Tools for Office add-in called PlantUML Gizmo that works in a similar fashion.
- Eclipse has a PlantUML plug-in.
- NetBeans has a PlantUML plug-in.
- LaTeX using the Tikz package has limited support for PlantUML.
- Confluence (software) WIKI has a PlantUML plug-in for Confluence Server, which renders diagrams on-the-fly during a page reload. There is an additional PlantUML plug-in for Confluence Cloud.
- MediaWiki has a PlantUML plug-in which renders diagrams in pages as svg or png.
Text format to communicate UML at source code level
Because PlantUml uses well-formed and human-readable code to render the diagrams,
There are other text formats for UML modelling but PlantUml supports many diagram types and doesn't need an explicit layouting, though one can easily tweak the diagrams to one's own needs.
Example
The source code for the class diagram shown on the right is as follows:
skinparam style strictuml class Façade { doSomething() } Façade .> package1.Class1 Façade .> package2.Class2 Façade .> package3.Class3 Client1 .> Façade : doSomething() Client2 .> Façade : doSomething() note as N2 doSomething() { Class1 c1 = newClass1(); Class2 c2 = newClass2(); Class3 c3 = newClass3(); c1.doStuff(c2) c3.setX(c1.getX()); return c3.getY(); } end note Façade .. N2
See also
References
- ^ "PlantUML overview".
- ^ http://sourceforge.net/projects/plantuml/
- ^ Campagne, Fabien (June 16, 2014). The MPS Language Workbench, Vol. 1. CreateSpace Independent Publishing Platform. ISBN 9781497378650.
- ^ Luque, L.; Veriscimo, E.S.; Pereira, G.C.; Filgueiras, L.V.L. (2014). "Can We Work Together? On the Inclusion of Blind People in UML Model-Based Tasks". In P.M. Langdon; J. Lazar; A. Heylighen; et al. (eds.). Inclusive Designing Joining Usability, Accessibility, and Inclusion (Aufl. 2014 ed.). Cham: Springer International Publishing. ISBN 978-3-319-05095-9.
- ^ Müller, Karin (2012). "How to Make Unified Modeling Language Diagrams Accessible for Blind Students". In Klaus Miesenberger (ed.). Computers Helping People With Special Needs 13th International Conference, ICCHP 2012, Linz, Austria, July 11-13, 2012, Proceedings, Part I. Berlin [u.a.]: Springer-Verlag New York Inc. pp. 186–190. ISBN 978-3-642-31521-3.
External References
![](http://upload.wikimedia.org/wikipedia/en/thumb/4/4a/Commons-logo.svg/30px-Commons-logo.svg.png)