1. All programs are models that specify computations to be executed on a computer, with programming languages serving as modeling languages.
2. Executable UML models are programs because UML 2 has constructs that allow specification of Turing-complete computation models with precise execution semantics.
3. Executable UML models are useful because they can be tested like programs without needing to be recoded, instead being compiled from models at a higher level of abstraction.
Related topics: