1. A method for the mass customization of a software artifact to create one or more software products in a software product family comprising: creating software artifacts with common model elements, said software artifacts also having one or more model element automatons, wherein each of said model element automatons serves as a proxy for a real model element that varies between software products within a software product family; using a fully automated product actuator to provide a feature profile to each of said model element automatons, thereby automatically instantiating a real model element in place of said model element automaton to create said desired software artifact.