首页 理论教育生成图算法,形式化构件装配

生成图算法,形式化构件装配

【摘要】:生成式程序设计包括两个开发周期——领域工程和应用工程。应用工程与领域工程不同,开发人员是根据用户的需求开发特定的系统,没有对领域的对象进行抽象。领域工程和应用工程并不存在先后顺序,而是两个并行的过程。生成式程序设计目标集中于特定领域,因此必须要对“领域”这个概念先有一个理解。在领域模型的基础上,设计、开发和组装可复用资源。下面详细地介绍领域工程中的三个不同阶段——领域分析、领域设计以及领域实现。

算法程序自动生成技术一直是软件开发中提高开发效率的一个有效手段,各种自动生成技术和方法层出不穷,如演绎推理法、程序变换法、归纳综合法、模型驱动软件开发方法等。Krzysztof Czarnecki和U.Eisenecker在前人研究的基础上,提出一种全新的软件开发方法——生成式程序设计(generative programming,简称gp)。生成式程序设计是在对整个软件系统族进行建模的基础上,从领域特定语言描述的软件需求规约和配置知识出发,自动化地组装基层的可复用软件部件,使生产出的软件产品能满足客户的需求,从而实现软件开发的自动化。生成式程序设计包括两个开发周期——领域工程和应用工程。领域工程和应用工程是既存在联系又存在区别的两个概念。在领域工程中,开发人员不是对某个特定的领域中的某个对象进行抽象,而是对领域中的所有对象进行抽象。应用工程与领域工程不同,开发人员是根据用户的需求开发特定的系统,没有对领域的对象进行抽象。应用工程在某种程序上是重用在前者中得到的可重用资源进行具体软件产品的制作开发。领域工程和应用工程并不存在先后顺序,而是两个并行的过程。

生成式程序设计目标集中于特定领域,因此必须要对“领域”这个概念先有一个理解。在软件用语环境中,领域是指具有相同或相似特征的应用系统区域,区域包含了应用系统覆盖的问题、问题策略、功能等内容。在领域工程中,首先需要做的是对领域的系统族进行分析,分离这些对象之间的可变特征和差异特征,并对这些特征进行进一步的抽象,形成领域模型。在领域模型的基础上,设计、开发和组装可复用资源。下面详细地介绍领域工程中的三个不同阶段——领域分析、领域设计以及领域实现。(www.chuimin.cn)