Simulation programs frequently need a large amount of input data. Code dealing with reading input data and initializing data structures can be very tedious to write, especially if the data are to be defined in graphical interfaces. Quite often, managing input demands much more lines of code than the mathematical calculations involved in the simulations. When using general-purpose frameworks, the idea is that the application code should be short, but this is often difficult because managing input may still require a huge effort. Hence, a tool for simplifying this task is needed such that the application programmer quickly can put together pieces of code that handle all aspects of supplying data to the program.
Throughout this thesis, we will describe the use, architecture, design and implementation of the tool that addresses these challenges. The result is a framework called DataPool that can greatly simplify the creation of user interfaces in simulation programs. It is distributed as a ready-to-use, highly configurable Python package with extensive documentation both for users and developers.
This package is intended for anyone that needs a framework with support for easy creation of user interfaces to simulation programs. Many types of user interfaces can be automatically generated by a minimum of code: highly interactive web pages, command line options, XML file input, or a plain text command format.
Keywords: computational science, data input, Django, menu system, Python, simulation and visualization, user interface, web applications