PlantUML
Encyclopedia
PlantUML is an open-source UML tool
UML tool
A UML tool or UML modeling tool is a software application that supports some or all of the notation and semantics associated with the Unified Modeling Language , which is the industry standard general purpose modeling language for software engineering.UML tool is used broadly here to include...

 that allows to generate UML
Unified Modeling Language
Unified Modeling Language is a standardized general-purpose modeling language in the field of object-oriented software engineering. The standard is managed, and was created, by the Object Management Group...

 diagrams from a textual description. It is used to draw UML diagrams but is not a modeling tool itself. It does not prevent inconsistent diagrams from being created and requires the developer of the diagram content to understand UML and create proper UML content.

To create the UML diagrams, PlantUML has a meta-language defined that allows the diagram creator to describe the UML as a series of text statements which the graphics engine translates into standard UML notation. The graphics engine is written in Java and is distributed in both JAR
JAR (file format)
In software, JAR is an archive file format typically used to aggregate many Java class files and associated metadata and resources into one file to distribute application software or libraries on the Java platform.JAR files are built on the ZIP file format and have the .jar file extension...

 and source code form. The 3rd-party package Graphviz
Graphviz
Graphviz is a package of open-source tools initiated by AT&T Labs Research for drawing graphs specified in DOT language scripts. It also provides libraries for software applications to use the tools...

 is used for the graphics layout. Resulting diagrams can be output in PNG, SVG, EPS
Encapsulated PostScript
Encapsulated PostScript, or EPS, is a DSC-conforming PostScript document with additional restrictions which is intended to be usable as a graphics file format...

 and ASCII Art
ASCII art
ASCII art is a graphic design technique that uses computers for presentation and consists of pictures pieced together from the 95 printable characters defined by the ASCII Standard from 1963 and ASCII compliant character sets with proprietary extended characters...

.

Context

UML diagrams are very useful in documentation. Many tools
exist that allow to create UML diagrams using a WYSIWYG
WYSIWYG
WYSIWYG is an acronym for What You See Is What You Get. The term is used in computing to describe a system in which content displayed onscreen during editing appears in a form closely corresponding to its appearance when printed or displayed as a finished product...

 approach.

There are some drawbacks of this approach:
  • Diagram modifications can be difficult.
  • People can tend to focus on the layout (so that the diagrams looks good).
  • Updating documentation may be difficult. (Due to copy/paste images between tools).


PlantUML takes another approach, close to Wiki
Wiki
A wiki is a website that allows the creation and editing of any number of interlinked web pages via a web browser using a simplified markup language or a WYSIWYG text editor. Wikis are typically powered by wiki software and are often used collaboratively by multiple users. Examples include...

 or Javadoc
Javadoc
Javadoc is a documentation generator from Sun Microsystems for generating API documentation in HTML format from Java source code.The "doc comments" format used by Javadoc is the de facto industry standard for documenting Java classes. Some IDEs, such as Netbeans and Eclipse automatically generate...

. The diagrams are included inside the documentation and
the images are generated by the tool.

Since diagrams are just plain text, it's very easy:
  • To integrate them in Revision control
    Revision control
    Revision control, also known as version control and source control , is the management of changes to documents, programs, and other information stored as computer files. It is most commonly used in software development, where a team of people may change the same files...

    ,
  • To edit them,
  • To process them through scripting.

The disadvantage of this approach is the fact that every diagram is independent from others and that one needs to organize them in Documents to make up a whole Model.

Usage

PlantUML is mainly used as plugin in several other software applications, including:
  • Wikis
    • Mediawiki
      MediaWiki
      MediaWiki is a popular free web-based wiki software application. Developed by the Wikimedia Foundation, it is used to run all of its projects, including Wikipedia, Wiktionary and Wikinews. Numerous other wikis around the world also use it to power their websites...

    • DokuWiki
      DokuWiki
      DokuWiki is a wiki application aimed at small companies’ documentation needs. DokuWiki is licensed under GPL 2 and written in the programming language PHP. It works on plain text files and thus needs no database. Its syntax is similar to the one used by MediaWiki.-History:DokuWiki was created by...

    • XWiki
      XWiki
      XWiki is a free wiki software platform written in Java with a design emphasis on extensibility. XWiki Enterprise, the enterprise wiki edition, includes WYSIWYG editing, OpenOffice based document import/export, semantic annotations and tagging, and advanced permissions management.As an application...

    • Atlassian Confluence
  • Eclipse
    Eclipse (software)
    Eclipse is a multi-language software development environment comprising an integrated development environment and an extensible plug-in system...

  • Microsoft Word
    Microsoft Word
    Microsoft Word is a word processor designed by Microsoft. It was first released in 1983 under the name Multi-Tool Word for Xenix systems. Subsequent versions were later written for several other platforms including IBM PCs running DOS , the Apple Macintosh , the AT&T Unix PC , Atari ST , SCO UNIX,...

  • LibreOffice
    LibreOffice
    LibreOffice is a free and open source office suite developed by The Document Foundation as a fork of OpenOffice.org. It is largely compatible with other major office suites, including Microsoft Office, and available on a variety of platforms...

  • Apache Maven
    Apache Maven
    Maven is a build automation and software comprehension tool. While primarily used for Java programming, it can also be used to build and manage projects written in C#, Ruby, Scala, and other languages. Maven serves a similar purpose to the Apache Ant tool, but it is based on different concepts and...

  • Apache Ant
    Apache Ant
    Apache Ant is a software tool for automating software build processes. It is similar to Make but is implemented using the Java language, requires the Java platform, and is best suited to building Java projects....



It also can be used in standalone mode by executing the JAR file directly.

Features

The current version (version 6627 as of 6-May-2011), can generate the following 7 UML diagram types:
  • class diagram
    Class diagram
    In software engineering, a class diagram in the Unified Modeling Language is a type of static structure diagram that describes the structure of a system by showing the system's classes, their attributes, operations , and the relationships among the classes.- Overview :The class diagram is the main...

    s
  • sequence diagram
    Sequence diagram
    A sequence diagram in Unified Modeling Language is a kind of interaction diagram that shows how processes operate with one another and in what order. It is a construct of a Message Sequence Chart....

    s
  • use case diagram
    Use case diagram
    A use case diagram in the Unified Modeling Language is a type of behavioral diagram defined by and created from a Use-case analysis. Its purpose is to present a graphical overview of the functionality provided by a system in terms of actors, their goals , and any dependencies between those use...

    s
  • activity diagram
    Activity diagram
    Activity diagrams are graphical representations of workflows of stepwise activities and actions with support for choice, iteration and concurrency. In the Unified Modeling Language, activity diagrams can be used to describe the business and operational step-by-step workflows of components in a system...

    s
  • state diagrams
    UML state machine
    UML state machine is a significantly enhanced realization of the mathematical concept of a finite automaton in Computer Science applications as expressed in the Unified Modeling Language notation....

  • object diagram
    Object diagram
    An object diagram in the Unified Modeling Language , is a diagram that shows a complete or partial view of the structure of a modeled system at a specific time....

    s
  • component diagram
    Component diagram
    In the Unified Modeling Language, a component diagram depicts how components are wired together to form larger components and or software systems.They are used to illustrate the structure of arbitrarily complex systems.- Overview :...

    s.


Each diagram type has specific notation used to capture the aspects of that diagram type. The proper notation is captured in a PDF-based Language Reference Guide which defines all of the syntax required per diagram type.

Why use PlantUML

In small to medium sized Software projects PlantUML can
  • make UML design more efficient because of the easy-to-learn language and direct use in e.g. Word
  • enable programmers to enrich their code documentation by writing PlantUML code in their code and including it in the source code documentation


Another use of the PlantUML Language is in describing UML diagrams for blind people. Using PlantUML the describers can check that their textual Descriptions of the UML diagram contains all relevant information.

Review

Some sites have noted the software:
  • http://www.fiberdownload.com/Download/25239/PlantUml
  • http://www.softsea.com/review/PlantUml.html
  • http://download.famouswhy.com/plantuml/
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK