View this PageEdit this PageUploads to this PageHistory of this PageTop of the SwikiRecent ChangesSearch the SwikiHelp Guide

Unified Modeling Language (UML)

Home   How To   Code Pool   Public Library   Theory   Events
The Unified Modeling Language (UML) is not a programming language. The word „language“ denotes a set of visual elements in diagrams that describe the overall architecture of object-oriented software.


An example class-diagram is:

Uploaded Image: SimpleExampleClassDiagram.png

UML class-diagrams express which classes are there, and which functions and variables they have. There still is a "real" programming language like e.g. SuperCollider or Java to write the actual functions which make the program, saying how the program works. Thus, when e.g. developing SuperCollider programs, UML does not replace the SC-language, instead it embeds the SC-language in visual diagrams.

(Note: Besides class-diagrams, there are other types of diagrams in the UML, but today they are usually not used for programming. Use a search-engine to get a huge mass of documentation on the UML.)

A more complex example than the one above is the XML-parser implementation of the Document Object Model (DOM) for SuperCollider. It can be found on the page XML parsing and formatting - Download.

Model-based Development

UML class-diagrams are also called models of the software. Graphical models express the ideas behind the software on a conceptually higher level than raw program code does. This is why this kind of visual programming is called Model-based development.

There are several advantages why to use Model-based development. An individual programmer can benefit from much better code organization through diagrams compared to plain files, and from the automatization of regular tasks of typing, e.g. when creating new classes or new relationships.
When communicating about software among several people, visual diagrams used in Model-based development help to enrich the semantics of the plain program code and thus are enabling to express the subject of discourse on a conceptually higher level.

Software-tools for UML

To write programs with UML-class-diagrams, a special software-tool is needed which has three main functions: 1. draw class-diagrams, 2. edit source-code in a the chosen programming language, 3. create complete class-sources from both the diagram and the edited code. The last step requires complex configuration of the software tool, because it needs to incorporate knowledge on how the programming language works in which the source-code is to be generated (it means to exactly tell what kind of visual declaration means what in the target source-code language, which is different in detail for every individual programming language).

Uploaded Image: SimpleExamplePoseidonScreenshotSmall.png

A software-tool has been configured to generate SuperCollider source-files from UML-models, see Developing with the Unified Modeling Language (UML).


Links to this Page