03.08.2013 Views

Edwin Jan Klein - Universiteit Twente

Edwin Jan Klein - Universiteit Twente

Edwin Jan Klein - Universiteit Twente

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Chapter 4<br />

4.5.1 Architecture<br />

The Aurora program, like the programs discussed in the previous paragraphs, was<br />

created using Microsoft Visual C++ [120]. The program was intentionally designed to<br />

be modular; relying heavily on object oriented programming to achieve this goal.<br />

This is also reflected in the simplified architecture of the program, shown in Figure<br />

4.8. All tasks of a certain nature, such as component management or simulation<br />

regulation have been assigned to a specific manager module. These modules interact<br />

with the program user and, based on user input, regulate the internal flow of data or<br />

invoke other modules to perform specific operations on this data.<br />

Load<br />

components<br />

Token<br />

Compiler<br />

Component<br />

Template<br />

Library<br />

Component<br />

Manager<br />

Design Core Analysis<br />

Primitive<br />

Library<br />

Component<br />

List<br />

Project<br />

Manager<br />

Load/Save<br />

project<br />

Saved<br />

Simulation<br />

Data<br />

Primitive<br />

List<br />

Execution<br />

Engine<br />

Time-list<br />

User Interaction/Visualization<br />

Figure 4.8. Aurora architecture.<br />

On a super-modular level the program has been divided into three distinct parts that<br />

can be identified as design, core and analysis. Between these parts the interaction was<br />

intentionally kept to a minimum. Although this also provides a clear benefit to<br />

program maintainability the main reason for doing so lies in the nature of scientific<br />

simulation software. Typically such software is based on a comparatively small but<br />

highly complex algorithm or set of equations. These calculation algorithms are<br />

82<br />

Data<br />

Miner<br />

Simulation<br />

Manager<br />

Graph<br />

Manager

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

Saved successfully!

Ooh no, something went wrong!