(hi.)
The choice of how to organize data in memory has a significant effect on the overall efficiency of computer programs. Changing requirements over time may require this choice to be revisited after a program’s initial development has been completed. Historically, data retrieval routines and program logic have been strongly coupled, which hinders the maintenance programmer’s ability to reorganize a program’s data without introducing new logic faults.
This paper proposes a new framework, Memquery, which separates these two concerns, allowing a program’s internal data to be reorganized without major changes to its logic routines. The theoretical basis for this framework is relational algebra, which has served a similar role in database systems for the past 50 years. A prototype of the Memquery framework is presented. A comparison study with traditional development techniques demonstrates that this prototype is capable of producing more maintainable programs with similar performance characteristics.