Apr 9, 2011

Programs as vectors

This was brought up because someone mentioned the expression problem in a talk today about an introduction to closure.

Swung over to remembering this concept I expressed at Lawson Software, that of a complete, working program as a vector of components. Each component has a different version, expressed as a number line in the version repository. We could manufacture different libraries in the framework where every program is layered on top of the libraries it requires.

FOSD cubes are a software engineering expression for a multi-product line. My belief is that this is similar to a multi-objective programming model. In order to provide the best "next release" of a program for a client, they could express their interest based on their objective function - they want the latest, best version that meets the "works best = known tests pass" for a particular line such as the HR system. You would then use multi-object programming techniques to find the preferred solution.