An integrated design flow for the joint generation of control and interfaces from a business model
Over the years, software development has undergone numerous improvements, but writing software is still considered an expensive, tedious, and error prone process. Compared to manufacturing, software development is still in the pre-industrial era whereby products need to be custom built by hand. Clearly there has to be a way to modernize software development—to build the equivalent of an assembly line for software. This article presents an approach to building robust, large scale systems with the aid of code generation techniques. It begins with a discussion of ‘what can be effectively generated’, then proceeds to discuss the benefits and risks involved, along with issues regarding knowledge representation and the design of code generation tools. The article concludes with an overview of real world projects which have benefited from code generation techniques.