12.08.2013 Views

Master's Thesis - Computer Graphics and Visualization - TU Delft

Master's Thesis - Computer Graphics and Visualization - TU Delft

Master's Thesis - Computer Graphics and Visualization - TU Delft

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Chapter 4 Implementation of the Culgi<br />

GPE<br />

Chapter 3 suggests three models: the network editor, the sequence editor, <strong>and</strong> the concept editor. It also<br />

points out that the combination of sequence editor <strong>and</strong> concept editor will be the solution of the Culgi<br />

GPE. This chapter will mainly introduce the implementation of the solution. Although the network<br />

editor is not a solution to the Culgi GPE, in the prototype we also implemented the prototype to this<br />

model in the very beginning. This chapter will also introduce this model very shortly.<br />

This chapter first shows the architecture of the whole system, <strong>and</strong> then explains each component in this<br />

architecture.<br />

4.1 System Overview<br />

The Culgi GPE will be a part of the Culgi Package. Its main functionality can be described as a bridge<br />

for users between Culgi Library <strong>and</strong> Tcl scripts. This section will give an overview of the<br />

implementation of the prototype. It first introduces the implementation language, <strong>and</strong> then shows the<br />

architecture of the whole system.<br />

Before implementation, several considerations should be kept in mind. These considerations from the<br />

requirements analysis are 1) the system should be platform independent; 2) external software<br />

component are the Tcl 8.4 interpreter <strong>and</strong> Culgi.dll.<br />

4.1.1 Programming languages<br />

Python is chosen as the implementation language. Python [7] is an interpreted, interactive,<br />

object-oriented programming language. It is selected for the following reasons.<br />

1) As a functional scripts language, Python does not have compile-link cycle.<br />

2) It is cross platform.<br />

3) The Python 2.4 core includes Tcl8.4.dll. Thus it is very easy to run Tcl scripts in Python<br />

environment.<br />

4) It is possible to load modules dynamically. That is to say, if a module in the module library is<br />

modified when the system (the Culgi GPE) is running, a user does not need to restart the system to<br />

accept the changes.<br />

5) It is very easy to create an interface because Tkinter <strong>and</strong> Tix are integrated inside. Tkinter <strong>and</strong> Tix<br />

can be used to build a graphical interface.<br />

- 27 -

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!