The Reverse Engineering Subsystem manages all loaded import modules. It provides a GUI for choosing the import module, selecting the directory or files to be imported, and a settings mechanism for both common and module specific settings.
Import modules are modules (instances of ModuleInterface) that implement the ImportInterface. See the <<Subsystem>> Module loader.
The Reverse Engineering Subsystem is related to the <<Subsystem>> Code Generation Subsystem in a way that import modules for some language are related to code generation modules of the same language.
Responsibilities
(...)
Package Name
org.argouml.uml.reveng
API
Import modules have to implement ImportInterface and have to be successfully loaded at startup of ArgoUML. (...)
Facade
There is no facade for this subsystem, because no other subsystem needs to access it, and import modules use the API. The only entry point is the new Import(ArgoFrame.getInstance()) statement in the org.argouml.uml.ui.ActionImportFromSources class.
Plug-in Interfaces
Design
This is a preliminary picture (created with ArgoUML 0.26.2), just a start: