产生式编程的定义产生式编程(Generative Programming,GP)是一种软件工程泛型(paradigm),基础是对系统族建模。就是说,给一个特定的需求说明书(specification),就可以根据要求制作出一个高度定制、优化的中间产品或者最终产品。这需要使用基本的、可重用实现组件通过配制知识的方式实现。
产生式领域建模的基本组成产生式编程目标集中于系统族,而不是一种一个的系统(one-of-kind system)。不是从头构造一个单独的系统族成员,而是基于一个通用的产生式领域模型(generative domain model)。就是说系统族模型具有下面3个基本组成部分:指定系统族成员的方法;可以组装出每一个成员的实现组件;在成员说明书和一个已有成员之间的配置知识(configuration knowledge)映射关系。在订购一辆汽车时,你会面临相似的设置:有一个订购汽车的系统,有从中可以组装成汽车的组件,还有怎样组装与订单对应的汽车的配置知识。用来指定家族成员的术语被称为问题空间(problem space),而使用可能的配置的实现组件组成了解空间(solution space)。