The Module Generator Project
The goal of this project is to provide ArgoUML users with developer skills to model extensions for ArgoUML that run out-of-the-box and that can be further developed on a source code basis.
The Module Generator itself is an ArgoUML module. It consists of a UML profile and menu items for processing the current user model that makes use of that profile. The processing of the user model is mainly the generation of all resources needed to build and run the modelled ArgoUML extension as an ArgoUML module.
The benefit of the Module Generator is:
- Reduce the effort needed to develop ArgoUML modules.
- Apply MDD to a particular task using the UML extension mechanism and template techniques.
- Demontrate the usage of the UML model subsystem and ArgoUML APIs.
- Attract new developers to join the ArgoUML team and contribute to the ArgoUML project.
Anyone with a developer role in the ArgoUML project is welcome to do svn commits to this project! (Anyone else who want to contribute: please use the ArgoUML developer mailing list.)
The Module Generator
The current features of the Module Generator are:
- Runs as an ArgoUML module with internalization.
- Integrated UML1.4 profile for modelling ArgoUML modules.
- Modeling of the following module features: integrated UML1/UML2 profile, critics, extension of the Tools menu, i18n.
- Integration of the Velocity template engine.
- A set of modifiable templates to control the generation of files.
- Generation of compilable Java source files and build resources (ant & eclipse).
- Extend functionality so that it can generate itself(!).
- Re-integration of custom code (to keep the module model complete) in combination with the Java module.
- Provide support for managing multiple template sets (customization).
- Support for UML1 and UML2 both for usage and the generated modules.
- Modeling of the following module features: transformations, explorer extensions.
Documentation on using the Module Generator is available HERE.