It looks like Executable UML is getting increasingly popular (again) maybe because the new Executable UML standards (fuml and Alf) we have 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 of programming the software system.
I’m basing my opinion on the common question I’ve been asked more and more during the last months: which tools out there provide support for Executable UML? In fact, I don’t have a clear idea myself but I though I could just try to write down what I know and then hope that you, my dear readers, will help me to complete/update the list (thanks Ed for doubling the length of the lists with your suggestions!) . So, here we go (in no particular order). 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.
| Name |
License |
Standard? |
Comments |
| fUML Ref. Implementation |
Open source |
Yes |
Reference implementation that can assist in evaluating vendor implementations conformance with the specification. |
| Cameo Simulation Toolkit |
Commercial |
Yes |
Model execution framework based on OMG fUML and W3C SCXML standards. Offered as an extension of MagicDraw |
| LieberLieber AM|USE 2.0 |
Commercial |
Yes |
Offers both state machine and activity model execution. Integrated in Sparx Enterprise Architect |
| e-Alf |
Apache License 2.0 |
Yes |
Eclipse Implementation of Action Language for Foundational UML using: Eclipse UML2 xtext Acceleo ATL. No activity in the last months |
| Papyrus UML |
EPL |
Yes |
Papyrus is working on providing Alf support. The first results are already available in the repository. More info here |
| IBM Rational Software Architect Simulation Toolkit |
Commercial |
No |
Offers state machine, interaction model and activity model execution through automatic generation of Java code. They plan to move their action language to Alf conformance |
| Pópulo |
LPGLv3 |
Yes |
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 |
| AlphaSimple |
Free trial |
No |
Rapid Application Development from textual UML models (see TextUML) including static and dynamic (action-based) specifications |
| Cassandra |
Free |
No (No Alf but support for UML Action Semantics) |
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 |
| EM/OS Enterprise Model Operation Services |
Commercial, partly Open Source |
No |
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 |
No |
Abstract modeling language and upcoming Model Compiler featuring full automatic code generation. See also this intro |
| miUML |
LPGL3 license |
No |
Open executable UML metamodel and API hub around which a combination of free and proprietary development tools may be contributed |
| Mentor Graphics Bridgepoint |
Commercial |
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 |
Commercial |
No |
Abstract Solutions is a new incarnation of the company previously known as Kennedy-Carter. |
| Pathfinder Solutions PathMATE |
Commercial |
No |
PathMATE transforms (executable) platform independent models to “efficient, high-performance” code. |
| Lohr |
GNU Lesser GPL |
No |
A high level programming and modeling language for creating executable models of software systems |
| QM |
freeware |
No |
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 |
| IBM Rational Rhapsody |
Commercial |
No |
Offers state machine and activity diagram execution in UML and SysML models through automatic generation of Java/C++/C/C#/Add code. |
| Sinelabore |
Commercial |
No |
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. |
| TOPCASED Model Simulation |
EPL |
No |
It allows to animate graphically State machine and Activity diagrams, including OCL, Class diagrams and Object creation. |
| UML Almighty |
Open source |
No |
UML tool capable of execute behavior and generate a Web prototype to execute that behavior. |
Check our UML tools web page for more info on UML tools
If you enjoyed this post you can subscribe to this Software Modeling blog , to the portal’s mailing list , follow me on twitter and/or participate in the forums . And if you really liked it help me pass it on to others by sharing the post using the links below. Don’t forget to check our consulting and code-generation services either!
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!
, 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.
Sorry for the sales pitch
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: http://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
[...] Matrix language provides an extremely high level of abstraction compared to currently available executable modeling languages, that’s because Matrix semantics are especially designed to deal with true modeling concepts. [...]