Module Architecture
ArgoUML has provided its own extension mechanism for quite some time. Extensions are called "modules" and are basically allowed to use any API which is visible to them.
The proposal is to migrate to using the Eclipse plugin mechanism (based on OSGi/Equinox) for extensions as well as to follow some of their recommended practices for deferred initialization, etc to provide a more robust and scalable platform.
The Eclipse plugin architecture is described in the Plugin Developers Environment documentation http://help.eclipse.org/stable/index.jsp?nav=/2. Existing Eclipse extension points are described in the extension point reference http://help.eclipse.org/stable/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/extension-points/index.html.
http://www.eclipse.org/equinox/ http://www.osgi.org/Specifications/HomePage
Design
(how it will work)
Implementation Strategy
(what to do and in what order).