  Spreadsheet computing is one of the more popular computing methodologies in
today's modern society. The spreadsheet application's ease of use and
usefulness has enabled non-programmers to perform programming-like tasks in a
familiar setting modeled after the tabular "pen and paper" approach. However,
spreadsheet applications are limited to bookkeeping-like tasks due to their
single-direction data flow. This thesis demonstrates an extension of the
spreadsheet computing paradigm in overcoming this limitation to solve
constraint satisfaction problems. We present a framework seamlessly
incorporating a finite constraint solver with the spreadsheet computing
paradigm. This framework allows the individual cells in the spreadsheet to be
attached to either a finite domain or a constraint specifying the relationship
among the cells. The framework provides an interface for constraint solving and
further enhances the spreadsheet computing paradigm by providing a set of
spreadsheet-specific constraints that will aid in controlling the scalability
of large spreadsheet applications implementations. Finally, we provide examples
to demonstrate the usability and usefulness of the extended spreadsheet
paradigm.
  Keywords: Spreadsheet computing, Constraint Logic Programming, Constraint
satisfaction, Domain-Specific language, Excel, SWI Prolog, C#
