[3] Executable UML models "can be run, tested, debugged, and measured for performance.
[6][7] Executable UML is a higher level of abstraction than third-generation programming languages.
This is supposed to increase ease of reuse and to lower the cost of software development.
That means it is not tied to any specific programming language, platform or technology.
This means that the automatic generation of implementation code from Executable UML models can be output in an optimized form.
The models are a graphical, executable specification of the problem space that is compiled into a target implementation.
A system is composed of multiple subject matters, known as domains in Executable UML terms.
Executable UML is used to model a domain at the level of abstraction of its subject matter independent of implementation concerns.
An Executable UML class diagram is meant to expose information about the domain.
In order to have an executable model, there must be a way to create class instances, establish associations, perform operations on attributes, call state events, etc.
Verification will involve such things as human review of the models, performed by experts in the relevant domain, and automated checking of the Executable UML semantics.
In order to support execution on the target implementation, the domain model must be translated into a less abstract form.
Marking allows specific model elements to be targeted for specific lower-level implementations, and allows for broader architectural decisions, such as specifying that collections of objects should be implemented as a doubly linked list.