A relational database model of program execution and software components

  • Authors:
  • Ray Giguette;Johnette Hassell

  • Affiliations:
  • Nicholls State University, Thibodaux, Louisiana;Tulane University, New Orleans, Louisiana

  • Venue:
  • ACM-SE 38 Proceedings of the 38th annual on Southeast regional conference
  • Year:
  • 2000

Quantified Score

Hi-index 0.00

Visualization

Abstract

Many software fault tolerance methods are based on hardware methods which replace faulty modules with redundant components. However, the relatively small number of redundant components limits the recovery options of such systems. Previously, we have proposed exploring alternative methods that allow the number of components to vary with the number of variables in the program state. Such systems must allow programmers to specify dynamically-created components, and to identify these components in an arbitrary program state. This paper describes how a relational database can be used to model a program state and its dynamically-created components. We define a relational table for each static code block, a column attribute for each scalar variable, and a tuple for each dynamic block. Changes in program state are modeled by adding and deleting tuples, and components are defined using relational operators. In particular, we discuss how components may be defined using Project and Select, and how dependencies between components can be identified using Intersection and relational constraints.