5.7. Code Generation Subsystem

Purpose: Point where the different languages register that they know how to do code generation and common functions for all languages.

The Code Generation is located in org.argouml.language.

The Code Generation subsystem is a Control subsystem. See Section 4.5, “View and Control subsystems”.

Currently (up until April 2004) very much of this subsystem is located in org.argouml.uml.generator and we have a need to modify the interfaces of the subsystem to no longer include any NSUML types. This move will be carried out by creating new interfaces in org.argouml.language and deprecating the old ones.

This is my (Linus Tolke) suggested way of how it is going to work:

The different languages or notations supplied with ArgoUML are found in sub-packages of {@link org.argouml.language}.

Any definition or foundation interfaces are found in the directory org.argouml.language. Any helper classes such as abstract implementation classes are also found in org.argouml.language.

At boot time, each language registers their interfaces in the org.argouml.language.Language register.

Full MDA implementations of languages is not currently discussed. I (Linus April 2004) does not understand how it is supposed to work.