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.

The second problem is about how to represent a pipeline. In fact the pipeline is just a sequence of<br />

macro modules. For example, the DPD simulation program of Culgi could be divided into three parts,<br />

which are ‘build box’, ‘view’, <strong>and</strong> ‘simulation’. So the DPD template just create three Macro Nodes,<br />

which are box (corresponding to build box), view, <strong>and</strong> simulation.<br />

Class ConceptInterface is used to implement the Concept Model. It has two important data member,<br />

which are supernodes <strong>and</strong> runConceptNodes. Member superNodes is a list of Macro nodes. In different<br />

templates, superNodes should be different. In DPD simulation, Macro nodes are box, view, simulation.<br />

Member runConceptNodes is a dictionary. The keys of this dictionary are the steps in the pipeline of<br />

the simulation program. And the value of each key is a list of modules. When the program runs, the<br />

system will execute the lists of modules according to the order of the keys. But for the modules that<br />

belong to the same key, the order will be r<strong>and</strong>om. For example, if the record in this data member is<br />

self.runConceptNodes = {<br />

'1palette':[ node1, ],<br />

'2createMolecules':[ node3,node2 ],<br />

'3graphics':[<br />

node4],<br />

'4calculator':[ node5 ],<br />

'5calculation':[ node8, node6, node7] ,<br />

'6LaunchSimulation':[ node9] ,<br />

}<br />

The<br />

order would be “node1, node3, node2, node4, node5, node8, node6, node7, node9”. But the order<br />

like “node1, node2, node3, node4, node5, node6, node7, node8, node9” is also valid.<br />

4.5.4 The Network Model<br />

In the network model, the mechanism of the creation of a connection between two modules is needed.<br />

This is implemented by a class connection, <strong>and</strong> class input ports <strong>and</strong> output ports. Appendix A shows<br />

the architecture of the implementation<br />

of the Network Model. Because dataflow editors are quite<br />

popular nowadays, we will not explain the implementation<br />

in detail.<br />

4.5.5 Transformations between<br />

different models<br />

Transformation means that an application made in one model is displayed<br />

correctly in another model.<br />

And with transformations, users can have different levels of view to an application.<br />

Table 4-1 2 . The transforms among different models<br />

From<br />

To<br />

Network Model Sequence Model Concept Model<br />

Network Model -- Yes possible<br />

Sequence Model possible -- possible<br />

2 In Table 4-1, “--” means no transforms; “Yes” means this transform has been implemented; <strong>and</strong><br />

“Possible” means this transform is possible to implement, but not implemented yet.<br />

- 37 -

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

Saved successfully!

Ooh no, something went wrong!