OpenCAGE is designed to replace Rigi, the current GUI of the RFG Reengineering System. Therefore it is divided into tree different main components (MVC-Pattern) as shown in the picture above. OpenCAGE is a graph editor which gets its information from an external library which is in our case the RFG. A short description of the main components is given in the next paragraphs. Further, every main Component is specified in an own chapter.
The Model is responsible for the data management. It provides methods to store, read and change the OpenCAGE specific data. This diagram is pictured with two external libraries: the RFG and a XML Model. Our design is independent of the use of the external library with the only limitation which is an adapter in the Model. The requirements of our customer was the adaptation to the RFG. So we focus on the describtion of the RFG Adapter. The XML Model and XML Adapter shall only show how flexible and independent it was designed. See Model (Chapter 4).
The Display is the part, which displays all components of OpenCAGE. It also provides methods to create all Dialogs by using Dialog Factories. The display itself consists particulary of the MVC-Pattern. The components of this pattern are shown in the diagram: Window_Models as Models, Window_Displays as Views and Display_Controllers as Controller. See Display (Chapter 5).
The controller realizes the functionality of OpenCAGE. It accepts operation requests from the GUI and from a script (not implemented). Then it collects the necessary data from the GUI or from the script, respectively. Finally it executes the command, i.e., changes the model. See Controller (Chapter 6).