Executable UML is getting increasingly popular (again) in part thanks to the push of the new Executable UML standards (fuml and Alf) now available. Executable UML aims at defining UML models with a behavioral specification precise enough to be effectively executed. In its purest state, Executable UML eliminates the need to program at all the software system.
Ready to give Executable UML a try? Here we collected all the executable tools we are aware of (thanks Ed for doubling the length of the lists with your suggestions!, others please jump in as well). For each tool we provide the name and URL, whether the tool is free, commercial or whatever and if the tool supports the recent Executable UML standards or its own kind of executable UML.
Contents
Reference implementations
Name | License | Comments |
---|---|---|
fUML Ref. Implementation (execution engine) | Open source | Reference implementation that can assist in evaluating vendor implementations conformance with the specification. |
Alf reference implementation | Open source | open source implementation of the Alf language. It compiles Alf source text to fUML |
fUML / Alf-based tools
Tools based on the fUML/Alf standards (in a broad sense, also including tools that derive from the initial action languages available in older UML specifications).
Name | License | Comments |
---|---|---|
Cameo Simulation Toolkit | Commercial | Model execution framework based on OMG fUML and W3C SCXML standards. Offered as an extension of MagicDraw |
Moka/Papyrus UML | EPL | Moka is a Papyrus module for execution of UML models, which natively includes an execution engine complying with fUML. More info here |
IBM Rational Software Architect Simulation Toolkit | Commercial | Offers state machine, interaction model and activity model execution through automatic generation of Java code. They support UML Action Language (kind of precursor of fUML/Alf) but plan to move their action language to Alf conformance (though I don’t see this happening) |
Pópulo | LPGLv3 | Pópulo is an extensible UML model debugger, which interprets the UML action language (not clear whether Alf or the one in previous UML versions) and that can be customised for executing profiled (i.e. extended) UML models |
Cassandra | Commercial | It supports almost complete OCL and UML Action Semantics, and more: simulation of use case models, GUI modelling, behaviour inheritance, temporal operations, rule sets as well as persistence and (nested) transactions |
IBM Rational Rhapsody | Commercial | Offers state machine and activity diagram execution in UML and SysML models through automatic generation of Java/C++/C/C#/Add code. |
Other Executable UML tools
There are quite a few interesting initiatives providing executable UML engines / tools (even if they may not be adhering to the OMG standards)
Name | License | Comments |
---|---|---|
xtUML | EPL | Open source evolution of the well-known BridgePoint tool, the original tool from Shlear and Mellor’s. xtUML is now becoming one of the leaders in this space and improving its integration within the Eclipse and Eclipse Modeling space |
miUML | LPGL3 license | Open executable UML metamodel and API hub around which a combination of free and proprietary development tools may be contributed. Learn more about the project here. The project itself seems discontinued but the authors continue working on this field, see modelInt/td> |
Cloudfier | Free trial | Rapid Application Development from textual UML models (see TextUML) including static and dynamic (action-based) specifications |
Abstract Solutions xUML | Commercial | Abstract Solutions is a new incarnation of the company previously known as Kennedy-Carter, also deriving from the original proposals for Executable UML. |
QM | freeware | Lightweight UML modeling tool for designing and implementing real-time embedded applications based on the QP state machine frameworks. Generates compact and efficient C or C++ code suitable for single-chip microcontrollers. Extended notation for internal state transitions |
Sinelabore | Commercial | Command line tool for code-generation from UML state machines, especially targeting resource limited embedded real-time and high-availability systems. It has simulation, tracing and test-case generation capabilities. |
EM/OS Enterprise Model Operation Services | Commercial, partly Open Source | Fully operational business applications, all tiers (Java) created from single, annotated, UML based model; Standard compliance desired, currently difficult due to abstraction level differences |
Matrix | Free trial | Abstract modeling language and Model Compiler featuring full automatic code generation and interactive Simulator. See also this intro |
txtUML | Open Source | txtUML stands for textual, executable and translatable UML. txtUML models can be run, debugged and tested using the standard Java runtime environments,It includes a compiler for C++ |
Umple | Open Source | Umple is a modeling tool and programming language family to enable what they call Model-Oriented Programming. Read more |
Older tools (now discontinued)
Name | License | Comments |
---|---|---|
LieberLieber AM|USE 2.0 | Commercial | Offers both state machine and activity model execution. Integrated in Sparx Enterprise Architect |
e-Alf | Apache License 2.0 | Eclipse Implementation of Action Language for Foundational UML using: Eclipse UML2 xtext Acceleo ATL. No activity in the last months |
TOPCASED Model Simulation | EPL | This tool has been merged into Papyrus (see above). |
Lohr | GNU Lesser GPL | A high level programming and modeling language for creating executable models of software systems |
UML Almighty | Open source | UML tool capable of execute behavior and generate a Web prototype to execute that behavior. |
Pathfinder Solutions PathMATE | Commercial | PathMATE transforms (executable) platform independent models to “efficient, high-performance” code. |
Check our UML tools web page for more info on UML tools
FNR Pearl Chair. Head of the Software Engineering RDI Unit at LIST. Affiliate Professor at University of Luxembourg. More about me.
Jordi,
Thanks for including AlphaSimple. You may also want to include the TextUML Toolkit. The TextUML Toolkit is an Eclipse-based tool for creating executable UML models.
Jordi —
Love your list! Here are some more entries you can add.
LieberLieber AM|USE 2.0 for Sparx Enterprise Architect
– http://www.lieberlieber.com/en/our-offering/amuse.html
– Commercial license
– Standard? Yes (fUML for activity execution)
– Offers both state machine and activity model execution.
IBM Rational Software Architect (RSA) Simulation Toolkit
– http://www-01.ibm.com/software/rational/products/swarchitect/simulation/
http://www.ibm.com/developerworks/wikis/download/attachments/119079448/Simulation+in+RSA+-+Simulating+UML+Models.pdf
http://www.ibm.com/developerworks/wikis/download/attachments/119079448/UML+Actional+Language+in+RSA.pdf
– Commercial license
– Standard? No (but IBM plans to move their action language to fUML conformance)
– Offers state machine, interaction model and activity model execution through automatic generation of Java code.
Blu Age Forward Engineering
– http://www.bluage.com/en/en_product/en_ba_fw_engineering.html
– Commercial license
– Standard? No
– Part of the Blu Age “Agile Legacy Modernization” Suite.
And the following are long-standing Shlear-Mellor tools:
Mentor Graphics Bridgepoint
– http://www.mentor.com/products/sm/model_development/bridgepoint/
– Commercial license
– Standard? No
– This was the tool that Shlear and Mellor’s company Project Technology was using when the company was bought by Mentor Graphics.
Abstract Solutions xUML
– http://www.kc.com/XUML/
– Commercial license
– Standard? No
– Abstract Solutions is a new incarnation of the company previously known as Kennedy-Carter.
Pathfinder Solutions PathMATE
– http://www.pathfindermda.com/products/index.php
– Commercial license
– Standard? No
– “PathMATE transforms platform independent models to efficient, high-performance code.”
— Ed
Oops, for RSA I should have said that they are moving their action language to _Alf_ conformance.
Fixed. Thanks!
Another tool to add: Umple. http://code.google.com/p/umple/
It is open source and free.
Please consider adding the free, cross platform QM modeling tool from Quantum Leaps (http://www.state-machine.com/qm). QM is capable of generating complete code for real-time embedded systems based on the open source QP frameworks (http://www.state-machine.com/qp). The tool is specifically designed for UML state machines and is available for Windows, Linux, and Mac OS X.
Here is the summary for your table:
-Name: QM
-Link: http://www.state-machine.com/qm
-License: free (freeware)
-Standard?: No (extended notation for internal state transitions)
-Comments: Lightweight UML modeling tool for designing and implementing real-time embedded applications based on the QP state machine frameworks. Generates very compact and efficient C or C++ code suitable for single-chip microcontrollers.
Miro Samek
http://www.state-machine.com
Jordi,
Nice list!
Sorry for the sales pitch :), but you may want to add IBM Rational Rhapsody. It is one of the oldest tools in this space (since 1995 I think), and certainly one of the most successful. Mostly geared towards the embedded and systems engineering domains, it is used extensively in the Consumer Electronics, Aerospace & Defense and Automotive markets.
See http://www-01.ibm.com/software/awdtools/rhapsody/
– Commercial license
– Standard? No
– Offers state machine and activity diagram execution in UML and SysML models through automatic generation of Java/C++/C/C#/Add code.
Dolev
Hi Jordi,
if you like, you can add
Name: EM/OS Enterprise Model Operation Services
License: Commercial, partly Open Source
Standard: No
Comment: Fully operational business applications, all tiers (Java) created from single, annotated, UML based model; Standard compliance desired, currently difficult due to abstraction level differences
Andreas
and, sorry, here’s the link
http://www.sphenon.de/offering/products
Hi,
You should also add the TOPCASED Model Simulation facilities which currently allows to animate graphically State machine and Activity diagrams, including OCL, Class diagrams and Object creation. It relies on TOPCASED/MDT for the graphical animation and is developed by ATOS based on work and prototypes by IRIT (Benoit Combemale PhD thesis).
Marc
Hi Jordi,
You may also add our CASSANDRA/xUML toolset to your list. Although it doesn’t support the Alf syntax, it supports almost complete OCL and UML Action Semantics, and more: simulation of use case models, GUI modelling, behaviour inheritance, temporal operations, rule sets as well as persistence and (nested) transactions. It is now almost 10 years old and has been used in large projects (with hundreds of state machines) in the domains of safety-critical systems and finance.
Best regards,
Markus
Do you guys accept guest blog posts?
Yes, some details are described here: https://modeling-languages.com/featuring-your-modeling-tool-in-this-portal-five-possible-options-and-an-impossible-one/
UML Almighty is an UML tool capable of execute behavior and generate a Web prototype to execute that behavior.
Is not based on any standard but is very usefull.
More info at:
http://www.uml-almighty.com
Simulation 1
http://umlalmighty.wordpress.com/2010/06/17/uml-simulation-example-with-atm-model-prototype-and-executable-uml/
Simulation 2
http://umlalmighty.wordpress.com/2010/07/28/uml-simulation-and-execution-of-a-workflow-for-documents-and-processes/
Regards,
Bruno
Hi Jordi,
AlphaSimple is no longer available, but if you replace it with Cloudfier the description still fits. And it is free for prototyping.
Cheers,
Rafael
thanks.
it helped me alot.
will suggest few whn i find something.
Hi Jordi,
You already have Papyrus in your list and you may want to add its newly created sibling: “Papyrus for Real Time” (https://projects.eclipse.org/projects/modeling.papyrus-rt).
“The basis of the exceptional clarity of E2E BRIDGE lies in the use of the graphical modelling languages UML and BPMN. The models are executed directly in operation as UML byte codes.”
http://e2ebridge.com/en/e2e-bridge-2/transparency/model-based-approach/
Are there any executable UML tool migrating to android app?
Do you mean if there is an executable UML tool that allows you to model and execute UML diagrams in Android?
Yes. It’s hard to coding on Android. But I think OOD with executable UML on Android can let software design different.
Hi Jordi,
Please consider adding OOSMOS, the Object-Oriented State Machine Operating System, to your list. It generates C code from UML state charts and supports a unique feature called ‘state threads’, providing a lightweight thread of execution for each active state in the system.
Mark
Thanks for compiling this list. Another executable UML tool I did not see in your list is MechatronicUML. It seems similar in maturity and capability to xtUML. It is also open source and based on Eclipse. The web site is at http://www.mechatronicuml.org/en/index.html.
Thank you for this list. Consider adding https://MDriven.net to the list. It models classes and state-machines with UML and declarative viewmodels and actions with OCL. You can press play from within the MDrivenDesigner, or upload model to server for Enterprise-grade multiuser systems in minutes. You can use it hosted or on-prem. Built to replace the need for other documentation for information systems – execute the documentation – get exact implemetation. Hans AtMDriven on twitter.
Thanks for this tool-list! There are tool mentioned I have not yet heard of.
If interested: There is another OSS tool:
Name: crystal-facet-uml
Link: https://www.heise.de/download/product/crystal-facet-uml
License: Apache-2.0
Comments: A standalone-executable for windows and linux that allows to draw many uml and sysml diagrams, all showing the same underlying model. Focus is on modelling and documenting, not on layouting, not on code generation.
StateSmith: https://github.com/StateSmith/StateSmith
https://www.youtube.com/@statesmith/videos