Based on the goals mentioned above and on the observation that the data to be collected enjoys a lot of structure, we choose an object-relational data base approach for the realization of SYMBOLICDATA. This approach does not only allow to systematically collect and store data, but also offers concepts to interrelate different data, e.g., problem descriptions, computational results, background information, citations, and to design modular, object-oriented tools for data access and manipulations.
For flexibility reasons, we do not use (at least at the moment) one of the various data base programs as main engine but keep the primary sources in an XML-like ASCII format. A file stored in a flat, XML-like syntax is well suited for direct editing and viewing, and for retrieving its information as a record of tag/value pairs combined from the tag name and the string enclosed between the (consecutive top level) start/end tags as value. We call such files sd-files and their associated records sd-records and use them as the basic units to store all information.
Furthermore, we use Perl as the programming language in which almost all of the tools for accessing and manipulating sd-records are written. Perl with its powerful scripting and string manipulation facilities, and its capability to design and implement modular and object-oriented tools turned out to be very adequate for this task.