In designing software we need to understand that the data and processing inside the computer must duplicate the "real world" data and processes as closely as possible. I have called this form of data context the formation data context. This context represents the way the data should be formed in the computer.
An interesting way to trace this context is to compare with the theories of chemical bonding. In developing a theory of chemical bonds it was found that there are geometrical relationships that influenced whether a chemical reaction could take place. We examine this process as though the molecules were made up of spheres held together with sticks. This view requires we determine the relative position of various parts of the molecule (which are shaped similar to the stick figures) so we can surmise a mechanism for the chemical reaction to take place.
When studying the problems in systems development I see a similar need for visualizing an almost geometric relationship between the data and processing elements so a new process can work. Instead of Hydrogen and Oxygen, we are dealing with commands and arguments, data and addresses, functions and parameters, records and relationships.
There is a definite requirement of having the right set of components and each must be in the right position and be of the proper type in order for a system process to even work in the system. The command, macro, function, or object needs to match a series of real components to be valid.
Jerome Heath