View on GitHub

Foundational UML (fUML) Reference Implementation

An open-source implementation of the OMG Foundational Semantics for Executable UML Models (Foundational UML) specification.

Download this project as a tar.gz file Download this project as a .zip file Download the latest distribution as a .zip file

Current Release

Current base release (conforms to fUML 1.5): v1.5.0 GitHub | Central Repository
Latest release: v1.5.0a GitHub | Central Repository

What is fUML?

fUML is a subset of the standard Unified Modeling Language (UML) for which there are standard, precise execution semantics. This subset includes the typical structural modeling constructs of UML, such as classes, associations, data types and enumerations. But it also includes the ability to model behavior using UML activities, which are composed from a rich set of primitive actions. A model constructed in fUML is therefore executable in exactly the same sense as a program in a traditional programming language, but it is written with the level of abstraction and richness of expression of a modeling language.

Like UML, fUML is standardized by the Object Management Group (OMG), which maintains the fUML specification (which is formally known as the "Semantics of a Foundational Subset for Executable UML Models"). There is also a standard textual surface syntax for fUML call the Action Language for fUML (Alf), which is particularly useful for defining detailed behaviors in the context of an fUML model, and which has its own reference implementation.

What is the fUML Reference Implementation?

This is a complete open source implementation of fUML. It consists of two parts.

The fUML Execution Engine may be used itself as a library implementation of fUML in other software, or it may be used in conjunction with the XMI Loader to provide a standalone capability to execute conforming fUML models represented in XMI.

The reference implementation was initially developed as part of a Lockheed Martin Corporation funded project with Model Driven Solutions in 2008, and has been maintained by Model Driven Solutions as part of its modeldriven.org open source community since then. The objectives for this reference implementation are to encourage UML tool vendors to implement the fUML standard in their tools and to provide a reference that can assist in evaluating vendor implementation conformance with the specification.

See also the Foundational UML Reference Implementation Conformance Statement.

Are there other implementations of fUML?

A number of other implementations of fUML are now available, associated with various previously existing UML tools. These include at least the following: