论文部分内容阅读
随着越来越多的成功软件系统成为了遗产系统(legacy system),软件演化的重要性和普及性越来越强。软件演化已成为软件生存周期中最重要的形态之一,进入了软件的各个领域,成为了今天软件工程研究的热点领域。软件演化时,应当具有什么样的过程呢?或者说,什么样的软件过程才能有效支持软件的演化呢?软件演化的过程表现出了明显不同于传统软件过程的特征。因此,对支持软件演化的软件过程(简称软件演化过程)进行研究摆在了我们面前。
本文以国家自然科学基金项目:“软件演化过程研究”已有的研究成果为基础,根据李彤教授设计的支持演化的过程描述语言EPDL,设计完善了支持这种语言的编译器。由于EPDL的最终目标是要使软件开发者在直观上得到一些具体的指导和建议的流程,所以编译EPDL的目标是将EPDL的源代码转换成一些特定的数据结构(一些对象),并通过相应的解释程序来将这些特定的数据结构转化成一些图形化的界面。
由于EPDL是一种具有面向对象特征的描述性语言,目的是直观地描述软件演化过程,因此EPDL和一般的高级语言在机制上是有很大的区别,在编译的实现上也就不相同。所以在EPDL编译器的设计与实现上必须针对其特色和编译目标做特别处理。编译器的实现语言采用了Java语言,较大程度的提高了开发效率,同时Java面向对象的优势和丰富的类库也为编译器的开发提供了新的思路。以本文的研究工作为基础,编译实现了EPDL语言继承的功能,为编译器提供更好的支持。