In spite of the increasing sophistication and power of commercial spreadsheet
packages, we still lack a formal theory of spreadsheets and a methodology that
aids their construction and maintenance. Using a new functional relational
language, this paper identifies four principal components that characterize any
spreadsheet model: Model, Data, Editorial, and Binding. We present a factoring
algorithm for identifying and extracting these components from conventional
spreadsheets automatically, and a synthesis algorithm that assists users in the
construction of executable spreadsheets from reusable components. This approach
opens new possibilities for applying object oriented and model management
techniques to support the construction, sharing, and reuse, of spreadsheet
models in organizations.Information Systems Working Papers Serie