This paper discusses how a CASE-tool supporting the Unified Modeling Language (UML) can be customized and extended using a visual scripting mechanism. We introduce a set of UML model operations that can be used, for example, to transform a UML diagram of one type into another, and to perform set theoretical operations on them. We discuss a visual scripting mechanism that can be used for executing these operations and for combining them to construct new operations with higher-level functionality. The visual scripting mechanism allows the automation of often-repeated software engineering tasks. We present examples of using the proposed techniques in UML based software engineering.
We have a prototype implementation integrated to a real world UML modeling tool, the Nokia TED. The aim of this paper is to show how model operations can be exploited to perform interesting model analysis tasks, and how a visual language that uses these operations as primitives may be used for composing useful high-level functions for various software engineering purposes.