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
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
3.4 Possible solutions <strong>and</strong> transforms<br />
In the previous sections, three programming models are suggested. In summary, because there is no<br />
pipeline in the Culgi Library, the network model is not a good solution to the Culgi library. Compared<br />
to the Network Editor, the Sequence Editor is much more suitable to the features of the Culgi Library.<br />
So the sequence model could be a solution of the Culgi GPE. But for the novices who don’t know the<br />
general architecture of the simulation programs of Culgi, programming in the sequence editor is not<br />
very easy. They have to spend several hours to learn the structures the simulation programs. Thus, a<br />
concept model is designed to the novices. The Concept Editor is easy to learn for novices. But it cannot<br />
replace the Sequence Editor since the Sequence Editor is much more flexible than it <strong>and</strong> suitable to the<br />
skilled users.<br />
Since the Sequence Editor <strong>and</strong> the Concept Editor have their own advantages, <strong>and</strong> suit to different<br />
kinds of users, the solution to the Culgi GPE could be the combination of these two models. The<br />
novices of Culgi can program in the concept model. And the skilled users of Culgi can choose the<br />
sequence model to make programs which is out of the scope of the templates in concept model.<br />
One problem is here that since two models are supported at the same time, what the relationship<br />
between them is. One option is that these two models are separated. If a user’s application is edited in<br />
one model, it cannot be edited in the other model. In this option, the two models do not have any<br />
relationship with each other. The whole system does not look like one but two different systems. There<br />
must be even one file format for each model to save the user’s program.<br />
Another option is that these two models can be transformed into each other. In this option, a program<br />
edited in a model can also be transformed to other model <strong>and</strong> then edited there. If so, a user can have<br />
two views of an application. The concept model will show him the view at the architecture level, while<br />
the sequence model can show him the view at the detailed level. And the whole system just has one<br />
general format to save the user’s application. Thus, it would be the solution to this problem that to<br />
make transforms between these two models.<br />
3.5 Modules<br />
Modules are primitive components of the simulation programs in the Culgi GPE. All of the three<br />
models mentioned in the previous sections are based on modules. From the requirements list of Chapter<br />
2, we can see that in the Culgi GPE a module should have three properties: 1) the contents of a module<br />
should be several lines of Tcl code; 2) a module should have a visual interface so that users can<br />
manipulate it; 3) A module should have some arguments which will be passed to the Tcl code of this<br />
module. So in the user interface of a module, it should also be possible to show the parameters <strong>and</strong><br />
receive the input values from users. The design of a module should satisfy these basic requirements.<br />
- 20 -