Plantuml State Chart

Watch app (6)Integration details. Flowchart & PlantUML Diagrams for Confluence integrates with your Atlassian product. This remote service can: Read data from the host application. Asciidoctor Diagram depends on external tools to generates images. In most cases it will locate these tools automatically for you by looking for specific executables in each directory in the PATH environment variable. In case you’ve installed a tool in a way where the executable is not in the PATH, you can override its location manually using document attributes. Apr 26, 2021 Creating flow chart, mind map, org charts, network diagrams and floor plans with rich gallery of examples and templates. Edraw Max is an extremely powerful all-in-one diagramming tool that can serve all of your purposes.

Original author(s)Arnaud Rosques
Developer(s)Arnaud Roques[1]
Initial release17 April 2009[2]
Stable release
Written inJava
Operating systemLinux, OS X, Windows
Available inJava
TypeUML tool
LicenseGNU General Public License

PlantUML is an open-source tool allowing users to create diagrams from a plain text language. Besides various UML diagrams, PlantUML has support for various other Software development related formats (such as Archimate, Block diagram, BPMN, C4, Computer network diagram, ERD, Gantt chart, Mind map, and WBD), as well as visualisation of JSON and YAML files.

The language of PlantUML is an example of a domain-specific language.[4] Besides its own DSL, PlantUML also understands AsciiMath, Creole, DOT, and LaTeX. It uses Graphviz software to layout its diagrams and Tikz 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.[5][6]

Applications that use PlantUML[edit]

There are various extensions or add-ons that incorporate PlantUML.

  • Atom 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 integrates diagrams for which sources are provided after the 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 can create and display diagrams embedded into Markdown (built-in) or in standalone files (using a plugin).
  • LaTeX using the Tikz package has limited support for PlantUML.
  • LibreOffice has Libo_PlantUML extension to use PlantUML diagrams.
  • MediaWiki has a PlantUML plug-in which renders diagrams in pages as SVG or PNG.[7]
  • Microsoft Word can use PlantUML diagrams via a Word Template Add-in. There is an additional Visual Studio Tools for Office add-in called PlantUML Gizmo that works in a similar fashion.
  • NetBeans has a PlantUML plug-in.
  • Org-mode has a PlantUML org-babel support.
  • Rider has a PlantUML plug-in.
  • Visual Studio Code has various PlantUML extensions on its marketplace, most popular being PlantUML by jebbs.
  • Vnote open source notetaking markdown application has built in PlantUML support.[8]

Text format to communicate UML at source code level[edit]

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 layouting, though it is possible to tweak the diagrams if necessary.


Plantuml State Chart 2020

The source code for the class diagram shown on the right is as follows:

UML Class diagram showing an example of the Facade design pattern.

See also[edit]

Wikimedia Commons has media related to PlantUML.


  1. ^'PlantUML overview'.
  2. ^'Plantuml'.
  3. ^'list of evolutions and bug fixes'.
  4. ^Campagne, Fabien (June 16, 2014). The MPS Language Workbench, Vol. 1. CreateSpace Independent Publishing Platform. ISBN9781497378650.
  5. ^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. ISBN978-3-319-05095-9.
  6. ^Müller, Karin (2012). 'How to Make Unified Modeling Language Diagrams Accessible for Blind Students'. In Miesenberger, Klaus (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. ISBN978-3-642-31521-3.
  7. ^'Extension:PlantUML - MediaWiki'. www.mediawiki.org. Retrieved 2018-10-21.
  8. ^'Vnote'.

External links[edit]

Retrieved from 'https://en.wikipedia.org/w/index.php?title=PlantUML&oldid=1021502277'
.NET ToolsHow-To'sPluginsRider

UML, or Unified Modeling Language, is, as the name implies, a modeling language that allows you to visualize systems. In this post, we’ll look at how PlantUML enables you to create various kinds of diagrams so that you can properly document your software. We’ll create two of the most popular UML diagram types: Class and Use Case diagrams, to demonstrate what you can do with the PlantUML plugin in Rider.

UML Overview

UML is a language. But it isn’t a programming language in the sense C#, Java, or Python are. UML is a visual way to convey information about software or systems, through diagrams.PlantUML is a UML-based component that enables you to draw diagrams using a concise syntax. UML diagrams come in many flavors, including the following popular types of diagrams:

  • Class: Diagrams all of the classes in a program, and how they are related.
  • Component: Shows the various components of a system and how they interact.
  • Use case: Visually demonstrates varying scenarios in how users and other software interacts within a system boundary.
  • Activity: Graphic representation of workflows of a system.
  • Sequence: Outlines the steps that are necessary for a system or part of a system to function.
  • State-machine: Describe the behavior of objects that act differently according to the state they are in at the moment.

In addition, PlantUML supports Object, Gantt, MindMap, Wireframe, and Work Breakdown Structure diagrams. Most teams don’t create every type of diagram for a system. Instead, they tend to choose which UML diagram types are the most meaningful that help the team and other stakeholders better understand the software. For example, a team that works on UIs might find Use Case diagrams helpful, while the back-end team might find Sequence and State-machine diagrams work better for their software.

Create UML diagrams with PlantUML

Use the PlantUML plugin in Rider to create UML diagrams that can be integrated into your codebase. Start by adding a .puml file. Each new file that PlantUML creates contains example PUML, which is PlantUML’s own syntax for creating UML diagrams. Because PUML syntax is clean, compact, and efficient, folks can use it not just for visual diagrams but also as a basis for code generation or documentation.

Notice the PUML syntax and the corresponding visualization in the PlantUML tool window to the right of the editor window. All PlantUML files begin with the @startuml marker and end with the @enduml marker. In between these markers is basic syntax that generates the diagrams, though diagrams can be as complex as is necessary

PlantUML’s terse syntax is generally formatted as a keyword identifier followed by the name of the subject. For properties, a colon goes between the property name and its type. For methods, use parentheses immediately after the method name. As you write these tokens, PlantUML automatically and immediately creates the UML diagrams, and updates the visual map that is shown in the PlantUML tool window.

A few PlantUML syntax basics:

interface interface-name
class class-name
abstract class class-name
property: data-type

Plantuml State Chart

Colors and other visual indicators are customizable through PlantUML syntax.

Use the PlantUML toolwindow to manage diagrams, for example, refreshing or zooming into a diagram. You may want to save them as a separate file, perhaps to include in documentation. PlantUML supports .png,.svg, .utxt, .atxt, and .eps formats when saving.


Class diagrams

Class diagrams present the business objects from a system, along with an outline of their data and behaviors and how they relate to each other. Diagrams give developers a view as to the overall structure of a program. Class diagrams are used for many purposes, from generating data models in code to serving as documentation.

For example, if a class diagram is needed for a university, the following syntax can be used to create the following diagram. Notice the PlantUML syntax contains tokens for everything that UML requires, such as access modifiers (# for protected, + for public) and data types after a colon. To create an inherited model, use the Base < -- Derived syntax. While this example shows only a few features of an object model, PlantUML supports other access modifiers and markers for composition and aggregation as well.

Classes in PlantUML diagrams can represent classes in C#, Java, or any OO language. In this case, PlantUML’s syntax is almost the same as C#. Use the class keyword, curly braces, then list the members and types (but no code!). This familiarity should ease the burden of creating diagrams that match objects in your model.

Use cases

Use case diagrams demonstrate the interaction between users (actors) and software, and between software components. They are an excellent way to get a snapshot of which parts of a complex system must integrate together, and how components connect to each other, as well as some system flow.

Below is a sample of PlantUML use case syntax and an accompanying visual diagram:

Notice some of the syntax: rectangle is used to define the system boundary. Actors are defined by the actor keyword, and the relationship between actors and objects (or objects to objects) are defined with --->. The use cases themselves are enclosed in parentheses. PlantUML really does have precise syntax, which can help you create diagrams faster with better efficiency.


Plantuml State Chart Of United States

Most companies, especially large organizations with complex software, need to model, map, and manage their software with industry-standard UML diagrams. PlantUML supports the most popular kinds of UML diagrams and should suit most needs.

Plantuml State Chart Of State

If you’re using Rider, diagramming your systems is built into the product as a plugin, giving you an advantage to complete projects faster and more efficiently. So download Rider today, and show us your diagrams!