基于图转换的模型重构技术研究

来源 :北京大学 | 被引量 : 0次 | 上传用户:w119127594
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
模型是对现实世界的抽象。模型包含系统的主要元素而忽略那些与给定抽象层次不相关的次要元素,从而既能保证模型反映了系统的主要特性,而又不至于使模型过于复杂而难以理解和把握。因为软件模型具有比代码更高的抽象层次而且更贴近问题域,所以更有利于开发和维护人员的阅读与交流。软件模型已经成为软件开发与维护的核心制品。而模型驱动的体系结构(ModelDrivenArchitecture,MDA)进一步提升了软件模型的重要性。 模型的可扩展性、可维护性和可理解性在很大程度上决定了软件维护的成本与效率。模型是软件维护的核心制品,所以模型的可维护性对软件的维护成本有重大影响。此外,模型作为软件开发的核心制品,其可扩展性和可理解性也对迭代式软件开发的开发成本具有较大影响。在迭代式软件开发中,提升前期迭代产品(模型)的可扩展性将加速后期的迭代开发,从而缩短开发周期并降低开发费用。综上所述,模型是软件开发和维护中的核心制品,提高模型的可扩展性、可维护性和可理解性可以有效降低软件成本。而如何提高模型的可扩展性、可理解性和可维护性则是软件工程研究和开发人员所面临的一个难题。 模型重构是在不改变模型外部行为特性的前提下通过重新组织模型内部元素以提高模型质量,特别是可理解性、可扩展性和可维护性。模型重构已经被证明是一种提高模型质量的有效手段,并逐渐为人们所熟知和采纳。 虽然人们已经对模型重构的相关技术进行了研究和探讨,但是还存在许多尚待解决的问题。这些问题包括:缺乏合适的重构规则描述语言、缺乏合适的重构约束描述语言、缺乏形式的重构约束验证方法、缺乏有效的缺陷检测方法等等。 本文提出一种基于图转换的模型重构解决方案,具体工作包括: (1)提出了一种基于图转换的模型重构规则描述语言(GraphTransformationbasedDescriptionLanguageofModelRefactoringRules,GraTDeLMoR2)。通过分析和总结模型重构描述的特性,本文在图转换描述语言的基础上设计了专用的模型重构规则描述语言。本文精心设计了描述语言的基本元素,提出利用基本元素描述模型重构及重构规则的方法,提出根据重构规则实施重构的方略和步骤。基于形式化的图转换描述语言为模型重构的自动化奠定基础,也便于复用现有的图转换工具以实现模型重构规则描述语言的支撑环境。此外,基于大家所熟悉的图转换描述语言也有利于用户的学习和使用。而本文针对模型重构的特性提出的基本元素则增强了语言的表达能力,使描述语言可以较方便地描述常见的模型重构及重构规则。 (2)模型重构约束的描述与验证。模型重构需要遵循一定的约束以保持模型的某些特性,这些约束的描述与验证是当前的研究热点之一。本文首先分析了现有的重构约束的特点,并提出了一种基于图转换的模型重构特性保持约束描述方法。本文还给出了静态地证明某个重构规则是否满足特性保持约束的方法。证明过程可以由计算机自动完成。本文还通过实例阐述了重构约束的描述与验证的全过程。 (3)模型的设计缺陷检测。在实施模型重构之前,必须在模型中搜寻需要重构的地方,也就是模型的设计缺陷(BadSmells)。首先,本文借助图模式匹配算法实现了设计缺陷检测的通用方法。通用检测方法可以大大减少为不同设计缺陷设计和实现专用检测算法的工作量。但是,因为图模式匹配算法是一个通用的算法,它没有针对特定的设计缺陷进行优化,所以图模式匹配算法的复杂度非常高。因此对于复杂的设计缺陷,有必要针对设计缺陷的特征设计更高效的专用检测算法。本文对UML模型中的一些复杂设计缺设计了专门的设计缺陷检测算法。这些算法比通用的模式匹配算法更为灵活高效。本文为重叠用况、重复事件流以及顺序图克隆片段等复杂设计缺陷设计了专用的高效检测方法。 (4)重构的执行与调度。本文探讨了重构之间的冲突关系对重构效果的影响,以及如何通过重构的调度来减小这种影响。基于以上分析,本文提出了一种重构调度方法以求最大限度地利用现有的重构提升模型的设计质量。本文首先提出提出了一种检测模型重构之间的冲突矩阵的算法。基于此,本文提出了一个多目标的重构调度模型。最后,本文还提出一种启发式算法用于求解调度模型。实验验证的结果表明本文提出的调度算法可以有效提高重构活动的整体效果。
其他文献
新型网络结构、业务模式以及网络安全等研究由于缺乏大规模测试环境的支持很难展开深入的研究与验证,导致研究成果缺乏说服力。面向上述研究的大规模网络模拟技术对计算机网络
数控系统作为衡量一个国家制造业水平的重要标志越来越受到人们的重视。目前,大多数数控系统已经具备了速度快、精度高和智能化的特点,但传统的数控系统,只能同时完成一个工
分辨率的提高与压缩技术的进步,使得数字视频和图像处理应用对高性能的需求也与日俱增。同时还需要保持架构的灵活性,以获得快速升级的能力。此外,技术的成熟以及需求的增加要求
数据挖掘在人工智能的研究中具有重要地位。传统的数据挖掘研究一般基于理想环境进行,即数据是完整的,类别是均衡的。但在现实世界中环境是非确定性的,即数据中普遍含有噪声,
决策树方法是一种广泛使用的用于分类的方法,它通过一组无次序,无规则的实例推理出决策树表示形式的分类规则,从而找到一些有价值的、潜在的信息。本文通过对数据集和决策树
随着医疗卫生事业的发展,在临床医疗活动中的药物使用问题逐步成为公众关注的焦点。世界卫生组织指出在地球上每年死亡的人群中有740万人不是由于自然衰老或疾病的原因死亡,而
学位
电子支付是电子商务的核心,直接影响到电子商务的发展速度和范围。目前已有的电子支付方式中,电子现金是一种新兴的,极具潜力的支付方式。电子现金具有现实货币的特性,具有匿
随着集成电路制造工艺的进步和微处理器设计技术的发展,单发射按序执行处理器表现出强劲的生命力,不仅在嵌入式计算领域得到日益广泛的应用,而且代表了高性能计算领域微处理器设
流数据无处不在,股票交易记录、网络流量、传感器网络中的数据、web日志都是其中典型的例子。此外,航天、音乐、医学等领域也存在着大量的数据流应用。在这些应用中,数据量都非
数字签名作为一种保障信息安全的有效手段,可以保证信息完整性、鉴别发送者身份真实性及其签名不可否认性,同时还具有加密的功能。正是由于这些功能,数字签名被广泛应用到网