History
ArgoUML has gone through several releases with its UML model being stored in different repositories that is currently organized in <<Subsystem>>_Model.
Early Days
Initially ArgoUML provided its own model using GEFs GraphModel (an assumption based on that fact that these classes still exist)
NSUML (UML1.3)
At some stage ArgoUML was converted to use the NSUML model repository which was generated by Novosoft from the UML1.3 model. This involved changes all throughout every part of the ArgoUML code. Any reference to its own model element was changed to use an NSUML classes
MDR (UML1.4)
NSUML wasn't compatible with UML1.4 and so MDR was found as an alternative.
At this stage it was decided to build the "Model Interface" to separate the code that depended on classes in the model repository from the rest of the ArgoUML code. This allowed the conversion process to happen in two controlled phases.
Phase 1: All NSUML dependant code is moved into a new separate project and an interface defined through which that code can be called.
Phase 2: An alternative implementation of the final interface is written with MDR.
This was achievable because there were little difference in the structure of UML1.3 and UML1.4 so the interface was consistent for both.
EUML (UML2.x)
Support for MDR is now discontinued. Eclipse UML has been found as the alternative but the UML2.x structure does not fit the design of the model interface.