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 ...
diagrams, PlantUML has support for various other
software development Software development is the process of conceiving, specifying, designing, programming, documenting, testing, and bug fixing involved in creating and maintaining applications, frameworks, or other software components. Software development inv ...
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 ERD may refer to: * Érd, a city in Hungary * Berdyansk Airport, in Ukraine * Economic Relations Division (Bangladesh), of the Bangladeshi Ministry of Finance * Elastic recoil detection * Emergency repair disk * Emergency Reserve Decoration, a Bri ...
,
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 relationsh ...
,
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 ...
, and WBD), as well as visualisation of
JSON JSON (JavaScript Object Notation, pronounced ; also ) is an open standard file format and data interchange format that uses human-readable text to store and transmit data objects consisting of attribute–value pairs and arrays (or other s ...
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 AsciiMath is a client-side mathematical markup language for displaying mathematical expressions in web browsers.. Using the JavaScript script ASCIIMathML.js, AsciiMath notation is converted to MathML at the time the page is loaded by the browser, ...
, 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 (angiosper ...
. 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 s ...
software to lay out its diagrams and Tikz for LaTeX support. Images can be output as PNG,
SVG Scalable Vector Graphics (SVG) is an XML-based vector image format for defining two-dimensional graphics, having support for interactivity and animation. The SVG specification is an open standard developed by the World Wide Web Consortium sinc ...
, LaTeX and even
ASCII art ASCII art is a graphic design technique that uses computers for presentation and consists of pictures pieced together from the 95 printable (from a total of 128) character (computing), characters defined by the ASCII Standard from 1963 an ...
. 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 In geography, a confluence (also: ''conflux'') occurs where two or more flowing bodies of water join to form a single channel. A confluence can occur in several configurations: at the point where a tributary joins a larger river ( main stem); ...
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 An eclipse is an astronomical event that occurs when an astronomical object or spacecraft is temporarily obscured, by passing into the shadow of another body or by having another body pass between it and the viewer. This alignment of three ce ...
has a PlantUML plug-in. *
Google Docs Google Docs is an online word processor included as part of the free, web-based Google Docs Editors suite offered by Google, which also includes: Google Sheets, Google Slides, Google Drawings, Google Forms, Google Sites and Google Keep. G ...
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 a ...
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 (angiosper ...
using the Tikz 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 consi ...
has Libo_PlantUML extension to use PlantUML diagrams. *
MediaWiki MediaWiki is a Free and open-source software, free and open-source wiki software. It is used on Wikipedia and almost all other Wikimedia movement, Wikimedia Website, websites, including Wiktionary, Wikimedia Commons and Wikidata; these sit ...
has a PlantUML plug-in which renders diagrams in pages as SVG or PNG. *
Microsoft Word Microsoft Word is a 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 platforms includi ...
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++ Notepad++ is a text and source code editor for use with Microsoft Windows. It supports tabbed editing, which allows working with multiple open files in a single window. The product's name comes from the C postfix increment operator. 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 compl ...
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 r ...
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 UMLet is an open-source Java-based UML tool designed for teaching the Unified Modeling Language and for quickly creating UML diagrams. It is a drawing tool rather than a modelling tool as there is no underlying dictionary or directory of reusabl ...
*
AsciiDoc AsciiDoc is a human-readable document format, semantically equivalent to DocBook XML, but using plain-text mark-up conventions. AsciiDoc documents can be created using any text editor and read “as-is”, or rendered to HTML or any other f ...
*
YEd yEd is a general-purpose diagramming program with a multi-document interface. It is a cross-platform application written in Java that runs on Windows, Linux, Mac OS, and other platforms that support the Java Virtual Machine. It is released und ...
*
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 asso ...
*
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 ar ...


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