Chapter 2. General Design Decisions

Table of Contents
Layer Model
Ada95 as Implementation Language
GTK+ as GUI Toolkit
OO-Interfaces

This chapter describes the basic decisions made in the design process, its advantages and the drawbacks they might come with.

The customers' requests and the decisions they have triggered in the design phase are given for each entry. This is maybe helpful to regain the ideas behind the design.

Layer Model

Trigger

As a customer requirement OpenCAGE must be able to show the same part of a graph in different graph windows. Moreover there is a strong interaction between the data displayed in graph windows and the data contained in the GIF.

Solution

We use the Model-View-Controller (MVC) paradigma. Instead of the word "View", we will use "Display", because in context of OpenCAGE View is reserved as desribed in the specification.

For the exact description of the MVC paradigma, see Model-View-Controller (MVC) (the Section called Model-View-Controller (MVC) in Chapter 9).

Limitations

With the use of the MVC paradigma we had to define interfaces between the three parts, the internal communication in OpenCAGE will increase, and it can be more complicated to understand the design.