implementing relational views of programs
Configurations, versions, call graphs, and slices are all examples of views , or cross-sections, of programs. To provide a powerful mechanism for defining, retrieving, and updating these views, the OMEGA programming system uses a relational database system to manage all program information. We have built a prototype implementation of the OMEGA-database system interface. This implementation includes the design of a relational schema for a Pascal-like language, a program for taking software stored as text and translating it into the database representation, and a simple, pointing-oriented user interface. Initial performance measurements indicate that response is too slow in our current environment, but that advances in database software technology and hardware should make response fast enough in the near future.
implementation relation views program version graph slice examples update systems relational database database management informal prototype interfaces design schema language software text representation user interface performance measurement response environments technologies hardware future point