PlantUML
   HOME

TheInfoList



OR:

PlantUML is an open-source tool allowing users to create diagrams from a plain text language. Besides various
UML The Unified Modeling Language (UML) is a general-purpose, developmental modeling language in the field of software engineering that is intended to provide a standard way to visualize the design of a system. The creation of UML was originally m ...
diagrams, PlantUML has support for various other software development related formats (such as
Archimate ArchiMate ( ; originally from Architecture-Animate) is an open and independent enterprise architecture modeling language to support the description, analysis and visualization of architecture within and across business domainsBlock diagram A block diagram is a diagram of a system in which the principal parts or functions are represented by blocks connected by lines that show the relationships of the blocks.
,
BPMN Business Process Model and Notation (BPMN) is a graphical representation for specifying business processes in a business process model. Originally developed by the Business Process Management Initiative (BPMI), BPMN has been maintained by the ...
, C4,
Computer network diagram A computer network diagram is a schematic depicting the nodes and connections amongst nodes in a computer network or, more generally, any telecommunications network. Computer network diagrams form an important part of network documentation. Symboli ...
, ERD,
Gantt chart A Gantt chart is a type of bar chart that illustrates a project schedule, named after its popularizer, Henry Gantt (1861–1919), who designed such a chart around the years 1910–1915. Modern Gantt charts also show the dependency relationshi ...
,
Mind map A mind map is a diagram used to visually organize information into a hierarchy, showing relationships among pieces of the whole. It is often created around a single concept, drawn as an image in the center of a blank page, to which associated r ...
, and WBD), as well as visualisation of JSON and
YAML YAML ( and ) (''see '') is a human-readable data-serialization language. It is commonly used for configuration files and in applications where data is being stored or transmitted. YAML targets many of the same communications applications as Ext ...
files. The language of PlantUML is an example of a domain-specific language. Besides its own DSL, PlantUML also understands AsciiMath, Creole, DOT, and
LaTeX Latex is an emulsion (stable dispersion) of polymer microparticles in water. Latexes are found in nature, but synthetic latexes are common as well. In nature, latex is found as a milky fluid found in 10% of all flowering plants (angiosperms ...
. It uses
Graphviz Graphviz (short for ''Graph Visualization Software'') is a package of open-source tools initiated by AT&T Labs Research for drawing graphs specified in DOT language scripts having the file name extension "gv". It also provides libraries for ...
software to lay out its diagrams and
Tikz PGF/Ti''k''Z is a pair of languages for producing vector graphics (e.g., technical illustrations and drawings) from a geometric/algebraic description, with standard features including the drawing of points, lines, arrows, paths, circles, ellipse ...
for LaTeX support. Images can be output as PNG, SVG, LaTeX and even ASCII art. PlantUML has also been used to allow blind people to design and read UML diagrams.


Applications that use PlantUML

There are various extensions or add-ons that incorporate PlantUML. *
Atom Every atom is composed of a nucleus and one or more electrons bound to the nucleus. The nucleus is made of one or more protons and a number of neutrons. Only the most common variety of hydrogen has no neutrons. Every solid, liquid, gas, ...
has a community maintained PlantUML syntax highlighter and viewer. * Confluence 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. *
Doxygen Doxygen ( ) is a documentation generator and static analysis tool for software source trees. When used as a documentation generator, Doxygen extracts information from specially-formatted comments within the code. When used for analysis, Doxyge ...
integrates diagrams for which sources are provided after th
\startuml
command. * Eclipse has a PlantUML plug-in. * Google Docs has an add-on called PlantUML Gizmo that works with the PlantUML.com server. *
IntelliJ IDEA IntelliJ IDEA is an integrated development environment (IDE) written in Java for developing computer software written in Java, Kotlin, Groovy, and other JVM-based languages. It is developed by JetBrains (formerly known as IntelliJ) and is av ...
can create and display diagrams embedded into Markdown (built-in) or in standalone files (using a plugin). *
LaTeX Latex is an emulsion (stable dispersion) of polymer microparticles in water. Latexes are found in nature, but synthetic latexes are common as well. In nature, latex is found as a milky fluid found in 10% of all flowering plants (angiosperms ...
using the
Tikz PGF/Ti''k''Z is a pair of languages for producing vector graphics (e.g., technical illustrations and drawings) from a geometric/algebraic description, with standard features including the drawing of points, lines, arrows, paths, circles, ellipse ...
package has limited support for PlantUML. *
LibreOffice LibreOffice () is a free and open-source office productivity software suite, a project of The Document Foundation (TDF). It was forked in 2010 from OpenOffice.org, an open-sourced version of the earlier StarOffice. The LibreOffice suite co ...
has Libo_PlantUML extension to use PlantUML diagrams. *
MediaWiki MediaWiki is a free and open-source wiki software. It is used on Wikipedia and almost all other Wikimedia websites, including Wiktionary, Wikimedia Commons and Wikidata; these sites define a large part of the requirement set for MediaWi ...
has a PlantUML plug-in which renders diagrams in pages as SVG or PNG. *
Microsoft Word Microsoft Word is a word processor, word processing software developed by Microsoft. It was first released on October 25, 1983, under the name ''Multi-Tool Word'' for Xenix systems. Subsequent versions were later written for several other pla ...
can use PlantUML diagrams via a Word Template Add-in. There is an additional
Visual Studio Tools for Office Visual Studio Tools for Office (VSTO) is a set of development tools available in the form of a Visual Studio add-in (project templates) and a runtime that allows Microsoft Office 2003 and later versions of Office applications to host the .NET Fra ...
add-in called PlantUML Gizmo that works in a similar fashion. *
NetBeans NetBeans is an integrated development environment (IDE) for Java. NetBeans allows applications to be developed from a set of modular software components called ''modules''. NetBeans runs on Windows, macOS, Linux and Solaris. In addition to Java ...
has a PlantUML plug-in. * Notepad++ has a PlantUML plug-in. *
Org-mode Org Mode (also: ''org-mode''; ) is a document editing, formatting, and organizing mode, designed for notes, planning, and authoring within the free software text editor Emacs. The name is used to encompass plain text files ("org files") that incl ...
has a PlantUML org-babel support. * Rider has a PlantUML plug-in. *
Visual Studio Code Visual Studio Code, also commonly referred to as VS Code, is a source-code editor made by Microsoft with the Electron Framework, for Windows, Linux and macOS. Features include support for debugging, syntax highlighting, intelligent code comple ...
has various PlantUML extensions on it
marketplace
most popular bein
PlantUML by jebbs
*Vnote open source notetaking markdown application has built in PlantUML support. *
Xcode Xcode is Apple's integrated development environment (IDE) for macOS, used to develop software for macOS, iOS, iPadOS, watchOS, and tvOS. It was initially released in late 2003; the latest stable release is version 14.2, released on December 13, ...
has a community maintained Source Editor Extension to generate and view PlantUML class diagrams from Swift source code.


Text format to communicate UML at source code level

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 does not need an explicit layout, though it is possible to tweak the diagrams if necessary.


Example

The source code for the
class diagram In software engineering, a class diagram in the Unified Modeling Language (UML) is a type of static structure diagram that describes the structure of a system by showing the system's classes, their attributes, operations (or methods), and the rela ...
shown on the right is as follows: skinparam style strictuml class Façade Façade .> package1.Class1 Façade .> package2.Class2 Façade .> package3.Class3 Client1 .> Façade : doSomething() Client2 .> Façade : doSomething() note as N2 doSomething() end note Façade .. N2


See also

* UMLet * AsciiDoc * YEd *
Mermaid In folklore, a mermaid is an aquatic creature with the head and upper body of a female human and the tail of a fish. Mermaids appear in the folklore of many cultures worldwide, including Europe, Asia, and Africa. Mermaids are sometimes ass ...
*
List of Unified Modeling Language tools This article compares UML tools. UML tools are software applications which support some functions of the Unified Modeling Language. General Features See also * List of requirements engineering tools Requirements engineering tools a ...


References


External links


Official website
{{Graph representations Charts Classic Mac OS software Programming tools Cross-platform software Data visualization software Diagramming software Diagrams Free software Free UML tools Graph description languages Graph drawing software Java platform software Java (programming language) software MacOS text-related software Software for modeling software UML tools Unified Modeling Language Unix software Windows text-related software