Disclaimer:  This website was created as a part of a bachelor's thesis by Tobiáš Gačko in collaboration with Dominik Bork of the  Business Informatics Group (BIG)  institute.

Modeling Tools

General

What is a Modeling Tool?

Modeling Tools aim to provide their users with a set of graphical symbols so that a certain concept (e.g. a process, a model or a system) can be abstracted to its core components providing a comprehensive overview of all the necessary information on first glance. The resulting models generally take of the form of a diagram.

As of right now there is a large variety of modeling tools but the current trend leans towards the area of "Web Modeling". Web-based modeling tools allow a user to access a modeling application over the network using HTTP. This provides a variety of advantages in some cases, such as as open cloud storage or real time collaboration.

An important subset of modeling is also "Metamodeling". It is the process of modeling a model of a model, meaning it is a model defining the structure, syntax and rules by which other models have to abide to.

bigER diagram
An Entity-Relationship (ER) diagram modelled with bigER Modeling Tool

Examples

Table columns

Technology

Not all modeling tools in the list below are not just applications, but also frameworks/libraries, which can be integrated into your own application.

  • App: The features of the computer program are accessible as soon as the user gains access to it (e.g., connecting to the website of the modeling tool).
  • Framework: Can be incorporated into a users own project without needing to do changes to the implementation.
  • Library: The user can download the functionalities but cannot incorporate them into the frontend. Instead can use it during the development of code.

Category

Each modeling application targets a different type of user which can be expressed many ways, such as usability, enforcing syntax for modeling rules, allowing real time collaboration, and much more. Based on similar characteristics, we outlined the following categories, which might make it easier for a user to find a tool which matches her or his expectations.

  • Text-based Modeling Tools: Tools that are usually either frameworks or libraries which the user can install and include in their projects. While the user can see the output visually, there is no "draw and drop" functionality, meaning a user cannot use the mouse cursor and drag a shape onto the modeling window, but instead must type the diagram.
  • Graphical Modeling Tools: Following category usually provides usability and syntactical support when creating a model. The design occurs graphically, where the user most of the times has a window in the center where the diagram can be modelled with shapes and arrows being provided in a tool bar on the side.
  • Drawing Tools: The main goal of drawing tools lies in providing an easy to use application where a user can use any shapes he or she wants and position as well connect arbitrarily. Unlike graphical modeling tools, they do not provide any additional support and warnings if a user designs a diagram that does not follow a set of rules of a certain modeling language. Drawing tools are usually free and open source as it allows users to submit additional templates as well as shapes.
  • Business Tools: Modeling tools below usually do not provide syntactical support, therefore not belonging to the category "graphical modeling tools", but they also are not available for free nor are they open source. These tools are usually licensed but provide perks such as real time collaboration, linking the diagrams to excel tables etc. Following tools are usually intended for brainstorming and planning overviews in simple fashions such as mind maps or flowcharts. The reason for categorizing the tools as "business tools" is that while a regular person will avoid the fees required for the license and instead use a graphical modeling tool or a drawing tools, employees in a business will most likely already have these apps on their working computer, paid for by their employer.
  • Metamodeling Tools: Following modeling tools usually do not provide syntactical support, therefore do not belong to the category "graphical modeling tools", but they also are not available for free nor are they open source. These tools are usually licensed but provide perks such as real time collaboration, linking the diagrams to excel tables etc. Following tools are usually intended for brainstorming and planning overviews in simple fashions such as mind maps or flowcharts. The reason for categorizing the tools as "business tools" is that while a regular person will avoid the fees required for the license and instead use a graphical modeling tool or a drawing tools, employees in a business will most likely already have these apps on their working computer, paid for by their employer.
  • Mixed textual and graphical modeling tools: Modeling tools from this category are a combination of text-based modeling tools and graphical modeling tools, meaning the choice is up to the user if the model will be created by typing the structure, or by creating it with the mouse cursor.

License

Each modeling tool falls under a specific license, e.g., the software license for ArgoUML is Eclipse Public License (EPL), which is a free software license. To allow a better overview over which modeling tool is either free, paid or a combination of both, we simply differentiate between the following three license types below:

  • Free: All of the contents within the modeling tool are accessible to the user
  • Restricted free content, commercial: Some contents within the modeling tool are accessible to the user, the rest is only available if the user pays for an additional license.
  • Commercial: The contents within the application are only available if the user pays for the access.

List of Modeling Tools

Filter Options

Filter Table Columns

Open Source
Technology
Available as Web App
Available as Desktop App
Category
Modeling Languages
Source Code Generation
Cloud Service
License
Log-in required
Real Time Collaboration
Creator(s)
Platform(s)
Programming Language used

Filter Modeling Tools

Name
Open Source
Technology
Available as Web App
Available as Desktop App
Category
Modeling Language(s)
Source Code Generation
Cloud Service Available
License
Real Time Collaboration Available
Creator(s)
Platform(s)
Programming Language(s) used
Adonis False APP True True Graphical Modeling Tool
BPMN
False True FM False BOC Group Windows
Apache OpenOffice Draw True APP True True Drawing Tool
UML
False False FR False Sun Microsystems, Oracle Corporation Windows C++ Java
Archi True APP False True Metamodeling Tool
ArchiMate
False False FR False Phil Beauvoir, Jean-Baptiste Sarrodie Linux macOS Windows CSS Java JavaScript HTML
ARGOuml True APP False True Graphical Modeling Tool
UML
True False FR False Volunteer developers
Astah False APP False True Graphical Modeling Tool
ER
UML
False True FM Unknown Change Vision Java
bigER Modeling Tool True FRAMEWORK False False Mixed textual and graphical Modeling Tool
ER
True True FR False Volunteer developers Java JavaScript TypeScript
bigUML Modeling Tool True FRAMEWORK False False Mixed textual and graphical Modeling Tool
UML
True True FR False Volunteer developers CSS Java JavaScript TypeScript
BPMN.io True APP True True Graphical Modeling Tool
BPMN
False True FR False JavaScript
Cacoo False APP True False Business Tool
BPMN
Flowchart
False True FM True Nulab Inc. HTML
Camunda BPM True APP True True Mixed textual and graphical Modeling Tool
BPMN
False True FM True Camunda BPM Linux macOS Windows Java
Chartmage True APP True False Text-based Modeling Tool
Sequence Diagram
False True FR False Junlin Shang CSS JavaScript HTML
Circuit Diagram True APP True True Graphical Modeling Tool
Circuit Diagrams
False False FR False C# TypeScript PowerShell
ConceptDraw Diagram False APP False True Drawing Tool
BPMN
UML
False False CO False CS Odessa
Creately False APP True False Business Tool
BPMN
ER
UML
False True FM False
dbdiagram.io False APP True False Mixed textual and graphical Modeling Tool
ER
True True FM True
Dia False APP True False Graphical Modeling Tool False True FR False Bartłomiej Piotrowski (git author)
Diagram Designer True APP False True Drawing Tool
UML
False False FR False Volunteer developers
Diagramo True APP True True Drawing Tool False False FR False JavaScript HTML
Diagrams.net True APP True True Drawing Tool
BPMN
ER
UML
False True FR False Java JavaScript
DotUML Unknown APP True False Graphical Modeling Tool
UML
False True FR False JavaScript
Eclipse GLSP True APP False False Metamodeling Tool False True FR False Eclipse
Eclipse Papyrus True FRAMEWORK False True Graphical Modeling Tool
BPMN
UML
False True FR False Commissariat à l'Énergie Atomique, Atos Origin Java
Eclipse Modeling Framework True FRAMEWORK False False Graphical Modeling Tool
BPMN
UML
False True FR False Eclipse Foundation
Edraw Max False APP True True Business Tool
BPMN
ER
UML
False True FM False EdrawSoft
ER/Studio False APP False True Text-based Modeling Tool
BPMN
ER
False True FM False Idera
FXDiagram True FRAMEWORK False False Text-based Modeling Tool
BPMN
ER
UML
False True FM False GWT J2EE HTML
GenMyModel False APP True False Graphical Modeling Tool False Unknown FR False Jan Koehnlein Java Xtend
GitMind False APP True True Drawing Tool False True FM True Wangxu Technology Co., Ltd
Gliffy False APP True False Business Tool
BPMN
UML
False True CO True Chris Kohlhardt, Clint Dickson
GoJS True FRAMEWORK False False Mixed textual and graphical Modeling Tool
BPMN
ER
Flowchart
UML
False True FM False Volunteer developers JavaScript TypeScript HTML
Graphity False APP False True Graphical Modeling Tool
BPMN
ER
UML
False True CO False yWorks
Graphiti True FRAMEWORK False False Graphical Modeling Tool False True FR False Eclipse Foundation Java
iGrafx False APP True True Business Tool
BPMN
False True FM True
JetBrains MPS False APP False True Metamodeling Tool False True FM False JetBrains Java
JointJS True FRAMEWORK False False Mixed textual and graphical Modeling Tool
BPMN
ER
UML
False True FM False JavaScript HTML
jslumb True FRAMEWORK True False Mixed textual and graphical Modeling Tool False True FR False CSS JavaScript TypeScript HTML
jsUML2 Editor True APP True True Graphical Modeling Tool
UML
False False FR False JavaScript HTML
Lucidchart False APP True False Drawing Tool
BPMN
ER
UML
False True CO True Java JavaScript PHP Ruby Scala
MagicDraw False APP False True Graphical Modeling Tool
BPMN
SysML
UML
False True FM False No Magic, Inc. Linux macOS Windows
MelanEE False APP False True Metamodeling Tool False False FR False University of Mannheim - Software Engineering Group
Mermaid.js True FRAMEWORK False True Metamodeling Tool False False FR False University of Mannheim - Software Engineering Group
MetaEdit+ False APP False True Metamodeling Tool False False FM False MetaCase
MetaUML False APP False True Metamodeling Tool False False FM False Volunteer developers
Microsoft Visio False APP True True Business Tool
BPMN
UML
False True CO True Microsoft Corporation VBA
Mindfusion True FRAMEWORK True False Drawing Tool
UML
False True FM False C# CSS JavaScript TypeScript
Miro False APP True True Business Tool
BPMN
ER
UML
False True FM True Andrey Khusid
Modelio True APP False True Graphical Modeling Tool
BPMN
SysML
UML
True True FR False C++ Java
Moqups False APP True False Business Tool
BPMN
SysML
UML
False True FM True Emil Tamas
mxGraph True FRAMEWORK False False Drawing Tool False True FR False C# Java JavaScript HTML
Nomnoml True FRAMEWORK True False Text-based Modeling Tool
UML
True True FR False CSS JavaScript TypeScript HTML Yacc
ObeoDesigner True APP False True Mixed textual and graphical Modeling Tool
BPMN
SysML
UML
False True FM True Java
OpenPonk Modeling Platform True APP False True Graphical Modeling Tool
BPMN
UML
True True FR False Smalltalk
Pencil Project True APP False True Drawing Tool False False FR False Volunteer developers JavaScript
pgModeler True APP False True Graphical Modeling Tool
ER
False False CO False Raphael Araújo e Silva C++
PlantUML True FRAMEWORK True False Text-based Modeling Tool
UML
True True FR False Arnaud Roques Java
ProcessOn False APP True False Drawing Tool
BPMN
UML
False True FM True
Rational Rose (IBM) False APP False True Graphical Modeling Tool
UML
False False CO False IBM Linux Solaris Unix Windows
SCADE False APP False True Graphical Modeling Tool False True FM False Ajei Gopal
Simulink False APP True False Graphical Modeling Tool False True CO True MathWorks
sketchboard False APP True False Business Tool
UML
False True CO False Saiki Tanabe
Slickplan False APP True False Business Tool
BPMN
ER
UML
False True FM True Ian Lawson
Software Ideas Modeler False APP False True Graphical Modeling Tool
BPMN
ER
SysML
UML
True False FM False Dusan Rodina C#
Enterprise Architect False APP False True Graphical Modeling Tool
BPMN
ER
SysML
UML
False True CO True Sparx Linux macOS Windows C++
StarUML True APP False True Mixed textual and graphical Modeling Tool
ER
SysML
UML
True True FM False MKLabs Co. Ltd.
Swimlanes True APP True False Text-based Modeling Tool
UML
True False FR False Volunteer developers Chrome Edge Firefox JavaScript HTML
UMLetino True APP True True Drawing Tool
UML
False False FR False
Umple True FRAMEWORK True True Mixed textual and graphical Modeling Tool
UML
False True FR False Cruise Group in the Department of Electrical Engineering and Computer Science, Led by Timothy Lethbridge at University of Ottawa Java
Visual Paradigm False APP True True Graphical Modeling Tool
BPMN
UML
False True CO True Visual Paradigm International Java
WebGME True APP True False Metamodeling Tool False True FR False
Xtext True FRAMEWORK False False Text-based Modeling Tool False True FR False Eclipse Foundation Java GAP Xtend
yEd False APP True True Graphical Modeling Tool
BPMN
ER
UML
False True FM False yWorks
yFiles False FRAMEWORK True True Graphical Modeling Tool
BPMN
UML
False True FM False yWorks
ZenUML True APP True True Mixed textual and graphical Modeling Tool
UML
False True FM False Java JavaScript TypeScript HTML Vue