Home

FUML

FUML stands for Foundational UML, commonly written as fUML, and refers to an OMG specification that defines the execution semantics of UML 2.x models. Its primary purpose is to provide a precise, implementation-oriented interpretation of UML behavioral elements so models can be simulated, executed, or translated into running code. FUML focuses on core behavioral constructs such as activities, actions, control and data flow, object creation, state machines, and interactions, while leaving the structural aspects of UML largely as defined by the standard.

The specification does not introduce new modeling elements. Instead, it assigns formal, well-defined meanings to existing

FUML is part of the wider effort by the Object Management Group (OMG) to enable executable UML.

Applications of FUML include model-driven design, simulation of behavioral models, model-based testing, and rapid prototyping. Tool

UML
elements,
typically
described
in
terms
of
a
virtual
machine
that
executes
activity
diagrams
and
other
behavioral
diagrams.
The
emphasis
is
on
determinism
and
reproducible
results
to
support
model-driven
development,
testing,
and
prototyping
of
software-intensive
systems,
including
embedded
applications.
It
is
closely
associated
with
the
Action
Language
for
Foundational
UML
(ALF),
which
provides
a
textual
means
of
expressing
behavior
to
accompany
the
graphical
semantics
of
FUML.
In
practice,
FUML,
together
with
ALF,
influenced
the
later
Executable
and
Translatable
UML
(xtUML)
initiative,
which
combines
execution
and
translation
of
models
into
code.
support
exists
in
several
UML
modeling
environments
that
implement
fUML/ALF
semantics
or
provide
compatible
executable
facilities.