论文部分内容阅读
随着信息技术的快速发展,互联网已经成为构建企业应用软件的基础要素,企业应用不再是封闭系统,而是更多的呈现出开放性、异构性、协作性和动态性的特性。其软件形态和开发方式都在发生着巨大变化,面向服务的软件开发成为一种新的开发范型。软件服务成为开放网络环境下资源封装与共享的标准形式,是应用系统的基本功能单元,未来企业应用开发将以业务过程为核心、通过可重用的服务发现和动态服务组合构成。在这样的背景下,本文对企业应用开发展开研究,主要研究工作和贡献如下:一、提出了一种面向服务的语义模型驱动企业应用软件开发方法SMDA。SMDA方法以面向服务的体系架构SOA为基础,以模型驱动开发MDA为基本开发手段,以本体作为语义支持基础,通过UML实现技术空间整合和系统建模。SMDA方法可以呈现为三维的正交体系结构,包括不同的模型抽象层次、建模作用域以及开发过程中涉及到的技术方法。SMDA不仅在方法论上给予高层指导,还借助语义模型技术,实现了从需求建模到服务化实现的变换式开发。在SMDA方法指导下,企业应用开发将是一个围绕业务过程的面向服务的需求分析与建模、业务过程设计、服务检索与动态组合的迭代过程。SMDA方法的提出对在开放复杂的网络环境下进行企业应用开发有着显著意义,能够有效增强沟通,屏蔽可重用资产的异构性,满足用户的多样化、动态化和个性化需求,实现基于服务的高效敏捷开发。二、围绕SMDA开发方法,以企业应用开发过程为主线,对需求分析与建模、业务过程设计和验证、实现业务过程的服务检索与组合优化等关键技术进行了研究和讨论。1)提出了一种基于多元本体系统的需求分析与建模方法。结合语义本体技术和领域工程,提出了以环境本体和目标本体作为基础,组织本体、过程本体和服务本体为业务核心的层次化多元本体系统。通过顶层本体、领域本体和应用本体三种不同抽象层次的本体构建来指导面向重用的服务化企业应用需求分析与建模并保证需求的一致性。需求建模过程从分析问题空间的组织结构开始,以业务过程为中心、目标为导向,直至生成基于服务的解决方案结束。通过基于本体的领域模型重用,有效地提升了需求分析与建模的效果。2)提出了一种求精式业务过程建模与形式化验证方法。针对业务过程建模复杂、模型一致性难以保证的问题,提出一种求精式业务过程建模及其形式化验证方法。结合语义本体技术、基于统一建模语言UML的扩展机制,实现对业务过程中的不同关注点多视角的可视化建模。业务过程建模是一个“整体抽象过程(?)声明式过程->命令式过程”多阶段的求精过程。引入环境本体的概念,以软件交互对环境状态的影响来描述软件行为和能力,并在此基础上给出了模型相关定义及其形式化语义。结合应用实例详细论述如何采用声明式形式化语言Alloy进行业务过程模型定义和模型求精的形式化验证。实例表明,该方法可以有效地提升建模过程的灵活性和保证模型规范的一致性。3)提出了一种融合本体推理的目标导向服务检索方法。服务检索是业务过程服务化实现的关键步骤。针对该问题,引入抽象服务和服务池的概念,在服务检索中构建抽象服务所关联的动态服务池,以此为用户提供在异构动态的环境中的统一服务视图。在此基础上,把基于过程模型的服务检索问题转换为过程目标到服务目标的匹配问题,提出了一种融合本体推理技术目标导向式服务检索方法,借助业务过程附着的目标本体来查找满足约束条件的候选服务实例集合,并给出了应用案例。实例表明,该方面能利用现有的本体推理工具进行带约束的服务池构建,有效减少服务池中实例的数量,为下一步面向服务组合优化提供良好的基础。4)提出了一种面向组合服务QoS全局优化的动态服务选择方法。针对面向组合服务QoS全局优化的服务选择问题,在服务组合模型中引入功能服务图的概念,建立了QoS感知的动态服务选择数学模型,把服务组合归结为单目标多约束问题来求解。在此基础上,提出一种基于改进遗传算法的算法实例:GOAQSC,利用高适应度初始种群和局部搜索的变异策略,提高算法效率。实验结果表明了该算法的有效性。