UMLscript: A Programming Language for Object-Oriented Design

In this paper we describe the UML class diagrams by means of a programming language we call UMLscript. This language has the advantage that it presents a concise graphic independent definition of one of the cornerstones of the UML. The language may be used to exchange UML models among different tools and projects. It is suitable as input language for automatic layout algorithms, as output language from reverse engineering tools, as data format for repositories as well as maintenance tools. UMLscript provides a concrete syntax for class structure diagrams. After a short introduction we give an ELL(1) grammar of the language presented as a set of commented, easy to read syntax diagrams. We also point out some flaws or inaccuracies of the original UML language definition.