Described herein are methods and systems for interactively configuring and
producing a data domain for various data structure elements of a computer
program. A domain configuration manager is described which interactively
receives domain configuration information corresponding to a data
structure element, reads a reflection of the program and produces a data
domain according to domain configuration information. The domain
configuration manager is capable of producing a data domain for a data
structure element according to such domain configuration information such
as an explicit expression, inheritance or domain generation technique.
The reflection of the computer program exposes the methods and functions
of the program to be used in the explicit expression regardless of the
visibility rules. Also, predicates and conditions can be used with domain
generation techniques to further narrowly configure the data domains.