Software Theory of the Forbidden in a Discrete Design Space
There have been many formulations of “theories” of software systems with a variety of techniques, scopes and degrees of sophistication. But, one element is almost universally absent in all these theories: a clear delimitation of what is forbidden in terms of design. This absence is somewhat surprising, as in other engineering disciplines there are obvious forbidden domains. This paper proposes that in addition to common quality criteria for scientific theories – such as formality, universality and precision – an acceptable software theory should clearly demarcate the forbidden in contrast to the possible. This goal is attainable in small and discrete design space as it limits the amount of subspace search. Algebra is argued to be the mathematical field suitable to characterize forbidden domain boundaries, in particular using an eigenvectors approach. Boundaries are illustrated by a case study.