The document discusses the unification of modeling and programming using executable UML. It argues that a program is a model of computation that is abstracted from implementation details, and that a programming language allows the creation of execution models. UML can be used for both domain modeling and executable modeling of computations through its precise execution semantics. A combined modeling/programming language should allow expression of problem and solution domain models with both formal semantics for reasoning and execution semantics for behavioral models, using both textual and graphical notations.